<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Aruna</title>
    <description>The latest articles on DEV Community by Aruna (@aruna_m).</description>
    <link>https://dev.to/aruna_m</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3384988%2F92d48b92-00b3-400e-9d43-90b22e6036c9.jpg</url>
      <title>DEV Community: Aruna</title>
      <link>https://dev.to/aruna_m</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aruna_m"/>
    <language>en</language>
    <item>
      <title>Day 6 : SQL</title>
      <dc:creator>Aruna</dc:creator>
      <pubDate>Wed, 17 Dec 2025 18:22:48 +0000</pubDate>
      <link>https://dev.to/aruna_m/day-6-sql-4kd3</link>
      <guid>https://dev.to/aruna_m/day-6-sql-4kd3</guid>
      <description>&lt;p&gt;&lt;strong&gt;Practice Day (SELECT, WHERE, ORDER BY, LIMIT)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Sample Table for Practice&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;employees&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;emp_id&lt;/th&gt;
&lt;th&gt;emp_name&lt;/th&gt;
&lt;th&gt;department&lt;/th&gt;
&lt;th&gt;salary&lt;/th&gt;
&lt;th&gt;city&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Ravi&lt;/td&gt;
&lt;td&gt;IT&lt;/td&gt;
&lt;td&gt;45000&lt;/td&gt;
&lt;td&gt;Chennai&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Priya&lt;/td&gt;
&lt;td&gt;HR&lt;/td&gt;
&lt;td&gt;38000&lt;/td&gt;
&lt;td&gt;Coimbatore&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Arjun&lt;/td&gt;
&lt;td&gt;IT&lt;/td&gt;
&lt;td&gt;52000&lt;/td&gt;
&lt;td&gt;Bangalore&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Meena&lt;/td&gt;
&lt;td&gt;Finance&lt;/td&gt;
&lt;td&gt;41000&lt;/td&gt;
&lt;td&gt;Chennai&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Karthik&lt;/td&gt;
&lt;td&gt;IT&lt;/td&gt;
&lt;td&gt;30000&lt;/td&gt;
&lt;td&gt;Madurai&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;Anu&lt;/td&gt;
&lt;td&gt;HR&lt;/td&gt;
&lt;td&gt;36000&lt;/td&gt;
&lt;td&gt;Chennai&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;p&gt;&lt;strong&gt;2. Practice Queries with Solutions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q1:&lt;/strong&gt; Display all employee details&lt;br&gt;
SELECT * FROM employees;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q2:&lt;/strong&gt; Display employee name and salary&lt;br&gt;
SELECT emp_name, salary FROM employees;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q3:&lt;/strong&gt; Display employees with salary greater than 40000&lt;br&gt;
SELECT * FROM employees&lt;br&gt;
WHERE salary &amp;gt; 40000;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q4:&lt;/strong&gt; Display IT department employees&lt;br&gt;
SELECT * FROM employees&lt;br&gt;
WHERE department = 'IT';&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q5:&lt;/strong&gt; Display employees from Chennai city&lt;br&gt;
SELECT * FROM employees&lt;br&gt;
WHERE city = 'Chennai';&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q6:&lt;/strong&gt; Display employees whose name starts with 'A'&lt;br&gt;
SELECT * FROM employees&lt;br&gt;
WHERE emp_name LIKE 'A%';&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q7:&lt;/strong&gt; Display employees with salary between 35000 and 45000&lt;br&gt;
SELECT * FROM employees&lt;br&gt;
WHERE salary BETWEEN 35000 AND 45000;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q8:&lt;/strong&gt; Display employees in IT or HR department&lt;br&gt;
SELECT * FROM employees&lt;br&gt;
WHERE department IN ('IT', 'HR');&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q9:&lt;/strong&gt; Display top 3 highest paid employees&lt;br&gt;
SELECT * FROM employees&lt;br&gt;
ORDER BY salary DESC&lt;br&gt;
LIMIT 3;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q10:&lt;/strong&gt; Display employees sorted by name&lt;br&gt;
SELECT * FROM employees&lt;br&gt;
ORDER BY emp_name ASC;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Revision, Quiz &amp;amp; Interview Preparation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Revision Summary (Day 1–5)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✔ SQL basics &amp;amp; databases&lt;br&gt;
✔ CREATE, INSERT, SELECT&lt;br&gt;
✔ WHERE clause&lt;br&gt;
✔ Operators&lt;br&gt;
✔ ORDER BY &amp;amp; LIMIT&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. SQL Quiz (Test Yourself)&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Q1:&lt;/strong&gt; Which keyword removes duplicate values?&lt;br&gt;
A) UNIQUE&lt;br&gt;
B) DISTINCT ✅&lt;br&gt;
C) DIFFERENT&lt;br&gt;
&lt;strong&gt;Q2:&lt;/strong&gt; Which clause filters rows?&lt;br&gt;
A) SELECT&lt;br&gt;
B) WHERE ✅&lt;br&gt;
C) ORDER BY&lt;br&gt;
&lt;strong&gt;Q3:&lt;/strong&gt; Default order in ORDER BY?&lt;br&gt;
A) DESC&lt;br&gt;
B) ASC ✅&lt;br&gt;
&lt;strong&gt;Q4:&lt;/strong&gt; Which operator checks a range?&lt;br&gt;
A) IN&lt;br&gt;
B) BETWEEN ✅&lt;br&gt;
&lt;strong&gt;Q5:&lt;/strong&gt; Which clause limits rows?&lt;br&gt;
A) LIMIT ✅&lt;br&gt;
B) WHERE&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Common Interview Questions (Beginner)&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Q:&lt;/strong&gt; Difference between WHERE and HAVING?&lt;br&gt;
WHERE filters rows&lt;br&gt;
HAVING filters groups (after GROUP BY)&lt;br&gt;
&lt;strong&gt;Q:&lt;/strong&gt; What is DISTINCT?&lt;br&gt;
Removes duplicate value&lt;br&gt;
&lt;strong&gt;Q:&lt;/strong&gt; Can ORDER BY be used without SELECT?&lt;br&gt;
No&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Real-Time Scenario Questions&lt;/strong&gt;&lt;br&gt;
*Find top 5 salary employees&lt;br&gt;
*Find employees from specific city&lt;br&gt;
*Filter records using multiple conditions&lt;br&gt;
*Sort employee data for reports&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.Self-Assessment Task&lt;/strong&gt;&lt;br&gt;
Create a table &lt;strong&gt;students&lt;/strong&gt; with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;student_id&lt;/li&gt;
&lt;li&gt;student_name&lt;/li&gt;
&lt;li&gt;marks&lt;/li&gt;
&lt;li&gt;city&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✔ Insert 5 records&lt;br&gt;
✔ Write queries:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Top 2 highest marks&lt;/li&gt;
&lt;li&gt;Students from Chennai&lt;/li&gt;
&lt;li&gt;Marks between 60 and 90&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>tutorial</category>
      <category>database</category>
      <category>beginners</category>
      <category>sql</category>
    </item>
    <item>
      <title>Day 5: SQL</title>
      <dc:creator>Aruna</dc:creator>
      <pubDate>Tue, 16 Dec 2025 15:16:48 +0000</pubDate>
      <link>https://dev.to/aruna_m/day-sql-538d</link>
      <guid>https://dev.to/aruna_m/day-sql-538d</guid>
      <description>&lt;p&gt;&lt;strong&gt;ORDER BY, LIMIT &amp;amp; Sorting Data&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. What is ORDER BY?&lt;/strong&gt;&lt;br&gt;
