Image for post
Image for post

สวัสดีครับ บทความนี้ผมจะมาสอนวิธีการเลือกใช้ Docker image กันว่าแต่ละ แบบแตกต่างกันอย่างไร ซึ่งปกติเราจะเห็นว่า เวลาเราเปิด docker hub เพื่อหา Image มาใช้งานนั้น เราจะเห็นว่ามันมีคำว่า Alpine, Slim, Stretch, Buster, และ Windowsservercore ต่อหลังอยู่

Most Docker image base on Debian

โดยปกติแล้วพวก Docker image จะสร้างจากการเอา Linux ยัดไว้ข้างในตัว Image เช่น เราต้องการใช้งาน Python 3.8 สิ่งที่เราจะได้จาก Image ของ Python 3.8 ก็คือด้านในจะเป็น Debian และ ทำการติดตั้ง Python 3.8 ลงใน นั้นอีกที หน้าตาก็จะเป็นแบบนี้

ตัวนี้ผมก็อบมาจากตัว Image official ให้ดูว่าเขาทำการติดตั้งให้เรายังไงครับ ดังนั้นครับ ถ้าเราทำการติดตั้ง Python, Node, Ruby หรืออะไรก็ตามที่เป็น Official Image ถ้าเราไม่ระบุ tag เราจะได้ Debian ที่เป็น Stable version เช่น

FROM python:3.8-----------------FROM node:14.14-----------------FROM ruby:2.7.7

พวกนี้จะเป็น Full-Image ตัว Image ก็จะใหญ่หน่อยครับ เพราะว่าเขาลง package มาเยอะเลย

Stretch and Buster is a Debian codename

ตามหัวข้อเลยครับ ตัว Stretch และ Buster มันคือ codename ของ Debian ครับ Stretch คือ Debian 9 และ Buster คือ Debian 10 และตัว stable ตอนนี้ก็คือ Buster ดังนั้นการใช้ Image…


Image for post
Image for post

วันนี้ผมจะมาสอนเทคนิคที่เรียกว่า Fluid Typography (แปลไทยน่าจะประมาณทำให้ตัวหนังสือเป็นของเหลวๆ ยืดหดได้ตามภาชนะครับ เพราะ Fluid แปลว่าของเหลว) มันจะไม่เหมือนกับการทำ Responsive Typography นะครับ เพราะ Responsive Typography มันคือการเอา breakpoint มาดักไว้

ลองมาดูตัวอย่างการทำ Responsive Typography นิดนึงจะได้เห็นภาพมากขึ้น

p { font-size: 15px; }

@media screen and (min-width: 480px) {
p { font-size: 16px; }
}
@media screen and (min-width: 640px) {
p { font-size: 17px; }
}
@media screen and (min-width: 1024px) {
p { font-size: 19px; }
}

ปกติเรามักจะทำกันแบบนี้นะ แบบนี้ก็จะต้องมาแก้กันหลายๆ หน้าจอหน่อยแต่ เทคนิคที่ผมกำลังจะพูดวันนี้ เราจะใช้หน่วยวัดที่เป็นแบบ Relative ก็จะมีดังนี้

Image for post
Image for post
https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units

และที่จะมาใช้กันก็คือแค่ rem, vh , vw , em

Prerequisite

viewport

ปกติแล้ว viewport คือพื้นที่ที่เรามองเห็นหน้าเว็บ เล็กใหญ่ขึ้นอยู่กับขนาดจอของ device นั้นๆ เช่น

Image for post
Image for post
www.algorithmtut.com

ถ้าลองดูเว็บผมจากมือถือจะเห็นพื้นที่เท่านี้ ความยาวนี้อาจจะแค่ 574px ซึ่งก็คือ 100% หรือ 100 viewport แต่ถ้าดูเว็บผมจากจอคอมหน้าจอมันก็จะกว้างบางคนจอใหญ่หน่อยก็ 1440px และวิธีคิดจะกลายเป็น 100% และ 100 viewport จะเท่ากับ…


Image for post
Image for post

