<?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: Favor Onuoha</title>
    <description>The latest articles on DEV Community by Favor Onuoha (@heyonuoha).</description>
    <link>https://dev.to/heyonuoha</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%2F309673%2F4a8ae5ff-ee66-4d7f-a841-7ff32f36db43.png</url>
      <title>DEV Community: Favor Onuoha</title>
      <link>https://dev.to/heyonuoha</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/heyonuoha"/>
    <language>en</language>
    <item>
      <title>Accounting 101: Learn how to build financial applications</title>
      <dc:creator>Favor Onuoha</dc:creator>
      <pubDate>Sun, 11 Jan 2026 20:47:31 +0000</pubDate>
      <link>https://dev.to/heyonuoha/accounting-for-developers-a-comprehensive-guide-to-building-financial-applications-32o5</link>
      <guid>https://dev.to/heyonuoha/accounting-for-developers-a-comprehensive-guide-to-building-financial-applications-32o5</guid>
      <description>&lt;p&gt;Fintech is one of the most interesting domains in tech, yet there's surprisingly little beginner-friendly content for developers looking to get started. At its core, FinTech combines traditional finance and accounting knowledge with software engineering to build scalable financial tools.&lt;/p&gt;

&lt;p&gt;You might be wondering: if it's "FinTech" (Financial Technology), why are we learning about accounting instead of finance? Good question. Let me explain.&lt;/p&gt;

&lt;h2&gt;
  
  
  Finance vs. Accounting
&lt;/h2&gt;

&lt;p&gt;Finance and Accounting are related but different fields.&lt;/p&gt;

&lt;p&gt;Accounting is about recording and reporting financial transactions. This includes preparing the three core financial statements: the Income Statement (or Profit &amp;amp; Loss Statement), the Balance Sheet, and the Cash Flow Statement. It gives you a historical view of a company's financial performance at a specific point in time. It's essential for compliance and forms the foundation for financial analysis.&lt;/p&gt;

&lt;p&gt;Finance is broader. It involves managing money and making strategic decisions based on accounting data. Finance activities include investing, borrowing, lending, budgeting, and forecasting. While accounting looks backward, finance looks forward - using past data to make decisions about future projects, resource allocation, and profitability.&lt;/p&gt;

&lt;p&gt;The key point is that understanding finance requires foundational knowledge of accounting, as accounting data is the basis for financial decision-making.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bookkeeping vs. Accounting
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp0vix9lgf0sih5gp3w6g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp0vix9lgf0sih5gp3w6g.png" alt="Book keeping" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Another term you'll hear is Bookkeeping. While related to accounting, they serve different purposes.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Bookkeeping&lt;/th&gt;
&lt;th&gt;Accounting&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Recording financial transactions&lt;/td&gt;
&lt;td&gt;Summarizing and analyzing financial data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Posting debits and credits&lt;/td&gt;
&lt;td&gt;Preparing financial statements&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reconciling bank statements&lt;/td&gt;
&lt;td&gt;Analyzing operational costs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Processing accounts payable/receivable&lt;/td&gt;
&lt;td&gt;Completing tax returns&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Maintaining ledgers and accounts&lt;/td&gt;
&lt;td&gt;Advising on financial decisions&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Bookkeeping focuses on maintaining accurate records. Accounting focuses on interpreting those records to produce financial statements and actionable insights.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Are Financial Models?
&lt;/h2&gt;

&lt;p&gt;A Financial Model is a tool used to forecast a business's financial performance. Models perform calculations and generate recommendations based on that analysis.&lt;/p&gt;

&lt;p&gt;Common uses include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Business valuation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Financial planning and budgeting&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Forecasting&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Investment analysis&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Raising capital&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This guide focuses on Accounting, teaching you the fundamentals needed to build software that records and reports financial transactions.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Accounting?
&lt;/h2&gt;

&lt;p&gt;Accounting is the systematic process of recording, categorizing, and reporting financial transactions. Its purpose is to provide a clear and accurate picture of an entity's economic activities.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Aspects of Accounting
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Recording Transactions: The fundamental step where every financial transaction is documented. These records form the basis for everything else.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Classifying Transactions: Transactions are categorized into accounts like sales revenue, expenses, assets, liabilities, and equity.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Preparing Financial Statements: Transaction data is used to prepare the Income Statement, Balance Sheet, and Cash Flow Statement.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Auditing and Compliance: Ensuring records are accurate and comply with legal, regulatory, and tax requirements.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Analysis and Advisory: Analyzing financial data to understand performance, identify trends, and provide recommendations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Budgeting and Forecasting: Preparing budgets and forecasts to help businesses plan.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Accounting is essential not just for businesses but also for individuals, non-profits, and government organizations.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Accounting Equation
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk6kdepirfawo0zdm234w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk6kdepirfawo0zdm234w.png" alt="Accounting Equation" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The foundation of all accounting is this equation:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Assets = Liabilities + Equity&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This equation must always balance. Every transaction affects at least two accounts in a way that maintains this equality. This is the basis of double-entry bookkeeping.&lt;/p&gt;

&lt;h2&gt;
  
  
  Double-Entry Bookkeeping
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkbb2u1uoahus52aexxe5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkbb2u1uoahus52aexxe5.png" alt="Double Entry" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Double-entry bookkeeping is the standard system where every transaction is recorded in at least two accounts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;One account is debited&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Another account is credited&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Total debits must always equal total credits&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This provides built-in error checking and creates a complete audit trail.&lt;/p&gt;

&lt;p&gt;Example: When a company receives $1,000 cash from a customer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Debit Cash (Asset): $1,000 (increases)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Credit Accounts Receivable (Asset): $1,000 (decreases)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Accounts: The Building Blocks
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu8mftu82y7yu7e934ll2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu8mftu82y7yu7e934ll2.png" alt="Accounts" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;An account is a record in the General Ledger used to collect and store debit and credit amounts. Following the double-entry principle, every transaction affects at least two accounts.&lt;/p&gt;

&lt;h3&gt;
  
  
  Types of Accounts
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Account Type&lt;/th&gt;
&lt;th&gt;Normal Balance&lt;/th&gt;
&lt;th&gt;Examples&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Assets (Dr.)&lt;/td&gt;
&lt;td&gt;Debit&lt;/td&gt;
&lt;td&gt;Cash, inventory, property/plant/equipment, patents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Liabilities (Cr.)&lt;/td&gt;
&lt;td&gt;Credit&lt;/td&gt;
&lt;td&gt;Loans, accounts payable, mortgages, deferred revenue&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Equity (Cr.)&lt;/td&gt;
&lt;td&gt;Credit&lt;/td&gt;
&lt;td&gt;Share capital, retained earnings, additional paid-in capital&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Revenue (Cr.)&lt;/td&gt;
&lt;td&gt;Credit&lt;/td&gt;
&lt;td&gt;Sales revenue, service revenue, interest income&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Expenses (Dr.)&lt;/td&gt;
&lt;td&gt;Debit&lt;/td&gt;
&lt;td&gt;Cost of goods sold, salaries, rent, utilities&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  How Debits and Credits Affect Accounts
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Account Type&lt;/th&gt;
&lt;th&gt;Increased by&lt;/th&gt;
&lt;th&gt;Decreased by&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Assets&lt;/td&gt;
&lt;td&gt;Debit&lt;/td&gt;
&lt;td&gt;Credit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Liabilities&lt;/td&gt;
&lt;td&gt;Credit&lt;/td&gt;
&lt;td&gt;Debit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Equity&lt;/td&gt;
&lt;td&gt;Credit&lt;/td&gt;
&lt;td&gt;Debit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Revenue&lt;/td&gt;
&lt;td&gt;Credit&lt;/td&gt;
&lt;td&gt;Debit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Expenses&lt;/td&gt;
&lt;td&gt;Debit&lt;/td&gt;
&lt;td&gt;Credit&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These account types appear on their respective sides of the General Ledger (GL) - debits on the left, credits on the right.&lt;/p&gt;

&lt;h2&gt;
  
  
  Contra Accounts
&lt;/h2&gt;

&lt;p&gt;Contra accounts are special accounts used to offset the balance of a related account. They carry opposite balances to their paired accounts.&lt;/p&gt;

&lt;p&gt;Think of them as mechanisms that partially reverse the effects of another account, reducing its reported value on financial statements.&lt;/p&gt;