The &lt;strong&gt;ORDER BY&lt;/strong&gt; clause is used to &lt;strong&gt;sort the result set&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Default sorting → &lt;strong&gt;Ascending (ASC)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Can sort by &lt;strong&gt;one or multiple columns&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. ORDER BY Syntax&lt;/strong&gt;&lt;br&gt;
SELECT column1, column2&lt;br&gt;
FROM table_name&lt;br&gt;
ORDER BY column_name [ASC | DESC];&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Sorting in Ascending Order (ASC)&lt;/strong&gt;&lt;br&gt;
SELECT emp_name, salary&lt;br&gt;
FROM employees&lt;br&gt;
ORDER BY salary;&lt;br&gt;
Same as:&lt;br&gt;
ORDER BY salary ASC;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Sorting in Descending Order (DESC)&lt;/strong&gt;&lt;br&gt;
SELECT emp_name, salary&lt;br&gt;
FROM employees&lt;br&gt;
ORDER BY salary DESC;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Sorting by Multiple Columns&lt;/strong&gt;&lt;br&gt;
SELECT emp_name, department, salary&lt;br&gt;
FROM employees&lt;br&gt;
ORDER BY department ASC, salary DESC;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. ORDER BY with WHERE&lt;/strong&gt;&lt;br&gt;
SELECT emp_name, salary&lt;br&gt;
FROM employees&lt;br&gt;
WHERE department = 'IT'&lt;br&gt;
ORDER BY salary DESC;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. LIMIT Clause&lt;/strong&gt;&lt;br&gt;
Used to &lt;strong&gt;restrict number of rows returned&lt;/strong&gt;.&lt;br&gt;
SELECT * FROM employees&lt;br&gt;
LIMIT 5;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. LIMIT with OFFSET&lt;/strong&gt;&lt;br&gt;
Used for &lt;strong&gt;pagination&lt;/strong&gt;.&lt;br&gt;
SELECT * FROM employees&lt;br&gt;
LIMIT 5 OFFSET 5;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. LIMIT with ORDER BY (Most Important)&lt;/strong&gt;&lt;br&gt;
Used to find &lt;strong&gt;Top / Bottom records&lt;/strong&gt;.&lt;br&gt;
Top 3 highest salaries:&lt;br&gt;
SELECT emp_name, salary&lt;br&gt;
FROM employees&lt;br&gt;
ORDER BY salary DESC&lt;br&gt;
LIMIT 3;&lt;/p&gt;

&lt;p&gt;Lowest salary:&lt;br&gt;
SELECT emp_name, salary&lt;br&gt;
FROM employees&lt;br&gt;
ORDER BY salary ASC&lt;br&gt;
LIMIT 1;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. Using Column Position in ORDER BY&lt;/strong&gt;&lt;br&gt;
SELECT emp_name, salary&lt;br&gt;
FROM employees&lt;br&gt;
ORDER BY 2 DESC;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Day 4: SQL</title>
      <dc:creator>Aruna</dc:creator>
      <pubDate>Mon, 15 Dec 2025 15:08:29 +0000</pubDate>
      <link>https://dev.to/aruna_m/day-4-sql-15f3</link>
      <guid>https://dev.to/aruna_m/day-4-sql-15f3</guid>
      <description>&lt;p&gt;&lt;strong&gt;Filtering Data Using WHERE Clause &amp;amp; Operators&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. What is WHERE Clause?&lt;/strong&gt;&lt;br&gt;
The &lt;strong&gt;WHERE clause&lt;/strong&gt; is used to &lt;strong&gt;filter rows&lt;/strong&gt; that meet a specific condition.&lt;br&gt;
Without it, &lt;code&gt;SELECT&lt;/code&gt; returns &lt;strong&gt;all rows&lt;/strong&gt;.&lt;br&gt;
&lt;strong&gt;Syntax:&lt;/strong&gt;&lt;br&gt;
SELECT column1, column2&lt;br&gt;
FROM table_name&lt;br&gt;
WHERE condition;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Comparison Operators&lt;/strong&gt;&lt;br&gt;
Used to compare values.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Operator&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;=&lt;/td&gt;
&lt;td&gt;Equal to&lt;/td&gt;
&lt;td&gt;salary = 35000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;!= or &amp;lt;&amp;gt;&lt;/td&gt;
&lt;td&gt;Not equal&lt;/td&gt;
&lt;td&gt;age &amp;lt;&amp;gt; 25&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;gt;&lt;/td&gt;
&lt;td&gt;Greater than&lt;/td&gt;
&lt;td&gt;salary &amp;gt; 30000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;lt;&lt;/td&gt;
&lt;td&gt;Less than&lt;/td&gt;
&lt;td&gt;age &amp;lt; 30&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;gt;=&lt;/td&gt;
&lt;td&gt;Greater or equal&lt;/td&gt;
&lt;td&gt;salary &amp;gt;= 40000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;lt;=&lt;/td&gt;
&lt;td&gt;Less or equal&lt;/td&gt;
&lt;td&gt;age &amp;lt;= 22&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
SELECT * FROM employees&lt;br&gt;
WHERE salary &amp;gt; 35000;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Logical Operators&lt;/strong&gt;&lt;br&gt;
Combine multiple conditions.&lt;br&gt;
| Operator | Description          | Example                                |&lt;br&gt;
| -------- | -------------------- | -------------------------------------- |&lt;br&gt;
| AND      | Both conditions true | salary &amp;gt; 35000 AND department = 'IT'   |&lt;br&gt;
| OR       | Any condition true   | department = 'IT' OR department = 'HR' |&lt;br&gt;
| NOT      | Negates condition    | NOT department = 'HR'                  |&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
SELECT * FROM employees&lt;br&gt;
WHERE department = 'IT' AND salary &amp;gt; 35000;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Pattern Matching with LIKE&lt;/strong&gt;&lt;br&gt;
Search for patterns in &lt;strong&gt;text columns&lt;/strong&gt;.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Pattern&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;%&lt;/td&gt;
&lt;td&gt;Any number of characters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;_&lt;/td&gt;
&lt;td&gt;Single character&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Examples:&lt;/strong&gt;&lt;br&gt;
-- Names starting with 'R'&lt;br&gt;
SELECT * FROM employees&lt;br&gt;
WHERE emp_name LIKE 'R%';&lt;br&gt;
-- Names ending with 'a'&lt;br&gt;
SELECT * FROM employees&lt;br&gt;
WHERE emp_name LIKE '%a';&lt;br&gt;
-- Names with 4 letters&lt;br&gt;
SELECT * FROM employees&lt;br&gt;
WHERE emp_name LIKE '____';&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Filtering with BETWEEN&lt;/strong&gt;&lt;br&gt;
Select values &lt;strong&gt;within a range&lt;/strong&gt;.&lt;br&gt;
SELECT * FROM employees&lt;br&gt;
WHERE salary BETWEEN 35000 AND 42000;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Filtering with IN&lt;/strong&gt;&lt;br&gt;
Select values from a &lt;strong&gt;list&lt;/strong&gt;.&lt;br&gt;
SELECT * FROM employees&lt;br&gt;
WHERE department IN ('IT', 'HR');&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Filtering with IS NULL / IS NOT NULL&lt;/strong&gt;&lt;br&gt;
Check for &lt;strong&gt;missing values&lt;/strong&gt;.&lt;br&gt;
SELECT * FROM employees&lt;br&gt;
WHERE department IS NULL;&lt;br&gt;
SELECT * FROM employees&lt;br&gt;
WHERE department IS NOT NULL;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Day 3: SQL</title>
      <dc:creator>Aruna</dc:creator>
      <pubDate>Sun, 14 Dec 2025 14:29:15 +0000</pubDate>
      <link>https://dev.to/aruna_m/day-3-sql-480</link>
      <guid>https://dev.to/aruna_m/day-3-sql-480</guid>
      <description>&lt;p&gt;&lt;strong&gt;SELECT Statement &amp;amp; DISTINCT Clause&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. What is SELECT Statement?&lt;/strong&gt;&lt;br&gt;
