#เล่าสู่กันฟัง 63-045 เชื่อม php กับ postgresql บน heroku เป็นรุ่น 1

หลายวันมานี้ มีโอกาสทดสอบ code
ตามคำแนะนำของน้องฟลุ๊คปี 3 (วชิรศักดิ์ สายสูงธนาศักดิ์)
ว่าอยากให้สอนรุ่นน้อง เพราะเค้าไปเห็นมา
ซึ่งเดิมเคยให้นิสิตทำระบบฐานข้อมูล
เรียนรู้สภาพแวดล้อมของผู้ให้บริการ
กับ Free web host เชิงธุรกิจ หลายค่าย
แต่เมื่อเวลาผ่านไป ข้อมูลที่ไม่เคลื่อนไหว
ก็จะหายไป คล้ายกับธนาคารที่ย้ายที่เก็บ
และการปล่อยทิ้งร้างก็เข้าเงื่อนไขพักบัญชี

น้องฟลุ๊คเค้าแนะนำ react บน heroku.com
แต่ผมสนใจ postgresql กับ php
และอีกหลายแอพที่เชื่อมโยงกัน
ซึ่ง heroku มีให้เลือกใช้เยอะมาก
เพราะเป็น cloud application platform
มีให้เลือกพัฒนาอะไรก็ได้
เปิดให้พัฒนาทั้งบน Windows, Linux และ Mac
การใช้งานต้องใช้ git และโปรแกรม heroku
อย่างน้อยก็ต้องติดตั้ง 2 ตัวนี้
1. heroku ใช้เชื่อมบัญชีสำหรับ clone, push
2. git ใช้บริหารจัดการระบบ version
ระบบนี้ ยังไม่รองรับเขียน code บนเว็บ
จะต้องเขียนใน localhost แล้ว push

ถ้าจะเขียน hello world ก็ต้อง clone
Repository ที่สร้างไว้ใน heroku ลงมา
แต่ง code ใน folder ให้เรียบร้อย
แล้ว push ขึ้นไป
หรือใช้ heroku create สั่งสร้าง repository
บน localhost แล้วกำหนด composer.json
ให้เรียบร้อยก่อน push ก็ได้

หากจะใช้ postgresql ก็ต้องขอใช้ resource
จากนั้นก็มีตัวอย่าง code index.php
ที่ดึง config แบบไม่ต้องผ่านมือเรา
ว่ามีชื่อโฮส ฐานข้อมูล หรือรหัสอะไร
ถ้าอยากเห็นเราก็ echo มาดูได้

คืนที่ 6 มี.ค.63 มีโอกาสนำโค้ด
mysqlworking มาปรับเป็น postqresqlworking
ก็ใช้แอพนี้ได้บน herokuapp.com ได้เลย
แต่ที่แชร์เป็นรุ่น 9145
ไปยังไม่ได้ปรับให้งาม เลอะเยอะเลย



http://www.thaiall.com/perlphpasp/source.pl?key=9145

http://thaiall.com/heroku/

เก็บข้อมูลเยอะ ๆ เลือกแบบไหนดี ลองหาข้อมูลมาเป็นทางเลือกให้พิจารณา

Imation-LTO-5
Imation-LTO-5

27 เม.ย.59 ผู้ใหญ่ถามว่า จะเก็บข้อมูลปริมาณมาก จะเลือกใช้สื่อแบบใดดี

มาก คือ อันทิตย์ละประมาณ 1 Terabyte

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