บทความนี้ผมจะมาสอนวิธีการใช้ตัว Redux Toolkit แทนการใช้ Redux core ผมเชื่อว่าหลายๆ คนเจอปัญหาว่าการใช้งาน React กับ Redux นั้นยากมาก ทั้งมือใหม่และมือเก่า ในช่วงแรกๆ เสียเวลาชีวิตสุดๆ เลย กว่าจะเข้าใจเรื่อง Stores, Actions, Reducers, Action Creators ได้หมดเวลาไปหลาย ชม. และถ้าเกิดว่าตัว Action Creators เราดันเขียนมันให้แบบ Return function หรือ promise แทนการโยน Action กลับออกมาจะต้องมาใช้ Redux-thunk อีก (ใครนึกภาพไม่ออกแนะนำไปอ่านคอมเม้นของ Dan Abramov ผู้สร้าง Redux ได้ที่ Stackoverflow) [บทความอื่นๆ link] และวันนี้เราจะมาเขียนโค้ดให้เสร็จภายในไม่ถึง ชม. กัน ด้วย Redux Toolkit

Let’s get started

สำหรับใครที่ใช้ create-react-app แล้วอยากได้ตัว starter ที่มีโค้ดของ Redux toolkit ติดตั้งมาให้ แนะนำให้ติดตั้ง create-react-app ด้วยคำสั่งนี้

npx create-react-app [you-app-name] --template redux

และใครใช้ Next.js ก็ใช้คำสั่งนี้เลยครับ

npx create-next-app --example with-redux-toolkit [your-app-name]

สำหรับใครที่มีโปรเจคอยู่แล้วก็ใช้ npm หรือ yarn ติดตั้งเข้าไปได้เลย

# NPMnpm install @reduxjs/toolkit# Yarnyarn add…

Image for post
Image for post

Introduction

บทความนี้เราจะยังมาต่อในเรื่องการคูณของ Polynomial อยู่นะครับ แต่ว่าเป็นการอธิบายในแบบของการเอา Monomial มาคูณกับ Polynomial แทนครับ ก่อนจะไปอธิบายตรงนั้น ผมขออธิบายเรื่อง Distributive property ก่อน เพื่อให้ทุกคนเข้าใจว่าหลังจากนี้ไปถ้าผมจับเลขสองตัวมาคูณกันมันเกิดจากอะไร

Distributive property

Distributive property คือคุณสมบัติการคูณอีกแบบนึงที่ทำให้เรานำเลขนอกวงเล็บไปคูณกับเลขทุกตัวในวงเล็บและผลลัพธ์ที่ได้ยังเหมือนเดิมกับการคิดในวงเล็บก่อนจะมาคูณกับตัวเลขนอกวงเล็บ หรือที่เขาเรียกกันว่าคูณกระจายครับ

เราสามารถนิยามมันได้แบบนี้ครับ

ถ้า a, b, c เป็นจำนวนจริง ดังนั้นถ้า a(b+c) = ab + ac

Image for post
Image for post

ยกตัวอย่างเช่น

3*(9.25)
= 3(9 + 0.25)
= 3(9) + 3(0.25)
= 27 + 0.75
= 27.75

หรือ

3(1 + 4)
= 3 * 1+ 3 * 4
= 3 + 12

Multiplication

หลังจากที่เราเข้าใจการคูณกระจายแล้วเราจะมาลองการเอา Monomial ไปคูณกับ Polynomial กัน อย่างเช่น

6(5y + 1)
= 6 * 5y + 6 * 1
= 30y + 6
-(y +5)
= -1(y + 5)
= -1 * y + (-1) * 5
= -y + (-5)
= -y - 5

และถ้าหากเราเอามารวมเข้ากับเลขยกกำลังในบทความก่อนหน้านี้ก็จะได้แบบนี้

-2x(5x² + 7x - 3)
= -2x * 5x² + -2x * 7x - (-2x) * 3
= -10x³ - 14x² - 6x
Image for post
Image for post

Image for post
Image for post

Introduction

ในบทความนี้เราจะมาพูดถึงเรื่องการคูณของ Monomial กัน ซึ่งจะเป็นบทความต่อกับตอนที่แล้วเรื่อง Multiplication Properties of Exponents ซึ่งตอนท้ายบทความผมได้มีการตัวอย่างการคูณ Polynomial แต่ในบทความนี้ผมจะมาขยายความต่อจากสิ่งที่ไม่ได้บอกไป การจัดเรียงลำดับของตัวประกอบที่อยู่ใน expression

Commutative Property

Commutative Property คือคุณสมบัติการคูณอย่างหนึ่งที่ทำให้เราสามารถสลับที่ตัวเลขได้ และผลลัพธ์ก็ยังได้เท่าเดิมครับ ตัวอย่างเช่น

