Full Web Development

Full Web Development Quickly learn HTML and CSS by watching a few videos and know how to become a web developer.

Then you use the popular framework called bootstrap which makes a good website. Then you will learn the power of JAVASCRIPT, ES6, JSON, NODE, MongoDB(DATABASe).

13/09/2023

ডাটা স্ট্রাকচার এবং এলগরিদম মিনিমাম কতটুকু শিখতে হবে এবং কোথা থেকে শিখবে
লংটার্মে ভালো একজন প্রোগ্রামার হতে হলে বেসিক কিছু ডাটা স্ট্রাকচার, এলগরিদম আর OOP কনসেপ্টগুলো তোমাকে শিখতেই হবে। একদম প্রথমে না শিখলেও পরে কোন না কোন এক সময় শিখে নিতে হবে।
প্রথমেই যে ৭ ধরণের ডাটা স্ট্রাকচার তোমাকে শিখতেই হবে:
১) Arrays এর ইনডেক্স আর length জানতে হবে। Array এর মধ্যে ডাটা কিভাবে Access, insert, delete, এবং update করবে। Array এর উপাদানগুলাকে কিভাবে লুপ করবে। sort, reverse করবে। কোন উপাদানকে খুঁজে বের করবে। array কপি করবে, merge করবে, কেটে ছোট (slice) করবে। ডিফারেন্ট টাইপের ডাটা এর জন্য কিভাবে array ডিক্লেয়ার করবে। এবং কিছু কমন কাজ যেমন, সবচেয়ে ছোট বা সবচেয়ে বড় উপাদান খুঁজে বের করা। আর আরো বেশি জানতে চাইলে two dimensional array সম্পর্কে জানবে। ইত্যাদি।
২) Linked Lists এর কনসেপ্ট টা বুঝতে হবে। বিশেষ করে Singly Linked List, Doubly Linked List এবং Circular Linked List এর কনসেপ্টগুলো জানতে হবে। লিংকডলিস্ট কিভাবে ইমপ্লিমেন্ট করে সেটা জানতে হবে। তারপর Linked List এর মধ্যে কোন একটা নিদৃষ্ট উপাদান আছে কিনা খুঁজে বের করা। নতুন উপাদান যোগ করা, ডিলিট করা, আপডেট করার সিস্টেম বুঝতে হবে। এইটুক হলেও মোটামুটি চলবে। আর যদি আরেকটু বেশি শিখতে চাও তাহলে লিংকডইন রিভার্স করা, মার্জ করা, সাইকেল ডিটেক্ট করা, k-th উপাদান বের করা, শর্ট করার বিষয়গুলো দেখতে পারো।
৩+৪) Stack এবং Queue:
LIFO আর FIFO প্রিন্সিপালগুলো বুঝতে হবে। Array দিয়ে কিভাবে স্ট্যাক বানাতে হয় এবং স্ট্যাক এর মধ্যে Push, pop, peek, Size (or Count) বের করা শিখতে হবে। একইভাবে Array দিয়ে কিভাবে কিউ বানাতে হয় এবং কিউ এর মধ্যে Enqueue, dequeue, peek, Size (or Count) কিভাবে করতে হয়। সেটা জানতে হবে। আরেকটু বেশি শিখতে চাইলে-- Linked List দিয়ে কিভাবে স্ট্যাক এবং কিউ ইমপ্লিমেন্ট করতে হয়। সেটা দেখতে পারো। আরেকটা স্পেশাল কিউ আছে Priority Queue নামে সেটা সম্পর্কে কিছু ধারণা থাকলে অবশ্যই ভালো।
৫)Hash Tables বা Hash Map বা Dictionary:
Hash functions বা Hashing জিনিসটা বুঝতে হবে। key-value স্টাইলে ডাটা কখন, কেন এবং কিভাবে স্টোর করতে হয়। রাখার সুবিধা কি জানতে হবে। তারপর insertion, retrieval, deletion জানার পরে Key-Value ওয়ালা জিনিস লুপ করে কিভাবে একটার পর একটা দেখাবে। কোন key আছে কিনা। বা কোন ভ্যালু আছে কিনা সেটা কিভাবে চেক করবে। আরো বেশি জানতে চাইলে hashing করার সময় Collision ডিটেক্ট করার সিস্টেম এবং Collision resolve techniques জানলে অনেক ভালো।
৬) Tree:
Basic Tree কনসেপ্ট সম্পর্কে জানতে হবে। একটা ট্রি ডাটা স্ট্রাকচার বা Binary Tree, Binary Search Tree (BST), Heap ডাটা স্ট্রাকচার কিভাবে কোড করতে হয় সেটা জানতে হবে। ট্রি এর মধ্যে নোড কিভাবে ইনসার্ট করতে হয়, ডিলিট কোনো হয়, সার্চ করতে হয়। জন্য Breadth-First Search (BFS) আর Depth-First Search (DFS) সম্পর্কে জানতে হবে। আরেকটু ধারণা নিতে চাইলে In-Order Traversal, Pre-Order Traversal, Post-Order Traversal দেখতে পারো। আর দেখতে চাইলে Balanced Binary Search Tree (যেমন AVL Tree বা Red-Black Tree দেখতে পারো)
৭) Graphs:
গ্রাফ কনসেপ্ট nodes, edges এবং vertices সম্পর্কে জানতে হবে। বিশেষ করে directed, undirected, weighted গ্রাফ আইডিয়াগুলা কি। কিভাবে গ্রাফ এর কোড লিখতে হয়। কিভাবে গ্রাফ traversal এর জন্য (DFS, BFS) কিভাবে ইউজ করা যায়। কম করে এইটুক জানলেও বিগিনার হিসেবে চলবে। তবে আরেকটু জানতে চাইলে Cyclic আর Acyclic গ্রাফ নিয়ে ধারণা নিতে পারো।
------------
যে ৭ ধরনের এলগরিদম তোমাকে শিখতে হবে:
১) Searching Algorithms এর মধ্যে Linear Search আর Binary Search কিভাবে কাজ করে কোনটার কি রকম টাইম কমপ্লেক্সিটি সেটা জানতে হবে।
২) Sorting Algorithms এর মধ্যে Bubble Sort, Selection Sort, Insertion Sort, Merge Sort, Quick Sort কিভাবে কাজ করে। প্রত্যেকটার টাইম কমপ্লেক্সিটি এর মধ্যে বেস্ট কেইস, worst case আর অ্যাভারেজ কেইস কখন কেন হয় সেটা জানতে হবে।
৩) কখন বুঝবে কোনটা Dynamic programming (DP) এর প্রব্লেম। সেটার মধ্যে base কেইস কিভাবে ঠিক করবে। বা sub প্রব্লেম এ কিভাবে ভাগ করবে। Recurrence কিভাবে করবে। শুরুটা Fibonacci Sequence, Longest Common Subsequence (LCS), বা Coin Change Problem গুলো দিয়ে করতে পারো।
৪) Tree রিলেটেড এলগরিদম এর মধ্যে BFS আর DFS তো তোমাকে জানতেই হবে। এর বাইরে Binary Search Tree এর মধ্যে নতুন উপাদান যোগ করা রিমুভ করার সিস্টেম তোমাকে জানতে হবে।
৫) বিভিন্ন ধরনের graph এর জন্য আবার Shortest path বের করার সিস্টেম দেখতে পারো। এর মধ্যে Dijkstra's বা Bellman-Ford দেখতে পারো।
৬) Divide and Conquer Algorithms এর মধ্যে বাইনারি সার্চ, মার্জ শর্ট অন্যতম।
৭) টাইম আর স্পেস কমপ্লেক্সিটি ছাড়া ডাটা স্ট্রাকচার, এলগরিদম এর মর্ম বুঝবে না। তাই Big O Notation সম্পর্কে জানতে হবে। Constant Time O(1), Linear Time O(n), Logarithmic Time O(log n), Linearithmic Time O(n log n), Quadratic Time O(n^2), Exponential Time O(2^n) এইগুলা কখন হয়। সেটা বুঝতে হবে।
-----
এইটা শুরু করার লিষ্ট। এইগুলা বেসিক আর ইন্টারমেডিয়েট লেভেল মিলিয়ে। তবে কারো প্রব্লেম সলভিং বা কম্পিটিটিভ প্রোগ্রামিংয়ে ইচ্ছা থাকলে সে এইগুলা দিয়ে শুরু করে আরো ভিতরে ঢুকতে পারে।
-----
এই জিনিসগুলো তুমি চাইলে my code school, Kunal Kushwaha, freeCodeCamp, Abdul Bari এর মতো প্রচুর ইউটিউব চ্যানেল আছে। সেগুলা থেকে শিখতে পারো। অথবা শাফায়েত এর ব্লগ বা programiz এর Learn DS & Algorithms দেখতে পারো।
আর যদি মনে হয় নিজে নিজে শিখতে গেলে ফোকাসড থাকতে পারি না। কোন্সিস্টেন্সি ধরে রাখতে পারি না। বা আটকে গেলে হেল্প খুঁজে পাই না। তাহলে প্রতিদিন ৪-৬ ঘন্টা এফোর্ট দেয়ার কমিটমেন্ট নিয়ে। ঝাঁপিয়ে পড়ো phitron . io ওয়েবসাইট এ। সেপ্টেম্বরের ২৪ তারিখের মধ্যে।
সেখানে যত খুশি প্রশ্ন করতে পারবে। প্রতিদিন তিনবেলা (সকাল ১১ টা, বিকাল ৪ টা, রাত ৯.০০) লাইভ সাপোর্ট সেশন এ যুক্ত হয়ে কম্পিউটারের স্ক্রিনশেয়ার করে লাইভ সাপোর্ট নিতে পারবে। লাইভ কন্সেপচুয়াল সেশন থাকবে।
তোমার টার্গেট হবে: একটা ইফেক্টিভ লার্নিং প্লাটফর্ম এ হার্ডওয়ার্ক করে এক বছরের মধ্যে--নিজেকে জুনিয়র সফটওয়্যার ডেভেলপার হিসেবে জব/ইন্টার্ন পর্যন্ত নিয়ে যাওয়া অথবা একজন প্রব্লেম সল্ভার হিসেবে তৈরী করা।