&lt;p&gt;Characteristics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Opposite Balance: If the related account has a debit balance, the contra has a credit balance (and vice versa)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Paired with Specific Accounts: Always linked to and offsets a specific account&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Net Reporting: Displayed as a single net amount on financial statements&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Common Contra Accounts
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Contra Account&lt;/th&gt;
&lt;th&gt;Paired With&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Accumulated Depreciation&lt;/td&gt;
&lt;td&gt;Property, Plant &amp;amp; Equipment&lt;/td&gt;
&lt;td&gt;Records total depreciation over time&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Allowance for Doubtful Accounts&lt;/td&gt;
&lt;td&gt;Accounts Receivable&lt;/td&gt;
&lt;td&gt;Estimates uncollectible receivables&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sales Returns and Allowances&lt;/td&gt;
&lt;td&gt;Sales Revenue&lt;/td&gt;
&lt;td&gt;Records returned goods or post-sale allowances&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Example: A company buys a machine for $10,000 that depreciates by $1,000 annually. The accumulated depreciation account will show a credit balance of $1,000 after year one, $2,000 after year two, and so on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Debits and Credits
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpekwhyhu78bcvdtsgdpz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpekwhyhu78bcvdtsgdpz.png" alt="Debits and Credits" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Debit (Dr.): An entry on the left side of an account. Increases asset and expense accounts; decreases liability, equity, and revenue accounts.&lt;/p&gt;

&lt;p&gt;Credit (Cr.): An entry on the right side of an account. Increases liability, equity, and revenue accounts; decreases asset and expense accounts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Journal Entries
&lt;/h2&gt;

&lt;p&gt;A journal entry is the record of a financial transaction before it's posted to the General Ledger. They're recorded in chronological order in the General Journal.&lt;/p&gt;

&lt;p&gt;Each journal entry includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Date of the transaction&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Accounts affected (debited and credited)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Amounts&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Description explaining the transaction&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbedjtmb2sfrah247taed.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbedjtmb2sfrah247taed.png" alt="Journals" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The General Ledger (GL)
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F50kxhif886npscf1mwem.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F50kxhif886npscf1mwem.png" alt="GL" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The General Ledger is the master record of all financial transactions within an organization. It's the central repository for accounting data from all sub-ledgers and journals (sales journal, purchases journal, cash receipts journal, etc.).&lt;/p&gt;

&lt;p&gt;A GL contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Individual accounts are organized by the Chart of Accounts&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Transaction details (date, description, amount)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Debit and credit entries&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Chart of Accounts
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftxj8elxljwewr1578ehg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftxj8elxljwewr1578ehg.png" alt="COA" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Chart of Accounts (COA) is the master list of all accounts used by an organization, organized by category. It provides a standardized numbering system.&lt;/p&gt;

&lt;p&gt;Typical structure:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Account Range&lt;/th&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1000-1999&lt;/td&gt;
&lt;td&gt;Assets&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2000-2999&lt;/td&gt;
&lt;td&gt;Liabilities&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3000-3999&lt;/td&gt;
&lt;td&gt;Equity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4000-4999&lt;/td&gt;
&lt;td&gt;Revenue&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5000-5999&lt;/td&gt;
&lt;td&gt;Cost of Goods Sold&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6000-6999&lt;/td&gt;
&lt;td&gt;Operating Expenses&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The COA is one of the first things you'll design when building accounting software.&lt;/p&gt;

&lt;h2&gt;
  
  
  Trial Balance
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fut33dk725l93sj1y0ft9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fut33dk725l93sj1y0ft9.png" alt="Trial Balance" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A Trial Balance is a report that lists all General Ledger accounts and their balances at a specific point in time. Its purpose is to verify that total debits equal total credits.&lt;/p&gt;

&lt;p&gt;If the Trial Balance doesn't balance, there's an error somewhere that must be found and corrected before preparing financial statements.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fiscal Year and Accounting Periods
&lt;/h2&gt;

&lt;p&gt;A fiscal year is the 12-month period a company uses for accounting and financial reporting. Unlike a calendar year (January-December), a fiscal year can start on any date.&lt;/p&gt;

&lt;p&gt;Common examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;US Federal Government: October 1 - September 30&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Many retail companies: February 1 - January 31 (to capture the holiday season)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;UK companies: April 1 - March 31&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Accounting periods are the intervals at which financial statements are prepared - typically monthly, quarterly, or annually.&lt;/p&gt;

&lt;h2&gt;
  
  
  Accrual vs. Cash Basis Accounting
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvwan4os6v0xae08doqql.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvwan4os6v0xae08doqql.png" alt="Accrual vs Cash" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Understanding when to recognize revenue and expenses is critical for building payment systems.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Aspect&lt;/th&gt;
&lt;th&gt;Cash Basis&lt;/th&gt;
&lt;th&gt;Accrual Basis&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Revenue recognized&lt;/td&gt;
&lt;td&gt;When cash is received&lt;/td&gt;
&lt;td&gt;When earned (regardless of payment)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Expenses recognized&lt;/td&gt;
&lt;td&gt;When cash is paid&lt;/td&gt;
&lt;td&gt;When incurred (regardless of payment)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Complexity&lt;/td&gt;
&lt;td&gt;Simple&lt;/td&gt;
&lt;td&gt;More complex&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Best for&lt;/td&gt;
&lt;td&gt;Small businesses&lt;/td&gt;
&lt;td&gt;Most FinTech applications&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GAAP/IFRS compliant&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Example with a Subscription Service:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Customer pays $120 on January 1 for a 12-month subscription&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cash basis: Record $120 revenue in January&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Accrual basis: Record $10 revenue each month (earned as service is provided)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For developers, this means your system needs to track both when money moves AND when revenue/expenses are recognized. These are often different events.&lt;/p&gt;

&lt;h2&gt;
  
  
  Immutable Ledgers and Audit Trails
&lt;/h2&gt;

&lt;p&gt;In FinTech, you never update or delete a financial transaction. This is non-negotiable for regulatory compliance and auditability.&lt;/p&gt;

&lt;p&gt;The rules:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Transactions are immutable - once recorded, they cannot be modified&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Corrections are reversals - to fix an error, create a reversing entry, then create the correct entry&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Everything is timestamped - record who did what, when&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Soft deletes only - mark records as deleted, never actually delete them&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Reversal Pattern
&lt;/h3&gt;

&lt;p&gt;Instead of updating a wrong entry, you create a reversal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Original (Wrong):
  Jan 15: Debit Office Supplies $500, Credit Cash $500

Reversal:
  Jan 16: Debit Cash $500, Credit Office Supplies $500

Correcting Entry:
  Jan 16: Debit Office Equipment $500, Credit Cash $500
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For developers: your database schema should NOT allow UPDATE or DELETE on transaction tables. Build your APIs to only INSERT.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common FinTech Transactions
&lt;/h2&gt;

&lt;p&gt;Here's how everyday FinTech operations translate to journal entries:&lt;/p&gt;

&lt;h3&gt;
  
  
  Customer Deposits Money into Wallet
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Debit:  Bank Account (Asset)           $100
Credit: Customer Wallet Liability      $100
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The money is in your bank, but you owe it to the customer.&lt;/p&gt;

&lt;h3&gt;
  
  
  Customer Withdraws Money
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Debit:  Customer Wallet Liability      $50
Credit: Bank Account (Asset)           $50
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Transfer Between Users (User A to User B)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Debit:  User A Wallet Liability        $25
Credit: User B Wallet Liability        $25
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No real money moved - just updated who you owe.&lt;/p&gt;

&lt;h3&gt;
  
  
  Platform Charges a Transaction Fee
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Debit:  Customer Wallet Liability      $1
Credit: Fee Revenue (Revenue)          $1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Customer Requests a Refund
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Debit:  Refunds (Contra-Revenue)       $20
Credit: Customer Wallet Liability      $20
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Loan Disbursement
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Debit:  Loans Receivable (Asset)       $1,000
Credit: Bank Account (Asset)           $1,000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Loan Repayment (Principal + Interest)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Debit:  Bank Account (Asset)           $110
Credit: Loans Receivable (Asset)       $100
Credit: Interest Income (Revenue)      $10
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  From Theory to Code: Database Schema
&lt;/h2&gt;

&lt;p&gt;Here's a minimal database schema for an accounting system:&lt;/p&gt;