The &lt;strong&gt;SELECT&lt;/strong&gt; statement is used to &lt;strong&gt;retrieve data&lt;/strong&gt; from a table.&lt;br&gt;
It is the &lt;strong&gt;most important and frequently used&lt;/strong&gt; SQL command.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Basic SELECT Syntax&lt;/strong&gt;&lt;br&gt;
SELECT column_name&lt;br&gt;
FROM table_name;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Select All Columns (&lt;code&gt;*&lt;/code&gt;)&lt;/strong&gt;&lt;br&gt;
Fetches all columns from a table.&lt;br&gt;
SELECT * FROM employees;&lt;br&gt;
&lt;code&gt;*&lt;/code&gt; means &lt;strong&gt;all columns&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Select Specific Columns&lt;/strong&gt;&lt;br&gt;
Retrieve only required columns.&lt;br&gt;
SELECT emp_name, salary&lt;br&gt;
FROM employees;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Column Aliases (AS)&lt;/strong&gt;&lt;br&gt;
Used to give &lt;strong&gt;temporary names&lt;/strong&gt; to columns in output.&lt;br&gt;
SELECT emp_name AS Name, salary AS Salary&lt;br&gt;
FROM employees;&lt;br&gt;
Alias without &lt;code&gt;AS&lt;/code&gt;:&lt;br&gt;
SELECT emp_name Name, salary Salary&lt;br&gt;
FROM employees;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. SELECT with Expressions&lt;/strong&gt;&lt;br&gt;
You can perform calculations inside SELECT.&lt;br&gt;
SELECT emp_name, salary * 12 AS Annual_Salary&lt;br&gt;
FROM employees;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. DISTINCT Keyword&lt;/strong&gt;&lt;br&gt;
Used to remove &lt;strong&gt;duplicate values&lt;/strong&gt; from results.&lt;br&gt;
Example Table: employees&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;emp_id&lt;/th&gt;
&lt;th&gt;emp_name&lt;/th&gt;
&lt;th&gt;department&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Ravi&lt;/td&gt;
&lt;td&gt;IT&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Priya&lt;/td&gt;
&lt;td&gt;HR&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Karthik&lt;/td&gt;
&lt;td&gt;IT&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Anu&lt;/td&gt;
&lt;td&gt;HR&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Without DISTINCT:&lt;br&gt;
SELECT department FROM employees;&lt;br&gt;
Result:&lt;br&gt;
IT&lt;br&gt;
HR&lt;br&gt;
IT&lt;br&gt;
HR&lt;/p&gt;

&lt;p&gt;With DISTINCT:&lt;br&gt;
SELECT DISTINCT department FROM employees;&lt;br&gt;
Result:&lt;br&gt;
IT&lt;br&gt;
HR&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. DISTINCT with Multiple Columns&lt;/strong&gt;&lt;br&gt;
Distinct combination of columns.&lt;br&gt;
SELECT DISTINCT department, emp_name&lt;br&gt;
FROM employees;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. SELECT with ORDER BY (Intro)&lt;/strong&gt;&lt;br&gt;
SELECT emp_name, salary&lt;br&gt;
FROM employees&lt;br&gt;
ORDER BY salary;&lt;br&gt;
Descending order:&lt;br&gt;
ORDER BY salary DESC;&lt;/p&gt;

</description>
      <category>database</category>
      <category>beginners</category>
      <category>sql</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Day 2:SQL</title>
      <dc:creator>Aruna</dc:creator>
      <pubDate>Sun, 14 Dec 2025 11:25:33 +0000</pubDate>
      <link>https://dev.to/aruna_m/day-2sql-20h0</link>
      <guid>https://dev.to/aruna_m/day-2sql-20h0</guid>
      <description>&lt;p&gt;&lt;strong&gt;Database Structure, Data Types &amp;amp; Table Basics&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Database Structure Recap&lt;/strong&gt;&lt;br&gt;
A &lt;strong&gt;Relational Database&lt;/strong&gt; contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Database&lt;/li&gt;
&lt;li&gt;Tables&lt;/li&gt;
&lt;li&gt;Rows (Records)&lt;/li&gt;
&lt;li&gt;Columns (Fields)
Example:
Database → school
Table → students
  Columns → student_id, name, age, city&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. SQL Data Types (VERY IMPORTANT)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Numeric Data Types&lt;/strong&gt;&lt;br&gt;
| Data Type    | Description     | Example |&lt;br&gt;
| ------------ | --------------- | ------- |&lt;br&gt;
| INT          | Whole numbers   | 10, 25  |&lt;br&gt;
| BIGINT       | Large integers  | 1000000 |&lt;br&gt;
| DECIMAL(p,s) | Decimal numbers | 99.50   |&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;String / Character Data Types&lt;/strong&gt;&lt;br&gt;
| Data Type  | Description          | Example |&lt;br&gt;
| ---------- | -------------------- | ------- |&lt;br&gt;
| CHAR(n)    | Fixed-length text    | 'A'     |&lt;br&gt;
| VARCHAR(n) | Variable-length text | 'Aruna' |&lt;br&gt;
| TEXT       | Large text           | Address |&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Date &amp;amp; Time Data Types&lt;/strong&gt;&lt;br&gt;
| Data Type | Description | Example             |&lt;br&gt;
| --------- | ----------- | ------------------- |&lt;br&gt;
| DATE      | YYYY-MM-DD  | 2025-01-10          |&lt;br&gt;
| TIME      | HH:MM:SS    | 10:30:00            |&lt;br&gt;
| DATETIME  | Date + Time | 2025-01-10 10:30:00 |&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. CREATE TABLE with Data Types&lt;/strong&gt;&lt;br&gt;
Defines table structure clearly.&lt;br&gt;
CREATE TABLE employees (&lt;br&gt;
    emp_id INT,&lt;br&gt;
    emp_name VARCHAR(50),&lt;br&gt;
    salary DECIMAL(10,2),&lt;br&gt;
    join_date DATE&lt;br&gt;
);&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Viewing Table Structure&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;DESCRIBE table&lt;/strong&gt;&lt;br&gt;
DESCRIBE employees;&lt;br&gt;
&lt;strong&gt;SHOW TABLES&lt;/strong&gt;&lt;br&gt;
SHOW TABLES;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. INSERT Data (Detailed)&lt;/strong&gt;&lt;br&gt;
Insert single row:&lt;br&gt;
INSERT INTO employees &lt;br&gt;
(emp_id, emp_name, salary, join_date)&lt;br&gt;
VALUES (101, 'Ravi', 35000.50, '2024-06-15');&lt;br&gt;
Insert multiple rows:&lt;br&gt;
INSERT INTO employees VALUES&lt;br&gt;
(102, 'Priya', 42000.00, '2024-07-01'),&lt;br&gt;
(103, 'Karthik', 38000.75, '2024-08-10');&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. SELECT Basics (More Detail)&lt;/strong&gt;&lt;br&gt;
Select all columns:&lt;br&gt;
SELECT * FROM employees;&lt;br&gt;
Select specific columns:&lt;br&gt;
SELECT emp_name, salary FROM employees;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Table Naming Rules&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use meaningful names&lt;/li&gt;
&lt;li&gt;Avoid SQL keywords&lt;/li&gt;
&lt;li&gt;Use lowercase / underscore
&lt;code&gt;employee_details&lt;/code&gt;-correct
&lt;code&gt;select&lt;/code&gt;, &lt;code&gt;table&lt;/code&gt;-not correct&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>database</category>
      <category>beginners</category>
      <category>sql</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Day 2:Python Programming</title>
      <dc:creator>Aruna</dc:creator>
      <pubDate>Sun, 14 Dec 2025 11:10:26 +0000</pubDate>
      <link>https://dev.to/aruna_m/day-2python-programming-5ddf</link>
      <guid>https://dev.to/aruna_m/day-2python-programming-5ddf</guid>
      <description>&lt;p&gt;&lt;strong&gt;Database Structure, Data Types &amp;amp; Table Basics&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Database Structure Recap&lt;/strong&gt;&lt;br&gt;
A &lt;strong&gt;Relational Database&lt;/strong&gt; contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Database&lt;/li&gt;
&lt;li&gt;Tables&lt;/li&gt;
&lt;li&gt;Rows (Records)&lt;/li&gt;
&lt;li&gt;Columns (Fields)
Example:
Database → school
Table → students
  Columns → student_id, name, age, city&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. SQL Data Types (VERY IMPORTANT)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Numeric Data Types&lt;/strong&gt;&lt;br&gt;
