Sunday, October 17, 2021

การตัดข้อ ปักชำ ออมชมพู Syngonium Pink Spot

ถ้า Pink Splash จะเป็นเงินไหลมา ส่วน Pink Spot คือออมชมพู 😁 มี Milk Confetti อีกต้นที่คล้ายๆกัน แต่นั่นใบใหม่จะเป็นสีเขียวพาสเทลมาเลยแล้วมีจุดชมพู ส่วนออมชมพูใบใหม่จะชมพูมาก่อน ตระกูล Syngonium มันคล้ายกันมาก

1.เลือกต้นที่แก่พอยาวพอที่จะตัด

2.ตัดเลยจ้า อยากได้เยอะก็ 1 ข้อ 1 ใบ อยากได้โตไวก็ 2 ข้อก็ดี ใช้มีดคมๆ ตัดตรงกลางก้านเขียวๆระหว่างข้อ 2 ข้อ แบบชึ้บเดียวขาด อันนี้เราตัดแบ่งออกมา 3 ต้น รอยตัดทาปูนแดงแล้วปล่อยไว้ให้แห้ง ทาต้นแม่ด้วย

3.วัสดุที่ใช้ปลูก ก็เหมือนเดิม กาบมะพร้าวสับแช่น้ำ 1 คืน เทน้ำทิ้ง เขาบอกว่าสารสีน้ำตาลในกาบมะพร้าวมันทำให้ต้นไม่ไม่ค่อยโต เอามาผสมเพอไลท์เม็ดสีขาวๆ โรยด้วยปุ๋ยละลายช้า ออสโมโคท


4.เมื่อปูนแดงแห้ง ก็ปักลง กลบๆให้มิดราก ไม่ต้องกดแน่นมาก เดี๋ยวรากช้ำ

5. รดน้ำให้ชุ่ม แล้วเอาใส่ถุง มัดฝาถุงให้มิดชิด ถ้าถุงใหญ่ก็ใส่ไปทั้ง 3 กระถางเลย เอาไปวางไว้ในที่ร่ม แต่สว่างๆ คือไม่โดนแดดโดยตรงแต่ไม่มืด ทิ้งไว้เฉยๆไม่ต้องไปสนใจมัน ให้ถุงมันพองๆหน่อย อย่าให้ถุงโดนใบ หรือเอาเชือกผูกไว้กับอะไรสักอย่างอย่าให้ถุงล้ม ไม่ต้องแกะถุงมารดน้ำ มันอยู่ได้ วิธีนี้จะช่วยให้รากงอกเร็วขึ้น ไม่ต้องกลัว รอดทุกต้น ยังไม่เคยอบแล้วตายสักต้น

3 สัปดาห์ ต่อมา ...

เอาออกจากถุง ดูเหมือนต้นมันจะโตขึ้น แตกยอดใหม่แล้วทุกต้น น้องออมมันโตเร็ว
รากงอกจนทะลุกระถางแล้ว
ต้นแม่มันก็แตกยอดใหม่แล้ว
ใบด่างอย่างสวย เลี้ยงให้โตอีกนิด ขายได้เป็นพัน



Sunday, September 12, 2021

การขยายพันธุ์ยางอินเดียด่าง

 จริงๆจะด่างไม่ด่างก็ใช้วิธีเดียวกัน 😁 

1.เริ่มด้วยหาต้นเหยื่อสักต้น อาจจะเป็นต้นที่เราซื้อมา 250 แล้วขยายกระถางให้ใหญ่ หรือปลูกลงดิน สัก 3-4 เดือน ต้นมันจะโตขึ้นเยอะ ก็ตัดยอดมาเลย ให้ติดสัก 6-7 ใบ

2.เอามาตัดข้อละใบ ตัดกลางๆข้อ อย่าให้ติดใบเกิน ได้ 6 ข้อ ก็คือต้นใหม่ 6 ต้น

3.ผสมน้ำเปล่า(น้ำประปาธรรมดาๆนี่แหละ) กับน้ำยาเร่งราก B-1 (หาซื้อได้ตามร้านต้นไม้ทั่วไปหรือ shopee) อัตราส่วนประมาณ น้ำขวด 1.5 ลิตร ใช้น้ำยาเร่งราก 1 ฝา

4.หาแก้วกาแฟที่เรากินแล้วทิ้ง ล้างให้สะอาด ใส่น้ำที่ผสมแล้ว ใส่กิ่ง 1 ข้อ 1 ใบของเราลงไป เทน้ำให้ท่วมกิ่งพอดี อย่าเยอะเกิน