ทางเลือกที่ 1 Solid State Drive : SSD
Apacer AS330
SATA III 6Gb/s
ขนาด 120 GB
Read Up to 495 MB/s Write Up to 385 MB/s
ราคาเก็บต่อ 1 GB คิดต่อหน่วยได้ 1720/120GB = 14.33 บาทต่อGB
ราคา 1720 บาท
https://www.advice.co.th/product/solid-state-drive-ssd-/apacer/120-gb-ssd-apacer-as330-ap120gas330-1-
ทางเลือกที่ 2 เทป backup ของ imation รุ่น LTO-6
เป็น Backup Cartridge Ultrium
เก็บธรรมดา ได้ 2.5TB บีบอัดได้ 6.25 TB
ราคาเก็บปกติต่อ 1 GB คือ 2.5TB * 1024= 2560 GB คิดต่อหน่วยได้ 4200 / 2560 = 1.64 บาทต่อ GB
ราคาเก็บบีบอัด ต่อ 1 GB คือ 6.25TB * 1024= 6400 GB คิดต่อหน่วยได้ 4200 / 6400 = 0.65 บาทต่อ GB
ราคา 4,200 บาท
ความเร็วในการอ่าน 400MB/sec (บีบอัด)
http://www.scts.co.th/catalog/product_info.php?products_id=3711

ทางเลือกที่ 3 แผ่น DVD 4.7
เป็นแผ่น DVD-R 16x
ความจุ 4.7 GB * 50 แผ่น = 235 GB
ราคาเก็บต่อ 1 GB คิดต่อหน่วยได้ 160/235GB = 0.68 บาทต่อGB
ราคา 160 บาท
http://www.buyprinco.com/

ทางเลือกที่ 4 Flash drive
ขนาด 32 GB
ราคาเก็บต่อ 1 GB คิดต่อหน่วยได้ 320/32GB = 10 บาทต่อ GB
ราคา 320 บาท
https://www.advice.co.th/product/flash-drive/mobile-flash-drive-dual-usb-drive/32gb-kingston-dtduo3-

ทางเลือกที่ 5 Internal Harddisk
Toshiba รุ่น DT01ACA100
Buffer size 32 MByte
ขนาด 1TB = 1024GB ขนาด 3.5 นิ้ว
interface SATA 6.0 GB/S
ราคาเก็บต่อ 1 GB คิดต่อหน่วยได้ 1570/1024GB = 1.53 บาทต่อGB
ราคา 1570 บาท
https://www.advice.co.th/product/harddisk-for-pc/hard-disk-pc-sata-iii/1-tb-sata-iii-toshiba-32mb-

ทางเลือกที่ 6 External Harddisk
HDD SEAGATE BACKUP PLUS
USB 3.0 ขนาด 3.5นิ้ว
ขนาด 4TB = 4096GB
ราคาเก็บต่อ 1 GB คิดต่อหน่วยได้ 5590/4096GB = 1.36 บาทต่อGB
ราคา 5590 บาท
https://www.jib.co.th/web/index.php/product/readProduct/13384/40/index.html

ทางเลือกที่ 7 Dropbox for business
ขนาด 1TB
ราคาเก็บต่อ 1 GB คิดต่อหน่วยได้ 3000/1024GB = 2.92 บาทต่อGB
ราคา $99 = 3000

ทางเลือกที่ 8 FreeNAS Mini และ My Cloud EX4
ขนาด 8 TB = 1024 * 8 = 8192 GB
$2,249 for 24TB
ราคาเก็บต่อ 1 GB คิดต่อหน่วยได้ 21000/8192GB = 2.56 บาทต่อGB
$700 for 8TB
ราคา $700 = 21000 บาท

ทางเลือกที่ 9 Big Query กับ google cloud
ใช้เยอะก็จ่ายเยอะ
เก็บ 1 TB = 1024GB
1 TB for a full month, you pay $20
ราคาเก็บต่อ 1 GB คิดต่อหน่วยได้ 600/1024GB = 0.5 บาทต่อ GB ต่อเดือน
ราคา $20 = 600 บาทต่อเดือน
https://cloud.google.com/bigquery/pricing#storage

ทางเลือกที่ 10 Big Data Cloud Service – Starter Pack
Oracle Cloud
6 nodes with 32 OCPUs per node
256 GB RAM and 48 TB storage per node
ความจุ 6 node * 48TB = 288TB * 1024 = 294912 GB
ราคาเก็บต่อ 1 GB คิดต่อหน่วยได้ 864000/294912GB = 2.93 บาทต่อGBต่อเดือน
ราคา $28800 ต่อเดือน = 864,000 บาทต่อเดือน