| Data Type    | Description     | Example |&lt;br&gt;
| ------------ | --------------- | ------- |&lt;br&gt;
| INT          | Whole numbers   | 10, 25  |&lt;br&gt;
| BIGINT       | Large integers  | 1000000 |&lt;br&gt;
| DECIMAL(p,s) | Decimal numbers | 99.50   |&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;String / Character Data Types&lt;/strong&gt;&lt;br&gt;
| Data Type  | Description          | Example |&lt;br&gt;
| ---------- | -------------------- | ------- |&lt;br&gt;
| CHAR(n)    | Fixed-length text    | 'A'     |&lt;br&gt;
| VARCHAR(n) | Variable-length text | 'Aruna' |&lt;br&gt;
| TEXT       | Large text           | Address |&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Date &amp;amp; Time Data Types&lt;/strong&gt;&lt;br&gt;
| Data Type | Description | Example             |&lt;br&gt;
| --------- | ----------- | ------------------- |&lt;br&gt;
| DATE      | YYYY-MM-DD  | 2025-01-10          |&lt;br&gt;
| TIME      | HH:MM:SS    | 10:30:00            |&lt;br&gt;
| DATETIME  | Date + Time | 2025-01-10 10:30:00 |&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. CREATE TABLE with Data Types&lt;/strong&gt;&lt;br&gt;
Defines table structure clearly.&lt;br&gt;
CREATE TABLE employees (&lt;br&gt;
    emp_id INT,&lt;br&gt;
    emp_name VARCHAR(50),&lt;br&gt;
    salary DECIMAL(10,2),&lt;br&gt;
    join_date DATE&lt;br&gt;
);&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Viewing Table Structure&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;DESCRIBE table&lt;/strong&gt;&lt;br&gt;
DESCRIBE employees;&lt;br&gt;
&lt;strong&gt;SHOW TABLES&lt;/strong&gt;&lt;br&gt;
SHOW TABLES;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. INSERT Data (Detailed)&lt;/strong&gt;&lt;br&gt;
Insert single row:&lt;br&gt;
INSERT INTO employees &lt;br&gt;
(emp_id, emp_name, salary, join_date)&lt;br&gt;
VALUES (101, 'Ravi', 35000.50, '2024-06-15');&lt;br&gt;
Insert multiple rows:&lt;br&gt;
INSERT INTO employees VALUES&lt;br&gt;
(102, 'Priya', 42000.00, '2024-07-01'),&lt;br&gt;
(103, 'Karthik', 38000.75, '2024-08-10');&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. SELECT Basics (More Detail)&lt;/strong&gt;&lt;br&gt;
Select all columns:&lt;br&gt;
SELECT * FROM employees;&lt;br&gt;
Select specific columns:&lt;br&gt;
SELECT emp_name, salary FROM employees;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Table Naming Rules&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use meaningful names&lt;/li&gt;
&lt;li&gt;Avoid SQL keywords&lt;/li&gt;
&lt;li&gt;Use lowercase / underscore
&lt;code&gt;employee_details&lt;/code&gt;-correct
&lt;code&gt;select&lt;/code&gt;, &lt;code&gt;table&lt;/code&gt;-not correct&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>database</category>
      <category>beginners</category>
      <category>python</category>
      <category>sql</category>
    </item>
    <item>
      <title>Day 2:Python Programming</title>
      <dc:creator>Aruna</dc:creator>
      <pubDate>Sun, 14 Dec 2025 10:52:23 +0000</pubDate>
      <link>https://dev.to/aruna_m/day-2python-programming-511o</link>
      <guid>https://dev.to/aruna_m/day-2python-programming-511o</guid>
      <description>&lt;p&gt;&lt;strong&gt;Database Structure, Data Types &amp;amp; Table Basics&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Database Structure Recap&lt;/strong&gt;&lt;br&gt;
A &lt;strong&gt;Relational Database&lt;/strong&gt; contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Database&lt;/li&gt;
&lt;li&gt;Tables&lt;/li&gt;
&lt;li&gt;Rows (Records)&lt;/li&gt;
&lt;li&gt;Columns (Fields)
Example:
Database → school
Table → students
  Columns → student_id, name, age, city&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. SQL Data Types (VERY IMPORTANT)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Numeric Data Types&lt;/strong&gt;&lt;br&gt;
| Data Type    | Description     | Example |&lt;br&gt;
| ------------ | --------------- | ------- |&lt;br&gt;
| INT          | Whole numbers   | 10, 25  |&lt;br&gt;
| BIGINT       | Large integers  | 1000000 |&lt;br&gt;
| DECIMAL(p,s) | Decimal numbers | 99.50   |&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;String / Character Data Types&lt;/strong&gt;&lt;br&gt;
| Data Type  | Description          | Example |&lt;br&gt;
| ---------- | -------------------- | ------- |&lt;br&gt;
| CHAR(n)    | Fixed-length text    | 'A'     |&lt;br&gt;
| VARCHAR(n) | Variable-length text | 'Aruna' |&lt;br&gt;
| TEXT       | Large text           | Address |&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Date &amp;amp; Time Data Types&lt;/strong&gt;&lt;br&gt;
| Data Type | Description | Example             |&lt;br&gt;
| --------- | ----------- | ------------------- |&lt;br&gt;
| DATE      | YYYY-MM-DD  | 2025-01-10          |&lt;br&gt;
| TIME      | HH:MM:SS    | 10:30:00            |&lt;br&gt;
| DATETIME  | Date + Time | 2025-01-10 10:30:00 |&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. CREATE TABLE with Data Types&lt;/strong&gt;&lt;br&gt;
Defines table structure clearly.&lt;br&gt;
CREATE TABLE employees (&lt;br&gt;
    emp_id INT,&lt;br&gt;
    emp_name VARCHAR(50),&lt;br&gt;
    salary DECIMAL(10,2),&lt;br&gt;
    join_date DATE&lt;br&gt;
);&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Viewing Table Structure&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;DESCRIBE table&lt;/strong&gt;&lt;br&gt;
DESCRIBE employees;&lt;br&gt;
&lt;strong&gt;SHOW TABLES&lt;/strong&gt;&lt;br&gt;
SHOW TABLES;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. INSERT Data (Detailed)&lt;/strong&gt;&lt;br&gt;
Insert single row:&lt;br&gt;
INSERT INTO employees &lt;br&gt;
(emp_id, emp_name, salary, join_date)&lt;br&gt;
VALUES (101, 'Ravi', 35000.50, '2024-06-15');&lt;br&gt;
Insert multiple rows:&lt;br&gt;
INSERT INTO employees VALUES&lt;br&gt;
(102, 'Priya', 42000.00, '2024-07-01'),&lt;br&gt;
(103, 'Karthik', 38000.75, '2024-08-10');&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. SELECT Basics (More Detail)&lt;/strong&gt;&lt;br&gt;
Select all columns:&lt;br&gt;
SELECT * FROM employees;&lt;br&gt;
Select specific columns:&lt;br&gt;
SELECT emp_name, salary FROM employees;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Table Naming Rules&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use meaningful names&lt;/li&gt;
&lt;li&gt;Avoid SQL keywords&lt;/li&gt;
&lt;li&gt;Use lowercase / underscore
&lt;code&gt;employee_details&lt;/code&gt;-correct
&lt;code&gt;select&lt;/code&gt;, &lt;code&gt;table&lt;/code&gt;-not correct&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>SQL – Day1</title>
      <dc:creator>Aruna</dc:creator>
      <pubDate>Fri, 12 Dec 2025 15:51:25 +0000</pubDate>
      <link>https://dev.to/aruna_m/sql-day1-kfk</link>
      <guid>https://dev.to/aruna_m/sql-day1-kfk</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction to Databases &amp;amp; SQL Basics&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. What is SQL?&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;SQL = Structured Query Language&lt;/strong&gt;&lt;br&gt;
It is used to &lt;strong&gt;store, manage, and retrieve data&lt;/strong&gt; from relational databases.&lt;/p&gt;