&lt;h3&gt;
  
  
  Core Tables
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="c1"&gt;-- Chart of Accounts&lt;/span&gt;
&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt; &lt;span class="n"&gt;accounts&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;id&lt;/span&gt;              &lt;span class="nb"&gt;SERIAL&lt;/span&gt; &lt;span class="k"&gt;PRIMARY&lt;/span&gt; &lt;span class="k"&gt;KEY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;account_code&lt;/span&gt;    &lt;span class="nb"&gt;VARCHAR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;UNIQUE&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;account_name&lt;/span&gt;    &lt;span class="nb"&gt;VARCHAR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;account_type&lt;/span&gt;    &lt;span class="nb"&gt;VARCHAR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;-- ASSET, LIABILITY, EQUITY, REVENUE, EXPENSE&lt;/span&gt;
    &lt;span class="n"&gt;normal_balance&lt;/span&gt;  &lt;span class="nb"&gt;VARCHAR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;-- DEBIT or CREDIT&lt;/span&gt;
    &lt;span class="n"&gt;parent_id&lt;/span&gt;       &lt;span class="nb"&gt;INTEGER&lt;/span&gt; &lt;span class="k"&gt;REFERENCES&lt;/span&gt; &lt;span class="n"&gt;accounts&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="n"&gt;is_active&lt;/span&gt;       &lt;span class="nb"&gt;BOOLEAN&lt;/span&gt; &lt;span class="k"&gt;DEFAULT&lt;/span&gt; &lt;span class="k"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;created_at&lt;/span&gt;      &lt;span class="nb"&gt;TIMESTAMP&lt;/span&gt; &lt;span class="k"&gt;DEFAULT&lt;/span&gt; &lt;span class="n"&gt;NOW&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;-- Journal Entries (Header)&lt;/span&gt;
&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt; &lt;span class="n"&gt;journal_entries&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;id&lt;/span&gt;              &lt;span class="nb"&gt;SERIAL&lt;/span&gt; &lt;span class="k"&gt;PRIMARY&lt;/span&gt; &lt;span class="k"&gt;KEY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;entry_date&lt;/span&gt;      &lt;span class="nb"&gt;DATE&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;description&lt;/span&gt;     &lt;span class="nb"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;reference_no&lt;/span&gt;    &lt;span class="nb"&gt;VARCHAR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="n"&gt;created_by&lt;/span&gt;      &lt;span class="nb"&gt;INTEGER&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;created_at&lt;/span&gt;      &lt;span class="nb"&gt;TIMESTAMP&lt;/span&gt; &lt;span class="k"&gt;DEFAULT&lt;/span&gt; &lt;span class="n"&gt;NOW&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
    &lt;span class="c1"&gt;-- Immutability: no updated_at column!&lt;/span&gt;
    &lt;span class="n"&gt;is_reversed&lt;/span&gt;     &lt;span class="nb"&gt;BOOLEAN&lt;/span&gt; &lt;span class="k"&gt;DEFAULT&lt;/span&gt; &lt;span class="k"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;reversed_by_id&lt;/span&gt;  &lt;span class="nb"&gt;INTEGER&lt;/span&gt; &lt;span class="k"&gt;REFERENCES&lt;/span&gt; &lt;span class="n"&gt;journal_entries&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;-- Journal Entry Lines (Details)&lt;/span&gt;
&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt; &lt;span class="n"&gt;journal_entry_lines&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;id&lt;/span&gt;              &lt;span class="nb"&gt;SERIAL&lt;/span&gt; &lt;span class="k"&gt;PRIMARY&lt;/span&gt; &lt;span class="k"&gt;KEY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;journal_entry_id&lt;/span&gt; &lt;span class="nb"&gt;INTEGER&lt;/span&gt; &lt;span class="k"&gt;REFERENCES&lt;/span&gt; &lt;span class="n"&gt;journal_entries&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="n"&gt;account_id&lt;/span&gt;      &lt;span class="nb"&gt;INTEGER&lt;/span&gt; &lt;span class="k"&gt;REFERENCES&lt;/span&gt; &lt;span class="n"&gt;accounts&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="n"&gt;debit_amount&lt;/span&gt;    &lt;span class="nb"&gt;DECIMAL&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;DEFAULT&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;credit_amount&lt;/span&gt;   &lt;span class="nb"&gt;DECIMAL&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;DEFAULT&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;description&lt;/span&gt;     &lt;span class="nb"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;

    &lt;span class="c1"&gt;-- Enforce: only debit OR credit, not both&lt;/span&gt;
    &lt;span class="k"&gt;CONSTRAINT&lt;/span&gt; &lt;span class="n"&gt;check_debit_or_credit&lt;/span&gt; 
        &lt;span class="k"&gt;CHECK&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;debit_amount&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="k"&gt;AND&lt;/span&gt; &lt;span class="n"&gt;credit_amount&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;OR&lt;/span&gt; 
            &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;credit_amount&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="k"&gt;AND&lt;/span&gt; &lt;span class="n"&gt;debit_amount&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;-- Account Balances (Denormalized for performance)&lt;/span&gt;
&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt; &lt;span class="n"&gt;account_balances&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;id&lt;/span&gt;              &lt;span class="nb"&gt;SERIAL&lt;/span&gt; &lt;span class="k"&gt;PRIMARY&lt;/span&gt; &lt;span class="k"&gt;KEY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;account_id&lt;/span&gt;      &lt;span class="nb"&gt;INTEGER&lt;/span&gt; &lt;span class="k"&gt;REFERENCES&lt;/span&gt; &lt;span class="n"&gt;accounts&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="n"&gt;period_date&lt;/span&gt;     &lt;span class="nb"&gt;DATE&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;-- Last day of accounting period&lt;/span&gt;
    &lt;span class="n"&gt;debit_total&lt;/span&gt;     &lt;span class="nb"&gt;DECIMAL&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;DEFAULT&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;credit_total&lt;/span&gt;    &lt;span class="nb"&gt;DECIMAL&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;DEFAULT&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;balance&lt;/span&gt;         &lt;span class="nb"&gt;DECIMAL&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;DEFAULT&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="k"&gt;UNIQUE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;account_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;period_date&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Entity Relationship
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F780092ccl3jzej0g0kdz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F780092ccl3jzej0g0kdz.png" alt="Entity Relationship" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Trial Balance Query
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="c1"&gt;-- Generate Trial Balance&lt;/span&gt;
&lt;span class="k"&gt;SELECT&lt;/span&gt; 
    &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;account_code&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;account_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;account_type&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="k"&gt;SUM&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;jel&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;debit_amount&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;total_debits&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="k"&gt;SUM&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;jel&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;credit_amount&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;total_credits&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="k"&gt;SUM&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;jel&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;debit_amount&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="k"&gt;SUM&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;jel&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;credit_amount&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;balance&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;accounts&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;
&lt;span class="k"&gt;LEFT&lt;/span&gt; &lt;span class="k"&gt;JOIN&lt;/span&gt; &lt;span class="n"&gt;journal_entry_lines&lt;/span&gt; &lt;span class="n"&gt;jel&lt;/span&gt; &lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;jel&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;account_id&lt;/span&gt;
&lt;span class="k"&gt;LEFT&lt;/span&gt; &lt;span class="k"&gt;JOIN&lt;/span&gt; &lt;span class="n"&gt;journal_entries&lt;/span&gt; &lt;span class="n"&gt;je&lt;/span&gt; &lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="n"&gt;jel&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;journal_entry_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;je&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;je&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;entry_date&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="s1"&gt;'2026-01-31'&lt;/span&gt;  &lt;span class="c1"&gt;-- As of date&lt;/span&gt;
  &lt;span class="k"&gt;AND&lt;/span&gt; &lt;span class="n"&gt;je&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;is_reversed&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;false&lt;/span&gt;
&lt;span class="k"&gt;GROUP&lt;/span&gt; &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;account_code&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;account_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;account_type&lt;/span&gt;
&lt;span class="k"&gt;ORDER&lt;/span&gt; &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;account_code&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;-- Verify Trial Balance (should return 0)&lt;/span&gt;
&lt;span class="k"&gt;SELECT&lt;/span&gt; 
    &lt;span class="k"&gt;SUM&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;debit_amount&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="k"&gt;SUM&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;credit_amount&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;difference&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;journal_entry_lines&lt;/span&gt; &lt;span class="n"&gt;jel&lt;/span&gt;