ซื้อเพิ่ม $4800 ต่อ node ต่อเดือน แต่ต้องซื้อครั้งละ 6 nodes
https://cloud.oracle.com/bigdata


Data Backup Devices for Small Business
1. USB Sticks
2. USB Hard Drives
3. Solid-state Drives
4. Network Storage Servers : FreeNAS Mini และ My Cloud EX4
http://www.smallbusinesscomputing.com/slideshows/data-backup-devices-for-small-businesses.html

10 Top Cloud Storage Services for SMBs
1. Dropbox
2. SugarSync for Business
3. Box
4. Google Drive
5. Microsoft OneDrive
6. SpiderOak
7. MozyPro
8. Carbonite Business
9. CrashPlan
10. Acronis Backup to Cloud
http://www.smallbusinesscomputing.com/slideshows/10-top-cloud-storage-services-for-smbs.html

Memory
kilobyte (KB)
megabyte (MB)
gigabyte (GB)
terabyte (TB)
petabyte (PB)
exabyte (EB)
zettabyte (ZB)
yottabyte (YB)
https://en.wikipedia.org/wiki/Petabyte

ช่วยเพื่อน config ให้ใช้งาน ftp ใน google cloud ได้ ครั้งที่สอง

google cloud
google cloud

มีโอกาสช่วยเพื่อน config Linux ซึ่งอยู่ใน google cloud
หรือ http://cloud.google.com ให้สามารถใช้ ftp
สำหรับ upload script เข้าไปในระบบ
ครั้งนี้เป็นครั้งที่สอง ดีกว่าครั้งแรก เพราะใช้ user bitnami ที่มีอยู่
แต่ครั้งแรกคลำทางไม่ถูก สร้าง user ใหม่ เข้าไปครอบ folder เดิมเลย
.. แต่ก็พอใช้งานได้ครับ สรุปว่าต้องใช้ bitnami ถึงจะถูกแนวที่เขากำหนดไว้

ขั้นตอนเริ่มต้นก่อนเข้า ssh (Secure shell)
1. เข้า Compute, Compute Engine, VM instances
2. พบ instance ที่สร้างขึ้น ของเพื่อนผมเป็น nginxstack
3. ในบรรทัดนั้นมีคำว่า default ใต้ network ก็เข้าไป
4. เพิ่ม default-allow-ftp
มี Allowed protocols / ports เป็น tcp:21
มี Source tag/ IP range เป็น 0.0.0.0/0 เพื่ออนุญาตจากที่ใด เฉพาะ port ที่กำหนด
มี Target Tags เป็น Apply to all targets
ขั้นตอนการเข้าจัดการด้วย secure shell
#sudo su
#cd /etc
#vi vsftpd.allowed_users
เปลี่ยนจากผู้ใช้ชื่อ bitnamiftp เป็น bitnami
#vi vsftpd.conf
เพิ่ม # หน้า listen_address=127.0.0.1
#cd /etc/init.d
#./vsftpd restart
#passwd bitnami
#ln -s /opt/bitnami/nginx/html html
#cd /opt/bitnami/nginx/conf/bitnami
#vi bitnami.conf
แล้วเติม index.php ไปหลัง index
เดิม index index.html index.htm;
เป็น index index.php index.html index.htm;
#/etc/init.d/bitnami restart

เพื่อให้แน่ใจผม upload index.php มี phpinfo() เข้าไป
เพื่อให้เห็นว่า php ทำงาน จะได้ติดตั้ง app ต่าง ๆ ได้

ทดสอบ mypcbackup.com

mypcbackup expired
mypcbackup expired