07/09/2023

স্কিল ডেভেলপ করার রিসোর্চ যত বাড়তেছে, স্কিল ডেভেলপ করা তত কঠিন হয়ে যাচ্ছে। একইভাবে: গাইডলাইন যত বেশি সহজলভ্য হচ্ছে, গাইডলাইন কাজে লাগানোর পরিমাণ তত কমতেছে। এমনকি: হেল্প পাওয়ার প্লাটফর্ম যত বাড়তেছে, হেল্প এর সংখ্যা না বেড়ে বরং মিম আর ট্রল এর সংখ্যা তত বাড়তেছে।
কিন্তু কেন?
কারণ: সার্চ দিয়েই সেকেন্ডের মধ্যে ওয়ার্ল্ড ক্লাস, টপ কোয়ালিটির রিসোর্চ পেয়ে গেলে আমাদের অবচেতন মনে-- সেগুলার গুরুত্ব কমে যায়। আরে-- আছেই তো, দেখবো তো। এইসব বলে ফেলে রাখি। আবার ইন্টারনেট, ইউটিউব, ফেইসবুক, টিকটক এইগুলা লার্নিং প্লাটফর্ম হিসেবে ডিজাইন করা হয়নি। বরং ডিজাইন করা হয়েছে বিনোদন কনটেন্ট দিয়ে এনগেইজড রেখে তোমার সারাটা দিন খেয়ে দেয়ার জন্য। তাই এইসব প্লাটফর্মে থাকে ৯৫% এন্টারটেইনমেন্ট কনটেন্ট আর চিপাচাপায় থাকে ৫% এডুকেশনাল কনটেন্ট।
এইগুলার চাইতেও বড় সমস্যা: বিনোদনের আনন্দ ইনস্ট্যান্টলি পাওয়া যায়। মাগার স্কিল তো আর ইনস্ট্যান্টলি ডেভেলপ হয়ে যায় না। বিশেষ করে একটা মিনিংফুল স্কিল। লাইফ ডিপেন্ডেবল স্কিল। যে স্কিলের উপর ডিপেন্ড করে তুমি একটা ক্যারিয়ার দাঁড় করাবে। যে স্কিলের উপরে ডিপেন্ড করে একটা লাইফ, একটা ফ্যামিলি চলবে: সেই স্কিলতো আর টাচস্ক্রিন এ টাচ করলেই তৈরি হয়ে যাচ্ছেনা। বরং দিনের পর দিন, মাসের পর মাস। ফোকাস থাকতে হচ্ছে। হার্ডওয়ার্ক করতে হচ্ছে। সেটা করতে মন চায় না। বরং মন চায় বিনোদনে ফেরত যেতে। ইনস্ট্যান্ট আনন্দ পেতে। লংটার্ম ফিউচার গোলটাকে চৌকির তলায় ফেলে রাখতে।
আর যদি সেটা না করে সিরিয়াসলি ইন্টারনেট ইউজ করে স্কিল ডেভেলপ করতে চাও। তাহলে এই সাতটা কাজ করো।
১. প্রথমেই একটা specific, measurable, achievable, relevant, and time-bound (SMART) গোল সেট করো। তারপর সেই বড় গোলটাকে ছোট ছোট অংশে ভাগ করো। সেগুলা শেষ করার একটা আনকম্প্রোমাইজেবল ডেডলাইন সেট করো। লাইফে যত ঝড় তুফান আসুক না কেন। টার্গেট এবং ডেডলাইন মাষ্ট এচিভ করতে হবে। সেই ডিটার্মিনেশন সেট করো।
২. ডিস্ট্রাকশন ফ্রি লার্নিং সোর্স খুঁজে বের করো। একই সাথে একটার বেশি মেইন সোর্স ফলো করতে যাবে না। বিশেষ করে টুকুর টাকুর: বিক্ষিপ্ত সোর্সের কাছে যাওয়াই যাবে না। কারণ সব টপিক যদি গুগল গুগল করে বের করতে হয়। তাহলে দেখবে তুমি গুগল সার্চের টিউটোরিয়ালে ক্লিক করতেছো না। বরং
ক্লিক করতেছো চিপায় যে বিনোদনের ভিডিও আছে সেটাতে।
৩. যে জায়গাটাতে সবাই ধরা খায়। সেটা হচ্ছে ডেইলি লার্নিং রুটিন নাই। আর একবার দুইবার রুটিন বানালেও সেই রুটিন কে ডেইলি লার্নিং হ্যাবিট এ কনভার্ট করতে পারে না। যার কারণে তিন চারদিন পরে ছেড়ে দেয়। এইখানে তোমাকে খুবই স্পেসিফিক হতে হবে। ঠিক করে রাখতে হবে: সকালে মাষ্ট এতটুকু সময় দিবো। কিছু শিখি আর না শিখি এইটুক এফোর্ট মাষ্ট দিবো। বিকালে এইটুক দিবো। দিতেই হবে। কোন কম্প্রোমাইজ নাই। রাতে এই সময় বসবো।
প্লাস বিনোদন আর ডিস্ট্রাকশনের জন্য দিনের শেষের দিকে একঘন্টা বা দুই ঘন্টা সময় রাখবো। যখন বিনোদনের জন্য একটা স্পেসিফিক টাইম থাকবে তখন বিনোদনকে ফ্রেইম করা তত ইজি হবে। বিনোদনের জন্য টাইম এলোকেট না করলে দেখবে সারাদিনই বিনোদন এ চলে গেছে।
৪. হয় তোমার টপমোস্ট আনন্দের জিনিসটা রিলেটেড স্কিল ডেভেলপ করবে। না হয় তোমার সবচেয়ে আনন্দের জিনিসটাকে এক বছরের জন্য স্যাক্রিফাইস করবে। কারণ গত এক বছর যেমনে চলছো, সামনের একবছরও যদি সেই একইভাবে চলো। তাহলে গত একবছরে যেমন ঘোড়ার আন্ডা পাইছো। সামনের এক বছরও ঘোড়ার আন্ডা পাবে।
৫. রেগুলার তোমার প্রগ্রেস চেক করতে হবে। কিছুটা পিছিয়ে পড়লে এক্সট্রা এফোর্ট দিয়ে এডাপ্ট করতে হবে। সিমিলার মাইন্ডেড, সিরিয়াস মানুষ খুঁজে বের করতে হবে। তাদের সাথে ফ্রেন্ডলি কো-অপারেটিভভাবে একজন আরেকজনের হেল্প করবে।
৬. মিনিমাম ছয় মাস থেকে একবছর সুপার সিরিয়াস থেকে স্কিল এর প্রাথমিক লেভেল ডেভেলপ করে। একটা পোর্টফোলিও বিল্ড করো। সেটা অন্য প্রফেশনালদের সাথে শেয়ার করা। একটা লেভেলে পৌঁছানোর পর নেটওয়ার্কিং করো।
৭. খেয়াল রাখবে-- তুমি ইন্টারনেট এ বাস করবে না। তুমি তোমার জগতে বাস করবে। ইন্টারনেট তোমাকে চালাবে না। তুমি ইন্টারনেট চালাবে। তোমার লাইফের কন্ট্রোল থাকবে তোমার হাতে। ইন্টারনেট বা বিনোদনের হাতে না।