5.รอ 1 เดือน รากจะงอก บางกิ่นรากยาว บางกิ่งรากสั้นจะแช่น้ำต่อรอรากมันยาวก็ได้

ก็เอาไปปลูกในกระถางได้เลย ใช้ดินแล้วแต่สูตรของแต่ละคน ผมใช้ดินปลูก+กาบมะพร้าวสับ+ทราย+ปุ๋ยคอก ที่เหลือก็รอมันโต

ส่วนต้นแม่มันก็แตกกิ่งใหม่ตั้งแต่ 2 สัปดาห์ที่แล้ว


#ยางอินเดีย

Thursday, August 12, 2021

การขยายพันธุ์มอนสเตอร่า

 ช่วงนี้เขาฮิตไม้ใบเราก็เล่นกับเขาด้วย แต่ของเราไม่ด่าง ราคาเลยถูกกว่าเขาหลายพันเท่า 😁 แต่ถึงไม่ด่างใบมันก็สวยนะ


1.หาต้นแม่พันธุ์ อาจจะเป็นต้นที่เราซื้อมา 80 บาท จากร้านสวนป้าอินทร์ คลอง 15 แล้วมาปลูกลงดินไว้ มันแตกใบใหม่เดือนละใบจนต้นยาวแล้ว ก็ใช้มีดคมๆตัดมา ให้เหลือติดต้นไว้อย่างน้อย 4 ใบ มันแข็งนะ ตอนตัดออกแรงหน่อย


2.ตัดข้อละ 1 ใบ 1 ราก ปกติตรงข้ามใบจะมี 1 ราก ก็ตัดกลางๆข้อ อย่าให้ชิดใบมาก เพราะตามันจะอยู่ใกล้ๆใบ เอาปูนแดง(หาซื้อจาก shopee)ทารอยตัดทั้งบนและล่างด้วย รอให้ปูนแห้งสักแป๊บ


3.ผสมวัสดุปลูก ใช้กาบมะพร้าวสับ (แช่น้ำทิ้งไว้ 1 คืน แต่ถ้ารีบ แช่สัก 30 นาทีก็ได้) ผสมกับเพอร์ไลท์(เม็ดสีขาวๆ หาซื้อได้ทาง shopee)คลุกเค้าให้เข้ากัน

4.ใส่วัสดุปลูกสักครึ่งกระถาง ใส่กิ่งที่เราตัดลงไป ม้วนรากมันรอบๆกระถางให้ดีๆ อย่าให้หัก เอาวัสดุปลูกกลบให้มิด รดน้ำให้ชุ่ม

5.เอาไปอบ โดยการเอากระถางใส่ถุงพลาสติกใสใบใหญ่ๆ ใส่ถุงละหลายๆต้นได้ มัดปากถุงให้สนิทไม่ให้อากาศเข้าออก ไม่ต้องกลัว มันไม่ตาย แล้วตั้งทิ้งไว้ในที่ร่มแต่สว่าง ประมาณ 20-30 วัน 

6.ระหว่างรอ แน่นอนเราต้องเดินมาดูเกือบทุกวันเพื่อลุ้น ก็จะเจอไอน้ำเกาะที่ถุงเพียบ ใบมันยังเขียวอยู่


7.ครบ 20 วันก็เอาออกจากถุงได้ หรือจะรอเพื่อความชัวร์ก็ให้เห็นว่าตาใหม่มันงอกแล้วค่อยเอาออกจากถุง 


ก็เป็นอันเสร็จพิธี ทีนี้ก็รอตาใหม่ที่งอกแตกออกเป็นใบ ใบแรกๆจะเป็นใบเล็กไม่มีรู ใบต่อๆมามันจะใหญ่ขึ้นและมีรูเอง


#monstera #มอนสเตอร่า

Thursday, July 15, 2021

SQL to count rows of all tables in database

Table ไหน มีข้อมูลเยอะที่สุด? (มีจำนวน row เยอะที่สุด) มันเก็บอยู่ใน sysindexes ใช้คำสั่งต่อไปนี้


SELECT o.NAME, i.rowcnt 

FROM sysindexes AS i

  INNER JOIN sysobjects AS o ON i.id = o.id 

WHERE i.indid < 2  AND OBJECTPROPERTY(o.id, 'IsMSShipped') = 0

ORDER BY o.NAME



Friday, November 20, 2020

สูตรผสมปูน

 ก่ออิฐ

ปูน 1 + ทราย 3 + น้ำ 1