เพื่อนส่งอีเมลมาให้อ่าน พบว่าในอีเมลบอกว่า
บัญชีที่ใช้ mypcbackup หมดอายุแล้ว
นี่เป็นโอกาสสุดท้ายที่จะต่ออายุ เพื่อป้องกันแฟ้มของท่าน
เว็บไซต์จะลบแฟ้มของท่านคืนนี้
ท่านจะได้ส่วนลดถึง 70% จาก $8.95 เหลือ $2.61 ต่อเดือนเท่านั้น
ถ้าจ่ายทั้งปีก็จะถูกลงไปอีก ได้พื้นที่ถึง 75GB เลยนะครับ

ผลการทดสอบสมัคร
1. ไม่ต้องยืนยันอีเมล ใช้อีเมลปลอมก็สมัครได้
2. อัพโหลดได้ รับลิงค์แบบ public เหมือน 4shared.com
3. มีโปรแกรมสำหรับ pc จะได้ sync กับ cloud เหมือน 4shared.com
https://cdn.mypcbackup.com/MyPCBackup_Setup.exe
4. เขาว่าคืนนี้จะลบแฟ้มของเพื่อน ก็ต้องดูว่าพรุ่งนี้แฟ้มจะถูกลบจริงรึเปล่า
ก็สมัครเพื่อเรียนรู้ระบบได้ครับ
แต่ถ้าใช้จริงและไม่คิดจ่ายตังก็เสี่ยงกับคำว่า expired
ทดสอบอัพภาพ
http://public.mypcbackup.com/dwmmpzi3dm.75214691

ภาพนี้เป็นของเพื่อน
http://public.mypcbackup.com/dwmnfiqcaa.65488899

ส่วนภาพนี้อัพเข้าของเพื่อน
http://public.mypcbackup.com/dwmngp2l20.65488899

เล่าสู่กันฟัง และข้างล่างนี้คืออีเมลที่เพื่อนส่งให้ผม
และสอบถามว่านี่คืออะไร

Hi [romeo_thai@hotmail.com, this is a fake email],

I have sent you about 10 emails now trying to
make you aware that your files are not currently
being backed up, but I haven’t heard back from you
and you haven’t activated MyPC Backup

So this is your last chance to activate MyPC Backup
and start protecting your files otherwise
we will delete your files you backed up tonight at Midnight.

I’m sorry I couldn’t persuade (ชักชวน) you
that backing up is now part of our digital life
we now live in and it’s an insurance
we now need to stop us from losing
all our irreplaceable (ไม่สามารถถูกแทนที่) files, photo’s and documents.

As a last ditch (ชักชวน) attempt to get you to automate
your computer backup’s here is a 70% Discount.

Protect your files today with a 70% discount:
http://mail.mypcbackup.com/xxxxxxx

You have until midnight tonight otherwise
we will have to delete the files you backed up
with us and you won’t be able to restore these files
if you have a computer crash and lose them

Again my apologise

Regards

Chris Peterson
Sales Director, MyPC Backup

Google ไดรฟ ใช้เป็นเครื่องมือทำงานร่วมกับผู้อื่นในการพัฒนาเว็บไซต์ได้

wire frame
wire frame

ด้วย Google ไดรฟ์ คุณจะสามารถสร้าง แชร์ และเก็บไฟล์ทั้งหมดไว้ในที่เดียว ไม่ว่าจะเป็นการระดมความคิดจัดทำเนื้อหาเว็บไซต์ แชร์ไฟล์รูปภาพกับนักออกแบบของคุณ หรือสร้างแบบร่างไวร์เฟรมใหม่ (WireFrame = screen blueprint) ล้วนสำเร็จได้ใน “ไดรฟ์” และคุณยังสามารถเข้าถึงข้อมูลของคุณได้จากทุกที่ ผ่านอุปกรณ์สื่อสารอันหลากหลาย ไม่ว่าขณะท่องเว็บ อยู่บ้าน ที่ทำงาน หรือทำธุระนอกสถานที่
+ http://adsense.blogspot.com/
+ http://www.fivetechnology.com/blog/2008/10/01/web-design-process-a-focus-on-wireframes-layout/