&lt;p&gt;SQL allows you to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create databases&lt;/li&gt;
&lt;li&gt;Create tables&lt;/li&gt;
&lt;li&gt;Insert data&lt;/li&gt;
&lt;li&gt;Update and delete data&lt;/li&gt;
&lt;li&gt;Fetch data using queries&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. What is a Database?&lt;/strong&gt;&lt;br&gt;
A &lt;strong&gt;database&lt;/strong&gt; is a collection of organised data.&lt;br&gt;
Types of Databases:&lt;br&gt;
1.&lt;strong&gt;Relational Database (RDBMS)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data stored in tables&lt;/li&gt;
&lt;li&gt;Uses SQL&lt;/li&gt;
&lt;li&gt;Examples: MySQL, PostgreSQL, Oracle, SQL Server
2.&lt;strong&gt;NoSQL Database&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Non-table structure (JSON, Key-Value, Document)&lt;/li&gt;
&lt;li&gt;Examples: MongoDB, Cassandra&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. What is a Table?&lt;/strong&gt;&lt;br&gt;
A &lt;strong&gt;table&lt;/strong&gt; is a structure inside a database that stores data in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Rows&lt;/strong&gt; → each entry (record)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Columns&lt;/strong&gt; → attributes (name, age, phone)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example Table:Students&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;student_id&lt;/th&gt;
&lt;th&gt;name&lt;/th&gt;
&lt;th&gt;age&lt;/th&gt;
&lt;th&gt;city&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Arun&lt;/td&gt;
&lt;td&gt;21&lt;/td&gt;
&lt;td&gt;Chennai&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Priya&lt;/td&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;td&gt;Coimbatore&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Karthi&lt;/td&gt;
&lt;td&gt;23&lt;/td&gt;
&lt;td&gt;Madurai&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;4. What is a Schema?&lt;/strong&gt;&lt;br&gt;
A &lt;strong&gt;schema&lt;/strong&gt; is the blueprint/structure of a database.&lt;br&gt;
It defines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Number of tables&lt;/li&gt;
&lt;li&gt;Columns&lt;/li&gt;
&lt;li&gt;Data types&lt;/li&gt;
&lt;li&gt;Relationships&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;SQL Commands&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CREATE DATABASE&lt;/strong&gt;&lt;br&gt;
Used to create a new database.&lt;br&gt;
CREATE DATABASE school;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;USE DATABASE&lt;/strong&gt;&lt;br&gt;
Select the database to work inside.&lt;br&gt;
USE school;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CREATE TABLE&lt;/strong&gt;&lt;br&gt;
Create a table with columns and data types.&lt;br&gt;
CREATE TABLE students (&lt;br&gt;
    student_id INT,&lt;br&gt;
    name VARCHAR(50),&lt;br&gt;
    age INT,&lt;br&gt;
    city VARCHAR(50)&lt;br&gt;
);&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;INSERT DATA&lt;/strong&gt;&lt;br&gt;
Insert records into the table.&lt;br&gt;
INSERT INTO students (student_id, name, age, city)&lt;br&gt;
VALUES (1, 'Arun', 21, 'Chennai');&lt;/p&gt;

&lt;p&gt;Multiple insert:&lt;br&gt;
INSERT INTO students VALUES&lt;br&gt;
(2, 'Priya', 22, 'Coimbatore'),&lt;br&gt;
(3, 'Karthi', 23, 'Madurai');&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SELECT Data&lt;/strong&gt;&lt;br&gt;
Retrieve data from a table.&lt;br&gt;
Fetch all columns&lt;br&gt;
SELECT * FROM students;&lt;br&gt;
Fetch specific columns:&lt;br&gt;
SELECT name, city FROM students;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Day 21:Python Programming</title>
      <dc:creator>Aruna</dc:creator>
      <pubDate>Thu, 11 Dec 2025 14:22:26 +0000</pubDate>
      <link>https://dev.to/aruna_m/day-20python-programming-1ee0</link>
      <guid>https://dev.to/aruna_m/day-20python-programming-1ee0</guid>
      <description>&lt;p&gt;&lt;strong&gt;Python Automation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Python File Automation (os, shutil)&lt;/strong&gt;&lt;br&gt;
Create a new file&lt;br&gt;
f = open("sample.txt", "w")&lt;br&gt;
f.write("Hello")&lt;br&gt;
f.close()&lt;br&gt;
Read file&lt;br&gt;
with open("sample.txt", "r") as f:&lt;br&gt;
    print(f.read())&lt;br&gt;
Append data&lt;br&gt;
with open("sample.txt", "a") as f:&lt;br&gt;
    f.write("\nNew line added")&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. OS Module (Very Important)&lt;/strong&gt;&lt;br&gt;
import os&lt;br&gt;
Create folder&lt;br&gt;
os.mkdir("backup")&lt;br&gt;
Create multiple folders&lt;br&gt;
os.makedirs("project/logs")&lt;br&gt;
List files&lt;br&gt;
print(os.listdir())&lt;br&gt;
Rename file&lt;br&gt;
os.rename("sample.txt", "data.txt")&lt;br&gt;
Delete file&lt;br&gt;
os.remove("data.txt")&lt;br&gt;
Remove folder&lt;br&gt;
os.rmdir("backup")&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. shutil Module&lt;/strong&gt;&lt;br&gt;
Advanced file handling.&lt;br&gt;
import shutil&lt;br&gt;
Copy file&lt;br&gt;
shutil.copy("file1.txt", "backup/file1.txt")&lt;br&gt;
Copy folder&lt;br&gt;
shutil.copytree("project", "project_backup")&lt;br&gt;
Delete folder&lt;br&gt;
shutil.rmtree("project_backup")&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Automating Downloads&lt;/strong&gt;&lt;br&gt;
With &lt;code&gt;requests&lt;/code&gt; module:&lt;br&gt;
import requests&lt;br&gt;
url = "&lt;a href="https://example.com/file.pdf" rel="noopener noreferrer"&gt;https://example.com/file.pdf&lt;/a&gt;"&lt;br&gt;
r = requests.get(url)&lt;br&gt;
with open("file.pdf", "wb") as f:&lt;br&gt;
    f.write(r.content)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Web Scraping Automation (BeautifulSoup)&lt;/strong&gt;&lt;br&gt;
Install:&lt;br&gt;
pip install requests beautifulsoup4&lt;br&gt;
Scraping Example&lt;br&gt;
import requests&lt;br&gt;
from bs4 import BeautifulSoup&lt;br&gt;
url = "&lt;a href="https://www.example.com" rel="noopener noreferrer"&gt;https://www.example.com&lt;/a&gt;"&lt;br&gt;
html = requests.get(url).text&lt;br&gt;
soup = BeautifulSoup(html, "html.parser")&lt;br&gt;
title = soup.find("h1").text&lt;br&gt;
print(title)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. API Automation&lt;/strong&gt;&lt;br&gt;
Using weather API example:&lt;br&gt;
import requests&lt;br&gt;
url = "&lt;a href="https://api.openweathermap.org/data/2.5/weather?q=Chennai&amp;amp;appid=API_KEY" rel="noopener noreferrer"&gt;https://api.openweathermap.org/data/2.5/weather?q=Chennai&amp;amp;appid=API_KEY&lt;/a&gt;"&lt;br&gt;
data = requests.get(url).json()&lt;br&gt;
print(data["weather"][0]["main"])&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Send Email Using Python&lt;/strong&gt;&lt;br&gt;
SMTP Email Automation&lt;br&gt;
import smtplib&lt;br&gt;
from email.mime.text import MIMEText&lt;br&gt;
sender = "&lt;a href="mailto:you@gmail.com"&gt;you@gmail.com&lt;/a&gt;"&lt;br&gt;
password = "yourpassword"&lt;br&gt;
receiver = "&lt;a href="mailto:test@gmail.com"&gt;test@gmail.com&lt;/a&gt;"&lt;br&gt;
msg = MIMEText("Hello, this is automated mail")&lt;br&gt;
msg["Subject"] = "Test Email"&lt;br&gt;
msg["From"] = sender&lt;br&gt;
msg["To"] = receiver&lt;br&gt;
server = smtplib.SMTP("smtp.gmail.com", 587)&lt;br&gt;
server.starttls()&lt;br&gt;
server.login(sender, password)&lt;br&gt;
server.sendmail(sender, receiver, msg.as_string())&lt;br&gt;
server.quit()&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. Scheduling Automation Scripts&lt;/strong&gt;&lt;br&gt;
Windows Task Scheduler&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open Task Scheduler&lt;/li&gt;
&lt;li&gt;Create Basic Task&lt;/li&gt;
&lt;li&gt;Choose frequency (daily/hourly)&lt;/li&gt;
&lt;li&gt;Choose “Start a program” → select python.exe &amp;amp; your script
Linux Cron Job
Open cron:
crontab -e
Run script every 5 minutes:
*/5 * * * * python3 /home/user/script.py&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;9. DevOps Real-Time Automation Examples&lt;/strong&gt;&lt;br&gt;
A. Server Health Monitoring Script&lt;br&gt;
import psutil&lt;br&gt;
print("CPU:", psutil.cpu_percent())&lt;br&gt;
print("RAM:", psutil.virtual_memory().percent)&lt;/p&gt;

