# devAhoy LLM Index - Language: th-TH - Canonical Site: https://www.devahoy.com - Notes: เนื้อหาทั้งหมดเป็นภาษาไทย พร้อมโค๊ดตัวอย่าง เพื่อการศึกษา - LLM Usage: ใช้ไฟล์นี้เป็น Index page เพื่อเข้าถึงบทความฉบับ Markdown ในลิงก์ด้านล่าง - หมายเหตุ: เนื้อหาในลิงก์บางส่วนอาจไม่ได้อัพเดทและไม่ถูกต้อง โปรดตรวจสอบก่อนนำไปใช้งานจริง ## Blog Posts - [OpenCode คืออะไร? มาลองใช้งานกันดูครับ](/llms/posts/intro-to-open-code.md): วันนี้มาลองใช้งาน OpenCode กันดูครับ ว่า OpenCode คืออะไร? และใช้งานเบื้องต้นกันดู ซึ่งปัจจุบัน ผมใช้งานหลักๆ ตอนนี้คือ Claude Code และ Codex ซึ่งตัว OpenCode... - [ตั้งค่า Claude Code ให้สามารถใช้งาน AI หลายๆ ตัวได้](/llms/posts/setup-multiple-llm-providers-in-claude-code.md): โดยปกติเวลาที่เราใช้งาน Claude Code เราจะใช้ได้แค่ Model ของ Claude วันนี้มาแนะนำ trick เล็กๆน้อยๆ ให้เราสามารถใช้ Model ของ Provider อื่นๆ ได้ด้วยผ่าน Claude... - [บันทึกการ Migrate Astro จาก Vercel ไป Cloudflare Workers](/llms/posts/migrate-vercel-to-cloudflare-worker.md): สวัสดีครับ วันนี้มาแชร์ประสบการณ์เล็กๆน้อยๆ ในการย้ายเว็บ (อีกแล้ว) จาก Vercel มาใช้ Cloudflare Workers ครับ ณ วันที่เขียนบทความ ก็ได้ทำการย้ายเสร็จเรียบร้อยตั้... - [ลองใช้งาน GLM Coding ร่วมกับ Claude Code](/llms/posts/use-glm-with-claude-code.md): สวัสดีครับ วันนี้ได้ลองใช้งานตัว GLM Coding 4.6 ที่เห็นหลายๆคนแชร์กันมา และเป็นโอกาสดีที่ผมจะหาอะไรมาแทนที่ Claude Code ยอมรับว่าช่วงแรกๆ ติด AI หนักมาก ทุกงาน... - [มาลองใช้งาน Hardhat 3 กันดีกว่า](/llms/posts/hello-hardhat-3.md): ตั้งแต่ไปใช้ Foundry ก็แทบจะไม่ได้ใช้ Hardhat เลย หลังจากได้ยินว่า Hardhat 3 ออกมา รองรับ Test แบบใช้ solidity แล้ว (เทสได้ทั้ง และ )... - [ใช้ Claude Code เขียนเกมงู แบบ Vibe Coding เล่นๆ](/llms/posts/snake-game-html-with-claude-code.md): สวัสดีครับ บทความนี้ต่อยอดมาจากบทความสร้างเกมงูด้วย HTML นะครับ โดยใช้ Claude Code มาช่วยเขียน เพื่อเพิ่ม feature ให้มัน เช่น เพิ่มปุ่ม Settings,... - [มาลองสร้างเกมงู​ด้วย HTML กันดีกว่า (Snake Game)](/llms/posts/create-snake-game-html.md): ใน Tutorial นี้เราจะมาเรียนรู้วิธีสร้างเกม Snake แบบง่ายๆ ด้วย HTML, CSS และ JavaScript กันครับ โดยจะแบ่งเป็นขั้นตอนต่างๆ เพื่อให้เข้าใจง่าย Youtube video... - [มารู้จักกับ HTML5 Canvas กันดีกว่า](/llms/posts/introduction-to-html-canvas.md): สวัสดีครับ มาเรียนรู้พื้นฐานของ HTML5 Canvas กันดีกว่า โดยเนื้อหานี้จะอธิบายถึง Canvas วิธีใช้งาน และตัวอย่างการใช้งาน เพื่อต่อยอดไปเขียนเกม ในบทถัดไปครับ... - [ทำระบบเว็บขายของ ซื้อสินค้า ร้านค้าออนไลน์ ด้วย Next.js + Supabase + Stripe](/llms/posts/e-commerce-web-with-nextjs-supabase-stripe.md): สวัสดีครับ วันนี้เราจะมาลองสร้างเว็บขายของง่ายๆ โดยเป็นการชำระเงินผ่าน Stripe และการยืนยันการสั่งซื้อผ่าน Stripe webhook เพื่ออัปเดตข้อมูลใน Supabase กันครับ... - [เริ่มต้นหัดเขียน React.js กันดีกว่า (อัพเดทปี 2025)](/llms/posts/intro-to-react.md): สวัสดีครับ วันนี้จะมาแนะนำการเริ่มต้นเขียน React.js ฉบับปี 2025 สำหรับผู้ที่เพิ่งเริ่มศึกษานะครับ โดยบทความจะเน้นไปที่ตัวอย่าง แนะนำโค๊ด เพื่อให้เห็นภาพ... - [เรียนรู้ AI วันแรก กับ OpenAI API ด้วย JavaScript](/llms/posts/learn-ai-day1.md): สวัสดีครับ บทความนี้จะเป็นการบันทึกการเรียนรู้ AI ของผมเอง เอาจริงๆ เนื้อหาก็จะผสมๆกันไป เน้นเรียนรู้ ลงมือทำ และทดลองไปเรื่อยๆ ก่อนหน้านี้ผมก็ได้ลองเล่น AI... - [ลองทำการ Read/Write Contract บน Blockchain ด้วย Viem](/llms/posts/read-write-contract-with-viem.md): สวัสดีครับ บล็อกนี้เป็นบล็อกบันทึกสั้นๆ เกี่ยวกับการใช้งาน Viem ในการ Read และ Write Contract ซึ่งปกติคิดว่าหลายๆ คนน่าจะใช้ตัว Ethers.js กันมากกว่า แต่หลังๆ... - [Tailwind v4 ออกแล้ว + บันทึกการ Migrate Tailwind + Astro](/llms/posts/how-to-migrate-tailwind-v4-with-astro.md): เมื่อ 2 สัปดาห์ก่อน Tailwind CSS v4.0 เพิ่งออกมา วันนี้เลยมาลองทำการเปลี่ยนจาก Tailwind v3 มาเป็น v4 ดูครับ เนื่องจากเว็บบล็อกนี้ใช้ Astro + Tailwind ตัวอย่าง... - [Astro คืออะไร? มาลองทำเว็บด้วย Astro กันครับ](/llms/posts/getting-started-with-astro.md): Astro: The web framework for content-driven websites นี่คือสโลแกนของ Astro ในหน้าเว็บ Astro คือ คือเฟรมเวิร์คสำหรับสร้างเว็บไซต์ที่เน้นเนื้อหา (Content)... - [วิธีการติดตั้ง Umami ใน Astro](/llms/posts/integrating-umami-with-astro.md): วิธีการติดตั้ง Umami ลงบนเว็บไซต์ที่เขียนด้วย Astro จริงๆ การติดตั้งก็ง่ายมาก คือแค่เพิ่ม tracking code ลงไปในเว็บไซต์ แต่ในตัว Astro จะมีปัญหานิดหน่อย... - [Devahoy + Astro กับการเปลี่ยนเว็บใหม่อีกครั้ง](/llms/posts/devahoy-v7-with-astro.md): สวัสดีครับ วันนี้ผมมาเขียนบล็อกแชร์ประสบการณ์การเปลี่ยนเว็บจาก Next.js มาเป็น Astro ว่าทำไมถึงเลือกเปลี่ยน โดยเป้าหมายหลักๆ คือ ทำไมผมถึงเลือกใช้ Astro? -... - [วิธีการ deploy Phoenix App ด้วย Fly.io](/llms/posts/deploy-phoenix-app-with-fly-io.md): เนื่องจากช่วงนี้ไปลอง Tutorial เกี่ยวกับ Elixir + Phoenix เพราะเห็นตัว LiveView แล้วน่าสนใจ ทีนี้ก็ติดปัญหา ว่าจะหา Hosting ที่เอาไว้ deploy แบบง่ายๆ... - [\[Workshop\] ทำ Chat Application ด้วย Express + Socket.io และ React.js](/llms/posts/chat-app-react-socket-io.md): สวัสดีครับ Workshop นี้เป็น workshop ที่ต่อยอดมาจากตัวที่แล้วนะครับ เป็นการทำ Chat Application ด้วยการใช้ socket.io และ React.js ซีรีย์ทำ Chap Application - ทำ... - [\[Workshop\] ทำ Chat Application ด้วย Node.js, Express และ Socket.io](/llms/posts/chat-app-with-express-socketio.md): สวัสดีครับ วันนี้มาลองฝึกทำ Workshop ง่ายๆ กัน ด้วยการทำ Chat Application ด้วยการใช้ socket.io ในตัวอย่าง ผมจะใช้ socket.io ร่วมกับ Node.js + Express.js และตัว... - [Bun คืออะไร? + เร็วแรงทะลุนรก จริงมั้ย?](/llms/posts/hello-bun.md): ช่วงเดือนที่ผ่านมา เรียกได้มากระแส Bun ค่อนข้างดี หลังจากที่ออก Bun 1.0 เรียกได้ว่าหลายๆ อย่างเร็วกว่า Node.js มาก ถึงขนาดมีดราม่าเล็กๆ น้อยๆ เกี่ยวกับ... - [Fetch Data ใน React.js ทำยังไงบ้าง?](/llms/posts/how-to-fetch-data-in-react.md): เราสามารถ fetch data ใน React.js ได้ท่าไหนบ้าง? มีทั้งการ fetch โดยไม่ต้องใช้ library อะไร และการใช้ library ที่ช่วยจัดการเรื่อง loading, caching หรือการ... - [วิธีการดึงข้อมูล API (Data Fetching) ด้วย Svelte](/llms/posts/fetch-api-with-svelte.md): ตัวอย่างนี้ จะพูดถึงแค่วิธีการดึงข้อมูลจาก API ด้วยการใช้ Svelte ธรรมดานะครับ ไม่รวมถึง SvelteKit ซึ่งจะแยกเป็นอีกบทความนึงนะครับ การดึงข้อมูลจาก API ใน Svelte... - [เรียนรู้ Transition เพิ่มลูกเล่นให้กับเว็บเรา ด้วย Svelte Transition](/llms/posts/learn-svelte-transition.md): พอดีวันนี้ผมลองทำ Svelte Transition เล่นๆ ก็เลยเอามาแชร์เป็นบทความครับ โดยปกติเว็บทั่วๆไป ก็จะต้องมีการเพิ่มลูกเล่น มี animation มี transition เล็กๆน้อยๆ... - [มาใช้ Zustand ร่วมกับ React + TypeScript กันดีกว่า](/llms/posts/zustand-react-typescript.md): สวัสดีครับ วันนี้ขอมาเขียนบล็อก วิธีการใช้งาน Zustand ร่วมกับ React.js + TypeScript เผื่อใครไม่รู้ตัว Zustand เป็น State Management library ตัวนึงของ React... - [เขียน Unit Test ด้วย React + TypeScript + Vitest](/llms/posts/setup-vitest-with-react.md): ปกติโปรเจ็ค React ส่วนใหญ่จะนิยมใช้ Jest + Testing Library กันใช่มั้ย แต่ช่วงนี้ผมได้ลองใช้ Vitest แล้วรู้สึกชอบมากกว่า ก็เลยพยายามเปลี่ยนมาใช้ Vitest... - [\[JavaScript\] Sort ข้อมูลใน Object ทำยังไง?](/llms/posts/javascript-sort-object-with-key.md): ก่อนหน้านี้เราพูดถึง JavaScript เบื้องต้นกันไปแล้ว วันนี้จะมาลองใช้งาน ในระดับลึกขึ้นนั่นก็คือ การ sort ข้อมูลในรูปแบบที่เป็น Object ใน Array กันนะครับ หลายๆ... - [JavaScript sort ข้อมูลตัวเลข ไม่ถูกต้อง?](/llms/posts/javascript-sort.md): พอดีวันนี้ได้มีโอกาส นั่ง sort และ merge พวกข้อมูลจาก Array ก็เลยได้ไอเดีย นำมาเขียนเป็นบทความซะเลย เกี่ยวกับการ Sort ใน JavaScript ปกติเราสามารถเรียงข้อมูลใน... - [มาลองหัดเขียน Svelte กันดีกว่า](/llms/posts/intro-to-svelte.md): สวัสดีครับ เนื่องจากว่าผมเพิ่งลองหัดเขียน Svelte ก็เลยนำมาเขียนเป็นบทความสรุปเอาไว้ สำหรับคนที่กำลังเริ่มศึกษา เหมือนๆกันกับผม ซึ่งผมมีพื้นฐาน React.js กับ Vue... - [\[Workshop\] ทำแอพคำนวณ BMI ด้วย React.js](/llms/posts/intro-to-react-bmi-calculator.md): สวัสดีครับ Workshop นี้เป็นหนึ่งใน Workshop ในคอร์สเรียน สอนเขียนเว็บด้วย React.js นะครับ ตัวแอพนี้จะเป็น BMI Calculator หรือโปรแกรมคำนวณค่าดัชนีมวลกายนั่นเอง... - [CommonJS และ ESM คืออะไร? และต่างกันอย่างไร?](/llms/posts/commonjs-vs-es-module.md): หลายๆ คนมักจะงงๆ และสับสนระหว่างการใช้ หรือการใช้ ซึ่งจริงๆ มันก็คือการเปรียบเทียบระหว่าง CommonJS และ ESM นั่นเอง CommonJS คืออะไร? CommonJS เป็น standard... - [ลอง Playwright เทสแอพ React + Vite แบบง่ายๆ](/llms/posts/playwright-with-simple-react-vite.md): หลังจากวันก่อน ได้ลองใช้งาน Playwright ไป วันนี้ก็เลยลองเอาตัว Playwright มาลองทำ testing ง่ายๆ ด้วยการจำลองเว็บ โดยใช้ default เว็บ ของ React + Vite... - [ทำ subscribe event ง่ายๆ เมื่อมีคนโอน token (USDT)](/llms/posts/subscribe-event-blockchain-viem.md): สวัสดีครับ บทความนี้เป็นตัวอย่างการทำ Subscribe events Token หรือจะใช้กับ NFT ก็ได้ โดยเมื่อเราได้รับ event เราก็สามารถแจ้งเตือน Push Notification, ส่ง email,... - [วิธีการรัน Ethereum Blockchain บน Local Node](/llms/posts/ethereum-blockchain-local-node.md): ขั้นตอนการรัน Local Node สำหรับการพัฒนา Smart Contract บน Ethereum วันนี้ขอนำเสนอ 3 วิธีครับ คือ 1. ใช้ Hardhat Node 2. ใช้ Ganache 3. ใช้ anvil (Foundry) โดย... - [ลองใช้งาน Playwright ในการทำ e2e testing](/llms/posts/getting-started-with-playwright.md): สวัสดีครับ บทความนี้มาลองเล่น Playwright เพื่อเอามาทำ automate e2e testing ครับ Playwright เป็น e2e testing framework (end to end) ที่พัฒนาโดย Microsoft ตัว... - [ทำ Mock API ด้วย json-server](/llms/posts/mock-api-with-json-server.md): ปกติถ้าเราทำงาน Frontend การที่เราจะทำการดึงข้อมูล API เราจำเป็นต้องรอให้ฝั่ง Backend ทำ API ให้เสร็จ ถึงจะเทสได้ ทีนี้ ถ้าเราอยากเทส API เอง หรืออยากทำ... - [วิธีการใช้ VS Code ในการ debug โค๊ด JavaScript](/llms/posts/vscode-debugging-js.md): ปกติคนที่เขียน JavaScript เชื่อว่าเกือบทุกคน ต้องใช้ แน่ๆ ผมก็เป็นหนึ่งในนั้น บางครั้ง เราต้องการเทสอะไรไวๆ ก็ มันซะเลย วันนี้ผมมาแชร์อีกวิธีนึงในการ debug... - [มาหัดเขียน TypeScript กันเถอะ](/llms/posts/getting-started-with-typescript.md): สวัสดีครับ มาทำความรู้จักกับ TypeScript และหัดใช้งานเบื้องต้นกันดูครับ ปัจจุบันคิดว่า โปรเจ็คส่วน เป็น TypeScript กันเกือบหมด ทีนี้ ใครยังไม่เคยใช้... - [เขียนเว็บด้วย Next.js + TypeScript ตอนที่ 2 - ว่าด้วยเรื่อง Routing และ Dynamic Routes](/llms/posts/getting-started-with-nextjs-routing-dynamic-routes.md): สวัสดีครับ มาต่อกันที่ ตอนที่ 2 วันนี้จะเป็นเรื่องของ Routing และ Dynamic Routes ครับ วันนี้จะเป็นเนื้อหาเพิ่มเติมของตอนที่ 1 เกี่ยวกับการสร้างหน้าเพจ และ... - [เขียนเว็บด้วย Next.js + TypeScript ตอนที่ 1](/llms/posts/getting-started-with-nextjs.md): สวัสดีครับ บทความนี้เป็นบทความชุดเขียนเว็บด้วย Next.js + TypeScript นะครับ เป็นเวอร์ชั่นที่ปรับปรุงจากบทความก่อนที่ผมเขียนไว้ Next.js คืออะไร? Next.js... - [ลองใช้งาน Viem เปรียบเทียบกับ Ethers.js](/llms/posts/hello-viem.md): เนื่องจากผมเห็น Twitter เกี่ยวกับ Viem ผ่านๆ เมื่ออาทิตย์ที่ผ่านมา ยังไม่ได้มีเวลาลอง วันนี้ก็เลยถือโอกาสลองเล่นดูว่าจะทดแทน Ethers.js ได้หรือไม่ และดี... - [Interact Smart Contract ด้วย Ethers.js](/llms/posts/interact-smart-contract-with-ethersjs.md): วิธีการ Interact กับ Smart Contract ด้วยการใช้ Ethers.js ไม่ว่าจะเป็นการ call function ธรรมดา ที่ไม่ได้ไปยุ่งเกี่ยวกับ state ไม่ต้องเสียค่า gas หรือการ send... - [ลองเขียนและ Deploy Smart Contract ด้วย Foundry](/llms/posts/smart-contract-development-with-foundry.md): หลังจากที่หลายวันก่อนได้ลองใช้งาน Foundry และก็หัดใช้งานเบื้องต้นไป เผื่อจะเอามาแทนที่ Hardhat วันนี้วันหยุด ว่างๆ ก็เลยถือโอกาส ลองเล่น ลองเปลี่ยนมาลองใช้... - [\[React.js\]ใช้ SWR เพื่อดึงข้อมูล API](/llms/posts/react-app-fetch-api-with-swr.md): สวัสดีครับ บทความนี้มาแนะนำการเขียน React เพื่อดึงข้อมูลจาก API ด้วยการใช้ SWR นะครับ เนื่องจากผมเคยเขียนบทความไว้เมื่อ 3 ปีที่แล้ว เนื้อหาน่าจะค่อนข้างเก่า... - [สร้างโปรเจ็ค Express + TypeScript](/llms/posts/express-typescript.md): วิธีการเริ่มโปรเจ็คด้วยการใช้ Express.js กับ TypeScript ซึ่งช่วงหลังๆ ผมก็แทบไม่ค่อยได้จับงาน Backend ซักเท่าไหร่ และไม่ได้ใช้ Express แล้ว วันนี้ว่างๆ... - [ติดตั้งและลองใช้งาน Foundry](/llms/posts/hello-foundry.md): วันนี้ได้ลองหัดเล่น Foundry ซึ่งเคยติดตั้งไว้นานมากๆ แล้ว แต่ไม่ได้ใช้งานซักที ฮ่าๆ วันนี้ลองมานั่งอ่าน Foundry Book นั่งเล่นใหม่ พบว่ามันน่าสนใจมากๆ ตัว... - [วิธีการติดตั้ง MongoDB บน Mac OS](/llms/posts/install-mongodb-on-mac-os.md): สำหรับวิธีการติดตั้ง MongoDB บน Mac OS เราจะใช้การติดตั้งผ่าน homebrew กันนะครับ หากใครยังไม่มี Homebrew ก็ต้องติดตั้งก่อน วิธีการติดตั้ง MongoDB ด้วย Homebrew... - [เตรียมเครื่องมือสำหรับ Rust + Substrate Development](/llms/posts/setup-rust-and-substrate.md): สวัสดีครับ บทความนี้เป็นการเตรียมเครื่องมือ การติดตั้งต่างๆ สำหรับ Rust + Substrate นะครับ บน Mac OS โดย บทความนี้เป็นบทความอัพเดทเพิ่มเติมจากก่อนหน้านี้ที่ผมเข... - [การเปลี่ยนค่า Object ใน state ของ React.js](/llms/posts/updating-objects-in-state.md): สวัสดีครับ จริงๆ บทความนี้ก็เป็นกึ่งๆ อ่านสรุป + แปลจากต้นฉบับแหละครับ ตัวอย่างโค๊ด และคำอธิบาย ก็อ่านจากเว็บ reactjs และผมก็ไม่ได้เอามาทั้งหมด... - [ดึงข้อมูล Graphql API ด้วย React + urql](/llms/posts/react-graphql-with-urql.md): ตัวอย่างการใช้งาน GraphQL บนโปรเจ็ค React.js เพื่อดึงข้อมูล API ผ่าน Graphql โดยตัวอย่างจะใช้ Public API ที่เป็น Country Code Graphql จากเว็บนี้ GraphQL... - [วิธีการใช้ Wallet ใน Ethers.js](/llms/posts/wallet-with-etherjs.md): วิธีการสร้าง Wallet ใหม่ และการโหลด Wallet จาก Private Key หรือ Seed Phrase ที่มีอยู่ ด้วยการใช้ Ethers.js - https://docs.ethers.org/v5/ เริ่มจากการติดตั้ง... - [วิธีการดึงข้อมูล API ด้วยการใช้ Fetch API](/llms/posts/javascript-fetch-api.md): ในปัจจุบันต้องบอกว่าการรับส่งข้อมูลจาก Client ไปยัง Server ผ่าน API ถือเป็นเรื่องพื้นฐานและปกติมาก ที่ทุกคนน่าจะเคยได้ใช้งานมา ถ้าจะให้ย้อนกลับไป... - [Vue.js คืออะไร + สอนใช้งาน Vue.js เบื้องต้น](/llms/posts/basic-vue.md): Vue อ่านว่า วิว ออกเสียงแบบ View ในภาษาอังกฤษ จุดเริ่มต้นของ Vue เลยคือมันทำหน้าที่เป็น View ใน MVC (Model View Controller) นั่นแหละ เป็น JavaScript Framework... - [สวัสดี Deno - ลองเขียนเว็บด้วย Deno กันดีกว่า](/llms/posts/hello-deno.md): Deno คืออะไร? Deno เป็น JavaScript Runtime ที่คล้ายๆ Node.js (คนสร้าง Node.js มาสร้าง Deno ด้วยแนวคิดที่ดีกว่าเดิม) ไม่ใช่แค่ JavaScript Runtime... - [เพิ่มพื้นที่ว่างบนเครื่องด้วย npkill](/llms/posts/npkill.md): เผื่อใครยังไม่รู้ หากคุณมีปัญหาพื้นที่บนเครื่องเต็ม ต้องคอยนั่งลบ เอง วันนี้ผมขอนำเสนอวิธีง่ายๆ ครับ ด้วยการใช้ - npkill website การใช้งาน เราสามารถรันได้ 2... - [วิธีแก้ปัญหา unknown at rule ของ tailwind css](/llms/posts/vscode-unknown-at-rules-css.md): สวัสดีครับ วันนี้มาเขียนบล็อกสั้นๆ แนะนำทริคเล็กๆ น้อยๆ ในการแก้ปัญหา warning ของ VS Code นะครับ ซึ่งจะเกิด เมื่อเราใช้ Tailwind CSS ปัญหาคือ VS Code จะขึ้น... - [บันทึกการใช้ Cloudflare Worker เพื่อรับ Webhook จาก Github](/llms/posts/cloudflare-worker-webhook-github-slack.md): สืบเนื่องมาจากผมใช้ giscus.app ที่เป็น Comment System โดยใช้ Github Discussions แต่ปัญหาคือ ผมไม่เคยได้ Notifications เวลามี activity ใน discussions เลย... - [ทำปุ่ม Connect Wallet เชื่อมต่อ Blockchain ง่ายๆ ด้วย Rainbowkit](/llms/posts/web3-connect-wallet-with-rainbowkit.md): วิธีการทำปุ่ม Connect Wallet สำหรับ Decentralize App (dApp) ปัจจุบันนั้นง่ายมาก และมีหลาย Library ให้เลือกใช้ เช่น - web3-react - Web3Modal - useDapp - Connect... - [สร้างโปรเจ็ค React ด้วยการใช้ Vite](/llms/posts/create-react-project-with-vite.md): วันนี้จะมาแนะนำ Frontend Tooling ตัวนึงที่ชื่อว่า Vite อ่านว่า วีด อ่านคล้ายๆกับ veet โดย Evan You ผู้สร้าง Vue.js นั่นเอง แต่ตัว Vite ไม่ได้รองรับแค่ Vue... - [ตัวอย่างการใช้ Cookie Consent เพื่อรองรับ PDPA แบบง่ายๆ](/llms/posts/cookie-consent-demo.md): Cookie Consent เป็น JavaScript Plugin ที่ทำให้เราทำ Cookie Consent แสดง Popup เพื่อขอความยินยอมจากผู้ใช้งานได้แบบง่ายๆ เลย ตัว Plugin เป็น Vanilla JavaScript... - [ลองเขียน Hello World Solana ด้วยการใช้ Solana Playground](/llms/posts/hello-world-solana-playground.md): สวัสดีครับ วันนี้วันศุกร์ค่ำๆ ก่อนนอนว่างๆ เลยลองเล่นตัว Solana Playground ดูซักหน่อยว่าเป็นยังไง (ยังเป็นตัว Beta อยู่นะครับ) ตัว Solana Playground เป็น Web... - [ตัวอย่างการทำ Tab ด้วย Headless UI ของดีจาก Tailwind Labs](/llms/posts/headlessui-tabs-example.md): Headlessui เป็น UI Components จากทีม Tailwind Labs ปัจจุบัน รองรับ React.js และ Vue.js โดยปัจจุบันมี Component ให้เลือก เช่น Dropdown, Menu, Toggle, Switch,... - [Getting Started with SDL 2.0 บน Mac OS](/llms/posts/getting-started-with-sdl.md): บทความนี้ขอบันทึกการเริ่มต้นเขียนเกมด้วยภาษา C++ โดยใช้ SDL 2.0 ครับ โดยที่เครื่องที่ผมใช้คือ Mac OS ฉะนั้น ขั้นตอนต่างๆ ก็จะเป็น Mac OS... - [วิธีการกำหนด Routes ของ React Router v6](/llms/posts/routes-with-react-router-v6.md): เนื่องจากช่วงนี้ได้กลับมาทบทวน React Router เพื่อนำมาทำเป็นเนื้อหาในคอร์สสอน React เบื้องต้น หลังจากที่ไม่ได้ใช้ Client Routing มานานมากๆ แล้ว (ปัจจุบัน แอพ... - [วิธีการดึงข้อมูล API ด้วยการใช้ axios](/llms/posts/fetch-api-with-axios.md): ต้องบอกว่า axios เป็น HTTP Client Library ตัวนึงที่คนนิยมใช้งานมากๆ เผลอๆ จะมากกว่า Fetch API ที่เป็น global module ของ Browser ซะอีก (รวมถึงฝั่ง Node.js... - [การใช้ Custom Errors ในภาษา Solidity](/llms/posts/solidity-custom-error.md): การทำ Error Handling น่าจะเป็น common ที่มีในทุกๆภาษา เพื่อจัดการกับ error case และ error message ซึ่ง Solidity ก็มีเช่นกัน ใน Solidity เรามักจะใช้ กับ... - [ทำระบบอัพโหลดไฟล์ด้วย Node.js + Multer](/llms/posts/file-upload-nodejs-multer.md): วิธีการทำระบบไฟล์อัพโหลดด้วยการใช้ Node.js + Express และ Multer ซึ่งบทความนี้เป็นบทความอัพเดท จากที่เคยเขียนไว้ก่อนหน้านี้ 7-8 แล้วครับ ทำระบบอัพโหลดไฟล์ด้วย... - [บันทึกการลองเล่น Spin](/llms/posts/hello-spin.md): วันนี้ได้ลองหัดเล่นตัว Spin ก็เลยนำมาเขียนบันทึกเป็นการเรียนรู้เอาไว้ครับ ซึ่งจริงๆแล้วตัว Spin มันก็ยังเป็น early preview อยู่นะครับ เนื่องจากช่วงนี้ผมสนใจ... - [บันทึกการใช้ Git Rebase และ Squash](/llms/posts/git-rebase-and-squash.md): วันนี้ขอเขียนบันทึกเรื่อง Git Rebase ไว้ซักหน่อย เพราะเป็นคำสั่ง ที่ใช้บ่อยมากๆ แม้จะไม่เท่าพวก , , ก็เถอะ โดยผมติต่างว่า ผู้อ่าน อาจจะพอมีพื้นฐาน git มาบ้าง... - [\[React.js\] หัดใช้งาน Zustand เพื่อจัดการ State](/llms/posts/state-management-with-zustand.md): พอดีว่าผมห่างหายกับการเขียน React.js ไปพักใหญ่ๆ คือแทบไม่ได้เขียนโค๊ด หรือทำเว็บเลย ตั้งแต่ปีที่แล้ว และเพิ่งกลับมารื้อฟื้นใหม่ ก็ต้นปี 2022 ที่ผ่านมา... - [วิธีเริ่มต้นใช้งาน Tailwind CSS ง่ายๆ ผ่าน CDN](/llms/posts/tailwind-101-with-cdn.md): ช่วงนี้เห็นหลายๆเว็บใช้ Tailwind CSS กันเยอะมาก และแต่ละเว็บก็หน้าตาคล้ายๆกัน ชวนให้นึกถึงสมัยก่อน ที่เปิดเว็บไหนๆ ก็เจอแต่ Bootstrap... - [ทดลอง Compile Rust เป็น WebAssembly](/llms/posts/hello-wasm.md): สืบเนื่องจากช่วงนี้ผมสนใจ WebAssembly เป็นพิเศษ เนื่องจากสนใจ Rust ด้วย และคิดว่ามันก็น่าสนใจ และมักจะเห็นคนพูดถึงสองตัวนี้บ่อยๆ ก็เลยพยายามศึกษาเรื่อยๆ... - [สร้าง ERC-20 Token ด้วย ink! Part 2/2](/llms/posts/ink-erc20-smart-contract-part2.md): มาต่อ Part ที่สอง ของการสร้าง ERC-20 token ด้วย ink! กันครับ ก่อนหน้านี้เราสร้าง Token ที่มี มีการ Transfer token ได้แล้ว - สร้าง ERC-20 Token ด้วย ink! Part... - [สร้าง ERC-20 Token ด้วย ink! Part 1/2](/llms/posts/ink-erc20-smart-contract.md): วันนี้มาลองสร้าง ERC-20 token ด้วย ink! ครับ ซึ่งถ้าหากใครไม่เคยเขียน ink! มาก่อน หรือภาษา Rust มาก่อน แนะนำอ่านบทความก่อนหน้านี้ที่ผมได้เขียนไว้ครับ... - [เตรียมเครื่องมือสำหรับ Substrate Development](/llms/posts/substrate-installation.md): สำหรับบทความนี้จะเป็นบทความเกี่ยวกับการเตรียมเครื่องมือ การตั้งค่า สำหรับ Substrate Development กันนะครับ เนื่องจาก Substrate นั้น เขียนด้วยภาษา Rust... - [วิธีการสร้าง Custom Task สำหรับ Hardhat](/llms/posts/create-custom-task-hardhat.md): วันนี้มาลองทำ custom tasks สำหรับ Hardhat กันดีกว่า ซึ่งปกติแล้ว คำสั่งที่ผมมักใช้บ่อยๆ สำหรับ Hardhat คือ กับ ข้อดีของ Hardhat task คือ ทำให้เราสามารถเล่นกับ... - [Fastify 101 - ทดลองเล่น Fastify เบื้องต้น](/llms/posts/fastify-101.md): วันนี้ลองเล่น และลองอ่าน Overview ตัว Fastify เบื้องต้นดู ว่ามันเป็นยังไง หลังจากได้ยินมาซักพักแล้ว อยากรู้ว่าถ้าเปรียบเทียบกับ Express มันมีความเหมือน... - [ทดลองเขียน Smart Contract ด้วย ink! + Rust + Substrate](/llms/posts/ink-smart-contract-101.md): สวัสดีครับ วันนี้ผมได้ลองทำตาม Tutorial นี้ - Develop Smart Contracts with ink! ก็เลยนำมาย่อย อธิบายทบทวนตัวเองไปในตัวด้วย สำหรับใครสนใจ Polkadot / Substrate... - [สร้าง Smart Contract บน Near Protocol ด้วย Assembly Script](/llms/posts/near-example-guestbook-as.md): เป้าหมายคือ ต้องการสร้าง Smart Contract ด้วย Assembly Script ตั้งแต่เริ่มต้น โดยดูจาก NEAR Example - Guestbook ซึ่งจริงๆ แค่เรา clone โปรเจ็คมารัน ก็ได้แล้ว... - [ลองหัดใช้งาน esbuild เบื้องต้น](/llms/posts/getting-started-with-esbuild.md): วันนี้ผมได้ลองใช้งาน esbuild ครั้งแรก ซึ่งก่อนหน้านี้ เคยได้ยิน และได้เห็นผ่านตา แต่ไม่เคยได้จับมันจริงๆ เพราะส่วนใหญ่ผมก็จะเป็นแค่ผู้ใช้งาน Library/ Frmework... - [ทดลองสร้าง Token บน Solana ด้วย SPL Token CLI](/llms/posts/create-token-with-solana-spl-cli.md): สวัสดีครับ วันนี้มาแนะนำบทความสร้าง Token (SPL Token) บน Solana ผ่านการใช้งาน SPL Token CLI กันครับ ทั้งหมดเป็น Devnet นะครับ และไม่ควรใช้ Wallet จริง ควรเป็น... - [บันทึกการเรียนรู้ NEAR ผ่าน NEAR 101 Workshop](/llms/posts/near-101.md): NEAR เป็นอีกหนึ่ง Blockchain ที่ผมสนใจรองลงมาจาก Solana เพราะด้วยทั้งสองใช้ภาษา Rust ซึ่งเป็นภาษาที่ผมกำลังหัดเขียนอยู่พอดี จริงๆ Terra, Polkadot, Mina, Elrond... - [บันทึกการเขียน Smart Contract แรก บน NEAR Protocol](/llms/posts/near-helloworld-app.md): สวัสดีครับ วันนี้จะมาบันทึกการเขียน Smart Contract ด้วย Rust บน NEAR นะครับ เนื่องจากว่าผมลองไปทำ Challenge #2 - Hello World smart contract เล่นๆดู... - [ลองหัด NEAR ด้วยการใช้ NEAR CLI เบื้องต้น](/llms/posts/getting-started-with-near.md): สวัสดีครับ ช่วงนี้ผมก็พยายามลองเรียนไปเรื่อย มั่วๆ หลายๆ ภาษา หลายๆ Protocol เข้าใจบ้าง ไม่เข้าใจบ้าง อาศัยทำตาม ค่อยๆ อ่าน ค่อยๆ จด ไปเรื่อยๆ... - [เรียน Web3 / DApp เบื้องต้น ด้วย Figment Pathways](/llms/posts/learn-web3-with-figment.md): สวัสดีครับ วันนี้มาแนะนำ Platform ในการเรียน Web3 / DApp / Smart Contract / Blockchain ครับ ซึ่งช่วงนี้ผมก็น่าจะวนเวียนอยู่แถวๆนี้ครับ เพราะกำลังเริ่มต้นศึกษา... - [หัดเขียน Smart Contract แรก ด้วย Remix IDE](/llms/posts/first-smart-contract-with-remix.md): ก่อนหน้านี้ ผมเขียนบทความ เริ่มต้นเขียน Solidity ด้วย Hardhat ไปแล้ว วันนี้ขอเป็นบทความเริ่มต้นคล้ายๆ เดิม แต่เปลี่ยนจาก Hardhat มาลองใช้ Remix IDE ดูครับ... - [ทำ Frontend เชื่อมต่อ Wallet ด้วย Nextjs + Solana Wallet Adapter](/llms/posts/nextjs-connect-solana-wallet.md): วันนี้ลองทำ Frontend เพื่อใส่ปุ่ม Connect Wallet ให้กับเว็บไซต์ ซึ่งผมจะใช้ตัว Solana Wallet Adapter ข้อดีคือ มัน handle หลายๆ Wallet ให้เราเลย ไม่ว่าจะเป็น... - [เขียน Solana Program ด้วย Anchor Framework](/llms/posts/hello-anchor-solana.md): Anchor เป็น Solana Framework สำหรับเขียน Program (Smart Contract) ที่ช่วยให้เขียน Solana Program ง่ายและสะดวกขึ้น ปกติถ้าเราไม่ใช้ Anchor เวลาที่เราจะใช้... - [มาลองหัดเขียน Smart Contract บน Solana กัน ด้วยแอพ Hello World](/llms/posts/hello-solana-program.md): สวัสดีครับ วันนี้มาพบกับบทความเกี่ยวกับการเขียน Smart Contract บน Solana กันนะครับ จริงๆ บทความนี้เกิดขึ้นมาเพราะผมอยากทบทวนและเรียบเรียงสิ่งที่เรียนรู้มาครับ... - [บันทึก Solana Blockchain Developer Bootcamp โดย Chainlink](/llms/posts/chainlink-bootcamp-solana-2022.md): สวัสดีครับ วันนี้เป็นการจัดบันทึกนะครับ เนื้อหาอาจจะไม่ได้เรียบเรียงเท่าไหร่ เมื่อสัปดาห์ที่แล้ว ผมได้เรียน Bootcamp ที่จัดโดย Chainlink ครับ เป็น Online... - [เริ่มต้นเขียน Solidity ด้วย Hardhat](/llms/posts/hello-solidity-with-hardhat.md): ช่วงนี้ผมค่อนข้างอินกับ Smart Contract เพราะกำลังอยู่ในช่วงหัดเขียน หัดลองครับ ก็เลยลองเขียนเป็นบทความเผื่อใครหลายๆ คนที่สนใจเหมือนๆกัน... - [เริ่มต้น C++ บน Mac OS](/llms/posts/setup-cpp-on-mac.md): สวัสดีครับ สำหรับบทความนี้จะมาแนะนำขั้นตอนเริ่มต้นการตั้งค่า และโปรแกรมที่จะใช้เขียนภาษา C++ กันนะครับ โดยสิ่งที่ต้องมีคือ Compiler ครับ ซึ่งถ้าเราใช้ IDE... - [ทดลองใช้งาน Ganache UI](/llms/posts/notes-on-ganache.md): สวัสดีครับ บทความนี้ขอจดบันทึการใช้งาน Ganache บน Mac OS ซักนิดนะครับ สืบเนื่องจากช่วงนี้ผมเริ่มหัดเขียน Solidity / Web3 / Blockchain มาได้ 1-2 เดือนละ และตัว... - [อัพเดทเว็บอีกแล้ว v6.0 จาก Gatsby มา Next.js](/llms/posts/devahoy-v6-from-gatsby-to-next.md): สวัสดีครับ ตอนนี้เว็บ Devahoy ก็มีการเปลี่ยนแปลงอีกแล้วนะครับ คือเปลี่ยนจาก ~~Gatsby~~ มาใช้ Next.js เรียบร้อยแล้ว จริงๆ ตัวหน้าเว็บ ถ้าไม่นับ UI... - [มาหัดเขียนโปรแกรมด้วยภาษา Rust กันเถอะ](/llms/posts/getting-started-with-rust.md): สวัสดีครับ ช่วงนี้ผมสนใจอยากเขียนภาษา Rust ก็เลยเริ่มต้นศึกษา เวลาว่างๆ วันละ ครึ่งชม. หรือ 1ชั่วโมงบ้าง แล้วแต่วัน เลยอยากจะเขียนบล็อกบันทึกไว้ สืบเนื่องจาก... - [แชร์วิธีการเพิ่ม Giscus Comment System ให้กับ Static Website](/llms/posts/how-to-add-giscus-to-blog.md): หากใครทำเว็บ JAM Stack ไม่ว่าจะเป็น Gatsby, Next.js หรือ Static Site อื่นๆ ก็คงต้องมองหา Comment System ให้กับเว็บไซต์ของเรา ไม่เหมือน Wordpress ที่มีระบบ... - [มาลองใช้งาน Chalk.js เพิ่มสีสันให้ Output ของเรากันดีกว่า](/llms/posts/chalkjs-101.md): สวัสดีครับ ห่างหายไปนาน วันนี้มาแนะนำ Chalk.js ครับ เป็น Debugging Tool ตัวนึงที่ผมใช้บ่อยมากๆ และจริงๆแล้ว หลายๆ Library ก็ใช้เจ้าตัวนี้อยู่เช่นกัน... - [ลองใช้งาน Windows 10 + WSL 2 และปรับแต่งนิดหน่อย](/llms/posts/hello-windows-10.md): สวัสดีครับ วันนี้ผมได้มีโอกาสมาจับ Windows 10 ซึ่งตัว Windows เนี่ยผมไม่ได้ใช้งาน มา 7-8 ปีได้ละครับ เพราะผมได้ซื้อคอมมาประกอบ ใช้งานนั่นเอง เหตุผลหลักๆ คือ 1.... - [Nuxt.js Fundamental ตอนที่ 12 - ทำ Workshop เว็บ Portfolio](/llms/posts/workshop-portfolio.md): เนื้อหาของบทเรียน Nuxt.js - ตอนที่ 1 - Getting Started with Nuxt.js - ตอนที่ 2 - สร้าง Nuxt.js ด้วย create-nuxt-app - ตอนที่ 3 - การกำหนด Routing - ตอนที่ 4 -... - [Nuxt.js Fundamental ตอนที่ 11 - ทำ SEO และ Meta tags](/llms/posts/seo-and-meta-tags.md): เนื้อหาของบทเรียน Nuxt.js - ตอนที่ 1 - Getting Started with Nuxt.js - ตอนที่ 2 - สร้าง Nuxt.js ด้วย create-nuxt-app - ตอนที่ 3 - การกำหนด Routing - ตอนที่ 4 -... - [Nuxt.js Fundamental ตอนที่ 10 - การทำ Internal API และ Middleware](/llms/posts/internal-api-and-middlewares.md): เนื้อหาของบทเรียน Nuxt.js - ตอนที่ 1 - Getting Started with Nuxt.js - ตอนที่ 2 - สร้าง Nuxt.js ด้วย create-nuxt-app - ตอนที่ 3 - การกำหนด Routing - ตอนที่ 4 -... - [Nuxt.js Fundamental ตอนที่ 8 - การทำระบบ Authentication](/llms/posts/nuxt-authentication.md): เนื้อหาของบทเรียน Nuxt.js - ตอนที่ 1 - Getting Started with Nuxt.js - ตอนที่ 2 - สร้าง Nuxt.js ด้วย create-nuxt-app - ตอนที่ 3 - การกำหนด Routing - ตอนที่ 4 -... - [Nuxt.js Fundamental ตอนที่ 9 - การ Deploy Nuxt.js](/llms/posts/nuxt-deployment.md): เนื้อหาของบทเรียน Nuxt.js - ตอนที่ 1 - Getting Started with Nuxt.js - ตอนที่ 2 - สร้าง Nuxt.js ด้วย create-nuxt-app - ตอนที่ 3 - การกำหนด Routing - ตอนที่ 4 -... - [Nuxt.js Fundamental ตอนที่ 7 - การใช้งานร่วมกับ Vuex Store](/llms/posts/nuxt-vuex.md): เนื้อหาของบทเรียน Nuxt.js - ตอนที่ 1 - Getting Started with Nuxt.js - ตอนที่ 2 - สร้าง Nuxt.js ด้วย create-nuxt-app - ตอนที่ 3 - การกำหนด Routing - ตอนที่ 4 -... - [Nuxt.js Fundamental ตอนที่ 6 - การ Fetch ข้อมูลจาก API](/llms/posts/data-fetching.md): เนื้อหาของบทเรียน Nuxt.js - ตอนที่ 1 - Getting Started with Nuxt.js - ตอนที่ 2 - สร้าง Nuxt.js ด้วย create-nuxt-app - ตอนที่ 3 - การกำหนด Routing - ตอนที่ 4 -... - [Nuxt.js Fundamental ตอนที่ 5 - Nuxt Content และ Async Data](/llms/posts/nuxt-content.md): เนื้อหาของบทเรียน Nuxt.js - ตอนที่ 1 - Getting Started with Nuxt.js - ตอนที่ 2 - สร้าง Nuxt.js ด้วย create-nuxt-app - ตอนที่ 3 - การกำหนด Routing - ตอนที่ 4 -... - [Nuxt.js Fundamental ตอนที่ 4 - Nuxt.js Concept](/llms/posts/nuxt-concept.md): เนื้อหาของบทเรียน Nuxt.js - ตอนที่ 1 - Getting Started with Nuxt.js - ตอนที่ 2 - สร้าง Nuxt.js ด้วย create-nuxt-app - ตอนที่ 3 - การกำหนด Routing - ตอนที่ 4 -... - [Nuxt.js Fundamental ตอนที่ 3 - การกำหนด Routing](/llms/posts/routing.md): เนื้อหาของบทเรียน Nuxt.js - ตอนที่ 1 - Getting Started with Nuxt.js - ตอนที่ 2 - สร้าง Nuxt.js ด้วย create-nuxt-app - ตอนที่ 3 - การกำหนด Routing - ตอนที่ 4 -... - [Nuxt.js Fundamental ตอนที่ 2 - สร้าง Nuxt.js ด้วย create-nuxt-app](/llms/posts/create-nuxt-app.md): เนื้อหาของบทเรียน Nuxt.js - ตอนที่ 1 - Getting Started with Nuxt.js - ตอนที่ 2 - สร้าง Nuxt.js ด้วย create-nuxt-app - ตอนที่ 3 - การกำหนด Routing - ตอนที่ 4 -... - [Nuxt.js Fundamental ตอนที่ 1 - เริ่มต้นกับ Nuxt.js](/llms/posts/getting-started.md): เนื้อหาของบทเรียน Nuxt.js - ตอนที่ 1 - Getting Started with Nuxt.js - ตอนที่ 2 - สร้าง Nuxt.js ด้วย create-nuxt-app - ตอนที่ 3 - การกำหนด Routing - ตอนที่ 4 -... - [ทำไม ZSH ของเราช้าจัง? + ทำให้เร็วขึ้นได้มั้ย](/llms/posts/increase-speed-of-zsh.md): สวัสดีครับ เนื่องจากว่าช่วงนี้ผมรู้สึกว่า เวลาเปิด iTerm2 หรือ Terminal ขึ้นมา มันเริ่มช้าๆ หน่วงๆ บ้างเวลาพิมพ์คำสั่ง (ไม่นับ ตอนเข้า tmux ทีแรก... - [บันทึกการการอัพเดท Blog v3 เปลี่ยนไปใช้ Gatsby + MDX และ Theme UI](/llms/posts/how-to-migrate-md-to-mdx-in-gatsby.md): Ahoy! สวัสดีครับ วันนี้ผมจะมาเขียนบล็อกแชร์ประสบการณ์ และบันทึกการอัพเดท Blog ของผมกันนะครับ (หลายๆคนคงมีคำถามในใจ เปลี่ยนอีกแล้วหรอ?) จริงๆ... - [ว่าด้วยเรื่อง Caching ของ Cloudflare](/llms/posts/cloudflare-caching.md): สืบเนื่องจากว่าตอนนี้ย้ายบล็อก มา Host เองแล้ว (ย้ายจาก Netlify) เมื่อก่อน Netlify มี DNS และ CND เอง ก็เลยยกเลิก Cloudflare ไป แต่ตอนนี้ไม่ใช้ Netlify แล้ว... - [SSH คืออะไร? + วิธีสร้าง SSH Key](/llms/posts/how-to-generate-ssh-key.md): สวัสดีครับ วันนี้ขอมาเขียนเป็นบันทึก วิธีการสร้าง SSH การ Setup SSH ต่างๆ เพราะเนื่องจากว่า ทุกครั้งที่จะ Generate ใหม่ หรือสร้างใหม่ หรือไปเพิ่ม SSH ทำ Deploy... - [พื้นฐาน React.js เรื่อง วิธีการจัดการ Form และ Input](/llms/posts/basic-react-form.md): วันนี้มาพบกับบทความเกี่ยวกับพื้นฐาน React.js ครับ ว่าด้วยเรื่องการของจัดการ Form และ Input ต่างๆ กันนะครับ เนื่องจากว่าการทำ Web Application ปฎิเสธไม่ได้ว่า... - [มาลองใช้ SWR เพื่อ Fetch API กันดีกว่า](/llms/posts/react-fetch-api-with-swr.md): สวัสดีครับ วันนี้ผมมาลองทำ Example Project ด้วยการลองใช้งาน SWR นะครับ โดยปกิแล้ว เวลาเรา Fetch API จาก Server เราจะใช้พวก native ที่มากับ Browser หรือบางคนใช้... - [วิธีการ Deploy React กรณีใช้ subfolder บน Server](/llms/posts/deploy-frontend-on-subfolder.md): พอดีว่าได้มีโอกาสได้ทำ Single Page Application ด้วย React ของเว็บๆ นึง และที่นี้ปัญหาคือ เวลาเราไป Deploy เราต้องเอา SPA ของเราเนี่ย ไปเชื่อมต่อกับ Web... - [มาหัดเรียนเขียนโปรแกรม ด้วยการเล่นเกม Code Combat กันดีกว่า](/llms/posts/learn-coding-with-code-combat.md): สวัสดีครับ วันนี้มาแนะนำบทความสำหรับมือใหม่ หรือผู้ที่กำลังสนใจ และหัดเขียนโปรแกรม หรือหัดเขียนโค๊ดกันนะครับ > Link Youtube : https://www.youtube.com/watch?v=Wu... - [ลองทำ Gatsby Search ค้นหาบทความด้วย Algolia](/llms/posts/gatsby-search-with-algolia.md): สวัสดีครับ บทความนี้ผมจะมาแชร์ วิธีการทำ Search บนเว็บไซต์นะครับ เนื่องจากว่าผมเพิ่งลองใส่ช่อง ค้นหา ที่บล็อกนี้ โดยใช้ Algolia นั่นเอง และตัวบล็อกของผมเป็น... - [ใช้งาน Aseprite ฟรีๆ ไม่ต้องซื้อ สำหรับทำ Pixel Art หรือ Sprite Sheets](/llms/posts/setup-aseprite-on-mac-os.md): สวัสดีครับ วันนี้มาแชร์ วิธีการ Setup และใช้งาน Aseprite แบบฟรีๆ ไม่ต้องเสียตังบน Mac OS กันครับ ซึ่งช่วงนี้ผมกำลังพยายามหัดทำเกม และตัว Asprite ก็เป็นหนึ่งใน... - [สอนทำเว็บไซต์ด้วย Node.js, Express และ MongoDB ตอนที่ 10 - การ Hosting และ Deploy Production](/llms/posts/web-development-with-nodejs-mongodb-part10.md): สวัสดีครับ มาต่อกันที่ตอนที่ 10 กันนะครับ (น่าจะ ตอนสุดท้ายแล้วครับ ก่อน Workshop) สำหรับตอนนี้จะพูดถึงเรื่องของการ Deploy Production หรือการ Hosting... - [Next.js คืออะไร? มาเริ่มเขียนเว็บด้วย Next.js กันดีกว่า](/llms/posts/getting-started-with-nextjs-2020.md): สวัสดีครับ บทความนี้จะพาไปรู้จักกับการเขียนเว็บด้วย Next.js กันนะครับ ซึ่งบทความนี้เป็นบทความเริ่มต้นที่ผมสรุปมาให้อ่านกัน โดยที่ผมไม่ได้เชี่ยวชาญ Next.js... - [ไม่ต้องเสียเวลาจัด Format + เขียนโค๊ดได้ไวขึ้นด้วย Prettier Formatter](/llms/posts/vscode-prettier-extension.md): สวัสดีครับ วันนี้มีบทความมาแนะนำเรื่องเกี่ยวกับการใช้งาน Extension เพื่อเพิ่มสปีดให้เราเขียนโค๊ดได้ไวขึ้นนั้นเอง เพราะอะไร? จริงๆ แล้วผมเคยเห็นหลายๆคน เสียเวลา... - [สอนทำเว็บไซต์ด้วย Node.js, Express และ MongoDB ตอนที่ 9 - ทำระบบ Login ด้วย Passport.js](/llms/posts/web-development-with-nodejs-mongodb-part9.md): สวัสดีครับ มาต่อกันที่ตอนที่ 9 กันนะครับ สำหรับตอนนี้เราจะมาเริ่มทำส่วนการ Login ด้วยการใช้ Middleware และการใช้ตัวข่วยอย่าง Passport.js กันนะครับ... - [สอนทำเว็บไซต์ด้วย Node.js, Express และ MongoDB ตอนที่ 8 - Express Generator / Middleware](/llms/posts/web-development-with-nodejs-mongodb-part8.md): สวัสดีครับ มาต่อกันที่ตอนที่ 8 กันนะครับ หลังจากหายไปนานเป็นอาทิตย์เลย พอดีช่วงนี้งานยุ่งมากๆ ตอนก่อนหน้านี้เราได้รู้จักกับ MongoDB กันไปแล้ว... - [บันทึกสั้นๆ เผื่อได้ใช้ React Router v6 (Alpha)](/llms/posts/try-react-router-v6-alpha.md): วันนี้จะมาบันทึกการลองใช้งาน React Router v6 ดูครับ ซึ่งจริงๆแล้วมันยังเป็น Alpha อยู่และอาจจะมี breaking change หรือ API บางอย่างที่มันเปลี่ยนก็ได้... - [สอนทำเว็บไซต์ด้วย Node.js, Express และ MongoDB ตอนที่ 6 - เริ่มต้นกับ MongoDB](/llms/posts/web-development-with-nodejs-mongodb-part6.md): สวัสดีครับ มาต่อกันที่ตอนที่ 6 กันนะครับ สำหรับตอนนี้จะเป็นเรื่องเกี่ยวกับ MongoDB แล้วครับ โดยวันนี้จะเป็นเกี่ยวกับ MongoDB และวิธีการใช้งาน MongoDB เบื้องต้น... - [สอนทำเว็บไซต์ด้วย Node.js, Express และ MongoDB ตอนที่ 5 - ลองหัดใช้ Template Engine ชื่อ Pug](/llms/posts/web-development-with-nodejs-mongodb-part5.md): สวัสดีครับ มาต่อกันที่ตอนที่ 5 กันนะครับ วันนี้จะมาพูดถึงเรื่องของ Template Engine กัน หลังจากที่ตอนนี้เราสามารถทำเว็บด้วย Express.js กันได้แล้ว... - [สอนทำเว็บไซต์ด้วย Node.js, Express และ MongoDB ตอนที่ 4 - ทำเว็บด้วย Node.js และ Express.js](/llms/posts/web-development-with-nodejs-mongodb-part4.md): มาต่อกันที่ ตอนที่ 4 กันครับ วันนี้เราจะมาเริ่มสร้าง Web Application ด้วย Node.js แบบจริงๆจังๆแล้วครับ โดยเราจะใช้ Web Framework ที่ชื่อว่า Express.js... - [แนะนำแนวทางการออกแบบ APIs เพื่อคนในทีม](/llms/posts/restful-api-guideline.md): สวัสดีครับ บทความนี้ผมจะมาพูดเรื่อง API และการออกแบบ API กันนะครับ โดยไม่ได้มีการเขียนโค๊ด แต่จะเป็นพวก Concept เป็นแนวทางการปฎิบัติ ซะมากกว่า มองว่ามันคือ... - [เรียนฟรี! คอร์สเรียนทำเว็บไซต์ด้วย HTML และ CSS สำหรับมือใหม่ (ปี2019)](/llms/posts/free-html-css-online-course.md): สวัสดีครับ วันนี้มาอัพเดทบล็อก เพราะว่าผมนำคอร์สออนไลน์ มาให้เพื่อนๆได้เรียนฟรี บน Youtube ครับ คอร์สนี้เป็นคอร์สเดียวกันกับที่ผมทำคอร์สออนไลน์ ขายราคา 2,990... - [รีวิว - ลองใช้งาน Gatsby Cloud](/llms/posts/review-gatsby-cloud.md): Ahoy! สวัสดีครับ เมื่อวานผมเลื่อน Twitter แล้วเจอ Gatsby Cloud มีอัพเดทครับ (เหมือนเคยลอง Beta ไปนานแล้ว) สิ่งที่สะดุดตาผมมากๆคือ Blazing fast build speeds!... - [สอนทำเว็บไซต์ด้วย Node.js, Express และ MongoDB ตอนที่ 3 - พื้นฐาน Node.js](/llms/posts/web-development-with-nodejs-mongodb-part3.md): มาต่อกันที่ ตอนที่ 3 กันครับ เนื้อหาบทเรียน - ตอนที่ 1 - NodeJS คืออะไร + ทำการติดตั้ง Node.js และ Node.js เบื้องต้น - ตอนที่ 2 - ทบทวนพื้นฐาน JavaScript และ... - [สอนทำเว็บไซต์ด้วย Node.js, Express และ MongoDB ตอนที่ 2 - ทบทวนพื้นฐาน JavaScript](/llms/posts/web-development-with-nodejs-mongodb-part2.md): มาต่อกันที่ ตอนที่ 2 กันครับ สำหรับตอนนี้จะเป็นพื้นฐาน Node.js ก็เลยขอทบทวนพื้นฐาน JavaScript แบบเร็วๆนิดนึง รวมถึง Modern JavaScript ES6, ES7+... - [สอนทำเว็บไซต์ด้วย Node.js, Express และ MongoDB ตอนที่ 1 - ติดตั้งโปรแกรม](/llms/posts/web-development-with-nodejs-mongodb-part1.md): สวัสดีครับ ผมเห็นว่าบทความเกี่ยวกับ Node.js ที่ผมเคยเขียนไว้ ช่วง 2015-2016 ก็ยังมีคนสนใจอยู่พอสมควร ผมจึงคิดว่า ปีนี้ 2020 ผ่านมาก็ 5ปีแล้ว... - [วิธีการอ่านไฟล์ CSV ด้วย Node.js](/llms/posts/how-to-read-csv-file-with-nodejs.md): วันนี้จะมานำเสนอวิธีการอ่านไฟล์ CSV ด้วยการใช้ Node.js กันนะครับ ก็เป็นตัวอย่างง่ายๆ โดยใช้ File System ในการอ่านไฟล์ และใช้พวก csv-parser ในการอ่าน parse csv... - [ทำเว็บด้วย Gatsby และใช้ Ghost เป็น CMS กันเถอะ](/llms/posts/getting-started-with-ghost-x-gatsby.md): สวัสดีครับ บทความนี้จะมาพูดถึงเรื่องการทำ Static Website ด้วย Gatsby กันนะครับ โดยจะใช้ Gatsby ทำเป็น Blog แต่ที่พิเศษกว่านั้น คือ เราจะไม่ใช้ Markdown... - [วิธีการใช้งาน Git หลายๆ account ในเครื่องเดียวกัน](/llms/posts/setup-multiple-git-accounts-with-ssh.md): สวัสดีครับ วันนี้ขอมาเขียนเกี่ยวกับเรื่อง Git ที่เจอมาครับ สืบเนื่องจากต้องใช้ Git แบบหลายๆ Account ในเครื่องเดียว ก็เลยเจอปัญหา ตั้งแต่การตั้งค่า SSH... - [React.memo() คืออะไร?](/llms/posts/react-memo-in-function-component.md): โดยปกติ ก่อนหน้านี้ เวลาที่เราสร้าง React Component แบบ Class เรามักจะใช้ เพื่อให้ Component นั้นๆ render เฉพาะเวลาที่ Props มีการเปลี่ยนแปลง (การทำ Memoized... - [ตั้งแต่ทำเว็บมา เว็บไหนภูมิใจที่สุด?](/llms/posts/developer-blog.md): สวัสดีครับ วันนี้ขอเขียนเรื่องสบายๆ ไม่มีโค๊ดกันบ้าง พอดีว่าเจอคำถามมาถามผมว่า คิดว่าผลงานของตัวเอง หรือเว็บของตัวเองที่เคยทำมานะ อันไหนที่รู้สึกภูมิใจที่สุด... - [asdf เครื่องมือที่จัดการ Version ต่างๆครอบจักรวาล](/llms/posts/version-manager-with-asdf.md): สวัสดีครับ วันนี้มาแนะนำ Tool สำหรับจัดการ Version ของเครื่องมือ ของภาษา Programming ต่างๆ ชื่อว่า asdf-vm สามารถจัดการได้ทั้ง Node.js, Python, Ruby, Java,... - [ลองใช้ Vuepress ทำ Document หรือเนื้อหาประกอบคอร์สเรียน](/llms/posts/documentation-with-vuepress.md): สวัสดีครับ วันนี้ว่างๆ เลยอยาก หาตัวทำ Document แบบ Generate เป็น static file ด้วย Markdown จริงๆแล้วจะหาตัวที่เอาไว้สำหรับทำ Content กึ่งๆ Ebook... - [Gatsby คืออะไร? + เริ่มต้นเขียน Gatsby กันดีกว่า](/llms/posts/introduction-to-gatsby.md): สวัสดีครับ บล็อกนี้ดองไว้นานแล้วไม่ได้เขียนซักที เนื่องจากว่าตอนนี้บล็อกแห่งนี้ก็เปลี่ยนมาใช้ Gatsby มาได้ซักพักนึงแล้ว ก็เลยถือโอกาสเขียนถึง Gatsby... - [มาลองทำ Caching ด้วย Node.js และ Redis กันดีกว่า](/llms/posts/how-to-caching-node-api-with-redis.md): สวัสดีครับ วันนี้เราจะมาลองทำการ Caching เพื่อเพิ่มความเร็วให้กับเว็บไซต์ของเราครับ ด้วย Redis และสำหรับคนชอบเวอร์ชั่น Video Tutorial ผมอัพโหลดเป็น Youtube... - [วิธีการ Setup Server สำหรับ Node.js และ React ด้วย NGINX](/llms/posts/how-to-setup-nodejs-and-react-with-nginx-and-pm2.md): สวัสดีครับ วันนี้จะพาไป Setup Server สำหรับ Deploy Backend และ Frontend คือ Node.js Application และ React App (ที่เป็น Single Page Application)... - [ทำ Backend API ด้วย Node.js และ MongoDB กันดีกว่า](/llms/posts/build-api-with-express-and-mongoose.md): สวัสดีครับ วันนี้มาแนะนำการเขียน RESTful API สำหรับ Node.js ด้วยการใช้ Express.js และ MongoDB กันนะครับ ซึ่งจริงๆแล้วบทความ API ด้วย Node.js... - [วิธีการ ลบ undefined ใน array (javascript)](/llms/posts/remove-empty-in-array-js.md): วิธีการลบค่า จริงๆเป็นพวกค่า falsy ทั้งหลายนั่นแหละ โดยใช้ ง่ายๆ เช่น มี array แบบนี้ ใช้ แบบนี้ Done! - [Jest คืออะไร? + เริ่มต้นเขียน Test ด้วย Jest กันดีกว่า](/llms/posts/getting-started-with-testing-and-jest.md): สวัสดีครับ วันนี้จะมาเขียนบทความเกี่ยวกับการเขียน Test และการใช้ library ที่ชื่อว่า Jest มาช่วยให้เราเขียน Unit Test กับ JavaScript ได้สะดวก และง่ายขึ้นกันครับ... - [วิธีการ Deploy เว็บไซต์ง่ายๆ ด้วย Netlify](/llms/posts/free-static-hosting-with-netlify.md): บทความนี้จะมาแนะนำวิธีการ Deploy เว็บไซต์หรือการอัพโหลดเว็บไซต์เราไปที่เครื่อง Hosting นั่นเอง โดยใช้ Netlify ซึ่งโดยปกติแล้ว เว็บ Hosting จะต้องเสียค่าบริการ... - [บันทึกการทำบล็อกด้วย Gatsby บนเว็บ Devahoy](/llms/posts/how-devahoy-create-blog-with-gatsby.md): หลังจากบทความก่อนหน้านี้ 3 เดือนที่แล้ว ผมเขียนบอกไว้ว่า Migrate จาก Middleman มา Gatsby แล้ว ซึ่งต่อจากนั้น ก็ไม่ได้มีเวลาอัพเดทเลย แถมปล่อยให้ link... - [มารู้จัก Yarn workspaces กันดีกว่า](/llms/posts/yarn-workspaces.md): วันนี้มีทริปเล็กๆน้อยๆมาแนะนำครับ นั้นก็คือ Yarn Workspaces ปกติแล้วเวลาเราจัดการกับ Node.js app ที่มี เยอะๆกันยังไงนะ ตัวอย่างเช่น มี folder หลัก ข้างในก็เป็น... - [Devahoy อัพเดทเว็บ เปลี่ยนมาใช้ Gatsby แล้วนะ](/llms/posts/migrate-from-middleman-to-gatsby.md): สวัสดีครับ ห่างหายบทความไปพักใหญ่ๆเลย วันนี้มาพร้อมกับบทความว่าด้วยเรื่อง Devahoy เปลี่ยนจาก Middleman มาเป็น Gatsby เรียบร้อยแล้ว... - [Deploy เว็บไซต์ React ฟรีๆ ด้วย Firebase Hosting](/llms/posts/how-to-deploy-react-with-firebase-hosting.md): วันนี้มานำเสนอบทความเกี่ยวกับการ Deploy งานของเราขึ้น Hosting กันครับ โดยทั่วๆไปแล้ว เวลาเราทำเว็บไซต์ซักเว็บนึง และอยากให้มันออนไลน์ ให้ทุกๆคนเข้าถึงได้... - [React Hooks คืออะไร? + มาลองหัดใช้กันดีกว่า](/llms/posts/introduction-to-react-hooks.md): วันนี้จะมาพูดถึงเรื่อง Hooks กันเนาะ เนื่องจากได้ลองอ่าน Introducing Hooks — React เหตุเพราะไปเห็น Repo ตัวนึง ใน Github ว่าทำไมมันขึ้นมาเป็น Trending ชื่อ... - [Redux คืออะไร? + เริ่มต้นเรียนรู้ Redux ร่วมกับ React กันดีกว่า](/llms/posts/introduction-to-redux.md): สวัสดีครับ บทความนี้ผมจะมาพูดถึงเรื่อง Redux กันเนอะ แนะนำว่าควรมีความรู้ React เบื้องต้นมาบ้าง เข้าใจ Props และ State หรือใครไม่เคยเขียน React มาก่อน... - [Markdown คืออะไร? + วิธีใช้ Markdown](/llms/posts/introduction-to-markdown.md): สวัสดีครับ วันนี้ผมมีบทความเกี่ยวกับ Markdown มานำเสนอ จริงๆแล้ว Markdown นั้นง่ายมากเลย ทีแรกผมไม่ได้คิดจะทำเป็นบทความเท่าไหร่เพราะคิดว่ามัน Basic มากๆ... - [วิธีการทำ React 2 ภาษาด้วย React i18n-next](/llms/posts/getting-started-with-react-i18next.md): สวัสดีครับ วันนี้ผมมีตัวอย่างการทำเว็บ 2 ภาษา ด้วย React กันครับ เผื่อว่าบางคนเวลาทำเว็บด้วย React แล้วเวลาใช้งานฟังค์ชัน 2 ภาษา อาจจะต้องส่ง key แนบไปที่... - [ทำ Routing ให้กับ React ด้วย React Router v4](/llms/posts/basic-web-with-react-router-v4.md): สวัสดีครับ สำหรับบทความนี้เป็นภาคต่อจาก มาเริ่มต้นเขียน React ด้วย Create React App กันดีกว่า ละกัน ว่าด้วยเรื่องการทำ Routing ด้วยการใช้ React Router กัน... - [มา Deploy Website แบบไม่เสียตังด้วย Now กันเถอะ](/llms/posts/deploy-website-with-now.md): สวัสดีครับ วันนี้จะมาแนะนำบทความสำหรับการ Deploy Website กันแบบง่ายๆด้วย Now กันครับ ซึ่งโดยปกติแล้วบางคนทำเว็บไซต์เสร็จ อยากเอาเว็บขึ้น Cloud ก็ต้องมาหา... - [มาเริ่มต้นเขียน React ด้วย Create React App กันดีกว่า](/llms/posts/learn-react-with-create-react-app.md): สวัสดีครับ บทความนี้เป็นบทความที่ผมดองไว้ยาวนานมากๆ เนื่องจากว่าติดปัญหาหลายๆอย่างทำให้ไม่มีเวลาเขียนให้จบซะที ครั้นมีเวลามาเขียนต่อ... - [รวบรวม Open Source จากบริษัท Top Tech ของโลก](/llms/posts/open-source-project-in-tech-company.md): ปัจจุบัน นับว่า Github นั้นมีอิทธิพลต่อ Developers อย่างเราๆอย่างมาก เหมือนอย่างผมเวลาส่วนใหญ่ในการเข้าเว็บ เว็บที่เข้าส่วนใหญ่ ก็จะมี Github, Stackoverflow... - [มา Commit Git ให้ขึ้น Verify เท่ๆกันดีกว่า](/llms/posts/how-to-show-verify-sign-with-gpg.md): หากใครเคยลองอ่าน Commit History ใน Github, Gitlab หรือว่า Bitbucket จะเห็นว่าจะมีคำว่า Verified ต่อท้ายของ Commit เรา ละมันคืออะไร? เอาไว้ทำอะไร?... - [เริ่มต้นเขียน Angular2 กันดีกว่า](/llms/posts/introduction-to-angular2.md): เมื่อเร็วๆนี้ Angular ได้ปล่อยตัว Angular 4 ออกมา ซึ่งจริงๆแล้ว มันก็ไม่ได้แตกต่างกับ Angular 2 เท่าไหร่นัก เป็นเพียงแค่ Improve Feature เล็กๆน้อยๆ ไม่ได้... - [วิธีการ Deploy เว็บไซต์แบบฟรีๆ ด้วย Github Pages](/llms/posts/how-to-host-website-on-github-pages.md): โดยปกติแล้วเวลาเราทำเว็บไซต์ ถ้าหากว่าอยากจะให้เว็บไซต์ของเราออกสู่สายตาชาวโลก (ให้คนอื่นได้เห็น) ก็คือการ Deploy เว็บไซต์ขึ้น Hosting ซึ่งมีทั้งฟรีและเสียตัง... - [ทำ Website บน Github Pages ให้เป็น HTTPS ด้วย Cloudflare ฟรีๆ](/llms/posts/setup-https-static-website-with-cloudflare.md): เนื่องจากว่า HTTPS ช่วงนี้กระแสมาแรง และทุกๆเว็บเริ่มเห็นความสำคัญ รวมถึงเว็บใหญ่ๆ ทั้ง Facebook, Line, Apple เริ่มบังคับการเชื่อมต่อกับบริการตัวเองโดยต้องเป็น... - [Homebrew คืออะไร? + สอนวิธีใช้งาน](/llms/posts/getting-started-with-homebrew.md): Homebrew คืออะไร? Homebrew จากคำนิยามของมันคือ "The missing package manager for macOS" เป็น Package Manager ตัวหนึ่งซึ่งช่วยให้เราทำการจัดการกับโปรแกรมต่างๆได้ง... - [มาทำให้ MongoDB ปลอดภัยขึ้นด้วยการ Enable Auth กันดีกว่า](/llms/posts/how-to-enable-authentication-in-mongodb.md): เนื่องจากว่าวันนี้ได้อ่านเจอบทความเกี่ยวกับ MongoDB จากนี้ ฐานข้อมูล MongoDB ถูกเจาะเป็นจำนวนมาก ข้อมูลถูกล้างและเรียกค่าไถ่ แล้วรู้สึกว่า โอ้โห! Default ของ... - [เพิ่มปุ่ม Search ให้กับ Static Website + แชร์วิธีการทำ](/llms/posts/add-lunr-search-with-middleman.md): จริงๆแล้วบทความนี้แค่จะมาอัพเดทเพื่อบอกว่าตอนนี DevAhoy สามารถทำการค้นหาบทความได้แล้วนะครับ :) เนื่องมาจากหลายๆคนสอบถามเข้ามาว่า ทำไมบล็อกไม่ทำปุ่ม search ละ?... - [cURL คืออะไร? + มาหัดใช้กันเถอะ](/llms/posts/getting-started-with-curl.md): วันนี้มาแนะนำการใช้งาน cURL สำหรับนักพัฒนาที่มักจะต้องทำการทดสอบ API ว่ามันโอเคหรือไม่ ทั้งการยิง HTTP GET/POST/PUT ต่างๆ ปกติโปรแกรมที่นิยมกันคงนี้ไม่พ้น... - [มาหัดเขียน Regular Expressions กันดีกว่า](/llms/posts/regular-expressions-101.md): Regular Expressions คิดว่าหลายๆคนคงได้ยินหรือรู้จักมาบ้าง แต่จะมีซักกี่คนที่ได้ใช้มันจริงๆจังๆ รวมถึงตัวผมเองด้วย นานๆจะใช้ที ซึ่งจะใช้งานแต่ละครั้งก็ต้องมานั่ง... - [Token และ JWT คืออะไร? + ทำ JWT Authentication ด้วย Hapi.js](/llms/posts/understanding-token-and-jwt-create-authentication-with-hapijs.md): เนื่องจากบทความนี้ ไม่ได้อัพเดทเนื้อหาที่เขียนไว้ตั้งแต่ปี 2016{' '} แนะนำอ่านบทความล่าสุด ที่นี่แทนครับ{' '} JWT คืออะไร? + ลองทำ JWT Authentication ด้วย... - [ทดลองเขียน Aggregation ใน MongoDB](/llms/posts/mongodb-aggregation-example.md): พอดีว่าได้ลองนั่งอ่านเรื่อง Aggregation ของ MongoDB แล้วรู้สึกว่ามันน่าสนใจดี ก็เลยทำเป็นบทความซะเลย > หากใครยังไม่รู้จัก MongoDB... - [ทดลองทำ Slack Slash Command](/llms/posts/create-slack-slash-command.md): ปัจจุบันจะเห็นว่าหลายๆบริษัทได้นำเอา Slack มาใช้ในการคุยงานกันมากขึ้น รวมถึงที่ Nextzy Technologies ก็เช่นกัน เนื่องจากทุกๆวัน ต้องเปิดหน้าจอ Slack ตลอด... - [ทดลองดึงข้อมูล Calendar ด้วย Google Calendar API บน Nodejs](/llms/posts/create-google-calendar-api-with-nodejs.md): พอดีได้ลองเล่นตัว Google Calendar API ก็เลยนำมาเขียนเป็นบทความแชร์ไว้ ซึ่ง Tutorial ทั้งหมดผมก็อ่านจาก Google Calendar API Quickstart ของมันแหละครับ... - [แนะนำ 10 เว็บไซต์สำหรับเรียนเขียนโปรแกรมให้สนุกเหมือนเล่นเกมส์](/llms/posts/webs-to-learn-programming-with-game.md): วันนี้ผมจะมาแนะนำเว็บไซต์สำหรับเรียนเขียนโปรแกรมกันซักหน่อยนะครับ ซึ่งถ้าเป็นเว็บเรียนเขียนโปรแกรมทั่วๆไป บางคนอาจจะเบื่อ หรือไม่สนุก แต่วันนี้ผมได้รวบรวม 10... - [ดึงข้อมูลเว็บไซต์ด้วย Nodejs และ Cheerio](/llms/posts/scraping-web-with-nodejs.md): บทความนี้เป็นตัวอย่างการดึงข้อมูลเว็บไซต์ด้วยการใช้ Node.js และ Cheerio ซึ่งเทคนิคการดึงข้อมูลเว็บไซต์ต่างๆนี้ เราเรียกมันว่า "Web Scraping" หรือ "Web Crawler"... - [(บทความปี 2015) React คืออะไร ? + เริ่มต้นเขียน React](/llms/posts/getting-started-with-reactjs.md): ช่วง 2-3 วันนี้ได้มีโอกาสได้ลองเล่น React.js ดู หลังจากได้ยินมานานแล้ว แต่ไม่มีโอกาสได้ลองเล่น เนื่องจากก่อนหน้านี้ แว๊บๆไปเปิด Get Started... - [หัดเขียน Python เบื้องต้นฟรีด้วยโปรแกรม PyCharm Edu](/llms/posts/learn-python-with-pycharm-edu.md): ช่วงนี้ผมสนใจที่จะหัดเขียน Python ซึ่งจริงๆแล้ว ก็เคยลองอ่านและหัดเขียนบ้าง แต่ว่าไม่ได้จริงๆจังๆ พอซักพักก็ลืมไปหมดแล้ว มาถึงช่วงนี้ก็รู้สึกสนใจอีกครั้ง... - [สรุปจากการหัดเขียนภาษา R ผ่าน CodeSchool](/llms/posts/notes-from-learn-r.md): บทความนี้เป็นการบันทึกการเรียนรู้พื้นฐาน R จากเว็บไซต์ tryr.codeschool.com/ หลังจากได้ยินชื่อภาษา R มานานละ แต่ไ่มรู้ว่ามันคืออะไร รู้แต่ว่ามันใช้งานในด้าน Big... - [Git คืออะไร ? + พร้อมสอนใช้งาน Git และ Github](/llms/posts/introduction-to-git-and-github.md): ถ้าพูดถึง Git ณ ชั่วโมงนี้หากใครที่ไม่เคยได้ยินหรือไม่เคยใช้งานเลย ก็ต้องบอกว่าท่านเชยมากครับ สำหรับนักพัฒนาแล้ว Git เป็นสิ่งที่จำเป็นมากๆ... - [MongoDB คืออะไร? + สอนวิธีใช้งานเบื้องต้น](/llms/posts/getting-started-with-mongodb.md): กระแส MEAN Stack มาแรงมากช่วงนี้ จะไม่เขียนก็ไม่ได้ ฉะนั้นบทความนี้จะพาไปรู้จักตัว M หนึ่งใน 4 ของ MEAN Stack นั่นก็คือ MongoDB กันครับ ว่ามันคืออะไร... - [Tips - แนะนำ 20 Short Key ที่ควรรู้บน Android Studio (Mac OS X)](/llms/posts/tips-keyboard-shortcut-on-android-studio-mac.md): สวัสดีครับ บทความนี้เป็นบทความที่นำมาเพิ่มเติมแก้ไขจากบทความเก่า Tips : แนะนำ 20 Short Key ที่ควรรู้บน Android Studio โดยในบทความนี้ก็จะเพิ่มเติมในส่วนของเวอร์ช... - [เริ่มต้นใช้งาน Android Notification](/llms/posts/android-notification.md): Image Credit : http://developer.android.com/ บทความว่าด้วยเรื่องการทำ Notification บน Android ในบทความนี้จะพูดถึงว่า Notification คืออะไร... - [Node.js คืออะไร ? + เริ่มต้นใช้งาน Node.js](/llms/posts/getting-started-with-nodejs.md): เนื่องจากว่าเคยเขียนบทความเกี่ยวกับ Node.js ไว้หลายๆบทความด้วยกัน แต่ยังไม่เคยเขียนพวกพื้นฐาน หรือเริ่มต้นสำหรับคนที่ไม่เคยเขียน Node.js มาก่อน ทำให้มีปัญหา... - [Node Template Engine](/llms/posts/node-template-engine.md): วันนี้ขอนำเสนอบทความสั้นๆสำหรับการเลือก Template Engine บน Node.js หากท่านยัง render ไฟล์ html ธรรมดาอยู่แล้วละก็ เปลี่ยนมาใช้ Template Engine กันดีกว่าครับ... - [มาหัดเขียนบล็อกด้วย Middleman ตอนที่ 4 (Deployment)](/llms/posts/getting-started-with-middleman-part4.md): Table of Contents - มาหัดเขียนบล็อกด้วย Middleman ตอนที่ 1 : Overview - มาหัดเขียนบล็อกด้วย Middleman ตอนที่ 2 : Custom Layout - มาหัดเขียนบล็อกด้วย Middleman... - [วิธีการสร้างคลาสในภาษา JavaScript](/llms/posts/how-to-create-class-in-javascript.md): JavaScript เป็นภาษาหนึ่งที่รองรับการเขียนโปรแกรมแบบ OOP (Object Oriented Programming) ก็คือการมองทุกอย่างเป็นวัตถุ มีการสร้าง instance object มีการสร้าง class... - [มาหัดเขียนบล็อกด้วย Middleman ตอนที่ 3 (Partials Template)](/llms/posts/getting-started-with-middleman-part3.md): Table of Contents - มาหัดเขียนบล็อกด้วย Middleman ตอนที่ 1 : Overview - มาหัดเขียนบล็อกด้วย Middleman ตอนที่ 2 : Custom Layout - มาหัดเขียนบล็อกด้วย Middleman... - [มาหัดเขียนบล็อกด้วย Middleman ตอนที่ 2 (Custom Layout)](/llms/posts/getting-started-with-middleman-part2.md): Table of Contents - มาหัดเขียนบล็อกด้วย Middleman ตอนที่ 1 : Overview - มาหัดเขียนบล็อกด้วย Middleman ตอนที่ 2 : Custom Layout - มาหัดเขียนบล็อกด้วย Middleman... - [มาหัดเขียนบล็อกด้วย Middleman ตอนที่ 1 (Overview)](/llms/posts/getting-started-with-middleman-part1.md): Table of Contents - มาหัดเขียนบล็อกด้วย Middleman ตอนที่ 1 : Overview - มาหัดเขียนบล็อกด้วย Middleman ตอนที่ 2 : Custom Layout - มาหัดเขียนบล็อกด้วย Middleman... - [AngularJS คืออะไร ? + เริ่มต้นใช้งาน](/llms/posts/getting-started-angular-js.md): บทความนี้จะนำเสนอเนื้อหาเกี่ยวกับ AngularJS โดยในมุมมองของผม ซึ่งใช้เวลาศึกษามาประมาณ 2-3 เดือน ซึ่งถือว่ายังอยู่ในขั้นเริ่มต้น แต่ก็คิดว่าพอที่จะแบ่งปันในสิ่งท... - [Introduction to UNIX](/llms/posts/introduction-to-unix.md): เมื่อก่อนเคยเขียนบทความเกี่ยวกับ Linux Command เบื้องต้น ไปแล้ว เนื่องจากตอนนั้นกำลังหัดใช้งาน Ubuntu ใหม่ๆ ก็เลยจดบันทึกเอาไว้อ่านด้วย มาวันนี้ทางที่ทำงานอยู่... - [Gulp.js คืออะไร + มีประโยชน์อย่างไร + พร้อมวิธีใช้งาน](/llms/posts/getting-started-with-gulp.md): ปกติเวลาคุณเขียนเว็บไซต์ เสียเวลาไปกับการ minify css, แปลง less เป็น css , รีเฟรซหน้าเว็บทุกๆครั้งด้วยตัวเอง อยู่หรือเปล่า บทความนี้จะพูดถึงเครื่องมือที่เข้ามาช... - [เปลี่ยนมาใช้ iTerm2 + zsh พร้อม Features เพียบ](/llms/posts/iterm2-x-zsh.md): เมื่อก่อนบน Ubuntu ผมก็ใช้งาน Terminal ร่วมกับ bash มาโดยตลอด ใช้บ่อยกว่า nautilus (File Explorer) ซะอีก หลังๆเริ่มหัดใช้ vim บางทีก็เปิดแค่ Terminal ตัวเดียว... - [Setup Environment ในการทำงานบน Mac](/llms/posts/setup-environment-on-mac-os-x.md): อาทิตย์ที่ผ่านมาได้มีโอกาสได้ใช้งาน MacBook Pro และได้ทำการ setup โปรแกรมที่สำคัญต่างๆ สำหรับเอาไว้เขียนโปรแกรม ก็เลยถือโอกาส รวบรวม TODOs ต่างๆ เช่น... - [ขั้นตอนการติดตั้ง Android Studio บน Mac](/llms/posts/install-android-studio-on-mac.md): การติดตั้ง Android Studio บน Mac นั้นมีขั้นตอนการติดตั้งที่ค่อนข้างง่าย เพียงแค่ไม่กี่ขั้นตอนเท่านั้น Step 1 : Download ทำการเข้าสู่เว็บไซต์ Android Developers... - [เขียน E2E Testing บน AngularJS ด้วย Protractor](/llms/posts/angularjs-e2e-testing-with-protractor.md): บทความนี้ไม่ใช่ Tutorial นะครับ เป็นเพียงแค่การจดบันทึกของผมหลังจากที่เพิ่งหัดลองเขียน E2E Test บน AngularJS เผื่อจะมีประโยชน์แก่ผู้ที่กำลังสนใจในหัวข้อเดียวกัน... - [ทำระบบอัพโหลดไฟล์ด้วย Node.js](/llms/posts/upload-file-using-node-js.md): บทความนี้จะพูดถึงตัวอย่างการทำไฟล์อัพโหลดด้วยการใช้ Node.js + Express.js ร่วมกับ Middleware ของ Express.js ด้วย Multer สำหรับบทความนี้จะมีเทคโนโลยีที่เกี่ยวข้อง... - [HTML5 Canvas คืออะไร? + วิธีใช้งานเบื้องต้น](/llms/posts/html5-canvas-tutorial.md): HTML5 Canvas เป็นหนึ่งใน feature ที่มีคุณสมบัติทางด้านกราฟฟิคที่มาพร้อมกับ HTML5 โดยส่วนตัวเพิ่งเริ่มสนใจ Canvas ก็ตอนที่ได้ลองหัดทำเกมส์บน Browser นี่แหละครับ... - [เทคนิคการทำ Tab ให้กับเว็บไซต์](/llms/posts/how-to-create-tab-content.md): สังเกตมั้ยว่าเว็บไซต์บางแห่งจะมีส่วนของ Tab ที่เอาไว้ให้เราเลือกกด เพื่อเปลี่ยนเนื้อหา/ข้อความนั้นๆ ตัวอย่าง เช่น !Tabulous !CodyHouse ซึ่งจริงๆแล้ว... - [สร้างโปรเจ็ค Android ให้รับรอง Material Design](/llms/posts/create-android-material.md): บทความนี้เป็นการทดลองเล่นๆของผมเองครับ เนื่องจากว่าตั้งแต่ Android ออก Material Design มาตั้งแต่ปีที่แล้ว ส่วนตัวยังไม่ได้เขียนหรือพัฒนาแอพอะไรให้มันลองรับหรือไ... - [รู้จักกับ CocoonJS ตัวช่วยสำหรับคนทำเกมส์ HTML5](/llms/posts/introduction-to-cocoon-js.md): วันนี้จะพาไปรู้จักกับ Cocoon.js ตัวช่วยของผมในการเขียนและคอมไพล์เกม HTML5 เลยก็ว่าได้ เนื่องจากปัจจุบันกำลังหัดเขียนเกมและพบว่าเขียนด้วย HTML5 (javascript)... - [ผมเขียนโปรแกรมครบ 3 ปีแล้วครับ :)](/llms/posts/3-years-of-programming.md): สวัสดีครับ บทความนี้ขอเขียนเพื่อแชร์ประสบการณ์การเขียนโปรแกรมของผมนะครับ เนื่องจากว่า วันนี้ (13 กุมภาพันธ์) เมื่อ 3 ปีที่แล้ว เป็นการหัดเขียนและเริ่มรู้จักกับโ... - [สร้างแอพแชตด้วย Node.js และ socket.io](/llms/posts/chat-app-with-nodejs-and-socket-io.md): > Last Updated : 16 September 2017 : ปรับปรุงเนื้อหา และทำตัวอย่าง source code ใหม่ทั้งหมด เนื่องจากบทความนี้เขียนไว้ค่อนข้างนานแล้ว ช่วงต้นปี 2015... - [ทดลองใช้ Hapi.js สร้าง RESTFul API แบบง่ายๆ](/llms/posts/create-restful-api-with-hapi-js.md): ช่วงนี้ผมสนใจงานด้าน Web Development ซะส่วนใหญ่ และก็กำลังหัดเล่นและใช้งาน MEAN Stack ทำให้ตอนนี้มุ่งเน้นไปที่ Node.js Express.js MongoDB ส่วน AngularJS... - [เริ่มต้นเขียน Android ด้วย Phonegap & Cordova](/llms/posts/getting-started-with-phonegap-cordova.md): เมื่อวันเสาร์ที่ผ่านมา ได้มีโอกาสลองใช้งาน Phonegap & Cordova ครั้งแรกครับ หลังจากที่ว่าจะลองมานานแล้ว เนื่องจากว่าเคยไปส่อง Documentation... - [วิธีการเรียกดูข้อมูล SQLite จาก Emulator](/llms/posts/how-to-debug-sqlite-database-in-emulator.md): บทความนี้จะพูดถึงเรื่องเกี่ยวกับ SQLite นะครับ เนื่องจากว่าหลายๆคนสงสัยว่า เมื่อเราพัฒนาแอพพลิเคชันแอนดรอยส์ แล้วเชื่อมต่อข้อมูลกับ SQLite แล้ว -... - [ขั้นตอนการใช้งาน greenDAO บน Android (ภาคล่าสุด)](/llms/posts/android-greendao-remake.md): บทความนี้เป็นบทความ rewrite จากบทความเก่านะครับ Day 19 : GreenDAO เนื่องจากว่าบทความค่อนข้างเก่า และทำในซีรีย์ Learn 30 Android Libraries in 30 Days... - [Git Cheat Sheet](/llms/posts/git-cheat-sheet.md): สำหรับผู้ที่เพิ่งเข้ามาอ่าน และสนใจการเรียน Git ผมได้ทำการเขียนบทความเกี่ยวกับ Git ไว้แล้ว เชิญอ่านได้ที่นี่ครับ Git คืออะไร ? + พร้อมสอนใช้งาน Git และ Github... - [Serving Web Content with Spring MVC](/llms/posts/serving-web-content-with-spring-mvc.md): ตัวอย่างนี้เป็นตัวอย่างที่อ่านและทดลองทำจากบทความต้นฉบับนี้ Serving Web Content with Spring MVC โดยใช้เครื่องมือคือ Spring Tool Suite Stack -... - [สรุปจากการเรียน Try Git](/llms/posts/note-from-try-git.md): บทความนี้เป็นการบันทึกการเรียนรู้การใช้งาน Git จากเว็บไซต์ try.github.com เมื่อก่อนได้ยินคำว่า Git แล้วเกิดความสงสัยว่ามันคืออะไร? มีคนบอกว่ามันจะมาแทน SVN... - [Digital Ocean คืออะไร ? + วิธีการติดตั้ง Ghost บน Digital Ocean](/llms/posts/install-ghost-on-digital-ocean.md): บทความนี้เป็นบทความที่นำเสนอเรื่อง Digital Ocean นั้นคืออะไร Ghost คืออะไร ทั้งสองนั้นเกี่ยวโยงกันเช่นไร ทำไมถึงเขียนบทความโดยพูดถึงสองอย่างนี้... - [รู้จักกับ Variable Hoisting ใน Javascript กันดีกว่า](/llms/posts/javascript-variable-hoisting.md): ต้องบอกก่อนว่าผมไม่ใช้ Guru ด้าน Javascript นะครับ เป็นเพียงแค่มือใหม่ที่เพิ่งหัดศึกษาเท่านั้น ส่วนมากก็จะตามเทรนด์ไปเรื่อยๆ เน้นอ่าน Documentation... - [ขั้นตอนการติดตั้ง Android Studio 1.0 สำหรับมือใหม่](/llms/posts/how-to-setup-and-install-android-studio.md): หลังจากที่ Google ได้ทำการเปิดตัว Android Studio 1.0 ออกมาเป็นที่เรียบร้อยแล้ว คาดว่าต่อไป Eclipse (ADT) คงจะถูกลอยแพ และลดความนิยมลงเรื่อยๆ... - [ขั้นตอนการ Upload Android Library ไปที่ Maven Central](/llms/posts/how-to-push-android-library-to-maven-central.md): วันนี้ผมได้ทำการทดสอบ อัพโหลด Library ขึ้นไปไว้ที่ Maven Central ครั้งแรกครับ ก็เลยนำประสบการณ์มาแชร์เผื่อมีใครที่กำลังจะทำ หรืออยากทำ เชื่อว่ามีนะ... - [ติดตั้งและใช้งาน SFML ด้วย CLion บน Ubuntu](/llms/posts/install-and-run-sfml-in-clion-on-ubuntu.md): _Cover Image : www.jetbrains.com/clion_ บทความนี้เป็นบทความที่ผมทำเป็น Note ไว้เมื่อหลายอาทิตย์ก่อน ตอนที่ลองใช้งาน SFML บน Ubuntu แล้วพบปัญหา... - [ทำ RESTFul API ด้วย Node.js, Express และ MongoDB](/llms/posts/restful-api-with-node-js-and-mongodb.md): จากบทความที่แล้ว ผมได้พูดถึงเรื่องการทำ RESTful API ด้วย Node.js กับ Express เบื้องต้นไปแล้ว มาทำ RESTFul API ด้วย Node.js กับ Express กันดีกว่า... - [Android Design - Relative Layout คืออะไร ? + อธิบายพร้อมภาพปลากรอบ](/llms/posts/android-design-relative-layout-tutorial.md): หลักจากที่พูดเรื่อง LinearLayout กันไปแล้ว มาวันนี้จะมาพูดถึงหน้า Layout อีกแบบนึงที่นิยมใช้ใน Android นั่นก็คือ RelativeLayout ตัว RelativeLayout เป็น Layout... - [สอนสร้าง Theme Ghost เพื่อไปขาย Themeforest ตอนที่ 5 (ตอนสุดท้าย)](/llms/posts/getting-started-with-ghost-theme-development-part5.md): สวัสดีครับ นี้เป็น Part 5 Part สุดท้ายของซีรีย์ สร้าง Ghost Theme กันแล้วนะครับ สำหรับ Part นี้จะเป็นในส่วนของ Additional เสริมต่างๆ เช่น - การใส่ Disqus... - [สอนสร้าง Theme Ghost เพื่อไปขาย Themeforest ตอนที่ 4](/llms/posts/getting-started-with-ghost-theme-development-part4.md): มาต่อกันที่ Part ที่ 4 นะครับ หลังจากที่ก่อนหน้านี้ เราได้รู้จักว่าการทำ Theme Ghost ต้อง Setup ยังไง มีไฟล์พื้นฐานอะไรบ้าง รู้จักหน้า Index หน้า Post... - [สอนสร้าง Theme Ghost เพื่อไปขาย Themeforest ตอนที่ 3](/llms/posts/getting-started-with-ghost-theme-development-part3.md): วันนี้มาต่อเรื่อง สอนทำ Theme Ghost เพื่อขายบน Themeforest ใน Part ที่ 3 ครับ สำหรับ Part 3 จะมาพูดถึงเรื่อง Default Template และ Partial กัน... - [สอนสร้าง Theme Ghost เพื่อไปขาย Themeforest ตอนที่ 2](/llms/posts/getting-started-with-ghost-theme-development-part2.md): มาต่อที่ Part 2 กันเลยครับหลักจาก Part 1 เราพูดถึง Ghost และการ Setup โปรเจ็คพื้นฐานได้แล้วนะครับ ตอนที่สิ่งที่ทุกคนเป็นก็คือ การติดตั้ง Ghost ลงบน localhost... - [สอนสร้าง Theme Ghost เพื่อไปขาย Themeforest ตอนที่ 1](/llms/posts/getting-started-with-ghost-theme-development-part1.md): สวัสดีครับ วันนี้ขอนำเสนอบทความเรื่อง Ghost Theme Development พอดีเห็นว่า Ghost เป็น Blogging Platform ที่น่าสนใจดี (ส่วนตัวผมชื่นชอบ และมี Blog ที่ใช้ Ghost... - [ListView - มาทำ Load More ตอน scroll เพื่อโหลดข้อมูลกันเถอะ](/llms/posts/android-load-more-listview-with-scrolling-example.md): บทความ Android วันนี้ ขอนำเสนอเรื่อง การทำ Load More ให้กับ ListView ไม่ใช่การทำ Load More ที่มี Button นะ แต่เป็นการใช้การ Scroll... - [สอนวิธีใช้งาน Spinner บน Android](/llms/posts/android-spinner-example.md): บทความ Android วันนี้ ขอนำเสนอเรื่อง การทำ Drop-Down Menu ด้วยการใช้ Spinner หลักจากที่พบว่าหลายๆคนมีปัญหาเกี่ยวกับการใช้งาน Spinner กันพอสมควร... - [มาทำ RESTFul API ด้วย Node.js กับ Express กันดีกว่า](/llms/posts/restful-api-with-node-js-and-express.md): บทความนี้ไม่ได้อัพเดท แนะนำอ่านบทความล่าสุดครับ ทำ Backend API ด้วย Node.js และ MongoDB กันดีกว่า บทความนี้จะมาพูดถึงด้าน Web Development นะครับ นั่นก็คือ... - [การสร้าง Tab บน Android ด้วยการใช้ TabHost และ ActionBar Tab](/llms/posts/android-tab-with-tabhost-and-actionbar-tab.md): บทความ Android วันนี้ ขอนำเสนอเรื่อง การสร้าง Tab ให้กับแอพ Android ตัวอย่าง Tab ใน Android จะมีหน้าตาแบบนี้ !Tab !Tab Standard การสร้าง Tab บน Android ทำได้ 2... - [ตัวอย่างการทำ Navigation Drawer บน Android](/llms/posts/android-navigation-drawer-tutorial.md): บทความสอน Android วันนี้ขอนำเสนอเรื่อง Navigation Drawer เชื่อว่าหลายๆคนเคยได้ยิน บางคนเคยใช้งานหรือแม้แต่เคยใช้งาน แต่ไม่รู้ว่ามันเรียกว่า Navigation Drawer... - [มาทำความเข้าใจกับ LibGDX ภาคทฤษฎีกันดีกว่า](/llms/posts/libgdx-application-framework.md): LibGDX Application Framework Life Cycle Life Cycle ของ libGDX จะมีการทำงานที่คล้ายๆกับ Activity Life Cycle ของ Android เช่น ในส่วน , , , และ เป็นต้น ตัวอย่าง... - [สอนสร้างเกม HTML5 ด้วย Phaser Framework](/llms/posts/create-html5-game-with-phaser-js-framework-tutorial.md): วันนี้ผมจะพาไปเขียนเกม HTML5 ด้วย PhaserJS กันนะครับ ตัวอย่างเกม เมื่อเขียนเสร็จ จะได้หน้าตาแบบนี้เลย ลองเข้าไปลองเล่นได้ PhaserJS เป็น HTML5 Game Framework... - [Android Design - Linear Layout คืออะไร? + สอนวิธีใช้](/llms/posts/android-layout-linear-layout.md): หลายๆคนเขียนแอพ Android แต่มีปัญหาเวลาจัดการหน้า Layout ของโปรแกรมทุกที บางคนใช้งานเป็นแต่หน้า Graphical Layout ดึงๆ ลากๆ Widget มาใส่ แล้วก็เปลี่ยนค่า... - [รวม Collection Color Scheme สำหรับนำไปแต่งเว็บไซต์](/llms/posts/color-schemes-collections.md): วันนี้ขอเป็นบทความสั้นๆ มาแปลกแหวกแนวหน่อยนะครับ จริงๆ ผมไม่ค่อยมีหัวด้านดีไซน์หรือพวก Color Theory อะไรเลย แต่ว่าวันนี้จะมาแนะนำแหล่งหาเฉดสี หาโทนสี... - [การทำระบบ Login ผ่าน Web Service ด้วย Parse.com](/llms/posts/android-login-activity-with-parse-com.md): บทความสอนเขียนแอพ Android บทความนี้ ขอนำเสนอ การทำระบบ Login ติดต่อผ่าน Web Server โดยใช้ Parse.com ซึ่งเป็นความบทที่ 3 ใน 4 เกี่ยวกับการสร้างระบบ Login บน... - [ขั้นตอนการติดตั้ง LibGDX สำหรับเขียนเกม Android ด้วย Android Studio](/llms/posts/how-to-install-libgdx-for-android-game-development.md): อัพเดทล่าสุด : 26 มกราคม 2558 โดยเพิ่มส่วน gdx-setup.jar และใช้ libGDX เวอร์ชัน 1.5.3 หลังจากที่ผมเคยเขียนบทความเกี่ยวกับการทำ Game ด้วย libGDX กันไปแล้ว... - [Day 30 - Firebase](/llms/posts/day-30-learn-android-firebase.md): สวัสดีครับ บทความนี้เป็นบทความที่ 30 บทความสุดท้ายแล้วนะครับ ใครที่ติดตามอ่านอยู่ก็ขอขอบคุณมากเลยครับ :D สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day 1 :... - [Day 29 - FlatUI](/llms/posts/day-29-learn-flat-ui.md): สวัสดีครับ บทความนี้เป็นบทความที่ 29 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day... - [Day 28 - WeatherLib](/llms/posts/day-28-learn-weatherlib.md): สวัสดีครับ บทความนี้เป็นบทความที่ 29 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day... - [Day 27 - AdapterKit](/llms/posts/day-27-learn-adapter-kit.md): สวัสดีครับ บทความนี้เป็นบทความที่ 27 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day... - [Day 26 - CardLibs](/llms/posts/day-26-learn-cardslib.md): สวัสดีครับ บทความนี้เป็นบทความที่ 26 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day... - [Day 25 - Eaze Graph](/llms/posts/day-25-learn-eaze-graph.md): สวัสดีครับ บทความนี้เป็นบทความที่ 25 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day... - [Day 23 - ListView Animation](/llms/posts/day-23-learn-listview-animations.md): สวัสดีครับ บทความนี้เป็นบทความที่ 23 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day... - [Day 24 - AndEngine](/llms/posts/day-24-andengine-android-studio.md): สวัสดีครับ บทความนี้เป็นบทความที่ 24 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day... - [Day 22 - Twitter4j](/llms/posts/day-22-learn-twitter4j.md): สวัสดีครับ บทความนี้เป็นบทความที่ 22 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day... - [Day 21 - Active Android](/llms/posts/day-21-learn-active-android.md): สวัสดีครับ บทความนี้เป็นบทความที่ 21 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day... - [Day 20 - Android View Animation](/llms/posts/day-20-learn-android-view-animations.md): สวัสดีครับ บทความนี้เป็นบทความที่ 20 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day... - [Day 19 - GreenDAO](/llms/posts/day-19-learn-greendao.md): สวัสดีครับ บทความนี้เป็นบทความที่ 19 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day... - [Day 18 - ShowcaseView](/llms/posts/day-18-learn-showcaseview.md): สวัสดีครับ บทความนี้เป็นบทความที่ 18 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day... - [Day 17 - Swipe ListView](/llms/posts/day-17-learn-swipe-listview.md): สวัสดีครับ บทความนี้เป็นบทความที่ 17 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day... - [Day 16 - Autofix TextView](/llms/posts/day-16-try-autofit-textview.md): สวัสดีครับ บทความนี้เป็นบทความที่ 16 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day... - [Day 15 - FadingActionBar](/llms/posts/day-15-learn-fading-actionbar.md): สวัสดีครับ บทความนี้เป็นบทความที่ 14 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day... - [Day 14 - ViewPager Indicator](/llms/posts/day-14-learn-viewpager-indicator.md): สวัสดีครับ บทความนี้เป็นบทความที่ 14 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day... - [Day 13 - View Pager](/llms/posts/day-13-getting-started-with-view-pager-android.md): สวัสดีครับ บทความนี้เป็นบทความที่ 13 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day... - [Day 12 - Circular Progress Button](/llms/posts/day-12-learn-circular-progress-button.md): สวัสดีครับ บทความนี้เป็นบทความที่ 12 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day... - [Day 11 - DatePicker](/llms/posts/day-11-learn-datetimepicker.md): สวัสดีครับ บทความนี้เป็นบทความที่ 11 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day... - [รวมแหล่งดีไซน์ Mobile UI UX ของ Android](/llms/posts/resource-for-android-design-ux-ui-inspiration.md): วันนี้ขอมาแนะนำเว็บไซต์สำหรับ Mobile Design UI/UX เพื่อเป็นแรงบันดาลใจ เป็นไอเดีย เอาไว้ดีไซน์แอพกันนะครับ เมื่อก่อนเจอเว็บไหนน่าสนใจก็จะ Bookmark ไว้ในเครื่อง... - [Day 10 - Android Annotations](/llms/posts/day-10-learn-android-annotations.md): สวัสดีครับ บทความนี้เป็นบทความที่ 10 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day... - [Day 9 - Butter Knife](/llms/posts/day-9-learn-butter-knife.md): สวัสดีครับ บทความนี้เป็นบทความที่ 9 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day 1... - [Day 8 - Crashlytics](/llms/posts/day-8-try-crashlytics.md): สวัสดีครับ บทความนี้เป็นบทความที่ 8 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day 1... - [Day 7 - Android AsyncHttp](/llms/posts/day-7-learn-android-async-http.md): สวัสดีครับ บทความนี้เป็นบทความที่ 7 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day 1... - [Tips - แนะนำ 20 Short Key ที่ควรรู้บน Android Studio](/llms/posts/tips-keyboard-shortcut-on-android-studio.md): สวัสดีครับ บทความนี้ผมจะมาแนะนำ Tip และ เทคนิค บน Android Studio ที่จะช่วยให้ทุกท่าน เขียนโค๊ดได้ไวขึ้น ทำงานได้ไวขึ้น รวมถึงประโยชน์หลายๆอย่างของ Keyboard... - [Day 6 - Holo Color Picker](/llms/posts/day-6-learn-holo-color-picker.md): สวัสดีครับ บทความนี้เป็นบทความที่ 6 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day 1... - [Day 5 - Android Graphview](/llms/posts/day-5-learn-android-graphview.md): สวัสดีครับ บทความนี้เป็นบทความที่ 5 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day 1... - [แนะนำ Tiled Map Editor สำหรับทำเกมส์](/llms/posts/basic-tiled-map-editor.md): วันนี้ขอนำเสนอบทความเกี่ยวกับการทำเกมส์นะครับ บทความนี้ไม่มีส่วน Coding เข้ามาเกี่ยวข้อง แต่จะเป็นการแนะนำ การใช้เครื่องมือตัวหนึ่งครับ ชื่อว่า TiledMap Editor... - [Day 4 - Swipe Refresh Layout](/llms/posts/day-4-learn-swipe-refresh-layout.md): สวัสดีครับ บทความนี้เป็นบทความที่ 4 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day 1... - [Day 3 - Retrofit](/llms/posts/day-3-learn-retrofit.md): สวัสดีครับ บทความนี้เป็นบทความที่ 3 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day 1... - [Day 2 - Paralloid](/llms/posts/day-2-learn-paralloid.md): สวัสดีครับ บทความนี้เป็นบทความที่ 2 แล้วนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days สำหรับบทความทั้งหมด อ่านได้จากด้านล่างครับ - Day 1... - [Day 1 - Android Staggered Grid](/llms/posts/day-1-android-staggeredgrid.md): สวัสดีครับ บทความนี้เป็นบทความแรกเลยนะครับ ที่ผมจะมาเขียน ในซีรีย์ Learn 30 Android Libraries in 30 days ตั้งเป้าไว้ ว่าจะต้องรู้ Library ให้ได้วันละ 1 ตัว... - [Learn 30 Android Libraries in 30 days](/llms/posts/android-libraries-in-30-days.md): บทความสอนเขียนแอพ Android บทความนี้ อาจจะไม่ได้เป็นการเขียนแบบ Tutorial เท่าไหร่ แต่จะเป็นเกมที่ผมตั้งใจสร้างขึ้นมาครับ คือตั้งใจจะเรียนรู้ Android Library... - [Android Push Notification โดยใช้ App Engine Template](/llms/posts/android-push-notifcation-app-engine-template-on-android-studio.md): Android GCM Push Notification Tutorial บทความสอน Android บทความนี้ ผมขอนำเสนอสิ่งที่ Advanced ซักเล็กน้อย และคิดว่าน่าจะเป็นเรื่องต้นๆ ที่นักพัฒนา Android... - [วิธีเช่า Hosting ฟรีๆที่ Parse.com](/llms/posts/how-to-hosting-website-with-parse.md): _Cover Image: parse.com_ หากใครยังจำกันได้ ผมได้เคยพูดเกี่ยวกับ Pares.com ไปแล้วในหัวข้อ มาทำความรู้จักกับ Parse.com กัน และเขียนบทความเกี่ยวกับ Parse.com... - [ตัวอย่างการใช้ Picasso มาช่วยแก้ปัญหารูปภาพใน Android](/llms/posts/android-picasso-tutorial.md): วันนี้ขอนำเสนอบทความเกี่ยวกับ Image Library ครับ คือการใช้ Picasso มาช่วยแก้ปัญหาในการแสดงผลรูปภาพ ImageView กันครับ ก่อนหน้านี้ผมเคยพูดถึง Library... - [วิธีการเพิ่ม Library เข้าไปในโปรเจ็ค Android](/llms/posts/how-to-add-library-to-android-project.md): บทความสอน Android วันนี้จะมาพูดถึง การเพิ่ม Library ในโปรเจ็คของเรากันนะครับ รวมถึงการอ้างอิง reference กับ project ที่เรา import เข้ามาใช้งานในโปรเจ็ค... - [สร้างกราฟ Pie Chart บน Android ด้วย AChartEngine](/llms/posts/android-achartengine-tutorial-pie-chart.md): บทความสอนเขียนแอพ Android วันนี้ขอนำเสนอเรื่อง การเขียนกราฟด้วย AChartEngine สำหรับบทความนี้จะเป็นการแสดง Pie Chart แบบง่ายๆให้ดูนะครับ เริ่มต้น... - [Android Studio เวอร์ชั่น Beta ออกแล้ว! มีอะไรอัพเดทบ้าง ไปดูกันเลย](/llms/posts/android-studio-beta-released.md): งาน Google I/O 2014 ที่ผ่านมา หากหลายคนที่ได้ติดตามอยู่ ก็คงพอจะทราบกันแล้วว่ามีอะไรใหม่บ้าง นอกจากทาง Google จะทำการเปิดตัว Android Developer L Preview... - [Android L Developer Preview - ทดลองเล่น RecyclerView](/llms/posts/android-l-recycler-view-md.md): _Image Cover: http://googledevelopers.blogspot.com/_ หลักจากงาน Google I/O 2014 เมื่อวานนั้น Google ได้ทำการเปิดตัว Android L Developer Preview ซึ่งไอ้เจ้า... - [สร้างกราฟ Line Chart บน Android ด้วย AChartEngine](/llms/posts/android-achartengine-tutorial-with-line-chart.md): บทความสอนเขียนแอพ Android วันนี้ขอนำเสนอเรื่อง การเขียนกราฟ การ plot กราฟ บนแอพพลิเคชัน Android สำหรับบทความนี้จะใช้ Library ที่ชื่อว่า AChartEngine ตัวอย่าง... - [การทำระบบ Login ด้วย SQLite](/llms/posts/android-login-activity-with-sqlite.md): บทความสอนเขียนแอพ Android บทความนี้ ขอนำเสนอ การทำระบบ Login ด้วย SQLite ซึ่งเป็นความบทที่ 2 ใน 4 เกี่ยวกับการสร้างระบบ Login บน Android สำหรับรายละเอียด... - [การทำระบบ Login ด้วย SharedPreferences](/llms/posts/android-login-activity-with-sharedpreferences.md): บทความสอนเขียนแอพ Android บทความนี้ ขอนำเสนอ การทำระบบ Login ด้วย SharedPreferences ซึ่งบทความนี้เป็นบทความ 1 ใน 4 บทความในซีรีย์ การสร้างระบบ Login บน Android... - [มารู้จัก UI Thread และการแก้ปัญหา Network on Main Thread Exception](/llms/posts/ui-thread-and-on-main-thread-exception.md): บทความสอนเขียนแอพ Android วันนี้ขอนำเสนอเรื่อง UI Thread, ปัญหา NetworkOnMainThreadException และวิธีแก้ปัญหา จริงๆบทความนี้ไม่ได้ Draft ไว้หรือว่าอะไรทั้งสิ้น... - [สร้างโปรเจ็คบน Android Studio สำหรับเวอร์ชัน 0.6.1 ขึ้นไป](/llms/posts/create-new-project-on-android-studio-0-6-1.md): บทความนี้ขอนำเสนอวิธีการสร้างโปรเจ็คแอนดรอยส์แบบใหม่ บน Android Studio 0.6.1 เนื่องจากพอดีเห็นมันเพิ่งจะมีการอัพเดท และมีการเปลี่ยนแปลงหน้าตา UI ไปบ้างเล็กน้อย... - [Android Studio Navigation Editor คืออะไร ?](/llms/posts/android-studio-navigation-editor.md): หลักจากทาง Google ได้ปล่อย Android Studio 0.6.1 ออกมา ปรากฎว่านอกจากจะมีการอัพเดท Template ตอนสร้างโปรเจ็คใหม่แล้ว !Android Studio 0.6.1 ยังมีอีก Tools... - [การทำ GridView บน Android แบบง่ายๆ](/llms/posts/android-gridview-tutorial.md): _Font Credit: http://fontfabric.com/nexa-free-font/_ วันนี้ขอนำเสนอตัวอย่าง Layout รูปแบบหนึ่งที่เป็นที่นิยมไม่แพ้ ListView เลย นั่นก็คือ GridView นั่นเอง... - [ขั้นตอนการติดตั้ง Apache, MySQL และ PHP บน Ubuntu](/llms/posts/how-to-install-apache-mysql-php-on-ubuntu.md): เมื่อวันก่อน ผมไปเห็นกรุ๊ปนึงในเฟซบุ๊ค ถามว่า ถ้าหากว่าใช้ Ubuntu จะสามารถเขียนเว็บได้มั้ยครับ? มันลง AppServ ได้มั้ย แล้ววิธีการติดตั้งทำยังไง? ยากหรือเปล่า?... - [การใช้ Intent เพื่อเปิดหน้า Activity และส่งข้อมูลระหว่าง Activity](/llms/posts/android-open-new-activity-with-intent.md): บทความนี้ขอนำเสนอบทความพื้นฐานสำหรับมือใหม่เลยครับ เกี่ยบกับเรื่อง Intent และการเปิด Activity หนึ่งไปยังอีก Activity หนึ่ง รวมถึงการส่งข้อมูลระหว่าง Activity... - [สอนเขียนเกม Android ด้วย Box2D ตอนที่ 1](/llms/posts/android-libgdx-box2d-tutorial.md): วันนี้ขอพูดถึงเรื่อง Box2D บน LibGDX(Android) ซักหน่อยละกันครับ โดยในบทความนี้จะพาไปรู้จักกับ Box2D ว่ามันคืออะไร? มีประโยชน์อะไร? ใช้เมื่อไหร่... - [สร้างรายได้ให้แอพของเราด้วย Admob](/llms/posts/making-money-on-android-with-admob.md): เนื่องจากวันนี้ผมเพิ่งได้ทำการเปลี่ยนระบบจ่ายเงินของ Admob แบบใหม่พอดี ซึ่งแบบใหม่ ไม่สามารถทำการจ่ายเงินด้วย Paypal ได้แล้ว ใช้การโอนเงินผ่าน Wire Transfer... - [แก้ปัญหาโหลดรูปด้วย Universal Image Loader](/llms/posts/getting-started-with-usiversal-image-loader.md): วันนี้ขอนำเสนอบทความเกี่ยวกับ Library ครับ คือการใช้ Universal Image Loader มาช่วยแก้ปัญหาในการแสดงผลรูปภาพ ImageView กันครับ คุณเคยไหมที่เวลาใช้ ImageView... - [แทรกโค๊ดลงบทความด้วย Gist จาก Github](/llms/posts/how-to-embedded-gist-on-post.md): สวัสดีครับ บทความนี้จริงๆแล้วเป็นบทความที่เคยเขียนไว้นานแล้ว น่าจะปีกว่าๆสมัยที่ยังเขียนอยู่ที่บล็อกเก่า ปัจจุบันบล็อกนั้นลบไปแล้ว แต่ว่าบทความทั้งหมดยังอยู่... - [Android Button และการรับ Event ด้วย OnClick](/llms/posts/android-button-onclick-listener-tutorial.md): วันนี้พอดีมีน้องคนหนึ่งสอบถามมาเกี่ยวกับ Button ก็เลยทำเป็นบทความมาให้ซะเลย วันนี้จะมาพูดถึงเรื่อง Button ใน Android ครับ เป็นการใช้งาน และการ implements... - [ตัวอย่างการใช้งาน SQLite บน Android ตอนที่ 1](/llms/posts/android-sqlite-tutorial-part-1.md): Update! สำหรับคนที่สงสัยเกี่ยวกับการเรียกดูข้อมูลในฐานข้อมูลได้อย่างไร ติดตามอ่านบทความได้ที่นี่ครับ วิธีการเรียกดูข้อมูล SQLite จาก Emulator... - [ตัวอย่างการใช้งาน SQLite บน Android ตอนที่ 2](/llms/posts/android-sqlite-tutorial-part-2.md): Update! สำหรับคนที่สงสัยเกี่ยวกับการเรียกดูข้อมูลในฐานข้อมูลได้อย่างไร ติดตามอ่านบทความได้ที่นี่ครับ วิธีการเรียกดูข้อมูล SQLite จาก Emulator... - [เริ่มต้นเขียนเกมด้วย Love2D](/llms/posts/getting-started-with-love2d.md): ก่อนอื่นต้องบอกก่อนว่า หัวข้อบทความอาจจะดูเว่อ เกินจริงไปบ้าง แต่วันนี้ผมจะมาสอนโปรแกรมเมอร์ทั้งหลาย ให้รู้จักกับ "ความรัก" กันครับ... - [ตัวอย่างการทำ ListView อ่านข้อมูล JSON ด้วย GSon](/llms/posts/android-custom-listview-with-gson-tutorial.md): บทความนี้จะมาพูดถึง การเขียนแอพพลิเคชันแอนดรอยส์เพื่อดึงข้อมูล JSON โดยมาแสดงเป็น ListView ในส่วน ListView ก็จะใช้เป็น Custom ListView ครับ... - [รวบรวมแหล่งเรียนรู้การเขียนโปรแกรม Online ทั้งฟรีและเสียตัง](/llms/posts/resources-for-learn-web-development-online.md): Last updated : 7 July 2019 ปกติวันหยุด หรือเวลาว่างๆของผม ส่วนมากหากไม่มีโปรเจ็คอะไรค้าง ก็มักจะหมดไปกับการนั่งเรียน นั่งอ่านบล็อกพวกโปรแกรมมิ่งต่างๆ... - [วิธีใช้งาน AsyncTask บน Android](/llms/posts/android-asynctask-tutorial.md): เชื่อว่าหลายๆคนที่เขียน Android Application ต้องมีความคุ้นเคยกับ กันแน่นอน โดยเฉพาะเมื่อต้องการเชื่อมต่อ Internet ผ่าน HTTP ต่างๆ ล้วนต้องใช้ AsyncTask... - [ขั้นตอนการติดตั้ง Atom บน Ubuntu](/llms/posts/how-to-install-atom-on-ubuntu.md): เมื่อตอนได้ Invite Atom มาใหม่ๆ ก็กะจะลองเล่นดูว่ามันดีอย่างไร ทดแทน Sublime Text ได้หรือไม่ แต่พอเข้าไปดูในเว็บไซต์เท่านั้นแหละ อ้าว... - [สร้าง Facebook Login ด้วย Android Studio](/llms/posts/facebook-sdk-for-android-using-android-studio.md): จากบทความที่แล้ว เขียนเกี่ยวกับ Facebook SDK for Android สร้างปุ่ม Login โดยใช้ Eclipse กันไป วันนี้ก็เลยมาเขียนบทความโดยใช้ Android Studio ครับ เผื่อบางคนใช้... - [วิธีการใส่ Adsense โดยไม่ต้องใช้ Plugin](/llms/posts/how-to-add-adsense-without-plugin.md): เชื่อว่าหลายๆท่าน ที่ทำเว็บอยู่ บางคนก็เป็นมือใหม่หรือบางทีก็ทำอาชีพอื่น ไม่ได้เก่งโค๊ดแต่อย่างใด ทำให้เวลาอยากติด Google Adsense... - [วิธีการ Save และ Query ParseObject](/llms/posts/how-to-save-and-query-parse-object.md): หลังจากบทความที่แล้ว ทำความรู้จักกับ Parse.com ได้เขียนแนะนำน การใช้งาน Parse ในเบื้องต้นกันไปแล้ว ในบทนี้ความนี้เลยจะมาพูดถึง วิธีการ Query ข้อมูลจาก Parse... - [ขั้นตอนการติดตั้งและใช้งาน Ghost บน Digital Ocean](/llms/posts/install-ghost-on-digital-ocean-deprecated.md): บทความนี้เป็นบทความเก่า แนะนำให้อ่านบทความล่าสุดที่เขียนที่นี่ครับ Digital Ocean คืออะไร ? + วิธีการติดตั้ง Ghost บน Digital Ocean... - [ปัญหา invalid android_key parameter](/llms/posts/troubleshooting-invalid-android_key-parameter-facebook-sdk.md): หลักจากเขียนบทความเรื่อง สร้างปุ่ม Facebook Login บน Android ไป ปรากฎว่า มีคนที่ลองทำแล้วมีปัญหาเกิดขึ้นครับ วันนี้ก็เลยนำตัวอย่างปัญหาที่มีคนเจอ... - [Parse คืออะไร ? แนะนำการใช้งานเบื้องต้น](/llms/posts/getting-started-with-parse.md): วันนี้จะพาไปรู้จักกับบริการจัดการ Database บน Cloud ตัวหนึ่งครับ ชื่อว่า Parse ปกติ หากเราพัฒนาแอพพลิเคชันบนมือถือ หรือบนเว็บไซต์ หากต้องการติดต่อกับฐานข้อมูล... - [ตัวอย่างการสร้าง Dialog บน Android](/llms/posts/android-dialog-and-custom-dialog-example.md): Dialog มันก็คือ Popup ที่เอาไว้แสดง Alert เตือนผู้ใช้ หรือว่า ให้กรอกข้อมูลอะไรก็ว่าไป เป็น Window ขนาดเล็กๆ จริงๆ ไม่ต้องอธิบายอะไรมาก คิดว่าทุกคนคงรู้จัก... - [ปัญหา fast-stemmer native gem requires installed build tools](/llms/posts/gem-install-error-windows-7.md): สำหรับบทความนี้เป็นบทความเก่า ที่ผมเคยเขียนตอนฝากโฮสไว้ที่ Github Page พอมาวันนี้ ได้มีโอกาสมาลองเล่น Ruby on Rails บน Windows อีกครั้ง ปรากฎว่าเจอปัญหา... - [เขียนเกมด้วย LibGDX :8 – Simple Game - Actor](/llms/posts/libgdx-tutorial-simple-game-implement-actor.md): สวัสดีครับ กลับมาพบกับซีรีส์ สอน LibGDX ในตอนสุดท้ายกันนะครับ พอดีว่าลง Ubuntu ใหม่ ทำให้ source code ที่ใช้สอน หายไปด้วยครับ เลยทำให้บทความออกมาช้าพอสมควร... - [ขั้นตอนติดตั้ง Ubuntu Desktop 14.04](/llms/posts/step-to-install-ubuntu-desktop-14-04.md): _Cover Image: http://www.ubuntu.com/download/desktop_ หลังจากเมื่อวาน 18 เมษายน 2557 ประมาณตี1 ตี2 บ้านเรา Ubuntu 14.04 ก็ได้ประกาศให้ดาวน์โหลดอย่างเป็นทางการคร... - [สร้างปุ่ม Facebook Login บน Android](/llms/posts/facebook-sdk-for-android-login-button.md): _Cover Image : https://developers.facebook.com/docs/android_ ปัจจุบันนับว่า Facebook นั้นมีอิทธิพลต่อวงการเว็บ มือถือ และ โซเชียลเนตเวิร์คอย่างมาก แทบทุกเว็บ... - [เขียนเกมด้วย LibGDX 7 – Simple Game - scene2d.ui](/llms/posts/libgdx-tutorial-simple-game-part-4-scene2d.md): วันนี้จะมาแนะนำการทำหน้า MenuScreen ด้วย scene2d.ui ครับ จากบทความที่แล้ว imple Game ภาคพิเศษ เราได้ตัวเกมที่มีหน้าเมนูก่อนเข้าเล่นเกม... - [เขียนเกมด้วย LibGDX 6 – Simple Game ภาคพิเศษ](/llms/posts/libgdx-tutorial-simple-game-part-3.md): กลับมาพบกับซีรีย์เขียนเกมด้วย LibGDX กันต่อครับ บทความนี้เป็นบทความที่ 6 แล้วครับ จะมาพูดต่อ จากบทความที่แล้ว คือ เขียนเกมด้วย LibGDX #5 – Simple Game ตอนจบ... - [เขียนเกมด้วย LibGDX : 5 – Simple Game ภาคจบ](/llms/posts/libgdx-tutorial-simple-game-part-2.md): หลังจากบทความที่แล้ว เขียนเกมด้วย LibGDX #4 – Simple Game ตอนแรก ได้นำเสนอตัวอย่างการเขียนเกมส์ด้วย LibGDX โดยยกตัวอย่าง Simple Game จาก LibGDX Wiki มาให้ดู... - [เขียนเกมด้วย LibGDX : 4 – Simple Game ภาคแรก](/llms/posts/libgdx-tutorial-simple-game-part-1.md): สวัสดีครับ บทความนี้เป็นบทความที่ 4 ครับ จากซีรีส์ สอน LibGDX ครับ บทความตอนอื่นๆ ในซีรีย์ เขียนเกมด้วย LibGDX ติดตามอ่านได้ตามลิงค์ข้างล่างเลยครับ -... - [เซฟข้อมูลด้วย SharedPreferences](/llms/posts/android-shared-preferences-tutorial.md): เวลาเราเขียนแอพพลิเคชัน จะต้องมีการเก็บข้อมูลต่างๆของแอพพลิเคชันอยู่แล้ว ซึ่งแอพพลิเคชันแอนดรอยส์ สามารถบันทึกข้อมูลต่างๆได้ หลากหลายวิธี ทั้ง การอ่านเขียน... - [เขียนเกมด้วย LibGDX :3 – Render และการรับ input](/llms/posts/libgdx-tutorial-render-and-input-handling.md): สวัสดีครับ บทความนี้เป็นบทความที่ 3 ครับ จากซีรีส์ สอน LibGDX ครับ บทความตอนอื่นๆ ในซีรีย์ เขียนเกมด้วย LibGDX ติดตามอ่านได้ตามลิงค์ข้างล่างเลยครับ -... - [ขั้นตอนการ export ไฟล์ apk บน Android Studio](/llms/posts/how-to-signed-apk-on-android-studio.md): วันนี้มาพูดถึงเรื่อง Android Studio กันครับ ปกติแล้วตัว Android Studio ใช้ Gradle ในการ build โปรเจ็ค ทำให้เวลาเราจะ export ไฟล์ apk ไปอัพโหลดลง Google Play... - [เขียนเกมด้วย LibGDX 2 – Hello World](/llms/posts/libgdx-tutorial-hello-world.md): หลังจากนำเสนอ เขียนเกมด้วย LibGDX #1 - สร้างโปรเจ็ค ในบทความที่แล้ว ทำให้ตอนนี้สามารถที่จะตั้งค่า เซ็ตอัพโปรเจ็คด้วย LibGDX ได้แล้ว... - [เขียนเกมด้วย LibGDX 1 – สร้างโปรเจ็ค LibGDX](/llms/posts/libgdx-game-development-create-project.md): สวัสดีครับ วันนี้จะมานำเสนอการเขียนด้วย libGDX กันครับ หากใครยังไม่รู้จัก libGDX ก็อ่านได้จากบทความนี้ครับ มาทำความรู้จักกับ LibGDX บทความตอนอื่นๆ ในซีรีย์... - [สร้างโปรเจ็คด้วย Android Studio](/llms/posts/create-new-project-with-android-studio.md): สำหรับวิธีการสร้างโปรเจ็คด้วย Android Studio เวอร์ชั่น 0.6.1 สามารถอ่านได้ที่นี่ครับ สร้างโปรเจ็คบน Android Studio สำหรับเวอร์ชัน 0.6.1 ขึ้นไป... - [มาทำความรู้จักกับ LibGDX กันครับ](/llms/posts/introduction-to-libgdx.md): วันนี้ผมมีวิธีการเขียนเกมมานำเสนอครับ เป็นการเขียนเกมบนมือถือแอนดรอยส์ แต่จริงๆมันก็สามารถ Cross-Platform ไปรันได้ทั้งบราวเซอร์ Desktop และ iOS ครับ... - [อยากเขียนเกมส์ เริ่มต้นอย่างไรดี? ฉบับเริ่มต้น](/llms/posts/getting-started-with-game-development.md): Updated : 2015 ไม่นึกว่าบทความนี้จะมีคนอ่านเยอะขนาดนี้ ตอนที่เขียนบทความครั้งแรก ตอนนั้นผมเพิ่งจะรู้จักกับ Game Dev ได้ไม่ถึงเดือนครับ... - [ตัวอย่างการใช้งาน Java String](/llms/posts/java-string-example.md): ว่าด้วยเรื่อง String ในภาษา Java กันครับ String เป็นคลาสในภาษา Java ซึ่งมีความจำเป็นและใช้งานบ่อยครั้งมาก วันนี้ก็เลยอยากจะมานำเสนอ การใช้งาน method ในคลาส... - [ปรับหน้าตา Ubuntu ด้วย Numix GTK](/llms/posts/numix-gtx-for-ubuntu.md): บทความนี้จะพาไปปรับแต่งหน้าตา Desktop สำหรับ Ubuntu กันครับ วันนี้จะมาแนะนำโปรเจ็คๆ หนึ่งครับ นั้นก็คือ Numix Project ครับ Numix Project นั้นเป็น GTK Theme... - [ตัวอย่างการใช้งาน ListView โดยใช้ ListActivity](/llms/posts/android-basic-listview-example.md): ListView นั้นคือ ViewGroup ที่ใช้แสดงข้อมูล แบบ List ใน 1 List ก็จะประกอบไปด้วย แต่ละแถว (row) และแต่ละแถว ก็จะประกอบไปด้วยข้อมูล จะเป็นข้อมูลที่มีเพียง... - [เตรียมเครื่องมือสำหรับเขียนแอพแอนดรอยส์](/llms/posts/setup-and-installation-android.md): บทความนี้สำหรับมือใหม่ ที่ต้องการเขียนแอพพลิเคชั่นบนมือถือแอนดรอยส์ครับ จะเห็นว่าผมเลือกยกตัวอย่าง การติดตั้งบนเครื่อง Windows เนื่องจากมีผู้ใช้จำนวนมาก ใช้... - [ขั้นตอนการติดตั้ง Eclipse บน Windows](/llms/posts/install-eclipse-on-windows.md): ขั้นตอนการติดตั้ง Eclipse บน Windows สำหรับมือใหม่ Eclipse นั้นเป็น IDE ที่ใช้สำหรับเขียนโปรแกรม ได้ทั้ง Java, PHP, C++ เขียนเว็บแอพ เว็บไซต์ หรือแม้แต่... - [ขั้นตอนการติดตั้ง Java JDK8 บน Windows](/llms/posts/install-java-jdk8-on-windows.md): ขั้นตอนการติดตั้ง Java บนเครื่อง Windows เพื่อใช้สำหรับเขียนหรือรันโปรแกรม ที่จำเป็นต้องใช้ JVM โดยในตัวอย่างจะเป็นการรัน Windows7 บน VirtualBox... - [ขั้นตอนการติดตั้ง Eclipse บน Ubuntu](/llms/posts/install-eclipse-on-ubuntu.md): Eclipse เป็น IDE ที่นิยมมากในปัจจุบัน วันนี้จะมานำเสนอวิธีติดตั้ง Eclipse สำหรับคนที่ใช้ Ubuntu ขั้นตอนการติดตั้ง Eclipse บน Ubuntu สามารถติดตั้งได้ 3 วิธี... - [matchparent กับ wrapcontent ต่างกันอย่างไร?](/llms/posts/difference-between-match_parent-and-wrap_content.md): wrap_content กับ match_parent เวลาพัฒนา Android Application เชื่อว่าทุกคน ต้องเจอ สองคำนี้แน่นอน "wrap_content" กับ "match_parent" อ่อ หรืออีกคำคือ... - [แนะนำ Shortcut Key บน Eclipse](/llms/posts/eclipse-shortcut-keys.md): Eclipse เป็นหนึ่งใน IDE ที่นิยมมากในปัจจุบันสำหรับชาว Java Developer ทั้งการใช้ในการเขียน Java SE, Java ME , GUI , Swing , JSP&Servlets , JSF รวมถึง framework... - [รวม 20 Website แนว Flat Design ที่น่าสนใจ](/llms/posts/website-flat-design.md): ปกติเวลาผมนั่งทำเว็บ ออกแบบเว็บไซต์ ก็มักจะเปิดหา Design Template ตามเว็บต่างๆ ทั้ง Dribbble Behance หรือตัวอย่างเว็บไซต์ในที่ต่างๆ... - [Digital Ocean คืออะไร ? + สอนวิธีการติดตั้งและสร้าง Droplet](/llms/posts/getting-started-with-digital-ocean.md): แนะนำบทความอัพเดทล่าสุดครับ อ่านได้ที่นี่ Digital Ocean คืออะไร ? + วิธีการติดตั้ง Ghost บน Digital Ocean ต้องบอกว่าตอนนี้ เจ้า DigitalOcean นั้นมาแรงเหลือเกิน... - [วิธีการสร้าง Icon Launcher บน Ubuntu](/llms/posts/how-to-create-launcher-icon-ubuntu.md): หากใครเคยใช้ Windows คงจะคุ้นเคย กับ Desktop icon กัน และเวลาสร้าง icon นั้นก็ง่ายแสนง่าย เพียงแค่ create shortcut เราก็มี icon ลิงค์ไปยังตัวโปรแกรมได้แล้ว... - [วิธีการเพิ่ม Social Share Button โดยไม่ต้องใช้ Plugin](/llms/posts/add-social-button-without-plugins.md): ปัจจุบัน Social Network นับว่ามีอิทธิพลต่อชีวิตปัจจุบันอย่างมาก จะต้องมี Social Share จากพวก Twitter, Facebook หรือ Google Plus ทั้งสิ้น เพราะว่า Social... - [ขั้นตอนการติดตั้ง Ruby on Rails บน Ubuntu](/llms/posts/how-to-install-ruby-on-rails-in-ubuntu.md): วันนี้จะมานำเสนอ วิธีการติดตั้ง Ruby on Rails บนเครื่อง Ubuntu ครับ หลังจากใช้เวลาลองผิดลองถูก นับแรมปี ติดตั้งมาก็หลายรอบแล้ว ก็เลยตัดสินใจทำเป็นบทความซะเลย... - [ขั้นตอนการติดตั้ง Ubuntu 13.10 Desktop](/llms/posts/how-to-install-ubuntu-13-10-desktop.md): สวัสดีครับ จริงๆแล้วบทความนี้เคยทำมานานแล้ว แล้วก็บ่อยด้วย เกี่ยวกับขั้นตอนการติดตั้ง Ubuntu 13.10 ซึ่งเวอร์ชั่นใหม่ (14.04) ก็มีกำหนดจะออกเดือนหน้าอยู่แล้วด้วย... - [วิธีการเช็คพื้นที่ Disk Space บน Ubuntu](/llms/posts/how-to-check-disk-space-in-ubuntu.md): สวัสดีครับ วันนี้ผมมีวิธีการเช็คพื้นที่ Hard Disk บนเครื่อง Ubuntu มาฝาก หากผู้อ่านคนใดเคยใช้ Windows มาก่อน จะรู้ว่าการเช็คพื้นที่ Hard Disk นั้น... - [ตัวอย่างการใช้งาน TextWatcher บน Android](/llms/posts/android-tutorial-text-watcher-example.md): สวัสดีครับ วันนี้จะมาสอนเขียนแอพแอนดรอยส์ โดยจะพูดในเรื่องของ TextWatcher กันครับ TextWatcher คืออะไร แล้วมีประโยชน์อะไร ? TextWatcher มันเป็น interface ที่... - [ขั้นตอนการติดตั้ง และตั้งค่า Java JDK บนเครื่อง Ubuntu](/llms/posts/how-to-install-java-jdk-on-ubuntu.md): สวัสดีครับ บทความนี้จะนำเสนอขั้นตอนการติดตั้ง Java JDK บน Ubuntu ครับ สำหรับผู้ใช้ Ubuntu มือใหม่ แม้แต่ตัวผมเองในตอนแรกที่เริ่มใช้ Ubuntu ยังต้องหาวิธีติดตั้ง... - [Command Line พื้นฐานบน Ubuntu](/llms/posts/basic-command-line-ubuntu.md): สวัสดีทุกท่าน วันนี้ผมได้รวบรวมคำสั่ง command line พื้นฐาน ที่ใช้งานบ่อยๆ สำหรับ Ubuntu มือใหม่ มาฝาก และส่วนตัวก็ให้เป็นแหล่งอ้างอิงด้วย เพราะเริ่มแรก...