ฉาบ (ครั้งแรก)

ปูน 1 + ทราย 2.5 + น้ำ 1


ฉาบ (ครั้งที่ 2)

ปูน 1 + ทราย 3 + น้ำ 1


เทคอนกรีต

ปูน 1 + ทราย 2 + หิน 4 + น้ำ 0.5




Thursday, October 29, 2020

ฝึกเขียน web ด้วย python ใช้ django กับ database sqlite

ผมเพิ่งเรียนเขียนโปรแกรม python ทาง online ก่อนหน้านี้ไม่เคยเขียนเลย แล้วเขาให้ทำการบ้านส่ง โดย requirement ประมาณว่า โรงพยาบาลแห่งหนึ่ง อยากเช็คได้ว่าคนไข้เคยลงทะเบียนไว้หรือยัง สิ่งที่ต้องทำคือ

1.หน้าลงทะเบียน - ก็ต้องทำฟอร์ม submit ข้อมูล insert เข้า db sqlite

2.หน้าเช็คว่าเคยมี ID นี้หรือยัง - มีฟอร์มให้กรอก ID แล้วไป search ใน sqlite ถ้าเจอข้อมูลก็แสดงออกมา


ก่อนเริ่มเขียน

1.ลง python ในนี้ใช้ python 2.7 เพราะผมเรียนคอร์สเก่าที่สอนมาหลายปีแล้ว ผมลงไว้ใน C:\python27

2.ลง python เสร็จ จะ run pip ได้ ก็ run คำสั่งนี้ต่อ: pip install virtualenvwrapper

3.ลง django ผมลงไว้ใน C:\Python27\Django-1.8.19 จะได้หาง่าย

4.ลง sqlite เลือก sqlite-tools-win32-x86-3330000.zip ผมลงไว้ที่ C:\sqlite มีไฟล์ exe อยู่ 3 ไฟล์เอง

5.ลง PyCharm เลือกตัว Community ใช้ฟรี เป็น studio ช่วยให้เขียน python มีสีสันขึ้น

ผมเขียนบน Windows ไม่จำเป็นต้องใช้ Mac หรือ Ubuntu

หน้าตา pycharm

ลงมือเขียน

เริ่มสร้าง app ด้วยทำสั่ง

C:\Python27\Django-1.8.19\med\>py manage.py startapp client

client คือชื่อ app ที่ผมตั้ง (จริงๆควรใช้ชื่อ patient แต่ตั้งไปแล้วก็แล้วกันไป^^)

settings.py

INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'client', # เพิ่มชื่อ app เราตรงนี้
)

ข้อความหลัง # ข้อความ คือ comment ตัดออกได้

โจทย์บอกให้หน้า home อยู่ที่ http://domainเรา/commoninfo ก็ต้องไปแก้ไฟล์ urls.py ดังนี้

หน้า register อยู่ที่ http://domainเรา/commoninfo/add

หน้า search อยู่ที่ http://domainเรา/commoninfo/fetch

urls.py

from django.conf.urls import patterns, include, url
from client import views #อันนี้ import เพิ่ม
from django.contrib import admin

urlpatterns = [
url(
r'^$/', 'client.views.index', name='index'), #ถ้าไม่ import views ด้านบน เขียนแบบนี้
url(r'^commoninfo/$', views.index, name='home'), #ถ้า import views แล้ว เขียนแบบนี้
url(r'^commoninfo/fetch/$', views.fetch, name='fetch'),
url(r'^commoninfo/add/$', views.add, name='add'),
url(r'^admin/', include(admin.site.urls)),
]

พอเปิด http://domainเรา/commoninfo มันจะไปหาไฟล์ index ก็ต้องไปเพิ่มใน views.py ว่าหน้า index จะแสดงอะไร

views.py

from django.shortcuts import render
from client.models import UserInfo
# ตรงนี้ import เพิ่ม เพื่อให้รู้จัก object UserInfo
from django.utils import timezone
# import เพิ่ม เพื่อให้ใช้ฟังก์ชั่นเกี่ยวกับเวลาได้

def index(request):
context = {
'patient_num': len(UserInfo.objects.all())
# ส่งตัวแปร patient_num = จำนวนคนไข้ทั้งหมดที่มี
}
return render(request, 'index.html', context)

หน้า index ไม่มีอะไร แค่ให้เปิดไฟล์ index.html แต่พิเศษตรงมีการส่งตัวแปรผ่าน context ด้วย