2 * 3 * 5 = 30

ถ้าเราสลับที่ของตัวเลขล่ะ

2 * 5 * 3 = 305 * 3 * 2 = 30

จะเห็นได้ว่าเราสามารถสลับตัวเลขได้ ผลที่ได้ก็ยังเหมือนเดิมครับ

Previous example

ผลขอยกตัวอย่างจากบทความก่อนมาเป็นตัวอย่างนะครับ ก็คือตัวนี้

Image for post
Image for post

เราจะเห็นว่าบรรทัดที่สองผมทำการสร้างฟอร์มใหม่เป็น

6²n² * 4n³

ที่นี่เราลองมาใส่การสลับที่เข้าไปโดยการเอา like term มาคู่กันเพื่อหาคำตอบครับ

6²n² * 4n³
= 6² * 4 * n³ * n²
= 36 * 4 * n⁵
= 114n⁵

จะเห็นได้ว่าผลลัพธ์ได้เท่ากันแต่อ่านง่ายกว่าเยอะเลย เมื่อเราเอาสมบัติการคูณมาช่วยในการคิดเลข

ที่นี่ต่อไปเจอเลขยาวๆ ในการคูณเราก็ลองเอาไปใช้กันดูนะครับ

Time to practice

Image for post
Image for post

Image for post
Image for post

Introduction

ในเนื้อหาของบทความนี้ผมจะมาอธิบายการคูณ expression ที่มีตัวชี้กำลังอยู่ เพราะก่อนหน้านี้เราได้พูดเรื่องการบวกและลบ Polynomial ไปแล้ว และผมได้บอกไปว่าถ้าเลขชี้กำลังและตัวแปรเหมือนกันเราสามารถบวกและลบกันได้เลย และเลขชี้กำลังยกมาใส่คำตอบได้โดยไม่ต้องทำอะไร สามารถย้อนกลับไปดูได้ที่ Add and Subtract Polynomial และก่อนที่ผมจะพาไปสอนการคูณในบทความถัดไป ผมต้องขอมาอธิบายเกี่ยวกับเลขยกกำลังก่อน เพื่อให้ทุกคนเข้าใจหลักการของมันก่อนเราจะไปเริ่มการคิดเลขจริงๆ กัน

Exponent Structure

Image for post
Image for post

Exponent หรือเลขขี้กำลังเป็นสิ่งที่บอกว่า base หรือฐานจะต้องคูณกันไปกี่ครั้ง เช่น 2³ = 2 * 2 * 2 = 8

Determine exponent result

ในกรณที่เรามีเลข (2)⁴ และ (-2)⁴ มีความหมายว่าของในวงเล็บแต่ละอันคูณกันตามเลขชี้กำลัง ลองมาดูวิธีอธิบายกัน

(2)⁴ = (2)(2)(2)(2) = 16(-2)⁴ = (-2)(-2)(-2)(-2) = 16

แต่ถ้าเมื่อใดเราพบว่าถ้าเราเขียนเลขยกกำลังแบบนี้ -2⁴ มันจะไม่เท่ากับ (-2)⁴ เพราะว่า

(-2)⁴ = (-2)(-2)(-2)(-2) = 16-2⁴ = -(2 * 2 * 2 * 2) = -16

เพราะฉนั้นต้องระวังตรงนี้ให้ดีๆ นะครับ เดี๋ยวผลลัพธ์เราจะออกมาผิดทันที

ตรงนี้เราสามารถพิสูจน์ได้ว่าทำไม (-2)⁴ จึงไม่เท่ากับ -2⁴ เพราะ

  • (-2)⁴ หมายถึงให้เรา (-2) ไปคูณกัน 4 ครั้ง ก็คือทั้งวงเล็บเขียนเหมือนกัน 4…

Image for post
Image for post

Introduction

ในบทความนี้เราจะมาเรียนรู้การบวกและลบของ Polynomial ฟอร์ม สำหรับเป็นพื้นฐานในการแก้สมการกัน สำหรับการคูณและหารเราจะแยกไปบทความถัดไปนะครับ โดยบทความนี้แยกเป็นหัวข้อดังนี้

  • Add and Subtract Monomials
  • Add and Subtract Polynomials

Rules for adding and Subtracting

