package com.pritom.kumar; import java.io.File; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardWatchEventKinds; import java.nio.file.WatchEvent; import java.nio.file.WatchKey; import java.nio.file.WatchService; import java.util.List; /** * Created by pritom on 25/09/2016. */ public class ChangeFileListener { public static void main(String[] args) throws Exception { startWatch("C:/tmp"); } public static void startWatch(String location) { try { Path directory = Paths.get(location); println("Start listening directory: [" + location + "]"); final WatchService watchService = directory.getFileSystem().newWatchService(); directory.register(watchService, StandardWatchEventKinds.ENTRY_CREATE, StandardWatchEventKinds.ENTRY_DELETE, StandardWatchEventKinds.ENTRY_MODIFY); while (true) { final WatchKey watchKey = watchService.take(); handleWatchTriggered(location, watchKey); boolean valid = watchKey.reset(); if (!valid) { throw new Exception("Watcher failed for listen [" + location + "]"); } } } catch (Exception ex) { ex.printStackTrace(); } } private static void handleWatchTriggered(String location, WatchKey watchKey) throws Exception { List<WatchEvent<?>> watchEventList = watchKey.pollEvents(); for (WatchEvent watchEvent : watchEventList) { if (watchEvent.kind() == StandardWatchEventKinds.ENTRY_CREATE) { println("Created: [" + watchEvent.context().toString() + "]"); File fileCreated = new File(location + "/" + watchEvent.context().toString()); } else if (watchEvent.kind() == StandardWatchEventKinds.ENTRY_DELETE) { println("Deleted: [" + watchEvent.context().toString() + "]"); } else if (watchEvent.kind() == StandardWatchEventKinds.ENTRY_MODIFY) { println("Modified: [" + watchEvent.context().toString() + "]"); } } } public static void println(Object o) { System.out.println("" + o); } }
Monday, September 26, 2016
File Change Listener Implementation Using Java
Friday, September 23, 2016
MySQL list all foreign key and other constraint names
SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE REFERENCED_TABLE_SCHEMA = 'database_name'
Sunday, September 11, 2016
Python parse xml
import sys import xml.etree.ElementTree as ET class XmlParser: def fixAttrs(self, attrs, c): nattrs = {} for attr in attrs: nattrs[self.buildXmlnsKey(attr, c)] = attrs[attr] return nattrs def buildXmlnsKey(self, tagtxt, tcounter): done = False if not tagtxt.startswith("{"): return tagtxt #print 'Search for: ', tagtxt, ' in ', tcounter if self.nsmap.has_key(str(tcounter)): nslmap = self.nsmap[str(tcounter)] #print 'nslmap-->', nslmap for obj in nslmap: if done is False: for key in obj.keys(): kstr = '{' + key + '}' #print 'key--->', key, ', --->', kstr if tagtxt.startswith(kstr) and done is False: done = True kval = obj[key] #print 'need to replace to: ', kval if len(kval): tagtxt = tagtxt.replace(kstr, kval+':', 1) else: tagtxt = tagtxt.replace(kstr, '', 1) if done is False and tcounter > 0: tcounter = tcounter - 1 return self.buildXmlnsKey(tagtxt, tcounter) return tagtxt def xmlToDict(self, node, dictclass = None): if dictclass is None: dictclass = {} self.ncounter = self.ncounter + 1 if len(node): if node.attrib: #print node.attrib dictclass['<<attr>>'] = self.fixAttrs(node.attrib, self.ncounter); for child in node: tagtxt = self.buildXmlnsKey(child.tag, self.ncounter) newItem = self.xmlToDict(child) #tagtxt = child.tag if dictclass.has_key(tagtxt): if type(dictclass[tagtxt]) is type([]): dictclass[tagtxt].append(newItem) else: oldItem = dictclass[tagtxt]; dictclass[tagtxt] = []; dictclass[tagtxt].append(oldItem); dictclass[tagtxt].append(newItem); else: dictclass[tagtxt] = newItem else: if node.text is None: text = '' else: text = node.text.strip() if node.attrib: #print fixAttrs(node.attrib, ncounter) dictclass['<<attr>>'] = self.fixAttrs(node.attrib, self.ncounter) dictclass['<<value>>'] = text; else: dictclass = text; return dictclass def printDic(self, dic, pos = None): if pos is None: pos = 0 for key in dic.keys(): #print 'key--->', key if dic[key] is None: print self.getLenStr(pos), key, '' elif type(dic[key]) is type({}): npos = pos + 1 print self.getLenStr(pos) + str(key), '{' self.printDic(dic[key], npos) print self.getLenStr(pos) + '}' elif type(dic[key]) is type([]): npos = pos + 1 print self.getLenStr(pos) + str(key), '[' self.printList(dic[key], npos) print self.getLenStr(pos) + ']' else: print self.getLenStr(pos) + str(key), ': ', dic[key] def printList(self, dic, pos = None): if pos is None: pos = 0 lindex = -1 for obj in dic: lindex = lindex + 1 if obj is not None: if type(obj) is type({}): print self.getLenStr(pos) + str(lindex)+'. {' npos = pos + 1 self.printDic(obj, npos) print self.getLenStr(pos) + '}' elif type(obj) is type([]): print self.getLenStr(pos) + str(lindex)+'. [' npos = pos + 1 self.printList(obj, npos) print self.getLenStr(pos) +']' else: print self.getLenStr(pos), str(lindex)+'.', obj def getLenStr(self, pos): sstr = '' while pos > 0: sstr = sstr + ' ' pos = pos - 1 return sstr def __init__(self, fileLocation): self.location = fileLocation; def parse(self): tree = ET.parse(self.location) root = tree.getroot() self.nsmap = {} self.lcounter = 0 for event, elem in ET.iterparse(self.location, events=('start', 'end', 'start-ns', 'end-ns')): if event == 'start-ns': #print 'start-ns', lcounter a, b = elem if b is not None and len(b): #print "A-->", a, ", B-->" , b scounter = self.lcounter + 0 if not self.nsmap.has_key(str(scounter)): self.nsmap[str(scounter)] = [] self.nsmap[str(scounter)].append({'http://www.w3.org/XML/1998/namespace': 'xml'}); self.nsmap[str(scounter)].append({b: str(a)}) elif event == 'start': #print 'start', lcounter if not self.nsmap.has_key(str(self.lcounter)) and self.nsmap.has_key(str(self.lcounter - 1)): #print 'exist: ', nsmap[str(lcounter - 1)] self.nsmap[str(self.lcounter)] = self.nsmap[str(self.lcounter - 1)]; self.lcounter = self.lcounter + 1 self.ncounter = 0 self.dic = self.xmlToDict(root) self.dic = {self.buildXmlnsKey(root.tag, 0): self.dic} return self.dic; if __name__ == "__main__": xmlObj = XmlParser('xml7.xml'); theXmlDictionary = xmlObj.parse() xmlObj.printDic(theXmlDictionary);
Suppose you have the xml as file:
<?xml version="1.0"?> <lib:library xmlns:lib="http://eric.van-der-vlist.com/ns/library" xmlns:hr="http://eric.van-der-vlist.com/ns/person"> <lib:book id="b0836217462" available="true"> <lib:isbn>0836217462</lib:isbn> <lib:title xml:lang="en">Being a Dog Is a Full-Time Job</lib:title> <hr:author id="CMS"> <hr:name>Charles M Schulz</hr:name> <hr:born>1922-11-26</hr:born> <hr:dead>2000-02-12</hr:dead> </hr:author> <lib:character id="PP"> <hr:name>Peppermint Patty</hr:name> <hr:born>1966-08-22</hr:born> <lib:qualification>bold, brash and tomboyish</lib:qualification> </lib:character> <lib:character id="Snoopy"> <hr:name>Snoopy</hr:name> <hr:born>1950-10-04</hr:born> <lib:qualification>extroverted beagle</lib:qualification> </lib:character> <lib:character id="Schroeder"> <hr:name>Schroeder</hr:name> <hr:born>1951-05-30</hr:born> <lib:qualification>brought classical music to the Peanuts strip</lib:qualification> </lib:character> <lib:character id="Lucy"> <hr:name>Lucy</hr:name> <hr:born>1952-03-03</hr:born> <lib:qualification>bossy, crabby and selfish</lib:qualification> </lib:character> </lib:book> <Purchase> <PurchaseId>AAAAA</PurchaseId> <PurchaseType>ONLINE</PurchaseType> </Purchase> <Purchase> <PurchaseId>BBBBB</PurchaseId> <PurchaseType>OFFLINE</PurchaseType> </Purchase> <Purchase paid='True'> <Purchase age='30'> <Purchase>HMM 1</Purchase> <Purchase>HMM 2</Purchase> </Purchase> </Purchase> </lib:library>
Output would be like this:
lib:library { Purchase [ 0. { PurchaseId : AAAAA PurchaseType : ONLINE } 1. { PurchaseId : BBBBB PurchaseType : OFFLINE } 2. { <<attr>> { paid : True } Purchase { <<attr>> { age : 30 } Purchase [ 0. HMM 1 1. HMM 2 ] } } ] lib:book { hr:author { <<attr>> { id : CMS } hr:name : Charles M Schulz hr:born : 1922-11-26 hr:dead : 2000-02-12 } <<attr>> { available : true id : b0836217462 } lib:title { <<attr>> { xml:lang : en } <<value>> : Being a Dog Is a Full-Time Job } lib:isbn : 0836217462 lib:character [ 0. { <<attr>> { id : PP } hr:name : Peppermint Patty hr:born : 1966-08-22 lib:qualification : bold, brash and tomboyish } 1. { <<attr>> { id : Snoopy } hr:name : Snoopy hr:born : 1950-10-04 lib:qualification : extroverted beagle } 2. { <<attr>> { id : Schroeder } hr:name : Schroeder hr:born : 1951-05-30 lib:qualification : brought classical music to the Peanuts strip } 3. { <<attr>> { id : Lucy } hr:name : Lucy hr:born : 1952-03-03 lib:qualification : bossy, crabby and selfish } ] } }
Friday, September 9, 2016
An educational story according to workers & managers in an organization
āĻāĻ āĻĻেāĻļে āĻিāĻ˛ো āĻāĻ āĻĒিāĻĒā§া। āĻ¸ে āĻĒ্āĻ°āĻ¤িāĻĻিāĻ¨ ā§¯āĻাā§ āĻ
āĻĢিāĻ¸ে āĻĸুāĻāĻ¤ো। āĻ¤াāĻ°āĻĒāĻ° āĻাāĻ°ো āĻ¸āĻ্āĻে āĻ¸āĻŽā§ āĻ¨āĻˇ্āĻ āĻ¨া āĻāĻ°ে āĻ¸āĻ্āĻে āĻ¸āĻ্āĻে āĻাāĻে āĻŦāĻ¸ে āĻ¯েāĻ¤।
āĻ¸ে āĻ¯ে āĻĒāĻ°িāĻŽাāĻŖ āĻাāĻ āĻāĻ°āĻ¤, āĻ¤াāĻ¤ে āĻোāĻŽ্āĻĒাāĻ¨িāĻ° āĻā§āĻĒাāĻĻāĻ¨ āĻšāĻ¤ো āĻĒ্āĻ°āĻুāĻ° āĻāĻŦং āĻāĻ° āĻĢāĻ˛ে āĻ¸ে āĻāĻ¨āĻ¨্āĻĻেāĻ° āĻ¸āĻ্āĻেāĻ āĻীāĻŦāĻ¨ āĻ¨িāĻ°্āĻŦাāĻš āĻāĻ°āĻ¤।
āĻāĻ āĻ
āĻĢিāĻ¸েāĻ° āĻ¸িāĻāĻ āĻ¸িংāĻš āĻ
āĻŦাāĻ āĻšā§ে āĻĻেāĻāĻ¤, āĻāĻ āĻĒিঁāĻĒā§াāĻি āĻোāĻ¨ো āĻ§āĻ°āĻ¨েāĻ° āĻ¸ুāĻĒাāĻ°āĻিāĻļāĻ¨ āĻাā§াāĻ āĻĒ্āĻ°āĻুāĻ° āĻাāĻ āĻāĻ°āĻে। āĻ¸িংāĻš āĻাāĻŦāĻ˛, āĻĒিঁāĻĒā§াāĻে āĻ¯āĻĻি āĻাāĻ°āĻ āĻ¸ুāĻĒাāĻ°āĻিāĻļāĻ¨ে āĻĻেāĻā§া āĻšā§, āĻ¤াāĻšāĻ˛ে āĻ¸ে āĻāĻ°āĻ āĻŦেāĻļি āĻাāĻ āĻāĻ°āĻ¤ে āĻĒাāĻ°āĻŦে।
āĻā§েāĻ āĻĻিāĻ¨েāĻ° āĻŽāĻ§্āĻ¯েāĻ āĻ¸িংāĻš āĻāĻāĻি āĻ¤েāĻ˛াāĻĒোāĻাāĻে āĻĒিঁāĻĒā§াāĻ° āĻ¸ুāĻĒাāĻ°āĻাāĻāĻাāĻ° āĻšিāĻ¸েāĻŦে āĻ¨িā§োāĻ āĻĻিāĻ˛। āĻ¸ুāĻĒাāĻ°āĻাāĻāĻাāĻ° āĻšিāĻ¸েāĻŦে āĻāĻ āĻ¤েāĻ˛াāĻĒোāĻাāĻিāĻ° āĻিāĻ˛ āĻĻীāĻ°্āĻāĻĻিāĻ¨েāĻ° āĻ
āĻিāĻ্āĻāĻ¤া, āĻāĻ° āĻ¸ে āĻĻুāĻ°্āĻĻাāĻ¨্āĻ¤ āĻ°িāĻĒোāĻ°্āĻ āĻ˛িāĻāĻ¤ে āĻĒাāĻ°āĻ¤।
āĻ¤েāĻ˛াāĻĒোāĻাāĻি āĻĒ্āĻ°āĻĨāĻŽেāĻ āĻ¸িāĻĻ্āĻ§াāĻ¨্āĻ¤ āĻ¨িāĻ˛, āĻāĻ āĻ
āĻĢিāĻ¸ে āĻāĻāĻি āĻ
্āĻ¯াāĻেāĻ¨āĻĄেāĻ¨্āĻ¸ āĻ¸িāĻ¸্āĻেāĻŽ āĻĨাāĻা āĻāĻিāĻ¤।
āĻā§েāĻ āĻĻিāĻ¨েāĻ° āĻŽāĻ§্āĻ¯েāĻ āĻ¤েāĻ˛াāĻĒোāĻাāĻ° āĻŽāĻ¨ে āĻšāĻ˛ো, āĻ¤াāĻ° āĻāĻāĻāĻ¨ āĻ¸েāĻ্āĻ°েāĻাāĻ°ি āĻĻāĻ°āĻাāĻ°, āĻ¯ে āĻ¤াāĻে āĻ°িāĻĒোāĻ°্āĻ āĻ˛িāĻāĻ¤ে āĻ¸াāĻšাāĻ¯্āĻ¯ āĻāĻ°āĻŦে। … āĻ¸ে āĻāĻāĻা āĻŽাāĻā§āĻ¸াāĻে āĻ¨িā§োāĻ āĻĻিāĻ˛ āĻāĻ āĻাāĻে āĻ¯ে āĻ¸āĻŦ āĻĢোāĻ¨āĻāĻ˛ āĻŽāĻ¨িāĻāĻ° āĻāĻ°āĻŦে, āĻāĻ° āĻ¨āĻĨিāĻĒāĻ¤্āĻ° āĻ°াāĻāĻŦে।
āĻ¸িংāĻš āĻুāĻŦ āĻāĻ¨āĻ¨্āĻĻ āĻ¨িā§ে āĻĻেāĻāĻ˛ āĻ¯ে āĻ¤েāĻ˛াāĻĒোāĻা āĻ¤াāĻে āĻĒ্āĻ°āĻ¤িāĻĻিāĻ¨েāĻ° āĻাāĻেāĻ° āĻšিāĻ¸াāĻŦ āĻĻিāĻ্āĻে āĻāĻ° āĻ¸েāĻুāĻ˛ো āĻŦিāĻļ্āĻ˛েāĻˇāĻŖ āĻāĻ°āĻে āĻ্āĻ°াāĻĢেāĻ° āĻŽাāĻ§্āĻ¯āĻŽে। āĻĢāĻ˛ে āĻুāĻŦ āĻ¸āĻšāĻেāĻ āĻā§āĻĒাāĻĻāĻ¨েāĻ° āĻ§াāĻ°া āĻ¸āĻŽ্āĻĒāĻ°্āĻে āĻ§াāĻ°āĻŖা āĻ¨েāĻā§া āĻ¯াāĻ্āĻে āĻāĻŦং āĻ¸িংāĻš āĻ¸েāĻুāĻ˛ো āĻŦোāĻ°্āĻĄ āĻŽিāĻিংā§ে ‘āĻĒ্āĻ°েāĻেāĻ¨্āĻেāĻļāĻ¨’ āĻāĻাāĻ°ে āĻĒেāĻļ āĻāĻ°ে āĻŦাāĻšāĻŦা āĻĒাāĻ্āĻে।
āĻিāĻুāĻĻিāĻ¨েāĻ° āĻŽāĻ§্āĻ¯েāĻ āĻ¤েāĻ˛াāĻĒোāĻাāĻ° āĻāĻāĻি āĻāĻŽ্āĻĒিāĻāĻাāĻ° āĻ āĻ˛েāĻাāĻ° āĻĒ্āĻ°িāĻ¨্āĻাāĻ° āĻĒ্āĻ°ā§োāĻāĻ¨ āĻšāĻ˛ো āĻāĻŦং āĻāĻুāĻ˛ো āĻĻেāĻāĻাāĻ˛েāĻ° āĻāĻ¨্āĻ¯ āĻāĻāĻি āĻĄিāĻĒাāĻ°্āĻāĻŽেāĻ¨্āĻ āĻāĻ āĻ¨ āĻāĻ°āĻ˛। āĻāĻāĻি āĻŦিāĻļেāĻˇāĻ্āĻ āĻšিāĻ¸েāĻŦে āĻ¨িā§োāĻ āĻĒেāĻ˛ āĻŽাāĻি।
āĻāĻŽাāĻĻেāĻ° āĻāĻ°্āĻŽী āĻĒিঁāĻĒā§া, āĻ¯ে āĻĒ্āĻ°āĻ¤িāĻĻিāĻ¨ āĻ
āĻĢিāĻ¸ে āĻāĻ¸ে āĻĒ্āĻ°āĻুāĻ° āĻাāĻ āĻāĻ°ে āĻŽāĻ¨েāĻ° āĻ¸ুāĻে āĻাāĻ¨ āĻাāĻāĻ¤ে āĻাāĻāĻ¤ে āĻŦাāĻ¸াā§ āĻĢিāĻ°āĻ¤, āĻ¤াāĻে āĻāĻāĻ¨ āĻĒ্āĻ°āĻুāĻ° āĻĒেāĻĒাāĻ° āĻā§াāĻ°্āĻ āĻāĻ°āĻ¤ে āĻšā§, āĻ¸āĻĒ্āĻ¤াāĻšেāĻ° āĻাāĻ° āĻĻিāĻ¨āĻ āĻ¨াāĻ¨া āĻŽিāĻিংā§ে āĻšাāĻিāĻ°া āĻĻিāĻ¤ে āĻšā§।
āĻ¨িāĻ¤্āĻ¯āĻĻিāĻ¨ āĻāĻ¸āĻŦ āĻাāĻŽেāĻ˛াāĻ° āĻাāĻ°āĻŖে āĻাāĻে āĻŦ্āĻ¯াāĻাāĻ¤ āĻāĻাā§ āĻā§āĻĒাāĻĻāĻ¨ āĻāĻŽāĻ¤ে āĻ˛াāĻāĻ˛, āĻāĻ° āĻ¸ে āĻŦিāĻ°āĻ্āĻ¤ āĻšāĻ¤ে āĻ˛াāĻāĻ˛।
āĻ¸িংāĻš āĻ¸িāĻĻ্āĻ§াāĻ¨্āĻ¤ āĻ¨িāĻ˛, āĻĒিঁāĻĒā§া āĻ¯ে āĻŦিāĻাāĻে āĻাāĻ āĻāĻ°ে, āĻ¸েāĻাāĻে āĻāĻāĻা āĻāĻ˛াāĻĻা āĻĄিāĻĒাāĻ°্āĻāĻŽেāĻ¨্āĻ āĻোāĻˇāĻŖা āĻāĻ°ে āĻ¸েāĻাāĻ° āĻāĻāĻāĻ¨ āĻĄিāĻĒাāĻ°্āĻāĻŽেāĻ¨্āĻ āĻĒ্āĻ°āĻ§াāĻ¨ āĻ¨িā§োāĻ āĻĻেāĻā§াāĻ° āĻāĻাāĻ āĻāĻĒāĻ¯ুāĻ্āĻ¤ āĻ¸āĻŽā§।
āĻ¸িংāĻš āĻিঁāĻিāĻĒোāĻাāĻে āĻāĻ āĻĄিāĻĒাāĻ°্āĻāĻŽেāĻ¨্āĻেāĻ° āĻĒ্āĻ°āĻ§াāĻ¨ āĻšিāĻ¸েāĻŦে āĻ¨িā§োāĻ āĻĻিāĻ˛। āĻিঁāĻিāĻĒোāĻা āĻĒ্āĻ°āĻĨāĻŽ āĻĻিāĻ¨ āĻāĻ¸েāĻ āĻ¤াāĻ° āĻ°ুāĻŽেāĻ° āĻāĻ¨্āĻ¯ āĻāĻāĻা āĻāĻ°াāĻŽāĻĻাā§āĻ āĻাāĻ°্āĻĒেāĻ āĻ āĻেā§াāĻ°েāĻ° āĻ
āĻ°্āĻĄাāĻ° āĻĻিāĻ˛।
āĻā§েāĻ āĻĻিāĻ¨েāĻ° āĻŽāĻ§্āĻ¯েāĻ āĻ
āĻĢিāĻ¸েāĻ° āĻāĻ¨্āĻ¯ āĻ¸্āĻ্āĻ°্āĻ¯াāĻেāĻিāĻ āĻĒ্āĻ˛্āĻ¯াāĻ¨ āĻ¤ৈāĻ°ি āĻāĻ°āĻ¤ে āĻিঁāĻি āĻĒোāĻাāĻ° āĻāĻāĻি āĻāĻŽ্āĻĒিāĻāĻাāĻ° āĻ āĻŦ্āĻ¯āĻ্āĻ¤িāĻāĻ¤ āĻ¸āĻšāĻাāĻ°ীāĻ° āĻĒ্āĻ°ā§োāĻāĻ¨ āĻšāĻ˛ো। āĻāĻŽ্āĻĒিāĻāĻাāĻ° āĻ¨āĻ¤ুāĻ¨ āĻেāĻ¨া āĻšāĻ˛েāĻ āĻŦ্āĻ¯āĻ্āĻ¤িāĻāĻ¤ āĻ¸āĻšāĻাāĻ°ী āĻšিāĻ¸েāĻŦে āĻিঁāĻিāĻĒোāĻা āĻ¨িā§োāĻ āĻĻিāĻ˛ āĻ¤াāĻ° āĻĒুāĻ°োāĻ¨ো āĻ
āĻĢিāĻ¸েāĻ° āĻāĻāĻāĻ¨āĻে।
āĻĒিঁāĻĒā§া āĻ¯েāĻাāĻ¨ে āĻাāĻ āĻāĻ°ে, āĻ¸েāĻাāĻ¨ে āĻāĻে āĻিāĻ˛ āĻāĻŽā§āĻাāĻ° āĻāĻāĻা āĻĒāĻ°িāĻŦেāĻļ। āĻāĻāĻ¨ āĻ¸েāĻাāĻ¨ে āĻেāĻ āĻāĻĨা āĻŦāĻ˛ে āĻ¨া, āĻšাāĻ¸ে āĻ¨া। āĻ¸āĻŦাāĻ āĻুāĻŦ āĻŽāĻ¨āĻŽāĻ°া āĻšā§ে āĻাāĻ āĻāĻ°ে।
āĻিঁāĻিāĻĒোāĻা āĻĒāĻ°িāĻ¸্āĻĨিāĻ¤ি āĻāĻ¨্āĻ¨ā§āĻ¨ে āĻ¸িংāĻšāĻে āĻŦোāĻাāĻ˛, ‘āĻ
āĻĢিāĻ¸ে āĻাāĻেāĻ° āĻĒāĻ°িāĻŦেāĻļ’ āĻļীāĻ°্āĻˇāĻ āĻāĻāĻা āĻ¸্āĻাāĻĄি āĻুāĻŦ āĻāĻ°ুāĻ°ি āĻšā§ে āĻĒā§েāĻে।
āĻĒāĻ°্āĻ¯াāĻ˛োāĻāĻ¨া āĻāĻ°ে āĻ¸িংāĻš āĻĻেāĻāĻ¤ে āĻĒেāĻ˛, āĻĒিঁāĻĒā§াāĻ° āĻŦিāĻাāĻে āĻā§āĻĒাāĻĻāĻ¨ āĻāĻেāĻ° āĻ¤ুāĻ˛āĻ¨াā§ āĻ
āĻ¨েāĻ āĻāĻŽে āĻেāĻে।
āĻাāĻেāĻ āĻ¸িংāĻš āĻā§েāĻ āĻĻিāĻ¨েāĻ° āĻŽāĻ§্āĻ¯েāĻ āĻ¸্āĻŦāĻ¨াāĻŽāĻ্āĻ¯াāĻ¤ āĻāĻ¨āĻ¸াāĻ˛āĻ্āĻ¯াāĻ¨্āĻ āĻĒেঁāĻাāĻে āĻ
āĻĄিāĻ āĻ°িāĻĒোāĻ°্āĻ āĻāĻŦং āĻā§āĻĒাāĻĻāĻ¨ āĻŦাā§াāĻ¨োāĻ° āĻāĻĒাā§ āĻŦাāĻ¤āĻ˛ে āĻĻেāĻā§াāĻ° āĻāĻ¨্āĻ¯ āĻ¨িā§োāĻ āĻĻিāĻ˛।
āĻĒেঁāĻা āĻ¤িāĻ¨ āĻŽাāĻ¸ āĻĒিঁāĻĒā§াāĻ° āĻĄিāĻĒাāĻ°্āĻāĻŽেāĻ¨্āĻ āĻŽāĻ¨িāĻāĻ° āĻāĻ°āĻ˛, āĻ¸āĻŦাāĻ° āĻ¸āĻ্āĻে āĻā§াāĻ¨ āĻু āĻā§াāĻ¨ āĻāĻĨা āĻŦāĻ˛āĻ˛। āĻ¤াāĻ°āĻĒāĻ° āĻŦেāĻļ āĻŽোāĻাāĻ¸োāĻা āĻāĻāĻা āĻ°িāĻĒোāĻ°্āĻ āĻĒেāĻļ āĻāĻ°āĻ˛ āĻ¸িংāĻšেāĻ° āĻাāĻে। āĻāĻ āĻ°িāĻĒোāĻ°্āĻেāĻ° āĻ¸াāĻ°āĻŽāĻ°্āĻŽ āĻšāĻ˛ো, āĻāĻ āĻ
āĻĢিāĻ¸ে āĻĒ্āĻ°ā§োāĻāĻ¨েāĻ° āĻ¤ুāĻ˛āĻ¨াā§ āĻāĻ°্āĻŽী āĻŦেāĻļি। āĻāĻ°্āĻŽী āĻাঁāĻাāĻ āĻāĻ°া āĻšোāĻ।
āĻĒāĻ°েāĻ° āĻ¸āĻĒ্āĻ¤াāĻšেāĻ āĻŦেāĻļ āĻā§েāĻāĻāĻ¨ āĻāĻ°্āĻŽী āĻাঁāĻাāĻ āĻāĻ°া āĻšāĻ˛ো। āĻŦāĻ˛ুāĻ¨ āĻ¤ো, āĻে āĻ¸āĻ°্āĻŦāĻĒ্āĻ°āĻĨāĻŽ āĻাāĻāĻ°ি āĻšাāĻ°াāĻ˛?
āĻāĻ āĻšāĻ¤āĻাāĻ্āĻ¯ āĻĒিঁāĻĒā§া। āĻাāĻ°āĻŖ, āĻĒেঁāĻাāĻ° āĻ°িāĻĒোāĻ°্āĻে āĻ˛েāĻা āĻিāĻ˛, ‘āĻāĻ āĻāĻ°্āĻŽীāĻ° āĻŽোāĻিāĻেāĻļāĻ¨েāĻ° āĻŦ্āĻ¯াāĻĒāĻ āĻ
āĻাāĻŦ āĻ°ā§েāĻে āĻāĻŦং āĻ¸āĻ°্āĻŦāĻĻাāĻ āĻ¨েāĻ¤িāĻŦাāĻāĻ āĻāĻāĻ°āĻŖ āĻāĻ°āĻে, āĻ¯া āĻ
āĻĢিāĻ¸েāĻ° āĻāĻ°্āĻŽāĻĒāĻ°িāĻŦেāĻļ āĻ¨āĻˇ্āĻ āĻāĻ°āĻে।
āĻāĻŦাāĻ° āĻাāĻŦুāĻ¨ āĻ¤ো, āĻāĻĒāĻ¨াāĻ° āĻĒāĻিāĻļাāĻ¨āĻা āĻী āĻāĻĒāĻ¨াāĻ° āĻ
āĻ°্āĻাāĻ¨াāĻāĻেāĻļāĻ¨ে?
( āĻ¸ংāĻৃāĻšীāĻ¤ঃ āĻŦিāĻĻেāĻļি āĻāĻ˛্āĻĒেāĻ° āĻ
āĻŦāĻ˛āĻŽ্āĻŦāĻ¨ে )
Subscribe to:
Posts (Atom)