ภายใน context ก็ประกอบด้วย 'ชื่อตัวแปร' : ค่าที่จะส่ง ถ้ามีหลายตัวก็ใส่ comma คั่น

แล้วต้องไปสร้างไฟล์ index.html ต่อ

views.py (ต่อ)

def add(request):
if request.POST:
username = request.POST.get('username', '')
email = request.POST.get('email', '')
password = request.POST.get('password', '')
firstName = request.POST.get('firstName', '')
lastName = request.POST.get('lastName', '')
uniqueID = request.POST.get('uniqueID', '')
dateOfBirth = request.POST.get('dateOfBirth', '')
if uniqueID != "":
UserInfo(username=username, email=email, password=password,
firstName=firstName, lastName=lastName, uniqueID=uniqueID,
dateOfBirth=dateOfBirth).save()
result = 'successfully added!!'
else:
result = ''
context = {'today': timezone.now().strftime('%Y-%m-%dT%H:%M:%S'), 'result': result}
return render(request, 'add.html', context)

1 def คือ 1 หน้า หน้านี้คือเปิดมาจาก http://domainเรา/commoninfo/add แล้วต้องทำอะไรบ้าง

เริ่มต้นเป็นการเช็กค่าว่ามีการโพสต์มาไหม แล้วก็รับค่าที่โพสต์ เอาไป insert ลง db แค่ใช้ UserInfo(ชื่อฟิลด์=ค่า).save() แค่นี้เสร็จ

ส่งผลลัพธ์คือ result เข้าไปใน context แล้วส่ง context ไปให้ไฟล์ add.html

ส่วน today ส่งไปเล่นๆ เอาไว้ให้ตั้ง default ให้ฟิลด์วันที่ในหน้าฟอร์มลงทะเบียน

ต้องไปสร้างไฟล์ add.html ต่อ

views.py (ต่อ)

def fetch(request):
uniqueID = request.POST.get('uniqueID', '')
# รับค่า uniqueID ที่กรอกมาจากฟอร์ม
if request.POST: # เช็คว่ามีการโฟสต์มาหรือเปล่า
result = UserInfo.objects.filter(
uniqueID=uniqueID) # filter คือการ where ใน db
else:
result =
'[]'
if len(result) > 0: # เช็คว่ามีผลลัพธ์ไหม ตรงนี้ผมเขียนมั่วๆเอา น่าจะมีวิธีที่ดีกว่านี้
user = result[
0]
else:
user =
'[]'
context = {'user': user, 'uniqueID': uniqueID} # return ข้อมุล user และ uniqueID
return render(request, 'fetch.html', context)

นี่คือหน้า search หลังจากเปิด http://domainเรา/commoninfo/fetch ก็จะไปเปิดไฟล์ fetch.html โดยส่ง context ไปเหมือนกัน

ต้องไปสร้างไฟล์ fetch.html ต่อ

models.py

from django.db import models

class UserInfo(models.Model):
username = models.CharField(max_length=100)
email = models.CharField(max_length=200)
password = models.CharField(max_length=100)
firstName = models.CharField(max_length=100)
lastName = models.CharField(max_length=100)
uniqueID = models.CharField(max_length=100)
dateOfBirth = models.DateTimeField(max_length=100)

ไฟล์นี้เป็นตัวบอก sqlite ว่าให้สร้าง table ชื่อ UserInfo โดยมีฟิลด์ดังต่อไปนี้

คำสั่งให้สร้าง db คือ

C:\Python27\Django-1.8.19\med\>py manage.py makemigrations

คำสั่งให้ run web server เพื่อให้เราเปิดเว็บได้คือ

C:\Python27\Django-1.8.19\med\>py manage.py runserver


index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>AB Hospital</title>
</head>
<body>
<p />
Number of patients: {{ patient_num }}
<!- เอาตัวแปร patient_num จาก context มาแสดง -->
<p />

<a href="/commoninfo">Home</a> |
<a href="/commoninfo/add">Register</a> |
<a href="/commoninfo/fetch">Check</a>

</body>
</html>

หน้าแรกไม่มีอะไร ใส่แค่ลิ้งค์ กับเอาจำนวน record ใน db มาโชว์

add.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Register</title>
</head>
<body>
{{ result }}
<form method="post" action=".">
{% csrf_token %}
Username: <input type="text" name="username" /><br/>
Email: <input type="text" name="email" /><br/>
Password: <input type="text" name="password" /><br/>
Re-type: <input type="text" name="retype" /><br/>
First name: <input type="text" name="firstName" /><br/>
Last name: <input type="text" name="lastName" /><br/>
Unique ID: <input type="text" name="uniqueID" /><br/>
Date of Birth: <input type="text" name="dateOfBirth" value="{{ today }}" /><br/>