&lt;p&gt;B. Log File Monitoring&lt;br&gt;
with open("/var/log/syslog") as log:&lt;br&gt;
    for line in log:&lt;br&gt;
        if "error" in line.lower():&lt;br&gt;
            print("Error found:", line)&lt;/p&gt;

&lt;p&gt;C. Automate File Backup&lt;br&gt;
import shutil&lt;br&gt;
source = "data/"&lt;br&gt;
dest = "backup/"&lt;br&gt;
shutil.copytree(source, dest, dirs_exist_ok=True)&lt;br&gt;
print("Backup complete")&lt;/p&gt;

&lt;p&gt;D. Check Website Status&lt;br&gt;
import requests&lt;br&gt;
url = "&lt;a href="https://google.com" rel="noopener noreferrer"&gt;https://google.com&lt;/a&gt;"&lt;br&gt;
res = requests.get(url)&lt;br&gt;
if res.status_code == 200:&lt;br&gt;
    print("Website Up")&lt;br&gt;
else:&lt;br&gt;
    print("Website Down")&lt;/p&gt;

&lt;p&gt;E. Auto-Restart Service (Linux)&lt;br&gt;
import os&lt;br&gt;
status = os.system("systemctl is-active --quiet nginx")&lt;br&gt;
if status != 0:&lt;br&gt;
    os.system("systemctl restart nginx")&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. JSON Automation (Data Processing)&lt;/strong&gt;&lt;br&gt;
import json&lt;br&gt;
f = open("data.json")&lt;br&gt;
data = json.load(f)&lt;br&gt;
print(data["name"])&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;11. CSV Automation&lt;/strong&gt;&lt;br&gt;
import csv&lt;br&gt;
with open("data.csv") as f:&lt;br&gt;
    reader = csv.reader(f)&lt;br&gt;
    for row in reader:&lt;br&gt;
        print(row)&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Day 20: Python Programming</title>
      <dc:creator>Aruna</dc:creator>
      <pubDate>Wed, 10 Dec 2025 13:01:59 +0000</pubDate>
      <link>https://dev.to/aruna_m/day-20-python-programming-51</link>
      <guid>https://dev.to/aruna_m/day-20-python-programming-51</guid>
      <description>&lt;p&gt;&lt;strong&gt;Multithreading &amp;amp; Multiprocessing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Topics Covered&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Process vs Thread&lt;/li&gt;
&lt;li&gt;Multithreading&lt;/li&gt;
&lt;li&gt;Thread class&lt;/li&gt;
&lt;li&gt;Synchronization (Lock)&lt;/li&gt;
&lt;li&gt;Multiprocessing&lt;/li&gt;
&lt;li&gt;CPU-bound vs I/O-bound&lt;/li&gt;
&lt;li&gt;Real-time &amp;amp; DevOps use cases&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;1. Process vs Thread&lt;/strong&gt;&lt;br&gt;
Process&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Independent program&lt;/li&gt;
&lt;li&gt;Separate memory&lt;/li&gt;
&lt;li&gt;Slower creation&lt;/li&gt;
&lt;li&gt;Uses CPU heavily&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thread&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Part of a process&lt;/li&gt;
&lt;li&gt;Shared memory&lt;/li&gt;
&lt;li&gt;Faster execution&lt;/li&gt;
&lt;li&gt;Lightweight&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;One process can have multiple threads&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. CPU-bound vs I/O-bound Tasks&lt;/strong&gt;&lt;br&gt;
I/O-bound (Best for Multithreading)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;File read/write&lt;/li&gt;
&lt;li&gt;API calls&lt;/li&gt;
&lt;li&gt;Network operations&lt;/li&gt;
&lt;li&gt;Sleep&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;CPU-bound (Best for Multiprocessing)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Calculations&lt;/li&gt;
&lt;li&gt;Image processing&lt;/li&gt;
&lt;li&gt;ML tasks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Multithreading&lt;/strong&gt;&lt;br&gt;
Used to &lt;strong&gt;run multiple tasks concurrently&lt;/strong&gt;.&lt;br&gt;
Python module:&lt;br&gt;
import threading&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Create a Thread (Basic Example)&lt;/strong&gt;&lt;br&gt;
import threading&lt;br&gt;
def task():&lt;br&gt;
    print("Thread task running")&lt;br&gt;
t = threading.Thread(target=task)&lt;br&gt;
t.start()&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Multiple Threads Example&lt;/strong&gt;&lt;br&gt;
import threading&lt;br&gt;
def job(name):&lt;br&gt;
    print("Task:", name)&lt;br&gt;
t1 = threading.Thread(target=job, args=("A",))&lt;br&gt;
t2 = threading.Thread(target=job, args=("B",))&lt;br&gt;
t1.start()&lt;br&gt;
t2.start()&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Thread with Loop&lt;/strong&gt;&lt;br&gt;
import threading&lt;br&gt;
def numbers():&lt;br&gt;
    for i in range(5):&lt;br&gt;
        print(i)&lt;br&gt;
t = threading.Thread(target=numbers)&lt;br&gt;
t.start()&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Join Threads&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;join()&lt;/code&gt; waits for thread to finish.&lt;br&gt;
t1.start()&lt;br&gt;
t1.join()&lt;br&gt;
print("Main program ends")&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. Multithreading Example (I/O-Bound)&lt;/strong&gt;&lt;br&gt;
import threading&lt;br&gt;
import time&lt;br&gt;
def download(file):&lt;br&gt;
    print("Downloading", file)&lt;br&gt;
    time.sleep(2)&lt;br&gt;
    print("Completed", file)&lt;br&gt;
files = ["A", "B", "C"]&lt;br&gt;
threads = []&lt;br&gt;
for f in files:&lt;br&gt;
    t = threading.Thread(target=download, args=(f,))&lt;br&gt;
    t.start()&lt;br&gt;
    threads.append(t)&lt;br&gt;
for t in threads:&lt;br&gt;
    t.join()&lt;br&gt;
print("All downloads complete")&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. Thread Synchronization (Lock)&lt;/strong&gt;&lt;br&gt;
Used to avoid &lt;strong&gt;data inconsistency&lt;/strong&gt;.&lt;br&gt;
import threading&lt;br&gt;
lock = threading.Lock()&lt;br&gt;
count = 0&lt;br&gt;
def increment():&lt;br&gt;
    global count&lt;br&gt;
    for i in range(1000):&lt;br&gt;
        lock.acquire()&lt;br&gt;
        count += 1&lt;br&gt;
        lock.release()&lt;br&gt;
t1 = threading.Thread(target=increment)&lt;br&gt;
t2 = threading.Thread(target=increment)&lt;br&gt;
t1.start()&lt;br&gt;
t2.start()&lt;br&gt;
t1.join()&lt;br&gt;
t2.join()&lt;br&gt;
print(count)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. Why Lock is Required?&lt;/strong&gt;&lt;br&gt;
*Without lock → Race condition&lt;br&gt;
*With lock → Safe shared data access&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;11. Multiprocessing&lt;/strong&gt;&lt;br&gt;
Uses &lt;strong&gt;multiple CPU cores&lt;/strong&gt;.&lt;br&gt;
Python module:&lt;br&gt;
import multiprocessing&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;12. Multiprocessing Example&lt;/strong&gt;&lt;br&gt;
from multiprocessing import Process&lt;br&gt;
def task():&lt;br&gt;
    print("Process running")&lt;br&gt;
p = Process(target=task)&lt;br&gt;
p.start()&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;13. Multiple Processes Example&lt;/strong&gt;&lt;br&gt;
from multiprocessing import Process&lt;br&gt;
import os&lt;br&gt;
def work():&lt;br&gt;
    print("Process ID:", os.getpid())&lt;br&gt;