ก่อนที่เราจะไปแสดงวิธีทำให้ดู ผมจะมาอธิบายกฏที่ต้องทำความเข้าใจกันก่อน อันดับแรกคือ expression เราต้องเป็น Like term เท่านั้นถึงจะสามารถนำมาบวกและลบกันได้

Like term ที่ผมว่าคือต้องมีโครงสร้างเหมือนกันทั้ง ชื่อตัวแปร (variable) และตัวชี้กำลัง (exponent) เราจึงจะเอามันมาบวกหรือลบกันได้ หลักการจะคล้ายๆ การบวกและลบเลขเศษส่วนที่ต้องทำให้ตัวเศษเท่ากันก่อน จริงๆ

ตัวอย่าง Like term ที่สามารถทำเกิดผลลัพธ์ได้

Image for post
Image for post

จะเห็นว่า 1– 4 สามารถทำให้เกิดผลลัพธ์ได้เลย เพราะตัวแปรและเลขยกกำลังเท่ากัน แต่เมื่อมาเป็น 5 และ 6 จะเห็นว่าเราไม่สามารถทำไรได้เลย ดังนั้นคำตอบจึงออกมาเป็นฟอร์มเดิม นั้นคือคำตอบของโจทย์ครับ

เพิ่มเติมสังเกตดีๆ ว่าข้อ 2, 3 ตัวแปรเราไม่มีตัวเลขคูณอยู่นะ แต่ผลที่ได้กลับออกมาเป็นตัวเลขได้ ก็เพราะตัวแปรที่ไม่ได้มีเลขอยู่ จริงๆ แล้วมันมีเลข 1 อยู่ด้านหน้าถ้าเราเอา x + x เราจะได้ 2x เพราะเราเอา 1 + 1 ครับ ส่วนตัวแปรให้เอาเลขชี้กำลังมารวมกันเหลือตัวเดียวและเลขชี้กำลังเท่าเดิมเสมอครับ ไม่ต้องทำไรกับเลขชี้กำลัง กฏของการบวกและลบก็มีเท่านี้ครับ

สำหรับเรื่องการอ่าน Polynomial และ Like term ใครยังไม่ได้อ่านกลับไปอ่านได้ที่เรื่อง Classify polynomial ที่ผมเขียนไว้ตอนแรกก่อนนะครับ

Add and Subtract Monomials

มาดูตัวอย่างของการหาผลลัพธ์ของ Polynomial ที่เขียนแบบ Monomial กัน

Image for post
Image for post

จากตัวอย่างจะเห็นว่าก็เป็นการบวก ลบ เลขปกติเลย เพียงแต่ระวังเรื่องตัวแปรและตัวชี้กำลังให้ตรงกันก็พอ

Add and Subtract Polynomials

เดี๋ยวเรามาลองดูตัวอย่างถ้าสมมุติเราเจอ expression หลายๆ term บ้าง เราจะแก้โจทย์กันยังไง

Image for post
Image for post

เมื่อเราเจอ Polynomial แบบหลายๆ termในการบวกและลบ เราสามารถเขียนมันให้อยู่ในชุดเดียวกันได้เลย และก็จับคู่มัน แต่ระวังเรื่องของสัญลักษณ์นำหน้าด้วยจับมาให้ถูกไม่งั้นคำตอบเราจะผิด ลองมาดูอีกสักตัวอย่าง

Image for post
Image for post

Time to practice

ลองเอาตัวอย่างไปเล่นกันดูนะครับ

Image for post
Image for post

สำหรับบทความนี้ไม่ยากครับ การบวกและลบไม่ต้องทำอะไรมาก แต่สำหรับ ตอนหน้าเราจะมาดูเรื่องการคูณของ Polynomial กันนะครับ จะมีรายละเอียดเยอะกว่านี้นิดหน่อย


Image for post
Image for post

Introduction

เป้าหมายของบทความนี้คือเพื่อช่วยให้ทุกคนที่อ่านสามารถอ่านและเขียน expression ที่เป็น Polynomial ได้ถูกต้อง ระบุ property ของมันได้และการเข้าใจรูปแบบของ Polynomial จะทำให้เราสามารถเข้าใจการแก้สมการต่างๆ ได้เพราะมันเป็นแนวคิดหรือ logic พื้นฐานของคณิตศาสตร์

What is Polynomial

