<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Md. Abdullah Al Mahmud Khan on Medium]]></title>
        <description><![CDATA[Stories by Md. Abdullah Al Mahmud Khan on Medium]]></description>
        <link>https://medium.com/@abdullahalmahmudkhan?source=rss-a94123ac0872------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*Aw6ziieNlOZ8iTlCrKdkmA.jpeg</url>
            <title>Stories by Md. Abdullah Al Mahmud Khan on Medium</title>
            <link>https://medium.com/@abdullahalmahmudkhan?source=rss-a94123ac0872------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Mon, 25 May 2026 22:39:29 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@abdullahalmahmudkhan/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[JavaScript Destructuring]]></title>
            <link>https://medium.com/oceanize-geeks/javascript-destructuring-53812d4dcff?source=rss-a94123ac0872------2</link>
            <guid isPermaLink="false">https://medium.com/p/53812d4dcff</guid>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[array-destructuring]]></category>
            <category><![CDATA[object-destructuring]]></category>
            <category><![CDATA[destructuring-assignment]]></category>
            <category><![CDATA[destructuring]]></category>
            <dc:creator><![CDATA[Md. Abdullah Al Mahmud Khan]]></dc:creator>
            <pubDate>Tue, 07 May 2019 08:10:36 GMT</pubDate>
            <atom:updated>2019-05-07T08:10:36.397Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2B1s3XjIX1J3WU06-HyaIg.jpeg" /></figure><h3>Object Destructuring</h3><p>const person = {<br> name: “Sumon”,<br> roll: 123,<br> group: “IT”<br>}</p><p>var {name, group} = person;</p><p>console.log(name); // Sumon<br>console.log(group); // IT</p><p><strong>Assignment without declaration:</strong><br>A variable can be assigned its value with destructuring separate from its declaration.</p><p>var name, roll;<br>({name, roll} = {name: “Sumon”, roll: 1});</p><p>console.log(name); // Sumon<br>console.log(roll); // 1</p><p><strong>Assigning to new variable names:</strong><br>A property can be unpacked from an object and assigned to a variable with a different name than the object property.</p><p>const person = {<br> name: “Sumon”,<br> roll: 123<br>}</p><p>const { name: firstName, roll: classRoll } = person;</p><p>console.log( firstName ); // Sumon<br>console.log(classRoll); // 123</p><p><strong>Default values:</strong><br>A variable can be assigned a default, in the case that the value unpacked from the object is undefined.</p><p>const {a = 5, b = 10} = {a: 8};</p><p>console.log(a); // 8<br>console.log(b); // 10</p><p><strong>Assigning to new variables names and providing default values:</strong><br>A property can be both 1) unpacked from an object and assigned to a variable with a different name and 2) assigned a default value in case the unpacked value is undefined</p><p>var {a: aa = 5, b: bb = 10} = {a: 8};</p><p>console.log(aa); // 8<br>console.log(bb); // 10</p><p><strong>Rest in Object Destructuring:</strong><br>Rest properties collect the remaining own enumerable property keys that are not already picked off by the destructuring pattern.</p><p>const person = {<br> name: “Sumon”,<br> group: “IT”,<br> city : “Dhaka”,<br> county: “Bangladesh”<br>}</p><p>let {name, group, …rest} = person</p><p>console.log(name); // Sumon<br>console.log(group); // IT<br>console.log(rest); // { city: ‘Dhaka’, county: ‘Bangladesh’ }</p><h3><strong>Array destructuring</strong></h3><p>var number = [1, 2, 3];</p><p>var [one, two, three] = number;<br>console.log(one); // 1<br>console.log(two); // 2<br>console.log(three); // 3</p><p><strong>Assignment separate from declaration</strong><br>A variable can be assigned its value via destructuring separate from the variable’s declaration.</p><p>var one, two;</p><p>[one, two] = [10, 18];<br>console.log(one); // 10<br>console.log(two); // 18</p><p><strong>Default values</strong><br>A variable can be assigned a default, in the case that the value unpacked from the array is undefined.</p><p>var name, roll;</p><p>[name=”Sumon”, roll=18] = [“Mahmud”];<br>console.log(name); // Mahmud<br>console.log(roll); // 18</p><p><strong>Swapping variables:</strong><br>Two variables values can be swapped in one destructuring expression.</p><p>var a = 5;<br>var b = 8;</p><p>[a, b] = [b, a];<br>console.log(a); // 8<br>console.log(b); // 5</p><p><strong>Assigning the rest of an array to a variable:</strong></p><p>var [one, …rest] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];<br>console.log(one); // 1<br>console.log(rest); // [ 2, 3, 4, 5, 6, 7, 8, 9, 10 ]</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=53812d4dcff" width="1" height="1" alt=""><hr><p><a href="https://medium.com/oceanize-geeks/javascript-destructuring-53812d4dcff">JavaScript Destructuring</a> was originally published in <a href="https://medium.com/oceanize-geeks">Oceanize Lab Geeks</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[JavaScript Array Functions]]></title>
            <link>https://medium.com/oceanize-geeks/javascript-array-functions-27edfd2de13b?source=rss-a94123ac0872------2</link>
            <guid isPermaLink="false">https://medium.com/p/27edfd2de13b</guid>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[function]]></category>
            <dc:creator><![CDATA[Md. Abdullah Al Mahmud Khan]]></dc:creator>
            <pubDate>Mon, 06 May 2019 02:57:34 GMT</pubDate>
            <atom:updated>2019-05-06T02:57:34.204Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/1*q7B3QI4VMtZfnIfjC6ogvw.jpeg" /></figure><p>In this post i will describe different type of array functions. You should learn all array method to improve your JavaScript skill. I will try to make easy way to learn different type of array method.</p><h3>forEach()</h3><p>The forEach() method calls a provided function once for each element in an array, in order. forEach() does not execute the function for array elements without values.</p><p><strong>Syntax</strong><br>array.forEach(function(currentValue, index, arr))</p><p><strong>Example:</strong><br>var array = [1,2,3,4,5];<br>array.forEach(function(currentValue, index, arr){<br> console.log(“Current value: “+ currentValue + “ Index: “ + index + “Array: “ + arr); <br>})</p><h3><strong>filter()</strong></h3><p>The filter() method creates an array filled with all array elements that pass a test (provided as a function)</p><p><strong>Syntax</strong><br>array.filter(function(currentValue, index, arr))</p><p><strong>Example:</strong><br>const array = [32, 33, 16, 40];<br>const result = array.filter(function(age) {<br> return age &gt;= 18;<br>})</p><p>console.log(result); // output will be [ 32, 33, 40 ]</p><h3>map()</h3><p>The map() method creates a new array with the results of calling a function for every array element</p><p><strong>Syntax</strong><br>array.map(function(currentValue, index, arr))</p><p><strong>Example:</strong><br>const array = [1,2,3,4,5];<br>const newArray = array.map(function(value){ <br> return value + 2;<br>})</p><p>console.log(newArray); //Output will be [ 3, 4, 5, 6, 7 ]</p><h3><strong>sort()</strong></h3><p>This method used to arrange/sort array’s item either ascending or descending order</p><p>const arr = [1, 2, 3, 4, 5, 6];<br> const alpha = [‘e’, ‘a’, ‘c’, ‘u’, ‘y’];</p><p>// sort in descending order<br> descOrder = arr.sort((a, b) =&gt; a &gt; b ? -1 : 1);<br> console.log(descOrder); // output: [6, 5, 4, 3, 2, 1]</p><p>// sort in ascending order<br> ascOrder = alpha.sort((a, b) =&gt; a &gt; b ? 1 : -1);<br> console.log(ascOrder); // output: [‘a’, ‘c’, ‘e’, ‘u’, ‘y’]</p><h3><strong>reduce()</strong></h3><p>The reduce() method reduces the array to a single value.<br>The reduce() method executes a provided function for each value of the array (from left-to-right). The return value of the function is stored in an accumulator (result/total).</p><p><strong>Syntax</strong><br>array.reduce(function(total, currentValue, currentIndex, arr))</p><p><strong>Example</strong><br>const array = [1,2,3,4,5];<br>const newArray = array.reduce(function(a,b){ <br> return a + b;<br>})<br>console.log(newArray); // Output will be 15</p><h3><strong>some()</strong></h3><p>This method check if at least one of array’s item passed the condition. If passed, it return ‘true’ otherwise ‘false’.</p><p><strong>Syntax</strong><br>array.some(function(currentValue, index, arr))</p><p><strong>Example</strong><br>const array = [1,2,3,4,5];<br>const newArray = array.some(function(num){ <br> return num &gt; 3;<br>})</p><p>console.log(newArray); // Output will be true</p><h3><strong>every()</strong></h3><p>This method check if all array’s item passed the condition. If passed, it return ‘true’ otherwise ‘false’.</p><p><strong>Syntax</strong><br>array.every(function(currentValue, index, arr))</p><p>const array = [1,2,3,4,5];<br>const newArray = array.every(function(num){ <br> return num &gt; 3;<br>})</p><p>console.log(newArray); // Output will be false</p><h3><strong>concat()</strong></h3><p>The concat() method is used to join two or more arrays.</p><p><strong>Syntax</strong><br>array1.concat(array2, array3, …, arrayX)</p><p><strong>Example</strong><br>var hege = [“Cecilie”, “Lone”];<br>var stale = [“Emil”, “Tobias”];<br>var children = hege.concat(stale);</p><p>console.log(children); // Output will be [ ‘Cecilie’, ‘Lone’, ‘Emil’, ‘Tobias’]</p><p>Thank you very much for reading my post.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=27edfd2de13b" width="1" height="1" alt=""><hr><p><a href="https://medium.com/oceanize-geeks/javascript-array-functions-27edfd2de13b">JavaScript Array Functions</a> was originally published in <a href="https://medium.com/oceanize-geeks">Oceanize Lab Geeks</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[JavaScript First Class Function]]></title>
            <link>https://medium.com/oceanize-geeks/javascript-first-class-function-754074ba7bf7?source=rss-a94123ac0872------2</link>
            <guid isPermaLink="false">https://medium.com/p/754074ba7bf7</guid>
            <category><![CDATA[javascript]]></category>
            <dc:creator><![CDATA[Md. Abdullah Al Mahmud Khan]]></dc:creator>
            <pubDate>Tue, 30 Apr 2019 10:27:16 GMT</pubDate>
            <atom:updated>2019-04-30T10:27:16.757Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*DXNCzSojnPknIOrxxA_dKw.jpeg" /></figure><p>JavaScript is one of the most popular languages which claims to feature “First Class Functions. JavaScript meets the bellowing points for first class function feature.</p><ol><li><strong>A function can be stored in a variable</strong></li><li><strong>Function can be stored in an Array</strong></li><li><strong>Function can be stored as an Object Field or Property</strong></li><li><strong>We can create function as needed</strong></li><li><strong>We can pass function as an arguments</strong></li><li><strong>We can return function from another function</strong></li><li><strong>Function can be stored in a variable</strong></li></ol><p>function sum(a, b) {<br> return a + b;<br>}</p><p>var total = sum<br>console.log(total(10+2)); // Output will be 12</p><p>2. <strong>Function can be stored in an Array</strong></p><p>function sum (a,b){<br> return a+b; <br>}</p><p>function div (a,b){<br> return a/b; <br>}</p><p>var arr = [1, 2, 3, sum];<br>arr.push(div)<br>console.log(arr) //[ 1, 2, 3, [λ: sum], [λ: div] ]</p><p>3. <strong>Function can be stored as an Object Field or Property</strong></p><p>var user = {<br> name: “John”, <br> age: 24,<br> print: function () {<br> console.log(‘Hi’);<br> }<br> };</p><p>console.log(user); //{ name: ‘John’, age: 24, print: [λ: print] }</p><p><strong>4. We can create function as needed</strong></p><p>var multiply = 5 * (function () {<br> return 5<br>})();<br>multiply; //output will be 25</p><p>5. <strong>We can pass function as an arguments</strong></p><p>function functionOne(x) { <br> console.log(“Hi “ + x); <br>}</p><p>function functionTwo(name, callback) {<br> callback(name); <br>}</p><p>functionTwo(“Sumon”, functionOne); // Hi Sumon</p><p>6. <strong>We can return function from another function</strong></p><p>function add() {<br> var counter = 9;</p><p>return function(){<br> counter += 1;</p><p>return counter; <br> }<br> }</p><p>var result = add();<br>var number = result;</p><p>console.log(number()); // output will be 10<br>console.log(add()()); // output will be 10</p><p>Tank you very much for reading this post.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=754074ba7bf7" width="1" height="1" alt=""><hr><p><a href="https://medium.com/oceanize-geeks/javascript-first-class-function-754074ba7bf7">JavaScript First Class Function</a> was originally published in <a href="https://medium.com/oceanize-geeks">Oceanize Lab Geeks</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Setting up Mailtrap for Email testing]]></title>
            <link>https://medium.com/oceanize-geeks/setting-up-mailtrap-for-email-testing-f4c63632d746?source=rss-a94123ac0872------2</link>
            <guid isPermaLink="false">https://medium.com/p/f4c63632d746</guid>
            <category><![CDATA[email]]></category>
            <dc:creator><![CDATA[Md. Abdullah Al Mahmud Khan]]></dc:creator>
            <pubDate>Tue, 30 Apr 2019 07:27:29 GMT</pubDate>
            <atom:updated>2019-04-30T07:27:29.871Z</atom:updated>
            <content:encoded><![CDATA[<p>Setting up Mailtrap for Email testing</p><p>Mailtrap is a fake SMTP server for testing emails sent from the development and staging environments without spamming real customers or flooding your own and team members inboxes. It is designed to catch your test emails. Mailtrap emulates the process of sending, so we won’t deliver your emails to a real user. We just keep them for you to test and optimize your HTML email campaigns.</p><p>In this post we will share how to set up your account, easy and fast, as well as guide you through the testing process.</p><p>To create an account, visit <a href="https://mailtrap.io">https://mailtrap.io</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_YaagSWzcvTRmfLkq6i7vQ.png" /></figure><p>You can sign up throw Gmail account, GitHub account or providing email and password. Once you’ve logged in to your account, you will get to the home page:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*uyDu2J1FtEnxx53E7uvo6g.png" /></figure><p>Open your inbox: click on the Demo Inbox. Here you will see SMTP credentials.</p><p>You can also use one of the popular framework config: CakePHP, Ruby on Rails, Symfony, Zend Framework, Django, JBoss, etc.</p><p>Choose your preferred option to see an example of how to integrate Mailtrap into your application:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*owgzwalgEYI9rf55sPemnw.png" /></figure><p>Configure your development environment with appropriate Mailtrap settings and send your first test message. Go to your inbox and see your first message that sent your application.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Fsay6bPw0-XyTblkupNYJA.png" /></figure><p>Mailtrap offers multiple helpful options for email content verification and debugging.</p><p><strong>HTML</strong> tab demonstrates how your message might look in the recipient’s mail client.</p><p><strong>HTML Source</strong> tab provides you with the HTML markup</p><p><strong>Text</strong> tab shows the plain text of your message.</p><p><strong>Raw</strong> tab you can review the raw email data, as received from the SMTP relay. If the raw data exceeds 300 KB, you will be given the option to download it as .eml file.</p><p><strong>Analysis</strong> is another important and highly demanded feature. In this tab Mailtrap offers spam check results and provides recommendations on how to decrease spam score, if any issues were found. same tab you will also find a Blacklists Report: Mailtrap checks whether your IP or domain has been listed in any of the commonly used blacklists. It shows resources which have been queried.</p><p><strong>Check HTML</strong> tab to find a list of HTML/CSS properties, which might cause issues with rendering your message in specific email clients.</p><p>Reference:</p><p><a href="https://blog.mailtrap.io/mailtrap-getting-started-guide/">Mailtrap Getting Started Guide - Mailtrap Blog</a></p><p><a href="https://mailtrap.io/faq">https://mailtrap.io/faq</a></p><p>Thank you very much for reading. Hope help this post.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f4c63632d746" width="1" height="1" alt=""><hr><p><a href="https://medium.com/oceanize-geeks/setting-up-mailtrap-for-email-testing-f4c63632d746">Setting up Mailtrap for Email testing</a> was originally published in <a href="https://medium.com/oceanize-geeks">Oceanize Lab Geeks</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Amazing CSS properties]]></title>
            <link>https://medium.com/oceanize-geeks/amazing-css-properties-3f62b2769526?source=rss-a94123ac0872------2</link>
            <guid isPermaLink="false">https://medium.com/p/3f62b2769526</guid>
            <category><![CDATA[css3]]></category>
            <category><![CDATA[css]]></category>
            <dc:creator><![CDATA[Md. Abdullah Al Mahmud Khan]]></dc:creator>
            <pubDate>Wed, 02 Jan 2019 10:07:56 GMT</pubDate>
            <atom:updated>2019-01-03T10:37:41.823Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/800/1*ZqGbth8uKpcfOBqlv52fXA.jpeg" /></figure><p><strong>1.</strong> <strong>CSS Flexbox</strong></p><p>The Flexible Box Layout Module, makes it easier to design flexible responsive layout structure without using float or positioning.</p><p>Before the Flexbox Layout module, there were four layout modes:</p><p>Block, for sections in a webpage</p><p>Inline, for text</p><p>Table, for two-dimensional table data</p><p>Positioned, for explicit position of an element</p><p>Reference:</p><p><a href="https://www.w3schools.com/css/css3_flexbox.asp">https://www.w3schools.com/css/css3_flexbox.asp</a></p><p><a href="https://css-tricks.com/snippets/css/a-guide-to-flexbox">https://css-tricks.com/snippets/css/a-guide-to-flexbox</a></p><p><strong>2.</strong> <strong>CSS Transitions</strong></p><p>CSS transitions allows you to change property values smoothly (from one value to another), over a given duration.</p><p>To create a transition effect, you must specify two things:</p><p>· the CSS property you want to add an effect to</p><p>· the duration of the effect</p><p>Reference:</p><p><a href="https://www.w3schools.com/css/css3_transitions.asp">https://www.w3schools.com/css/css3_transitions.asp</a></p><p><strong>3.</strong> <strong>CSS Custom Properties (Variables)</strong></p><p>Variables make it easier to manage colors, fonts, size, and animation values, and to ensure their consistency across a codebase.</p><p>Variables in CSS should be declared within a CSS selector that defines its scope. For a global scope you can use either the :root or the body selector.</p><p>The variable name must begin with two dashes ( — ) and is case sensitive!</p><p>The syntax of the var() function is as follows:</p><p><strong>var(custom-name, value)</strong></p><p><strong>Reference:</strong></p><p><a href="https://www.w3schools.com/css/css3_variables.asp">https://www.w3schools.com/css/css3_variables.asp</a></p><p><strong>4.</strong> <strong>CSS Box Sizing</strong></p><p>The CSS box-sizing property allows us to include the padding and border in an element’s total width and height.</p><p><strong>Without the CSS box-sizing Property</strong></p><p>By default, the width and height of an element is calculated like this:</p><p>width + padding + border = actual width of an element</p><p>height + padding + border = actual height of an element</p><p>This means: When you set the width/height of an element, the element often appear bigger than you have set (because the element’s border and padding are added to the element’s specified width/height).</p><p>Reference:</p><p><a href="https://www.w3schools.com/css/css3_box-sizing.asp">https://www.w3schools.com/css/css3_box-sizing.asp</a></p><p><strong>5.</strong> <strong>CSS Multiple Columns</strong></p><p>The CSS multi-column layout allows easy definition of multiple columns of text — just like in newspapers.</p><p>Reference:</p><p><a href="https://www.w3schools.com/css/css3_multiple_columns.asp">https://www.w3schools.com/css/css3_multiple_columns.asp</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=3f62b2769526" width="1" height="1" alt=""><hr><p><a href="https://medium.com/oceanize-geeks/amazing-css-properties-3f62b2769526">Amazing CSS properties</a> was originally published in <a href="https://medium.com/oceanize-geeks">Oceanize Lab Geeks</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>