p1 = Process(target=work)&lt;br&gt;
p2 = Process(target=work)&lt;br&gt;
p1.start()&lt;br&gt;
p2.start()&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;14. Multiprocessing with Join&lt;/strong&gt;&lt;br&gt;
p1.start()&lt;br&gt;
p2.start()&lt;br&gt;
p1.join()&lt;br&gt;
p2.join()&lt;br&gt;
print("Main process completed")&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;15. When NOT to Use Multithreading?&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;CPU-intensive tasks&lt;br&gt;
*Heavy mathematical calculation&lt;br&gt;
➡ Python has **GIL (Global Interpreter Lock)&lt;/em&gt;*&lt;br&gt;
➡ Blocks true parallel CPU execution&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;16. Multithreading vs Multiprocessing&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Multithreading&lt;/th&gt;
&lt;th&gt;Multiprocessing&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Memory&lt;/td&gt;
&lt;td&gt;Shared&lt;/td&gt;
&lt;td&gt;Separate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Speed&lt;/td&gt;
&lt;td&gt;Fast I/O&lt;/td&gt;
&lt;td&gt;Fast CPU&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GIL&lt;/td&gt;
&lt;td&gt;Affected&lt;/td&gt;
&lt;td&gt;Not affected&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Use case&lt;/td&gt;
&lt;td&gt;I/O tasks&lt;/td&gt;
&lt;td&gt;CPU tasks&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;17. Real-Time DevOps Use Case&lt;/strong&gt;&lt;br&gt;
Running multiple server health checks&lt;br&gt;
import threading&lt;br&gt;
import time&lt;br&gt;
def check_server(server):&lt;br&gt;
    print("Checking", server)&lt;br&gt;
    time.sleep(1)&lt;br&gt;
    print(server, "UP")&lt;br&gt;
servers = ["Server1", "Server2", "Server3"]&lt;br&gt;
for s in servers:&lt;br&gt;
threading.Thread(target=check_server, args=(s,)).start()&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Day 19 : Python Programming</title>
      <dc:creator>Aruna</dc:creator>
      <pubDate>Tue, 09 Dec 2025 12:40:34 +0000</pubDate>
      <link>https://dev.to/aruna_m/day-19-python-programming-1210</link>
      <guid>https://dev.to/aruna_m/day-19-python-programming-1210</guid>
      <description>&lt;p&gt;&lt;strong&gt;Advanced Python (Full Content)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Topics Covered&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Iterators&lt;/li&gt;
&lt;li&gt;Generators&lt;/li&gt;
&lt;li&gt;Decorators&lt;/li&gt;
&lt;li&gt;Closures&lt;/li&gt;
&lt;li&gt;Map, Filter, Reduce&lt;/li&gt;
&lt;li&gt;*args &amp;amp; **kwargs (Advanced usage)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;1. Iterators in Python&lt;/strong&gt;&lt;br&gt;
An &lt;strong&gt;iterator&lt;/strong&gt; is an object that contains a sequence of values and can be traversed one by one.&lt;br&gt;
Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;list&lt;/li&gt;
&lt;li&gt;tuple&lt;/li&gt;
&lt;li&gt;string&lt;/li&gt;
&lt;li&gt;set&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Iterator Example&lt;/strong&gt;&lt;br&gt;
nums = [1, 2, 3, 4]&lt;br&gt;
it = iter(nums)&lt;br&gt;
print(next(it))&lt;br&gt;
print(next(it))&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Using Iterator in for loop&lt;/strong&gt;&lt;br&gt;
for x in nums:&lt;br&gt;
    print(x)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Custom Iterator Class&lt;/strong&gt;&lt;br&gt;
class Count:&lt;br&gt;
    def &lt;strong&gt;init&lt;/strong&gt;(self, max):&lt;br&gt;
        self.num = 1&lt;br&gt;
        self.max = max&lt;br&gt;
    def &lt;strong&gt;iter&lt;/strong&gt;(self):&lt;br&gt;
        return self&lt;br&gt;
    def &lt;strong&gt;next&lt;/strong&gt;(self):&lt;br&gt;
        if self.num &amp;lt;= self.max:&lt;br&gt;
            val = self.num&lt;br&gt;
            self.num += 1&lt;br&gt;
            return val&lt;br&gt;
        else:&lt;br&gt;
            raise StopIteration&lt;br&gt;
c = Count(5)&lt;br&gt;
for i in c:&lt;br&gt;
    print(i)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Generators&lt;/strong&gt;&lt;br&gt;
A &lt;strong&gt;generator&lt;/strong&gt; is a function that returns values one at a time using &lt;code&gt;yield&lt;/code&gt;.&lt;br&gt;
*Memory efficient&lt;br&gt;
*Faster than list for large data&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Generator Example&lt;/strong&gt;&lt;br&gt;
def numbers():&lt;br&gt;
    yield 1&lt;br&gt;
    yield 2&lt;br&gt;
    yield 3&lt;br&gt;
for n in numbers():&lt;br&gt;
    print(n)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Generator with Loop&lt;/strong&gt;&lt;br&gt;
def even(n):&lt;br&gt;
    for i in range(2, n+1, 2):&lt;br&gt;
        yield i&lt;br&gt;
for x in even(10):&lt;br&gt;
    print(x)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Difference: return vs yield&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;return&lt;/th&gt;
&lt;th&gt;yield&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Ends function&lt;/td&gt;
&lt;td&gt;Pauses function&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Returns single value&lt;/td&gt;
&lt;td&gt;Returns multiple values&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Not memory efficient&lt;/td&gt;
&lt;td&gt;Memory efficient&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;3. Decorators&lt;/strong&gt;&lt;br&gt;
A &lt;strong&gt;decorator&lt;/strong&gt; is a function that modifies another function &lt;strong&gt;without changing its code&lt;/strong&gt;.&lt;br&gt;
Used for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Logging&lt;/li&gt;
&lt;li&gt;Authentication&lt;/li&gt;
&lt;li&gt;Timing&lt;/li&gt;
&lt;li&gt;Access control&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Simple Decorator Example&lt;/strong&gt;&lt;br&gt;
def my_decorator(func):&lt;br&gt;
    def wrapper():&lt;br&gt;
        print("Before function")&lt;br&gt;
        func()&lt;br&gt;
        print("After function")&lt;br&gt;
    return wrapper&lt;br&gt;
@my_decorator&lt;br&gt;
def hello():&lt;br&gt;
    print("Hello World")&lt;br&gt;
hello()&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Decorator with Arguments&lt;/strong&gt;&lt;br&gt;
def smart_divide(func):&lt;br&gt;
    def wrapper(a, b):&lt;br&gt;
        if b == 0:&lt;br&gt;
            print("Cannot divide by zero")&lt;br&gt;
        else:&lt;br&gt;
            func(a, b)&lt;br&gt;
    return wrapper&lt;br&gt;
@smart_divide&lt;br&gt;
def divide(a, b):&lt;br&gt;
    print(a / b)&lt;br&gt;
divide(10, 2)&lt;br&gt;
divide(10, 0)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Closures&lt;/strong&gt;&lt;br&gt;
A &lt;strong&gt;closure&lt;/strong&gt; is a function inside another function that &lt;strong&gt;remembers outer variable values&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Closure Example&lt;/strong&gt;&lt;br&gt;
def outer(x):&lt;br&gt;
    def inner(y):&lt;br&gt;
        return x + y&lt;br&gt;
    return inner&lt;br&gt;
add5 = outer(5)&lt;br&gt;
print(add5(3))&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;5. map(), filter(), reduce()&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Used for functional programming.&lt;br&gt;
&lt;strong&gt;map() – Apply function to all elements&lt;/strong&gt;&lt;br&gt;
nums = [1, 2, 3, 4]&lt;br&gt;
result = list(map(lambda x: x*x, nums))&lt;br&gt;
print(result)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;filter() – Select elements&lt;/strong&gt;&lt;br&gt;
nums = [1, 2, 3, 4, 5]&lt;br&gt;
even = list(filter(lambda x: x % 2 == 0, nums))&lt;br&gt;
print(even)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;reduce() – Combine elements&lt;/strong&gt;&lt;br&gt;
from functools import reduce&lt;br&gt;
nums = [1, 2, 3, 4]&lt;br&gt;
total = reduce(lambda a, b: a+b, nums)&lt;br&gt;
print(total)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. *args &amp;amp; **kwargs (Advanced)&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;**args – Multiple positional arguments&lt;/em&gt;*&lt;br&gt;
def total(*args):&lt;br&gt;
    return sum(args)&lt;br&gt;