<input type="submit" value="REGISTER" />

</form>

<p />

<a href="/commoninfo">Home</a> |
<a href="/commoninfo/add">Register</a> |
<a href="/commoninfo/fetch">Check</a>

</body>
</html>

เป็นหน้าฟอร์มลงทะเบียน มีรับค่า today จาก context มาเป็นค่า default ในช่อง Date Of Birth ด้วย

fetch.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Check</title>
</head>
<body>

<form method="post" action=".">
{% csrf_token %}

UniqueID: <input type="text" name="uniqueID" /><br />

{% if user.uniqueID %}
<h1>User Info</h1>
User's Name: {{ user.firstName }} {{ user.lastName }} <br />
Unique ID: {{ user.uniqueID }}<br />
Dob: {{ user.dateOfBirth }}<br />
{% endif %}

<input type="submit" value="SUBMIT" />
</form>
<p />

<a href="/commoninfo">Home</a> |
<a href="/commoninfo/add">Register</a> |
<a href="/commoninfo/fetch">Check</a>

</body>
</html>

หน้า search มีช่องกรอกค่า Unique ID เพื่อ search 

ตรง action="." คือกดโพสต์แล้วมาหน้าตัวเอง

หลังจากไป search ใน db ตามคำสั่งใน views.py แล้ว ก็มีการเช็ก if ค่ามีค่า user.uniqueID มาหรือเปล่า คือถ้า search เจอ ให้แสดงข้อความที่อยู่ในช่วง

{% if xxx %} กับ {% endif %}

จบข่าว!

ถ้าติดปัญหาอะไร ให้ search google ไม่ต้องถามผม เพราะผมก็เพิ่งหัดเหมือนกัน ^^

Tuesday, October 29, 2019

ถ่ายรูปรถกำลังวิ่งด้วยการแพนกล้อง

 เทคนิคถ่ายรูปรถกำลังวิ่งด้วยการแพนกล้องตามรถ แล้วรูปจะออกมาเหมือนรถวิ่งเร็วมาก รูปรถจะชัด ฉากหลังจะเบลอแบบ motion blur ทำได้ง่ายมาก

1. ใช้ mode S (Nikon) หรือ Tv (Canon) ให้กล้องปรับรูรับแสงหรือค่า f อัตโนมัติ

2.ตั้งค่า S คือ Shutter Speed ให้ช้าๆ ถ้ามือไม่นิ่งเท่าไหร่ใช้ 1/40 ถ้ามือนิ่งหรือมีขาตั้งขาเดียวช่วย ใช้ 1/8 วินาทีไปเลย

3. ตั้ง ISO 100

ทีนี้ก็เล็งไปที่รถหรือเรือหรืออะไรก็ตามที่กำลังเคลื่อนที่ กดโฟกัส แล้วหมุนกล้องตามที่วัตถุกำลังวิ่ง แล้วแชะ! 

รูปก็จะออกมาประมาณนี้





Mode ของกล้อง Canon และ Nikon



Tuesday, January 16, 2018

ตารางเอามอเตอร์ไซค์ไปเช็ค Honda CB500X

ทีละ 6,000 กม. เริ่มตั้งแต่ 1,000 - 6,000 - 12,000 - 18,000 - 24,000 - 30,000 - 36,000 - 42,000 - ... - 96,000 กม. แล้วหลังจากนั้นรถคงพังพอดี^^

Thursday, October 12, 2017

Oishi Eaterium ชั้น 7 เซ็นทรัล พระราม 9

ราคา 659+ = 705.13 บาท net ทานได้ 1.45 ชม. อาหารดูดีมีให้เลือกเยอะกว่า Oishi Grand อาหารมาเร็วกว่า เคยไปนั่ง Oishi Grand พารากอน เบียดเสียดแออัดบบรรยากาศเหมือนตลาดสดไปหน่อย แต่ที่นี่ดูดี กว้างขวาง ดูอาหารเลยละกันว่าคุ้มค่าหรือเปล่า

































ส่วนของหวาน บิงซูชาเขียวถั่วแดงอร่อยสุด








อยู่ชั้น 7 ช่วงกลางๆของห้าง มีรูโล่งตรงกลางเป็นบันไดเลื่อนใช่ไหม ร้านอยู่ฝั่งด้านหลัง ไม่ใช่ฝั่งที่ติดกับถนนรัชดา