-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathindex.html
More file actions
41 lines (41 loc) · 42.7 KB
/
index.html
File metadata and controls
41 lines (41 loc) · 42.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<!DOCTYPE html><html lang="en" dir="ltr" data-theme="dark" data-has-hero class="astro-bguv2lll"> <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>DevTut | DevTut</title><link rel="canonical" href="https://devtut.github.io/"/><link rel="sitemap" href="/sitemap-index.xml"/><link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/><meta name="generator" content="Astro v6.4.2"/><meta name="generator" content="Starlight v0.39.2"/><meta property="og:title" content="DevTut"/><meta property="og:type" content="article"/><meta property="og:url" content="https://devtut.github.io/"/><meta property="og:locale" content="en"/><meta property="og:description" content="Example based programming tutorials for solid developers. Master 45+ programming topics."/><meta property="og:site_name" content="DevTut"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="Example based programming tutorials for solid developers. Master 45+ programming topics."/><script>
window.StarlightThemeProvider = (() => {
const storedTheme =
typeof localStorage !== 'undefined' && localStorage.getItem('starlight-theme');
const theme =
storedTheme ||
(window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark');
document.documentElement.dataset.theme = theme === 'light' ? 'light' : 'dark';
return {
updatePickers(theme = storedTheme || 'auto') {
document.querySelectorAll('starlight-theme-select').forEach((picker) => {
const select = picker.querySelector('select');
if (select) select.value = theme;
/** @type {HTMLTemplateElement | null} */
const tmpl = document.querySelector(`#theme-icons`);
const newIcon = tmpl && tmpl.content.querySelector('.' + theme);
if (newIcon) {
const oldIcon = picker.querySelector('svg.label-icon');
if (oldIcon) {
oldIcon.replaceChildren(...newIcon.cloneNode(true).childNodes);
}
}
});
},
};
})();
</script><template id="theme-icons"><svg aria-hidden="true" class="light astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M5 12a1 1 0 0 0-1-1H3a1 1 0 0 0 0 2h1a1 1 0 0 0 1-1Zm.64 5-.71.71a1 1 0 0 0 0 1.41 1 1 0 0 0 1.41 0l.71-.71A1 1 0 0 0 5.64 17ZM12 5a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v1a1 1 0 0 0 1 1Zm5.66 2.34a1 1 0 0 0 .7-.29l.71-.71a1 1 0 1 0-1.41-1.41l-.66.71a1 1 0 0 0 0 1.41 1 1 0 0 0 .66.29Zm-12-.29a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.71-.71a1.004 1.004 0 1 0-1.43 1.41l.73.71ZM21 11h-1a1 1 0 0 0 0 2h1a1 1 0 0 0 0-2Zm-2.64 6A1 1 0 0 0 17 18.36l.71.71a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.76-.66ZM12 6.5a5.5 5.5 0 1 0 5.5 5.5A5.51 5.51 0 0 0 12 6.5Zm0 9a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Zm0 3.5a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-1a1 1 0 0 0-1-1Z"/></svg><svg aria-hidden="true" class="dark astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.64 13a1 1 0 0 0-1.05-.14 8.049 8.049 0 0 1-3.37.73 8.15 8.15 0 0 1-8.14-8.1 8.59 8.59 0 0 1 .25-2A1 1 0 0 0 8 2.36a10.14 10.14 0 1 0 14 11.69 1 1 0 0 0-.36-1.05Zm-9.5 6.69A8.14 8.14 0 0 1 7.08 5.22v.27a10.15 10.15 0 0 0 10.14 10.14 9.784 9.784 0 0 0 2.1-.22 8.11 8.11 0 0 1-7.18 4.32v-.04Z"/></svg><svg aria-hidden="true" class="auto astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg></template><link rel="stylesheet" href="/_astro/print.DNXP8c50.css" media="print"><link rel="stylesheet" href="/_astro/common.RRtJxfmr.css"><script type="module" src="/_astro/page.B_tncCx8.js"></script><link rel="stylesheet" href="/_astro/index.BES-Il4s.css"></head> <body class="astro-bguv2lll"> <a href="#_top" class="astro-7q3lir66">Skip to content</a> <div class="page sl-flex astro-vrdttmbt"> <header class="header astro-vrdttmbt"><div class="header astro-kmkmnagf"> <div class="title-wrapper sl-flex astro-kmkmnagf"> <a href="/" class="site-title sl-flex astro-m46x6ez3"> <img class="astro-m46x6ez3" alt src="/_astro/logo.Clk3QVna.png" width="512" height="512"> <span class="astro-m46x6ez3" translate="no"> DevTut </span> </a> </div> <div class="sl-flex print:hidden astro-kmkmnagf"> <site-search class="astro-kmkmnagf astro-v37mnknz" data-translations="{"placeholder":"Search"}"> <button data-open-modal disabled aria-label="Search" aria-keyshortcuts="Control+K" class="astro-v37mnknz"> <svg aria-hidden="true" class="astro-v37mnknz astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.71 20.29 18 16.61A9 9 0 1 0 16.61 18l3.68 3.68a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.39ZM11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"/></svg> <span class="sl-hidden md:sl-block astro-v37mnknz" aria-hidden="true">Search</span> <kbd class="sl-hidden md:sl-flex astro-v37mnknz" style="display: none;"> <kbd class="astro-v37mnknz">Ctrl</kbd><kbd class="astro-v37mnknz">K</kbd> </kbd> </button> <dialog style="padding:0" aria-label="Search" class="astro-v37mnknz"> <div class="dialog-frame sl-flex astro-v37mnknz"> <button data-close-modal class="sl-flex md:sl-hidden astro-v37mnknz"> Cancel </button> <div class="search-container astro-v37mnknz"> <div id="starlight__search" class="astro-v37mnknz"></div> </div> </div> </dialog> </site-search> <script>
(() => {
const openBtn = document.querySelector('button[data-open-modal]');
const shortcut = openBtn?.querySelector('kbd');
if (!openBtn || !(shortcut instanceof HTMLElement)) return;
const platformKey = shortcut.querySelector('kbd');
if (platformKey && /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)) {
platformKey.textContent = '⌘';
openBtn.setAttribute('aria-keyshortcuts', 'Meta+K');
}
shortcut.style.display = '';
})();
</script> <script type="module" src="/_astro/Search.astro_astro_type_script_index_0_lang.Rw77DzG6.js"></script> </div> <div class="sl-hidden md:sl-flex print:hidden right-group astro-kmkmnagf"> <div class="sl-flex social-icons astro-kmkmnagf"> <a href="https://github.com/devtut/generate" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">GitHub</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg></a> </div> <starlight-theme-select> <label style="--sl-select-width: 6.25em" class="astro-4yphtoen"> <span class="sr-only astro-4yphtoen">Select theme</span> <svg aria-hidden="true" class="icon label-icon astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg> <select autocomplete="off" class="astro-4yphtoen"> <option value="dark" class="astro-4yphtoen">Dark</option><option value="light" class="astro-4yphtoen">Light</option><option value="auto" selected class="astro-4yphtoen">Auto</option> </select> <svg aria-hidden="true" class="icon caret astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg> </label> </starlight-theme-select> <script>
StarlightThemeProvider.updatePickers();
</script> <script type="module">const r="starlight-theme",o=e=>e==="auto"||e==="dark"||e==="light"?e:"auto",c=()=>o(typeof localStorage<"u"&&localStorage.getItem(r));function n(e){typeof localStorage<"u"&&localStorage.setItem(r,e==="light"||e==="dark"?e:"")}const l=()=>matchMedia("(prefers-color-scheme: light)").matches?"light":"dark";function t(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e==="auto"?l():e,n(e)}matchMedia("(prefers-color-scheme: light)").addEventListener("change",()=>{c()==="auto"&&t("auto")});class s extends HTMLElement{constructor(){super(),t(c()),this.querySelector("select")?.addEventListener("change",a=>{a.currentTarget instanceof HTMLSelectElement&&t(o(a.currentTarget.value))})}}customElements.define("starlight-theme-select",s);</script> <script type="module">class s extends HTMLElement{constructor(){super();const e=this.querySelector("select");e&&(e.addEventListener("change",t=>{t.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=t.currentTarget.value)}),window.addEventListener("pageshow",t=>{if(!t.persisted)return;const n=e.querySelector("option[selected]")?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}}customElements.define("starlight-lang-select",s);</script> </div> </div></header> <div class="main-frame astro-vrdttmbt"> <script type="module">const a=document.getElementById("starlight__sidebar"),n=a?.querySelector("sl-sidebar-state-persist"),o="sl-sidebar-state",i=()=>{let t=[];const e=n?.dataset.hash||"";try{const s=sessionStorage.getItem(o),r=JSON.parse(s||"{}");Array.isArray(r.open)&&r.hash===e&&(t=r.open)}catch{}return{hash:e,open:t,scroll:a?.scrollTop||0}},c=t=>{try{sessionStorage.setItem(o,JSON.stringify(t))}catch{}},d=()=>c(i()),l=(t,e)=>{const s=i();s.open[e]=t,c(s)};n?.addEventListener("click",t=>{if(!(t.target instanceof Element))return;const e=t.target.closest("summary")?.closest("details");if(!e)return;const s=e.querySelector("sl-sidebar-restore"),r=parseInt(s?.dataset.index||"");isNaN(r)||l(!e.open,r)});addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&d()});addEventListener("pageHide",d);</script> <div class="lg:sl-flex astro-67yu43on"> <div class="main-pane astro-67yu43on"> <main data-pagefind-body class="astro-bguv2lll" lang="en" dir="ltr"> <div class="content-panel astro-7nkwcw3z"> <div class="sl-container astro-7nkwcw3z"> <div class="hero astro-jbfsktt5"> <img src="/_astro/logo.Clk3QVna_ZgDXBM.webp" loading="eager" decoding="async" alt width="400" height="400" class="astro-jbfsktt5"> <div class="sl-flex stack astro-jbfsktt5"> <div class="sl-flex copy astro-jbfsktt5"> <h1 id="_top" data-page-title class="astro-jbfsktt5">DevTut</h1> <div class="tagline astro-jbfsktt5">Example based programming tutorials for solid developers. Master 45+ programming topics.</div> </div> </div> </div> <div class="sl-markdown-content"> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event("astro:load"));})();</script><script>(()=>{var g=Object.defineProperty;var w=(c,s,d)=>s in c?g(c,s,{enumerable:!0,configurable:!0,writable:!0,value:d}):c[s]=d;var l=(c,s,d)=>w(c,typeof s!="symbol"?s+"":s,d);var E=new Set(["__proto__","constructor","prototype"]);{let c={0:t=>y(t),1:t=>d(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(d(t)),5:t=>new Set(d(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>Number.POSITIVE_INFINITY*t},s=t=>{let[p,e]=t;return p in c?c[p](e):void 0},d=t=>t.map(s),y=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([p,e])=>[p,s(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,"Component");l(this,"hydrator");l(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let n=this.querySelectorAll("astro-slot"),r={},i=this.querySelectorAll("template[data-astro-template]");for(let o of i){let a=o.closest(this.tagName);a!=null&&a.isSameNode(this)&&(r[o.getAttribute("data-astro-template")||"default"]=o.innerHTML,o.remove())}for(let o of n){let a=o.closest(this.tagName);a!=null&&a.isSameNode(this)&&(r[o.getAttribute("name")||"default"]=o.innerHTML)}let u;try{u=this.hasAttribute("props")?y(JSON.parse(this.getAttribute("props"))):{}}catch(o){let a=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(a+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${a}`,this.getAttribute("props"),o),o}let h;await this.hydrator(this)(this.Component,u,r,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});l(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),n.disconnect(),this.childrenConnectedCallback()},n=new MutationObserver(()=>{var r;((r=this.lastChild)==null?void 0:r.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});n.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}getRetryImportUrl(e){let n=new URL(e,document.baseURI),r=`astro-retry=${Date.now()}`,i=n.hash.replace(/^#/,"");return n.hash=i?`${i}&${r}`:r,n.toString()}async importWithRetry(e){try{return await import(e)}catch(n){return await new Promise(r=>setTimeout(r,1e3)),import(this.getRetryImportUrl(e))}}handleHydrationError(e){let n=this.getAttribute("component-url"),r=new CustomEvent("astro:hydration-error",{cancelable:!0,bubbles:!0,composed:!0,detail:{error:e,componentUrl:n}});this.dispatchEvent(r)&&console.error(`[astro-island] Error hydrating ${n}`,e)}async start(){let e=JSON.parse(this.getAttribute("opts")),n=this.getAttribute("client");if(Astro[n]===void 0){window.addEventListener(`astro:${n}`,()=>this.start(),{once:!0});return}try{await Astro[n](async()=>{let r=this.getAttribute("renderer-url");try{let[i,{default:u}]=await Promise.all([this.importWithRetry(this.getAttribute("component-url")),r?this.importWithRetry(r):Promise.resolve({default:()=>()=>{}})]),h=this.getAttribute("component-export")||"default";if(h.includes(".")){this.Component=i;for(let m of h.split(".")){if(E.has(m)||!this.Component||typeof this.Component!="object"&&typeof this.Component!="function"||!Object.hasOwn(this.Component,m))throw new Error(`Invalid component export path: ${h}`);this.Component=this.Component[m]}}else{if(E.has(h))throw new Error(`Invalid component export path: ${h}`);this.Component=i[h]}return this.hydrator=u,this.hydrate}catch(i){return this.handleHydrationError(i),()=>{}}},e,this)}catch(r){this.handleHydrationError(r)}}attributeChangedCallback(){this.hydrate()}}l(f,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",f)}})();</script><astro-island uid="N6ODk" prefix="s0" component-url="/_astro/LanguageSearch.CDCgoc5V.js" component-export="default" renderer-url="/_astro/client.CxjsXzws.js" props="{}" ssr client="load" opts="{"name":{"computed":{},"methods":{},"__scopeId":"data-v-66bf932d"},"value":true}" await-children><div class="homepage-dashboard" data-v-66bf932d><div class="stats-grid" data-v-66bf932d><div class="stat-card" data-v-66bf932d><div class="stat-icon" data-v-66bf932d>🎓</div><div class="stat-info" data-v-66bf932d><div class="stat-value" data-v-66bf932d>45+</div><div class="stat-label" data-v-66bf932d>Technologies</div></div></div><div class="stat-card" data-v-66bf932d><div class="stat-icon" data-v-66bf932d>📚</div><div class="stat-info" data-v-66bf932d><div class="stat-value" data-v-66bf932d>3,500+</div><div class="stat-label" data-v-66bf932d>Structured Lessons</div></div></div><div class="stat-card" data-v-66bf932d><div class="stat-icon" data-v-66bf932d>⚡</div><div class="stat-info" data-v-66bf932d><div class="stat-value" data-v-66bf932d>Instant</div><div class="stat-label" data-v-66bf932d>Offline Search</div></div></div></div><div class="search-wrapper" data-v-66bf932d><div class="search-input-container" data-v-66bf932d><span class="search-icon" data-v-66bf932d>🔍</span><input type="text" value="" placeholder="What topic do you want to master today? (e.g., Python, SQL, React)" data-v-66bf932d><!----></div></div><div class="category-tabs" data-v-66bf932d><!--[--><button class="category-tab active" data-v-66bf932d><span class="tab-icon" data-v-66bf932d>🌐</span> All</button><button class="category-tab" data-v-66bf932d><span class="tab-icon" data-v-66bf932d>💡</span> Essentials</button><button class="category-tab" data-v-66bf932d><span class="tab-icon" data-v-66bf932d>💻</span> Languages</button><button class="category-tab" data-v-66bf932d><span class="tab-icon" data-v-66bf932d>🗄️</span> Databases</button><button class="category-tab" data-v-66bf932d><span class="tab-icon" data-v-66bf932d>⚡</span> Web & JS</button><button class="category-tab" data-v-66bf932d><span class="tab-icon" data-v-66bf932d>📟</span> Terminal</button><button class="category-tab" data-v-66bf932d><span class="tab-icon" data-v-66bf932d>📦</span> Frameworks</button><button class="category-tab" data-v-66bf932d><span class="tab-icon" data-v-66bf932d>📱</span> Mobile</button><button class="category-tab" data-v-66bf932d><span class="tab-icon" data-v-66bf932d>🖥️</span> Desktop & VBA</button><!--]--></div><!--[--><div class="section-container" data-v-66bf932d><div data-v-66bf932d><div class="section-header" data-v-66bf932d><span class="section-badge" data-v-66bf932d>Essential</span><div class="section-line" data-v-66bf932d></div></div><div class="cards-grid" data-v-66bf932d><!--[--><div class="lang-card" style="--accent-color:#10b981;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>65 Lessons</span></div><h3 class="card-title" data-v-66bf932d>Algorithm</h3><a href="/algorithm/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#10b981;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>59 Lessons</span></div><h3 class="card-title" data-v-66bf932d>HTML</h3><a href="/html/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#10b981;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>56 Lessons</span></div><h3 class="card-title" data-v-66bf932d>CSS</h3><a href="/css/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#10b981;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>61 Lessons</span></div><h3 class="card-title" data-v-66bf932d>Git</h3><a href="/git/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><!--]--></div></div></div><div class="section-container" data-v-66bf932d><div data-v-66bf932d><div class="section-header" data-v-66bf932d><span class="section-badge" data-v-66bf932d>Programming Language</span><div class="section-line" data-v-66bf932d></div></div><div class="cards-grid" data-v-66bf932d><!--[--><div class="lang-card" style="--accent-color:#8b5cf6;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>206 Lessons</span></div><h3 class="card-title" data-v-66bf932d>Python</h3><a href="/python/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#8b5cf6;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>120 Lessons</span></div><h3 class="card-title" data-v-66bf932d>PHP</h3><a href="/php/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#8b5cf6;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>106 Lessons</span></div><h3 class="card-title" data-v-66bf932d>JavaScript</h3><a href="/javascript/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#8b5cf6;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>185 Lessons</span></div><h3 class="card-title" data-v-66bf932d>Java</h3><a href="/java/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#8b5cf6;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>63 Lessons</span></div><h3 class="card-title" data-v-66bf932d>C</h3><a href="/c/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#8b5cf6;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>147 Lessons</span></div><h3 class="card-title" data-v-66bf932d>C++</h3><a href="/cpp/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#8b5cf6;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>165 Lessons</span></div><h3 class="card-title" data-v-66bf932d>C#</h3><a href="/csharp/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#8b5cf6;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>34 Lessons</span></div><h3 class="card-title" data-v-66bf932d>Objective-C</h3><a href="/objectivec/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#8b5cf6;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>131 Lessons</span></div><h3 class="card-title" data-v-66bf932d>R</h3><a href="/r/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#8b5cf6;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>78 Lessons</span></div><h3 class="card-title" data-v-66bf932d>Haskell</h3><a href="/haskell/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#8b5cf6;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>72 Lessons</span></div><h3 class="card-title" data-v-66bf932d>Ruby</h3><a href="/ruby/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#8b5cf6;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>40 Lessons</span></div><h3 class="card-title" data-v-66bf932d>Perl</h3><a href="/perl/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#8b5cf6;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>34 Lessons</span></div><h3 class="card-title" data-v-66bf932d>MATLAB</h3><a href="/matlab/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#8b5cf6;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>17 Lessons</span></div><h3 class="card-title" data-v-66bf932d>LaTex</h3><a href="/latex/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><!--]--></div></div></div><div class="section-container" data-v-66bf932d><div data-v-66bf932d><div class="section-header" data-v-66bf932d><span class="section-badge" data-v-66bf932d>Database Technology</span><div class="section-line" data-v-66bf932d></div></div><div class="cards-grid" data-v-66bf932d><!--[--><div class="lang-card" style="--accent-color:#06b6d4;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>64 Lessons</span></div><h3 class="card-title" data-v-66bf932d>SQL</h3><a href="/sql/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#06b6d4;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>73 Lessons</span></div><h3 class="card-title" data-v-66bf932d>MySQL</h3><a href="/mysql/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#06b6d4;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>113 Lessons</span></div><h3 class="card-title" data-v-66bf932d>MS SQL Server</h3><a href="/mssql/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#06b6d4;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>29 Lessons</span></div><h3 class="card-title" data-v-66bf932d>PostgreSQL</h3><a href="/postgresql/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#06b6d4;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>47 Lessons</span></div><h3 class="card-title" data-v-66bf932d>Oracle Database</h3><a href="/oracle/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#06b6d4;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>27 Lessons</span></div><h3 class="card-title" data-v-66bf932d>MongoDB</h3><a href="/mongodb/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><!--]--></div></div></div><div class="section-container" data-v-66bf932d><div data-v-66bf932d><div class="section-header" data-v-66bf932d><span class="section-badge" data-v-66bf932d>JavaScript Technology</span><div class="section-line" data-v-66bf932d></div></div><div class="cards-grid" data-v-66bf932d><!--[--><div class="lang-card" style="--accent-color:#f59e0b;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>111 Lessons</span></div><h3 class="card-title" data-v-66bf932d>Node.js</h3><a href="/nodejs/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#f59e0b;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>31 Lessons</span></div><h3 class="card-title" data-v-66bf932d>ReactJS</h3><a href="/reactjs/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#f59e0b;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>52 Lessons</span></div><h3 class="card-title" data-v-66bf932d>AngularJS</h3><a href="/angularjs/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#f59e0b;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>70 Lessons</span></div><h3 class="card-title" data-v-66bf932d>Angular 2</h3><a href="/angular2/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#f59e0b;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>30 Lessons</span></div><h3 class="card-title" data-v-66bf932d>TypeScript</h3><a href="/typescript/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#f59e0b;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>18 Lessons</span></div><h3 class="card-title" data-v-66bf932d>jQuery</h3><a href="/jquery/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><!--]--></div></div></div><div class="section-container" data-v-66bf932d><div data-v-66bf932d><div class="section-header" data-v-66bf932d><span class="section-badge" data-v-66bf932d>Terminal</span><div class="section-line" data-v-66bf932d></div></div><div class="cards-grid" data-v-66bf932d><!--[--><div class="lang-card" style="--accent-color:#6b7280;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>21 Lessons</span></div><h3 class="card-title" data-v-66bf932d>Linux</h3><a href="/linux/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#6b7280;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>71 Lessons</span></div><h3 class="card-title" data-v-66bf932d>Bash</h3><a href="/bash/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#6b7280;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>74 Lessons</span></div><h3 class="card-title" data-v-66bf932d>PowerShell</h3><a href="/powershell/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><!--]--></div></div></div><div class="section-container" data-v-66bf932d><div data-v-66bf932d><div class="section-header" data-v-66bf932d><span class="section-badge" data-v-66bf932d>Framework</span><div class="section-line" data-v-66bf932d></div></div><div class="cards-grid" data-v-66bf932d><!--[--><div class="lang-card" style="--accent-color:#ec4899;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>59 Lessons</span></div><h3 class="card-title" data-v-66bf932d>.NET Framework</h3><a href="/dotnet/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#ec4899;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>23 Lessons</span></div><h3 class="card-title" data-v-66bf932d>Entity Framework</h3><a href="/entityframework/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#ec4899;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>74 Lessons</span></div><h3 class="card-title" data-v-66bf932d>Ruby on Rails</h3><a href="/rubyonrails/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#ec4899;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>44 Lessons</span></div><h3 class="card-title" data-v-66bf932d>Spring Framework</h3><a href="/spring/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#ec4899;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>210 Lessons</span></div><h3 class="card-title" data-v-66bf932d>iOS</h3><a href="/ios/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><!--]--></div></div></div><div class="section-container" data-v-66bf932d><div data-v-66bf932d><div class="section-header" data-v-66bf932d><span class="section-badge" data-v-66bf932d>Visual Basic</span><div class="section-line" data-v-66bf932d></div></div><div class="cards-grid" data-v-66bf932d><!--[--><div class="lang-card" style="--accent-color:#3b82f6;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>51 Lessons</span></div><h3 class="card-title" data-v-66bf932d>Visual Basic .NET</h3><a href="/vbnet/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#3b82f6;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>46 Lessons</span></div><h3 class="card-title" data-v-66bf932d>VBA</h3><a href="/vba/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#3b82f6;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>31 Lessons</span></div><h3 class="card-title" data-v-66bf932d>Excel VBA</h3><a href="/excelvba/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><!--]--></div></div></div><div class="section-container" data-v-66bf932d><div data-v-66bf932d><div class="section-header" data-v-66bf932d><span class="section-badge" data-v-66bf932d>Mobile Technology</span><div class="section-line" data-v-66bf932d></div></div><div class="cards-grid" data-v-66bf932d><!--[--><div class="lang-card" style="--accent-color:#f43f5e;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>32 Lessons</span></div><h3 class="card-title" data-v-66bf932d>React Native</h3><a href="/reactnative/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#f43f5e;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>268 Lessons</span></div><h3 class="card-title" data-v-66bf932d>Android</h3><a href="/android/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#f43f5e;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>60 Lessons</span></div><h3 class="card-title" data-v-66bf932d>Swift</h3><a href="/swift/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#f43f5e;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>38 Lessons</span></div><h3 class="card-title" data-v-66bf932d>Kotlin</h3><a href="/kotlin/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><div class="lang-card" style="--accent-color:#f43f5e;" data-v-66bf932d><div class="card-inner" data-v-66bf932d><div class="card-top" data-v-66bf932d><span class="category-indicator" data-v-66bf932d></span><span class="lessons-badge" data-v-66bf932d>79 Lessons</span></div><h3 class="card-title" data-v-66bf932d>Xamarin</h3><a href="/xamarin/" class="card-action" data-v-66bf932d><span data-v-66bf932d>Start Learning</span><span class="action-arrow" data-v-66bf932d>→</span></a></div></div><!--]--></div></div></div><!--]--><!----></div><!--astro:end--></astro-island> </div> <footer class="sl-flex astro-3yyafb3n"> <div class="meta sl-flex astro-3yyafb3n"> </div> <div class="pagination-links print:hidden astro-u2l5gyhi" dir="ltr"> </div> </footer> </div> </div> </main> </div> </div> </div> </div> </body></html>