Polynomial คือ expression ในทางคณิตศาสตร์ เป็นรูปแบบการเขียนเพื่อแสดงสมการหรือประโยคต่างๆ เป็นเหมือนภาษาที่ใช้บอกให้เราเข้าใจสิ่งเกิดขึ้นในประโยค เช่น 1+2 x+5โครงสร้างของการเขียนจะประกอบไปด้วยตัวแปร (variables), สัมประสิทธิ์(coefficients), เครื่องหมาย +, -, /, * (operators) เลขยกกำลัง (exponents) ค่าคงที่ (constants) ตัวอย่างของ expression เช่น

Image for post
Image for post

Polynomial structure

Image for post
Image for post
Polynomial structure

Classify terms, Coefficients, and Like terms

ก่อนอื่นเราต้องมาทำความเข้าใจการแยก term, coefficient และ like term ให้เป็นก่อนเพราะจะทำให้เราสามารถบวก ลบ คูณ หาร แต่ละ term ได้ถูกต้อง

ลองมาดูการแยก Term และ coefficient จากสมการตัวอย่างกัน ในทางคณิตศาสตร์ตัวเลขที่ติดอยู่ด้านหน้ากับตัวแปร (ตัวที่มันติดๆ กันอยู่มันคือการคูณ) เราจะเรียกว่า coefficient หรือ สัมประสิทธิ์ ส่วน Term เราจะแยกโดยใช้เครื่องหมายบวกและลบเป็นตัวแบ่ง

Image for post
Image for post

ส่วน Like term หรือก็คือ term ที่หน้าตาเหมือนๆ กัน…


Image for post
Image for post

Hello, Math World!

เป้าหมายของบล๊อคนี้คือแชร์เรื่องราวเกี่ยวคณิตศาสตร์ตั้งแต่พื้นฐานไปถึงขั้นสูงโดยผมจะค่อยๆ หามาเขียนแชร์ให้อ่านกัน และแปลภาษาที่คนไม่เข้าใจให้คนเข้าใจ รวมถึงศึกษาไปพร้อมๆ กับทุกๆ คนที่เข้ามาอ่าน


Image for post
Image for post

ผมจะมาแชร์เรื่อง DNA Analysis ที่จะอธิบายพื้นฐานที่ใช้ในการทำ DNA Analysis และการอ่าน DNA เน้นว่าพื้นฐานนะครับโดยผมได้สนใจเรื่องนี้ขึ้นมา จากได้ดู The Flash ซึ่งผมติดตามเป็นแฟนซี่รี่ย์มาตั้งแต่ SS1 และในหนังมีการนำเอา DNA และพลังต่างๆ มาหาตัวผู้ร้าย รวมถึงการสร้างวัคซีนเพื่อหยุดตัวร้ายต่างๆ ผมจึงเกิดไอเดียที่จะลองไปศึกษาการทำ DNA Analysis จึงเปิดดูใน Kaggle ก็พบว่ามีคนทำอยู่และมี Challenge เกี่ยวกับการวิเคราะห์ตัวไวรัส SARS-CoV-2 หรือโรค COVID-19 จึงได้ไปทำการศึกษาตัวงานและบทความของคนอื่นๆ และบทความนี้ก็เพื่อเป็นการรวบรวมข้อมูลเกี่ยวกับ DNA Analysis ที่ได้ไปศึกษามา เผื่อว่าใครสนในที่จะเป็น Data scientist สาย Biology รวมถึงใช้เตือนความจำของตัวเองด้วย ถ้าผิดพลาดประการใดผมต้องขออภัยด้วย หากว่ามีการอัพเดทความรู้เพิ่มเติมผมก็จะกลับมาแก้ไขและเพิ่มเนื้อหาให้ภายหลัง

ต้องออกตัวก่อนว่าผมไม่ได้เก่งหรือรู้ชีวะอะไรมาก แต่ผมเพียงแค่สนใจพวกเรื่องวิทยาศาสตร์เฉยๆ และตัวเองก็เขียนโปรแกรมมานาน ก็เลยอยากเอาความรู้ตรงนี้มาต่อยอดในด้านอื่นๆ (จริงๆ เบื่อทำงานเดิมๆ เขียนระบบโน้นนี่ ทำ Infra ไรทั่วไป) จึงได้ลองหันมาศึกษา Bioinformatics ก็พบว่าสนุกดี…

About

NSLog0

I’m a Software developer. I’m interesting about science, Music, Digital Art

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store