print(total(1, 2, 3, 4))&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;kwargs – Multiple keyword arguments&lt;/strong&gt;&lt;br&gt;
def details(**kwargs):&lt;br&gt;
    for k, v in kwargs.items():&lt;br&gt;
        print(k, v)&lt;br&gt;
details(name="Aruna", role="DevOps")&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Function with args + kwargs&lt;/strong&gt;&lt;br&gt;
def func(a, b, *args, **kwargs):&lt;br&gt;
    print(a, b)&lt;br&gt;
    print(args)&lt;br&gt;
    print(kwargs)&lt;br&gt;
func(1, 2, 3, 4, name="Python")&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Real-Time Use Case (DevOps)&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Execution Time Decorator&lt;/strong&gt;&lt;br&gt;
import time&lt;br&gt;
def timer(func):&lt;br&gt;
    def wrapper():&lt;br&gt;
        start = time.time()&lt;br&gt;
        func()&lt;br&gt;
        end = time.time()&lt;br&gt;
        print("Execution time:", end-start)&lt;br&gt;
    return wrapper&lt;br&gt;
@timer&lt;br&gt;
def task():&lt;br&gt;
    time.sleep(2)&lt;br&gt;
task()&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Day 18: Python programming</title>
      <dc:creator>Aruna</dc:creator>
      <pubDate>Mon, 08 Dec 2025 17:38:34 +0000</pubDate>
      <link>https://dev.to/aruna_m/day-18-python-programming-32k6</link>
      <guid>https://dev.to/aruna_m/day-18-python-programming-32k6</guid>
      <description>&lt;p&gt;*&lt;em&gt;Abstraction &amp;amp; Interface *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. What is Abstraction?&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Abstraction&lt;/strong&gt; means &lt;strong&gt;showing only essential details&lt;/strong&gt; and &lt;strong&gt;hiding implementation&lt;/strong&gt;.&lt;br&gt;
&lt;strong&gt;Real life example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Driving a car → you only use steering, brake, accelerator&lt;/li&gt;
&lt;li&gt;Engine working → hidden&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Why Abstraction is Needed?&lt;/strong&gt;&lt;br&gt;
✔ Reduces complexity&lt;br&gt;
✔ Improves security&lt;br&gt;
✔ Improves maintainability&lt;br&gt;
✔ Forces standard structure&lt;br&gt;
✔ Used in real projects&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Abstract Class&lt;/strong&gt;&lt;br&gt;
An abstract class:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cannot create object&lt;/li&gt;
&lt;li&gt;Can contain abstract &amp;amp; normal methods&lt;/li&gt;
&lt;li&gt;Must be inherited
In Python we use &lt;strong&gt;&lt;code&gt;abc&lt;/code&gt; module&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Abstract Base Class (ABC)&lt;/strong&gt;&lt;br&gt;
from abc import ABC, abstractmethod&lt;br&gt;
&lt;strong&gt;Abstract Method&lt;/strong&gt;&lt;br&gt;
A method without body; must be implemented by child class.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Example – Abstract Class&lt;/strong&gt;&lt;br&gt;
from abc import ABC, abstractmethod&lt;br&gt;
class Shape(ABC):&lt;br&gt;
    &lt;a class="mentioned-user" href="https://dev.to/abstractmethod"&gt;@abstractmethod&lt;/a&gt;&lt;br&gt;
    def area(self):&lt;br&gt;
        pass&lt;/p&gt;

&lt;p&gt;Cannot create object:&lt;br&gt;
s = Shape()   # Error&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Implement Abstract Method in Child Class&lt;/strong&gt;&lt;br&gt;
class Square(Shape):&lt;br&gt;
    def &lt;strong&gt;init&lt;/strong&gt;(self, side):&lt;br&gt;
        self.side = side&lt;br&gt;
    def area(self):&lt;br&gt;
        return self.side * self.side&lt;br&gt;
sq = Square(5)&lt;br&gt;
print(sq.area())&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Multiple Abstract Methods&lt;/strong&gt;&lt;br&gt;
class Vehicle(ABC):&lt;br&gt;
    &lt;a class="mentioned-user" href="https://dev.to/abstractmethod"&gt;@abstractmethod&lt;/a&gt;&lt;br&gt;
    def start(self):&lt;br&gt;
        pass&lt;br&gt;
    &lt;a class="mentioned-user" href="https://dev.to/abstractmethod"&gt;@abstractmethod&lt;/a&gt;&lt;br&gt;
    def stop(self):&lt;br&gt;
        pass&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. Interface in Python&lt;/strong&gt;&lt;br&gt;
Python does not have &lt;strong&gt;interface keyword&lt;/strong&gt; like Java.&lt;br&gt;
Abstract class with &lt;strong&gt;only abstract methods&lt;/strong&gt; behaves like an interface.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. Interface Example&lt;/strong&gt;&lt;br&gt;
class Bank(ABC):&lt;br&gt;
    &lt;a class="mentioned-user" href="https://dev.to/abstractmethod"&gt;@abstractmethod&lt;/a&gt;&lt;br&gt;
    def deposit(self, amt):&lt;br&gt;
        pass&lt;br&gt;
    &lt;a class="mentioned-user" href="https://dev.to/abstractmethod"&gt;@abstractmethod&lt;/a&gt;&lt;br&gt;
    def withdraw(self, amt):&lt;br&gt;
        pass&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. Implementing Interface&lt;/strong&gt;&lt;br&gt;
class SBI(Bank):&lt;br&gt;
    def deposit(self, amt):&lt;br&gt;
        print("Deposit:", amt)&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def withdraw(self, amt):
    print("Withdraw:", amt)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;b = SBI()&lt;br&gt;
b.deposit(5000)&lt;br&gt;
b.withdraw(2000)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;11. Abstract Class with Normal Methods&lt;/strong&gt;&lt;br&gt;
class Employee(ABC):&lt;br&gt;
    def office_rules(self):&lt;br&gt;
        print("Office time 9AM - 6PM")&lt;br&gt;
    &lt;a class="mentioned-user" href="https://dev.to/abstractmethod"&gt;@abstractmethod&lt;/a&gt;&lt;br&gt;
    def salary(self):&lt;br&gt;
        pass&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;12. Child Class Implementation&lt;/strong&gt;&lt;br&gt;
class Developer(Employee):&lt;br&gt;
    def salary(self):&lt;br&gt;
        print("Salary: 40,000")&lt;br&gt;
d = Developer()&lt;br&gt;
d.office_rules()&lt;br&gt;
d.salary()&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;13. Important Rules of Abstraction&lt;/strong&gt;&lt;br&gt;
✔ Cannot create object of abstract class&lt;br&gt;
✔ All abstract methods must be implemented&lt;br&gt;
✔ Use ABC + abstractmethod&lt;br&gt;
✔ Abstract class may have normal methods&lt;br&gt;
✔ Used for code standards&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;14. Real-Time Example – Payment System&lt;/strong&gt;&lt;br&gt;
class Payment(ABC):&lt;br&gt;
    &lt;a class="mentioned-user" href="https://dev.to/abstractmethod"&gt;@abstractmethod&lt;/a&gt;&lt;br&gt;
    def pay(self, amount):&lt;br&gt;
        pass&lt;br&gt;
class GooglePay(Payment):&lt;br&gt;
    def pay(self, amount):&lt;br&gt;
        print("Paid", amount, "using GooglePay")&lt;br&gt;
class PhonePe(Payment):&lt;br&gt;
    def pay(self, amount):&lt;br&gt;
        print("Paid", amount, "using PhonePe")&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;15. Why Interface/Abstraction in Projects?&lt;/strong&gt;&lt;br&gt;
✔ Multiple developers work together&lt;br&gt;
✔ Fixed method structure&lt;br&gt;
✔ Easy to update or extend&lt;br&gt;
✔ Safer code&lt;br&gt;
✔ Cleaner architecture&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>programming</category>
      <category>architecture</category>
      <category>python</category>
    </item>
  </channel>
</rss>