&lt;span class="k"&gt;JOIN&lt;/span&gt; &lt;span class="n"&gt;journal_entries&lt;/span&gt; &lt;span class="n"&gt;je&lt;/span&gt; &lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="n"&gt;jel&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;journal_entry_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;je&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;je&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;is_reversed&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  The Double-Entry Constraint
&lt;/h3&gt;

&lt;p&gt;Every journal entry must balance. Enforce this at the application level:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;createJournalEntry&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;entry&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;JournalEntry&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="k"&gt;void&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;totalDebits&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;entry&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;lines&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;reduce&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;l&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;sum&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;l&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;debitAmount&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;totalCredits&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;entry&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;lines&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;reduce&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;l&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;sum&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;l&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;creditAmount&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;totalDebits&lt;/span&gt; &lt;span class="o"&gt;!==&lt;/span&gt; &lt;span class="nx"&gt;totalCredits&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;throw&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="s2"&gt;`Entry does not balance: Debits=&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;totalDebits&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;, Credits=&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;totalCredits&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;
        &lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="c1"&gt;// Proceed with insert...&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Reconciliation
&lt;/h2&gt;

&lt;p&gt;Reconciliation is the process of matching your internal ledger with external statements (bank statements, payment processor reports, etc.).&lt;/p&gt;

&lt;p&gt;Why it matters:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Detects discrepancies (fraud, errors, missing transactions)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Required for regulatory compliance&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Builds trust in your financial data&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Basic Reconciliation Flow
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Export transactions from your ledger for a period&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Import the bank statement for the same period&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Match transactions (by amount, date, reference)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Investigate unmatched items&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create adjusting entries if needed&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Document the reconciliation&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Build reconciliation tools early. You'll need them for debugging, customer support, and audits.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Concept&lt;/th&gt;
&lt;th&gt;Summary&lt;/th&gt;
&lt;th&gt;Developer Implication&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Accounting Equation&lt;/td&gt;
&lt;td&gt;Assets = Liabilities + Equity&lt;/td&gt;
&lt;td&gt;Your database must always satisfy this&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Double-Entry Bookkeeping&lt;/td&gt;
&lt;td&gt;Every transaction affects 2+ accounts&lt;/td&gt;
&lt;td&gt;Validate that debits = credits before saving&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Immutable Ledger&lt;/td&gt;
&lt;td&gt;Never update/delete transactions&lt;/td&gt;
&lt;td&gt;Design INSERT-only transaction tables&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Accrual Accounting&lt;/td&gt;
&lt;td&gt;Recognize revenue when earned&lt;/td&gt;
&lt;td&gt;Track both cash movement AND recognition dates&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Chart of Accounts&lt;/td&gt;
&lt;td&gt;Master list of all accounts&lt;/td&gt;
&lt;td&gt;Design this schema first - it's your foundation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Trial Balance&lt;/td&gt;
&lt;td&gt;Debits must equal credits&lt;/td&gt;
&lt;td&gt;Build this as a data integrity health check&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Audit Trail&lt;/td&gt;
&lt;td&gt;Who did what, when&lt;/td&gt;
&lt;td&gt;Log everything with timestamps and user IDs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reconciliation&lt;/td&gt;
&lt;td&gt;Match the internal ledger to external sources&lt;/td&gt;
&lt;td&gt;Build tooling for this from day one&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;You now have the accounting foundation needed to build FinTech software. This is Part 1 of a 6-part series. By the end, you'll have built a functional accounting system.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Part&lt;/th&gt;
&lt;th&gt;Topic&lt;/th&gt;
&lt;th&gt;What You'll Build&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;Accounting Fundamentals&lt;/td&gt;
&lt;td&gt;(this post)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Building Your First Ledger&lt;/td&gt;
&lt;td&gt;Simple API with accounts and journal entries&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Accounts Receivable (Invoicing)&lt;/td&gt;
&lt;td&gt;Create invoices, mark as paid, and track outstanding&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Accounts Payable (Bills)&lt;/td&gt;
&lt;td&gt;Record bills, track what you owe&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Bank Reconciliation&lt;/td&gt;
&lt;td&gt;Match transactions between the ledger and bank statements&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;Financial Reports&lt;/td&gt;
&lt;td&gt;Generate an Income Statement and Balance Sheet from your data&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
      <category>beginners</category>
      <category>fintech</category>
    </item>
    <item>
      <title>45+ Free Developer Resources for Web Developers (Oversimplified Version)</title>
      <dc:creator>Favor Onuoha</dc:creator>
      <pubDate>Tue, 08 Jun 2021 16:22:17 +0000</pubDate>
      <link>https://dev.to/heyonuoha/45-free-developer-resources-for-web-developers-oversimplified-version-kb</link>
      <guid>https://dev.to/heyonuoha/45-free-developer-resources-for-web-developers-oversimplified-version-kb</guid>
      <description>&lt;p&gt;I have compiled a list of great resources for aspiring and professional developers. Hope you enjoy and be sure to check me out on Twitter, I post similar great content.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Beginner Roadmap (Full-Stack)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.w3schools.com/html/default.asp" rel="noopener noreferrer"&gt;1) Learn HTML&lt;/a&gt;&lt;br&gt;
&lt;a href="https://web.dev/learn/css/" rel="noopener noreferrer"&gt;2) Learn CSS&lt;/a&gt;&lt;br&gt;
&lt;a href="https://learnjavascript.online" rel="noopener noreferrer"&gt;3) Learn JavaScript&lt;/a&gt;&lt;br&gt;
&lt;a href="https://reactjs.org/tutorial/tutorial.html" rel="noopener noreferrer"&gt;4) Learn React JS&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.w3schools.com/angular/" rel="noopener noreferrer"&gt;5) Learn Angular JS&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.w3schools.com/bootstrap4/" rel="noopener noreferrer"&gt;6) Learn Bootstrap JS&lt;/a&gt;&lt;br&gt;
&lt;a href="https://nodejs.dev/learn" rel="noopener noreferrer"&gt;7) Learn Node JS&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.tutorialspoint.com/expressjs/index.htm" rel="noopener noreferrer"&gt;8) Learn Express JS&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.guru99.com/mongodb-tutorials.html" rel="noopener noreferrer"&gt;9) Learn MongoDB&lt;/a&gt;&lt;br&gt;
&lt;a href="https://mongoosejs.com/docs/" rel="noopener noreferrer"&gt;10) Learn Mongoose&lt;/a&gt; &lt;br&gt;
&lt;a href="https://www.tutorialspoint.com/restful/index.htm" rel="noopener noreferrer"&gt;11) Learn RESTful Architecture&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.toptal.com/nodejs/secure-rest-api-in-nodejs" rel="noopener noreferrer"&gt;12) Learn Building APIs with Node JS&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;NoSQL DBs &amp;amp; RDBMS&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.khanacademy.org/computing/computer-programming/sql" rel="noopener noreferrer"&gt;13) Learn SQL&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.guru99.com/nosql-tutorial.html" rel="noopener noreferrer"&gt;14) Learn NoSQL Concepts&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.tutorialspoint.com/sql/sql-rdbms-concepts.htm" rel="noopener noreferrer"&gt;15) Learn RDBMS Concept&lt;/a&gt;&lt;br&gt;
&lt;a href="https://firebase.google.com/docs/database" rel="noopener noreferrer"&gt;16) Learn Firebase Realtime Database&lt;/a&gt;&lt;br&gt;
&lt;a href="https://firebase.google.com/docs/firestore" rel="noopener noreferrer"&gt;17) Learn Firebase Cloud Firestore&lt;/a&gt;&lt;br&gt;
&lt;a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStartedDynamoDB.html" rel="noopener noreferrer"&gt;18) Learn DynamoDB&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.tutorialspoint.com/couchdb/couchdb_creating_a_document.htm" rel="noopener noreferrer"&gt;19) Learn CouchDB&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.tutorialspoint.com/redis/index.htm" rel="noopener noreferrer"&gt;20) Learn Redis Cache&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.postgresqltutorial.com" rel="noopener noreferrer"&gt;21) Learn PostgreSQL&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.mysqltutorial.org" rel="noopener noreferrer"&gt;22) Learn MySQL&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.sqlservertutorial.net" rel="noopener noreferrer"&gt;23) Learn MSSQL&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.sqlitetutorial.net" rel="noopener noreferrer"&gt;24) Learn SQLite&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.oracletutorial.com" rel="noopener noreferrer"&gt;25) Learn Oracle&lt;/a&gt;&lt;br&gt;
&lt;a href="https://rethinkdb.com/docs/guide/javascript/" rel="noopener noreferrer"&gt;26) Learn RethinkDB&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Server Side Languages &amp;amp; Frameworks&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.learnjavaonline.org" rel="noopener noreferrer"&gt;27) Learn Java&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.learncs.org" rel="noopener noreferrer"&gt;28) Learn C#&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.learnpython.org" rel="noopener noreferrer"&gt;29) Learn Python&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.learnrubyonline.org" rel="noopener noreferrer"&gt;30) Learn Ruby&lt;/a&gt;&lt;br&gt;
&lt;a href="https://learning-rust.github.io/docs/a1.why_rust.html" rel="noopener noreferrer"&gt;31) Learn Rust&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.learn-golang.org" rel="noopener noreferrer"&gt;32) Learn Golang&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.tutorialspoint.com/erlang/index.htm" rel="noopener noreferrer"&gt;33) Learn Erlang&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.tutorialspoint.com/php/index.htm" rel="noopener noreferrer"&gt;34) Learn PHP&lt;/a&gt;&lt;br&gt;
&lt;a href="https://docs.djangoproject.com/en/3.2/intro/tutorial01/" rel="noopener noreferrer"&gt;35) Learn Django&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.tutorialspoint.com/flask/index.htm" rel="noopener noreferrer"&gt;36) Learn Flask&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.tutorialsteacher.com/webapi/web-api-tutorials" rel="noopener noreferrer"&gt;37) Learn ASP.NET API&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.tutorialsteacher.com/core" rel="noopener noreferrer"&gt;38) Learn ASP.NET MVC&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.tutorialspoint.com/ruby-on-rails/index.htm" rel="noopener noreferrer"&gt;39) Learn Ruby on Rails&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.tutorialspoint.com/spring/index.htm" rel="noopener noreferrer"&gt;40) Learn Spring&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.tutorialspoint.com/laravel/index.htm" rel="noopener noreferrer"&gt;41) Learn Laravel&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Cloud Services &amp;amp; Orchestration&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://cloud.google.com/training/getstarted" rel="noopener noreferrer"&gt;42) Learn GCP&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.coursera.org/specializations/aws-fundamentals" rel="noopener noreferrer"&gt;43) Learn AWS&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.digitalocean.com/community/tutorials" rel="noopener noreferrer"&gt;44) Learn Digital Ocean Hosting&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linode.com/docs/guides/set-up-web-server-host-website/" rel="noopener noreferrer"&gt;45) Learn Linode Hosting&lt;/a&gt;&lt;br&gt;
&lt;a href="https://learndocker.online" rel="noopener noreferrer"&gt;46) Learn Docker&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.edx.org/new/course/introduction-to-kubernetes" rel="noopener noreferrer"&gt;47) Learn Kubenetes&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Testing &amp;amp; Version Control&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://product.hubspot.com/blog/git-and-github-tutorial-for-beginners" rel="noopener noreferrer"&gt;48) Learn Git&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.valentinog.com/blog/jest/" rel="noopener noreferrer"&gt;49) Learn Jest&lt;/a&gt;&lt;br&gt;
&lt;a href="https://lab.github.com/githubtraining/introduction-to-github" rel="noopener noreferrer"&gt;50) Learn GitHub&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Thank you for reading 🔥🔥🔥, and I hope you found this article useful 🔥&lt;/p&gt;

&lt;p&gt;If you have any questions or your just wanna chat, feel free to &lt;a href="https://twitter.com/heyOnuoha" rel="noopener noreferrer"&gt;DM me&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you enjoyed reading, please consider following me here on Dev.to and also on Twitter @ &lt;a href="https://twitter.com/heyOnuoha/" rel="noopener noreferrer"&gt;heyOnuoha&lt;/a&gt; so you don’t miss out on new content on topics like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Web Development (JS and Python)&lt;/li&gt;
&lt;li&gt;Improving as a developer&lt;/li&gt;
&lt;li&gt;Machine Learning &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Support Me&lt;/strong&gt; :
&lt;/h3&gt;

&lt;p&gt;👉 Follow Me on &lt;a href="https://twitter.com/heyOnuoha/" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;br&gt;
👉 Buy me a ☕&lt;br&gt;
&lt;a href="https://www.buymeacoffee.com/heyOnuoha" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.buymeacoffee.com%2Fbuttons%2Fv2%2Fdefault-yellow.png" alt="Buy Me A Coffee" width="545" height="153"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Let's talk about CSS [Easy Roadmap]</title>
      <dc:creator>Favor Onuoha</dc:creator>
      <pubDate>Wed, 02 Jun 2021 15:48:31 +0000</pubDate>
      <link>https://dev.to/heyonuoha/let-s-talk-about-css-easy-roadmap-3g3f</link>
      <guid>https://dev.to/heyonuoha/let-s-talk-about-css-easy-roadmap-3g3f</guid>
      <description>&lt;p&gt;For most people like me, CSS was the bane of my existence. It never listens to me when I give it simple instructions and it acts as if it has a mind of its own, relatable right ?. However, CSS acting the way it did was because I didn't understand it back then.&lt;/p&gt;

&lt;p&gt;Understanding how layouts and hierarchy works in CSS is the key to mastering the styling language and that is why I have prepared an easy roadmap for mastering CSS&lt;/p&gt;

&lt;p&gt;Let's get straight to it...&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;1) Syntax&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Just like every other language out there, you have to master the CSS syntax to be able to confidently write it. &lt;/p&gt;

&lt;p&gt;To master this, you will have to understand basic core CSS principles.&lt;/p&gt;

&lt;p&gt;You can find more info on specificity &lt;a href="https://www.tutorialrepublic.com/css-tutorial/css-syntax.php" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;2) Hierarchy&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Hierarchy is important in CSS. Understanding how the &lt;em&gt;Parent-Child&lt;/em&gt; hierarchy works in CSS helps you write better CSS code.&lt;/p&gt;

&lt;p&gt;This idea of CSS having a hierarchy and how it organizes and accesses elements is known as &lt;strong&gt;Specificity&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can find more info on specificity &lt;a href="https://www.w3.org/Style/CSS/read.en.html" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;3) Layout&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Know your CSS Layouts!, this is very crucial to understanding how to position elements on a webpage.&lt;/p&gt;

&lt;p&gt;This is by far the most difficult part of learning CSS and here are some links I have prepared to help you find great resources on CSS Layouts&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.w3schools.com/css/css_website_layout.asp" rel="noopener noreferrer"&gt;CSS Layouts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://css-tricks.com/snippets/css/a-guide-to-flexbox/" rel="noopener noreferrer"&gt;Flexbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3schools.com/css/css_grid.asp" rel="noopener noreferrer"&gt;CSS Grids&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3schools.com/css/css_positioning.asp" rel="noopener noreferrer"&gt;Positioning&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Creating great layouts is your key to mastering CSS, learn it vigorously and you won't struggle with positioning in CSS. &lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Thank you for reading 🔥🔥🔥, and I hope you found this article useful 🔥&lt;/p&gt;

&lt;p&gt;If you enjoyed reading, please consider following me here on Dev.to and also on Twitter @ &lt;a href="https://twitter.com/heyOnuoha/" rel="noopener noreferrer"&gt;heyOnuoha&lt;/a&gt; so you don’t miss out on new content on topics like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Web Development (JS and Python)&lt;/li&gt;
&lt;li&gt;Improving as a developer&lt;/li&gt;
&lt;li&gt;Machine Learning&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Support Me&lt;/strong&gt; :
&lt;/h4&gt;

&lt;p&gt;👉 Follow Me on &lt;a href="https://twitter.com/heyOnuoha/" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;br&gt;
👉 Buy me a ☕&lt;br&gt;
&lt;a href="https://www.buymeacoffee.com/heyOnuoha" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.buymeacoffee.com%2Fbuttons%2Fv2%2Fdefault-yellow.png" alt="Buy Me A Coffee" width="545" height="153"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>css</category>
      <category>html</category>
      <category>beginners</category>
    </item>
    <item>
      <title>5 Website to learn and improve your Algorithm and Data Structure skills</title>
      <dc:creator>Favor Onuoha</dc:creator>
      <pubDate>Mon, 31 May 2021 10:48:39 +0000</pubDate>
      <link>https://dev.to/heyonuoha/5-website-to-learn-and-improve-your-algorithm-and-data-structure-skills-1cn4</link>
      <guid>https://dev.to/heyonuoha/5-website-to-learn-and-improve-your-algorithm-and-data-structure-skills-1cn4</guid>
      <description>&lt;p&gt;Having extensive knowledge of Algorithms and Data Structures is a very necessary skill in our everyday programming lives.&lt;/p&gt;

&lt;p&gt;The problem most beginners often face is the bane of finding good resources on the subject matter.&lt;/p&gt;

&lt;p&gt;I have prepared a list of five (5) platforms that will help you improve your Algorithms and Data Structure skills.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Why Improve your Algorithmic skills?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Better chance of getting a good-paying job at a Top Tech company&lt;/li&gt;
&lt;li&gt;Expands your codebase knowledge beyond a singular monolith style of thinking &lt;/li&gt;
&lt;li&gt;Makes you write better code&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;Let's get started 🔥🔥🔥🔥  &lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;1] &lt;a href="https://www.hackerrank.com" rel="noopener noreferrer"&gt;Hackerrank&lt;/a&gt;&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;I ❤️ Hackerrank.&lt;/p&gt;

&lt;p&gt;Hackerrank was where I started my Algorithms and Data Structures journey over 5 years ago. Before then, I was just another moderate programmer who just wrote code anyhow he saw fit.&lt;/p&gt;

&lt;p&gt;Hackerrank has a lot of coding challenges, tutorials, and competitions that keep you at your feet and wanting more.&lt;/p&gt;

&lt;p&gt;The more you learn on their platform and solve challenges, the more your chances of even getting hired.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;2] &lt;a href="https://www.topcoder.com" rel="noopener noreferrer"&gt;Topcoder&lt;/a&gt;&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Topcoder is another great platform to learn and improve your Algorithmic skills.&lt;/p&gt;

&lt;p&gt;Topcoder offers a lot of coding challenges and is a very competitive platform for mid to expert-level programmers. They also offer a lot of community-level tutorials for beginners seeking to improve their algorithmic skills.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;3] &lt;a href="https://www.codechef.com" rel="noopener noreferrer"&gt;CodeChef&lt;/a&gt;&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;CodeChef is a platform filled with a lot of active competitive programmers. In retrospect to Topcoder, CodeChef is a better alternative to start with.&lt;/p&gt;

&lt;p&gt;CodeChef offers many great tutorials on learning Algorithms and Data Structures and is also a great place to team up with groups of like-minded programmers just like yourself.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;4] &lt;a href="https://coderbyte.com" rel="noopener noreferrer"&gt;Coderbyte&lt;/a&gt;&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Coderbyte is another great platform for improving your Algorithmic skills and general programming skills.&lt;/p&gt;

&lt;p&gt;Coderbyte offers various coding challenges and community solutions for you to learn from. &lt;/p&gt;

&lt;p&gt;However, not a free platform, you will need to pay a subscription fee to gain access to more advanced coding challenges. However, there are free challenges available for you to begin with and they span from beginner level to expert level&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;5] &lt;a href="https://coderbyte.com" rel="noopener noreferrer"&gt;LeetCode&lt;/a&gt;&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;LeetCode is one of the best platforms to help you enhance your skills. In retrospect to Coderbyte, LeetCode is a better alternative to start with. Just like Coderbyte, it's not entirely free and they offer a premium subscription fee to gain access to more features.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Thank you for reading 🔥🔥🔥, and I hope you found this article useful 🔥&lt;/p&gt;

&lt;p&gt;If you enjoyed reading, please consider following me here on Dev.to and also on Twitter @ &lt;a href="https://twitter.com/heyOnuoha/" rel="noopener noreferrer"&gt;heyOnuoha&lt;/a&gt; so you don’t miss out on new content on topics like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Web Development (JS and Python)&lt;/li&gt;
&lt;li&gt;Improving as a developer&lt;/li&gt;
&lt;li&gt;Machine Learning&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Support Me&lt;/strong&gt; :
&lt;/h4&gt;

&lt;p&gt;👉 Follow Me on &lt;a href="https://twitter.com/heyOnuoha/" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;br&gt;
👉 Buy me a ☕&lt;br&gt;
&lt;a href="https://www.buymeacoffee.com/heyOnuoha" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.buymeacoffee.com%2Fbuttons%2Fv2%2Fdefault-yellow.png" alt="Buy Me A Coffee" width="545" height="153"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cheers!!!&lt;/p&gt;

</description>
      <category>algorithms</category>
      <category>programming</category>
      <category>beginners</category>
      <category>datastructures</category>
    </item>
    <item>
      <title>A Simple CSS Flexbox Cheat Sheet</title>
      <dc:creator>Favor Onuoha</dc:creator>
      <pubDate>Thu, 27 May 2021 16:41:48 +0000</pubDate>
      <link>https://dev.to/heyonuoha/a-simple-css-flexbox-cheat-sheet-4k2b</link>
      <guid>https://dev.to/heyonuoha/a-simple-css-flexbox-cheat-sheet-4k2b</guid>
      <description>&lt;p&gt;Flexbox is amazing and they make positioning in CSS much, much better than raw positioning (Absolute, Relative, etc), but they can sometimes be very easy to forget or get mixed up with due to its structural nature.&lt;/p&gt;

&lt;p&gt;Both Pros and Beginners struggle with keeping all the structural differences and style properties at heart so that is why I will be breaking down in sections this great cheat sheet by &lt;a href="https://jonitrythall.com/" rel="noopener noreferrer"&gt;Joni Balogna&lt;/a&gt; which I found very great and amazing.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Flexbox Structure&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4iqeyjf7optbd0dgvghz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4iqeyjf7optbd0dgvghz.png" alt="Alt Text" width="800" height="502"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here we are shown the structure of flexboxes and how their origins are labeled.&lt;/p&gt;

&lt;p&gt;We see the Main Axis (Horizontal Axis) and the Cross Axis (Vertical Axis)&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Rows and Columns [Orientation]&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7h3pmdpz03azgn1dztj5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7h3pmdpz03azgn1dztj5.png" alt="Alt Text" width="785" height="605"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here we are shown the properties that activate the flexbox styles and the options we have for display orientation.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Positioning On Main Axis&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftrpdt2kmequ5t74excnj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftrpdt2kmequ5t74excnj.png" alt="Alt Text" width="789" height="808"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here we are shown how to position flex items on the Main Axis. Where do you want it? start, center, end?&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Space Management&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9g8nywzz1i8bp9nlq9ek.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9g8nywzz1i8bp9nlq9ek.png" alt="Alt Text" width="783" height="613"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here we are shown how to manage variable space of our items and how we want them displayed in a container. Based on our viewport, we can set how we want them to align, either on the same line or overflow.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Positioning On Cross Axis&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foht32bbys3iyvt5ux9e0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foht32bbys3iyvt5ux9e0.png" alt="Alt Text" width="660" height="843"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here we are shown how to position flex items on the Main Axis. We could either set our flex items to stretch across the axis or start at the end or center.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Row Management&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmgvdgmyllf87kb4hwk95.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmgvdgmyllf87kb4hwk95.png" alt="Alt Text" width="800" height="652"&gt;&lt;/a&gt; &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkaa495i971py9ig80v3w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkaa495i971py9ig80v3w.png" alt="Alt Text" width="800" height="433"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here we are shown the property options we have when we have multiple rows and how we can position them in a container. &lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Item Order&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpxi0v2ln0j85h6pg1u60.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpxi0v2ln0j85h6pg1u60.png" alt="Alt Text" width="800" height="317"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here we are shown the &lt;code&gt;order&lt;/code&gt; property which sets the order to lay out an item in a flex container. Items in a container are sorted by ascending order value and then by their source code order.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Item Growth&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F604f3gl4x6257eilucyv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F604f3gl4x6257eilucyv.png" alt="Alt Text" width="800" height="311"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here we are shown the &lt;code&gt;flex-grow&lt;/code&gt; property which sets the &lt;code&gt;flex-grow&lt;/code&gt; factor of a flex item's main size.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Alignment&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkepbvjbug7h63n5kkfd9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkepbvjbug7h63n5kkfd9.png" alt="Alt Text" width="616" height="717"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here we are shown various alignment flex properties.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Thank you for reading 🔥🔥🔥, and I hope you found this article useful 🔥&lt;/p&gt;

&lt;p&gt;Here is the &lt;a href="https://jonitrythall.com/content/flexboxsheet.pdf" rel="noopener noreferrer"&gt;link&lt;/a&gt; to the full cheat cheat&lt;/p&gt;

&lt;p&gt;If you have any questions or your just wanna chat, feel free to &lt;a href="https://twitter.com/heyOnuoha" rel="noopener noreferrer"&gt;DM me&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you enjoyed reading, please consider following me here on Dev.to and also on Twitter @ &lt;a href="https://twitter.com/heyOnuoha/" rel="noopener noreferrer"&gt;heyOnuoha&lt;/a&gt; so you don’t miss out on new content on topics like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Web Development (JS and Python)&lt;/li&gt;
&lt;li&gt;Improving as a developer&lt;/li&gt;
&lt;li&gt;Machine Learning &lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Support Me&lt;/strong&gt; :
&lt;/h4&gt;

&lt;p&gt;👉 Follow Me on &lt;a href="https://twitter.com/heyOnuoha/" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;br&gt;
👉 Buy me a ☕&lt;br&gt;
&lt;a href="https://www.buymeacoffee.com/heyOnuoha" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.buymeacoffee.com%2Fbuttons%2Fv2%2Fdefault-yellow.png" alt="Buy Me A Coffee" width="545" height="153"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;References&lt;/strong&gt;
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://jonitrythall.com/" rel="noopener noreferrer"&gt;Joni Balogna&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/" rel="noopener noreferrer"&gt;MDN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jonitrythall.com/content/flexboxsheet.pdf" rel="noopener noreferrer"&gt;Flexbox cheat sheet&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>html</category>
      <category>css</category>
      <category>design</category>
      <category>beginners</category>
    </item>
    <item>
      <title>A Simple Machine Learning Cheat Sheet For Cracking The Theory Interview</title>
      <dc:creator>Favor Onuoha</dc:creator>
      <pubDate>Mon, 24 May 2021 11:12:14 +0000</pubDate>
      <link>https://dev.to/heyonuoha/a-simple-machine-learning-cheat-sheet-for-cracking-the-theory-interview-gfk</link>
      <guid>https://dev.to/heyonuoha/a-simple-machine-learning-cheat-sheet-for-cracking-the-theory-interview-gfk</guid>
      <description>&lt;p&gt;Hello Machine Learning Enthusiasts, I found this great Machine Learning cheat sheet that you can use for acing your ML theory interviews.&lt;/p&gt;

&lt;p&gt;Happy Reading!!! 🔥🔥🔥 &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Bias vs. Variance&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuetd82x9z305bt99106r.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuetd82x9z305bt99106r.jpg" alt="Alt Text" width="800" height="1035"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Imbalanced Data in Classification&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fczqhpv63wb1xwknzherk.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fczqhpv63wb1xwknzherk.jpg" alt="Alt Text" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;PCA Dimensionality Reduction&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feh84d6pebyeuhrsal1d8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feh84d6pebyeuhrsal1d8.jpg" alt="Alt Text" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Bayes Theorem and Classifier&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9fabotpnqadjdvcwolo9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9fabotpnqadjdvcwolo9.jpg" alt="Alt Text" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Regression Analysis&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flua0rb05ac8fn596imqv.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flua0rb05ac8fn596imqv.jpg" alt="Alt Text" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Regularization in ML&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5c4vqgdngvorpuwl33mz.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5c4vqgdngvorpuwl33mz.jpg" alt="Alt Text" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Famous CNN's&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcedif9fnmms8uq234tqa.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcedif9fnmms8uq234tqa.jpg" alt="Alt Text" width="800" height="1035"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Convolutional Neural Networks&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcaew1b7hdcpnpuwkcucb.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcaew1b7hdcpnpuwkcucb.jpg" alt="Alt Text" width="800" height="1035"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Ensemble Learning in ML&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwuqi64ju8ayhh05c39sy.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwuqi64ju8ayhh05c39sy.jpg" alt="Alt Text" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;How To Prepare For Behavioral Interview ? (1/4)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiqtkfwjq96pvbg71zujq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiqtkfwjq96pvbg71zujq.jpg" alt="Alt Text" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;How To Prepare For Behavioral Interview ? (2/4)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fstqoldu8qve3em552xz0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fstqoldu8qve3em552xz0.jpg" alt="Alt Text" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;How To Prepare For Behavioral Interview ? (3/4)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ca4w8ddg3q8qsielt80.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ca4w8ddg3q8qsielt80.jpg" alt="Alt Text" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;How To Prepare For Behavioral Interview ? (4/4)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffw7q5693pvq58hra5e6b.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffw7q5693pvq58hra5e6b.jpg" alt="Alt Text" width="800" height="1035"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Thank you for reading 🔥🔥🔥, and I hope you found this article useful 🔥&lt;/p&gt;

&lt;p&gt;If you enjoyed reading, please consider following me here on Dev.to and also on Twitter @ &lt;a href="https://twitter.com/heyOnuoha/" rel="noopener noreferrer"&gt;heyOnuoha&lt;/a&gt; so you don’t miss out on new content on topics like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Web Development (JS and Python)&lt;/li&gt;
&lt;li&gt;Improving as a developer&lt;/li&gt;
&lt;li&gt;Machine Learning&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Support Me&lt;/strong&gt; :
&lt;/h4&gt;

&lt;p&gt;👉 Follow Me on &lt;a href="https://twitter.com/heyOnuoha/" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;br&gt;
👉 Buy me a ☕&lt;br&gt;
&lt;a href="https://www.buymeacoffee.com/heyOnuoha" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.buymeacoffee.com%2Fbuttons%2Fv2%2Fdefault-yellow.png" alt="Buy Me A Coffee" width="545" height="153"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cheers!!!&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>datascience</category>
      <category>python</category>
      <category>interview</category>
    </item>
    <item>
      <title>10 Important Machine Learning Terminologies you should always keep in mind</title>
      <dc:creator>Favor Onuoha</dc:creator>
      <pubDate>Sun, 23 May 2021 19:57:30 +0000</pubDate>
      <link>https://dev.to/heyonuoha/10-important-machine-learning-terminologies-you-should-always-keep-in-mind-3mna</link>
      <guid>https://dev.to/heyonuoha/10-important-machine-learning-terminologies-you-should-always-keep-in-mind-3mna</guid>
      <description>&lt;p&gt;It is my strong believe that the key to understanding ML is knowing its terminologies and also knowing what you are doing.&lt;/p&gt;

&lt;p&gt;You will love the last one 🔥🔥🔥&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1) Epoch&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A full training pass over the entire dataset such that each example has been seen once. Thus, an epoch represents N/batch size training iterations, where N is the total number of examples.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2) Example&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;One row of a dataset. An example contains one or more features and possibly a label. See also labeled example and unlabeled example.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;3) Label&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;It is the result portion of an example. Each example in a dataset consists of one or more features and a label.&lt;/p&gt;

&lt;p&gt;In a spam detection dataset, the features may include the subject, sender, and the message, while the label would probably be either "spam" or "not spam."&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;4) Learning Rate&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A scalar used to train a model via gradient descent. During each iteration, the gradient descent algorithm multiplies the learning rate by the gradient. The resulting product is called the gradient step.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;5) Model&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The representation of what a machine learning system has learned from the training data.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;6) Training&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The process of determining the ideal parameters comprising a model.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;7) Stochastic Gradient Descent (SGD)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A gradient descent algorithm in which the batch size is one. In other words, SGD relies on a single example chosen uniformly at random from a dataset to calculate an estimate of the gradient at each step.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;8) Squared Loss (L2 Loss)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This function calculates the squares of the difference between a model's predicted value for a labeled example and the actual value of the label. &lt;/p&gt;

&lt;p&gt;Due to squaring, this loss function amplifies the influence of bad predictions.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;9) Loss&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A measure of how far a model's predictions are from its label. Or, to phrase it more pessimistically, a measure of how bad the model is. To determine this value, a model must define a loss function.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;10) Machine Learning&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Some novices don't know the meaning of this term. However, they aren't to blame as to most of them simply get straight to coding and not learning the basics.&lt;/p&gt;

&lt;p&gt;Machine Learning is a program or system that builds (trains) a predictive model from input data.&lt;/p&gt;

&lt;p&gt;The system uses the learned model to make useful predictions from new (never-before-seen) data drawn from the same distribution as the one used to train the model. &lt;/p&gt;

&lt;p&gt;Machine learning also refers to the field of study concerned with these programs or systems.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Thank you for reading 🔥🔥🔥, and I hope you found this article useful 🔥&lt;/p&gt;

&lt;p&gt;If you enjoyed reading, please consider following me here on Dev.to and also on Twitter @ &lt;a href="https://twitter.com/heyOnuoha/" rel="noopener noreferrer"&gt;heyOnuoha&lt;/a&gt; so you don’t miss out on new content on topics like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Web Development (JS and Python)&lt;/li&gt;
&lt;li&gt;Improving as a developer&lt;/li&gt;
&lt;li&gt;Machine Learning&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Support Me&lt;/strong&gt; :
&lt;/h4&gt;

&lt;p&gt;👉 Follow Me on &lt;a href="https://twitter.com/heyOnuoha/" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;br&gt;
👉 Buy me a ☕&lt;br&gt;
&lt;a href="https://www.buymeacoffee.com/heyOnuoha" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.buymeacoffee.com%2Fbuttons%2Fv2%2Fdefault-yellow.png" alt="Buy Me A Coffee" width="545" height="153"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cheers!!!&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>python</category>
      <category>programming</category>
      <category>datascience</category>
    </item>
    <item>
      <title>How to get started with Machine Learning in 2021 [Roadmap]</title>
      <dc:creator>Favor Onuoha</dc:creator>
      <pubDate>Sun, 23 May 2021 15:27:24 +0000</pubDate>
      <link>https://dev.to/heyonuoha/how-to-get-started-with-machine-learning-in-2021-roadmap-1h3m</link>
      <guid>https://dev.to/heyonuoha/how-to-get-started-with-machine-learning-in-2021-roadmap-1h3m</guid>
      <description>&lt;p&gt;The process of learning Machine Learning (ML) can often be challenging and confusing. A good majority of ML enthusiast start off energetic only to give up at the start and trust me, I know and I’ve been there. I have personally gone through that daunting process not once but thrice.&lt;/p&gt;

&lt;p&gt;I started learning Machine Learning 5 years ago. Back then, good Machine Learning resources were very limited and the best places to find quality ML resources were on sites like Udacity during the days when the term “ML” was mostly coined with the term “Data Science”. After 2 or 3 ML videos, I gave up and started learning something else. I tried again 3 years later and again, I gave up.&lt;/p&gt;

&lt;p&gt;But what changed in 2021 ? Well for starters, I gained more experience in engineering and continued to improve upon myself and incase you were wondering, 5 years ago I was 17 years old. The second and most important reason as to how I was able to dive into Machine Learning was that I had a good roadmap and today I’ll be laying out to you my roadmap for getting started with Machine Learning.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Before I continue, I would like to state a few facts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A solid background in Math is necessary but not required to learn ML.&lt;/li&gt;
&lt;li&gt;A good understanding of Data Structures and Algorithms are necessary to learn ML.&lt;/li&gt;
&lt;li&gt;A solid programming background with in-depth knowledge of programming concepts is a must have to begin with ML.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now that's’ out of the way, lets continue.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Learn Python&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Python is the leading programming language in Machine Learning development.&lt;/p&gt;

&lt;p&gt;ML Developers love python because of its accessibility and simple uncomplicated syntax.&lt;/p&gt;

&lt;p&gt;Though other programming languages like JavaScript are also gaining heads in the Machine Learning world, Python is by far the most used and most accessible choice and finding good resources on Python based ML codebase will not be difficult for you as a beginner.&lt;/p&gt;

&lt;p&gt;Here is a great tutorial to begin with if you don’t already know Python.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/rfscVS0vtbw"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Take Google’s Machine Learning Crash Course&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://developers.google.com/machine-learning/crash-course" rel="noopener noreferrer"&gt;Google’s Machine Learning Crash Course&lt;/a&gt; is by far the best crash course on ML that I have seen till date. It gets you started with basic ML principles and as well as give you a good understanding of the math involved in some of MLs core algorithms.&lt;/p&gt;

&lt;p&gt;The crash course also teaches NumPy, Pandas and most importantly &lt;a href="https://www.tensorflow.org" rel="noopener noreferrer"&gt;TensorFlow&lt;/a&gt; which is an amazing library for handling most Machine Learning related problems and packs into it all the math and algorithms needed to build a ML Model.&lt;/p&gt;

&lt;p&gt;Optionally, after taking Google’s Machine Learning Crash Course, you can also take Coursera’s ML Course by Andrew Ng.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Learn Some Math!&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Although as mentioned above that math is not required to learn Machine Learning, a good understanding of how various math calculations work in ML will give you an edge in your journey learning Machine Learning.&lt;/p&gt;

&lt;p&gt;However, you don’t need to know all the major math topics as to only a mindful of math topics is used in Machine Learning and a few examples are :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Algebra&lt;/li&gt;
&lt;li&gt;Linear Regression&lt;/li&gt;
&lt;li&gt;Probability and Statistics&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Probability and Statistics make up a huge chunk of the Machine Learning math in most ML libraries that are used for creating models, so those topics are where you would be focusing most of your time on.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=vDqOoI-4Z6M&amp;amp;list=PL7AF1C14AF1B05894" rel="noopener noreferrer"&gt;Khan Academy&lt;/a&gt; has a great YouTube tutorial playlist for these particular math topics.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Learn Notebooks&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Notebooks like the &lt;a href="https://jupyter.org" rel="noopener noreferrer"&gt;Jupyter&lt;/a&gt; Notebook are interactive multi-purpose tools that not only let you write and execute code but, at the same time, analyze intermediate results to gain insights while working on a project. Simply put, they are amazing and they speed up development.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://research.google.com/colaboratory/" rel="noopener noreferrer"&gt;Google Collaboratory (COLABS)&lt;/a&gt; is Google’s version of Jupyter’s Notebook. It creates a virtual environment in which you can write and test your code and the best part is that it is fully online and you don’t have to worry about GPU’s and Hardware specs.&lt;/p&gt;

&lt;p&gt;Learning how to use Notebooks is a great asset to have in your journey as you learn ML.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Work with Kaggle&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://www.kaggle.com" rel="noopener noreferrer"&gt;Kaggle&lt;/a&gt; is the world’s largest data science community with powerful tools and resources to help you achieve your data science goals. It was created and is maintained by Google and is a great platform for learning Machine Learning by practice.&lt;/p&gt;

&lt;p&gt;Kaggle is home to various and popular real world scenario projects that you can work on to improve your ML skills and equip you with enough knowledge to be able to build and understand real world datasets and models on your own.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Learning Machine Learning has never been more easier in any other period in time except for now. There are hundreds if not thousands of learning materials out there which often just clouds your head and can make you give up prematurely but with a good roadmap, you can learn ML faster and most importantly, you can learn ML the right way!&lt;/p&gt;

&lt;p&gt;Thank you for reading, and I hope this roadmap I have set out for you helps you navigate the cloudy path of learning Machine Learning.&lt;/p&gt;

&lt;p&gt;If you enjoyed reading, please consider following me here on Dev.to and also on Twitter @ &lt;a href="https://twitter.com/heyOnuoha" rel="noopener noreferrer"&gt;heyOnuoha&lt;/a&gt; so you don’t miss out on new content on topics like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Web Development (JS and Python)&lt;/li&gt;
&lt;li&gt;Improving as a developer&lt;/li&gt;
&lt;li&gt;Machine Learning&lt;/li&gt;
&lt;/ul&gt;

&lt;h5&gt;
  
  
  &lt;strong&gt;Support Me&lt;/strong&gt; :
&lt;/h5&gt;

&lt;p&gt;👉 Follow Me on &lt;a href="https://twitter.com/heyOnuoha" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;br&gt;
👉 Buy me a ☕&lt;br&gt;
&lt;a href="https://www.buymeacoffee.com/heyOnuoha" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.buymeacoffee.com%2Fbuttons%2Fv2%2Fdefault-yellow.png" alt="Buy Me A Coffee" width="545" height="153"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cheers!!!&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>datascience</category>
      <category>python</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