এই সুপার ডুপার লেভেলের হার্ডওয়ার্ক সারা জীবন করতে হবে না। বরং ছয় মাস থেকে একবছর করতে পারলেই দেখবে সিগ্নিফিক্যান্ট একটা গ্রোথ হয়ে গেছে। একটা জাম্প স্টার্ট হয়ে গেছে। তারপর আরো ভালো লাগলে এই সিরিয়াস লেভেল চালাতে থাকবে। আর কম ভালো লাগলে ব্যালেন্সড এপ্রোচ এ চালাবে। কিন্তু চালাতে তো

31/08/2023

Stop worrying, start working. Excuses will not achieve your goal; your sweat will.

The longer you wait, the harder it will get. The perfect day with the perfect situation will never come.

Today's imperfect action, driven by your passion, lays the foundation; for a better start tomorrow.

So, embrace action over anxiety. Melt your doubts with courage, curiosity, and determination.

Remember, your journey to success is crafted not in waiting, but in boldly stepping forward.

https://wellfound.com/l/2zdUQq
17/08/2023

https://wellfound.com/l/2zdUQq

Search through thousands of startup jobs, across any location or remote, hiring for software engineers, product managers, designers, marketing, sales, and more.

IT IS REALITY !!!!!!!!!
27/07/2023

IT IS REALITY !!!!!!!!!

16/05/2023
05/05/2023

The best things of life are on the other side of the pain.

30/04/2023

An event bubble is a concept in event-driven programming, where an event that occurs in a child element is propagated to its parent and ancestors in the document tree. This means that when a user interacts with a nested element, such as a button or link, the event associated with that element will also trigger any event handlers attached to its parent elements.

While event bubbling can be useful in some cases, it can also lead to unintended behavior and performance issues if not properly managed. This is where the stop propagation method comes in. By calling the stopPropagation() method within an event handler, you can prevent the event from bubbling up to its parent elements, allowing you to control the behavior of your application more precisely.

For example, if you have a dropdown menu with multiple nested elements, you may want to prevent the click event from propagating to its parent element when the user selects an item from the menu. This can be achieved by adding an event listener to the dropdown menu and calling the stopPropagation() method within the event handler.

Overall, understanding event bubbling and stop propagation is crucial for creating efficient and responsive web applications. By using these techniques wisely, you can improve the user experience of your application and avoid common pitfalls in event-driven programming.

Address

Chittagong
Chittagong
7500

Alerts

Be the first to know and let us send you an email when Full Web Development posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time.

Contact The Business

Send a message to Full Web Development:

Share

Category