วันศุกร์, มิถุนายน 24, 2559

[OSX] ติดตั้ง Oracle SQLPlus (Oracle instant client) ใน Mac





ดาวโหลดไฟล์ที่ใช้ได้จาก ลิ้ง นี้
ถ้าใช้ OSX OS X El Capitan, Yosemite and Mavericks โหลด 12.1.x.x นะ เก่ากว่านั้นอาจจะใช้งานไม่ได้
สมัครสมาชิก Oracle OTN ให้เรียบร้อย แล้ว กดเลือก Accept License
Accept License
เราจะใช้ sqlplus จำเป็นต้องโหลด 2 ตัวนี้
  • Instant Client Package - Basic Lite: Smaller version of the Basic, with only English error messages and Unicode, ASCII, and Western European character set support Instantclient-basiclite-macos.x64-12.1.0.2.0.zip
  • Instant Client Package - SQLPlus: Additional libraries and executable for running SQLPlus with Instant Client instantclient-sqlplus-macos.x64-12.1.0.2.0.zip
เปิด Terminal
สร้าง folder กันก่อน
$ mkdir ~/Oracle
แตก zip 2 ไฟล์นี้ที่ดาวโหลดมาได้
$ unzip instantclient-basiclite-macos.x64-12.1.0.2.0.zip -d ~/Oracle
$ unzip instantclient-sqlplus-macos.x64-12.1.0.2.0.zip -d ~/Oracle
เปลี่ยน folder ไปที่เราเพิ่งแตก zip
$ cd ~/Oracle/instantclient_12_1
เราจะสร้าง symbolic link ให้กับ library file ตามที่ Oracle กำหนดมา
$ ln -s libclntsh.dylib.12.1 libclntsh.dylib
จำเป็นต้องใช้ OCCI lib ด้วย พิมพ์ต่อ
$ ln -s libocci.dylib.12.1 libocci.dylib
ต่อไปจะต้องเพิ่ม path เพื่อให้เราสามารถเรียกคำสั่งใน folder นี้ได้
ตรวจสอบก่อนว่ามีอะไรอยู่ในตัวแปร PATH
$ echo $PATH
/usr/local/sbin:/opt/subversion/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
ต่อไป คือคำสั่งเพิ่ม path ที่จะเรียก program โดยเอา path ที่มีอยู่เดิมมาต่อท้าย path ใหม่
$ export PATH=/Users/{siritas_s}/Oracle/instantclient_12_1:$PATH
ทดสอบเรียก ... เห็นแบบข้างล่าง แสดงว่าใช้ได้แล้ว
$ sqlplus

SQL*Plus: Release 12.1.0.2.0 Production on Fri Jun 24 16:13:38 2016

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

Enter user-name:
วิธีทำจาก Oracle, เป็นภาษาอังกฤษ

วันศุกร์, มิถุนายน 10, 2559

รวมบทความเด่น จาวาสคริปต์โพรมิส และการรับมือกับ Error : Promises & Error handling Best Practices

ช่วง 2-3 เดือนนี้ได้เขียนจาวาสคริปต์จริงจังหน่อย (ทุกค่ำวันทำงานเลย) ลองเขียนแอพด้วย ionic framework 2 ซึ่งเป็น Angular 2 ด้วย พอใส่ความสามารถของแอพมากๆเข้า ก็ใช้ Promises เยอะขึ้นเรื่อยๆ เริ่มเกิด Promises hell คือโค้ดมันดูไม่ได้เลย -_-" ไม่รู้จะจัดการความยุ่งเหยิงนี้อย่างไร จึงไปค้นคว้าๆ

เหล่าเซียนจาวาสคริปต์ได้บันทึก Best practices, Promises Pattern เอาไว้พอสมควร รวบรวมไว้ดังนี้

วันพุธ, มิถุนายน 01, 2559

เล่นเลโก้จีน: Nexo Knights: King's Mech Reviewed


สุดสัปดาห์ที่ผ่านมา อยู่บ้านกับลูกชายเพียงแค่ 2 คน หาอะไรเล่นกับเขาดี ที่เสริมสร้างสมาธิซักหน่อย
คำตอบก็มาลงที่ เลโก้นี่แหละ :) คราวนี้ advance เลย หน้ากล่องเขียนว่าสำหรับ 8ขวบขึ้นไป แต่ลูกชายเรา 5ขวบ ทำได้น่า พ่อมันอยากเล่นละ :D 

กล่องที่เอามาเล่นคราวนี้คือ LEPIN no.14001 390 ชิ้น
แกะกล่องมีซองทั้งหมด 7 ซอง ก็อปปี้ของเลโก้เค้าก็ไม่ก็อปให้หมด ควรจะมีหมายเลขมาให้ด้วยนะ 

ลองเปิดๆคู่มือให้ดูสีจะเพี้ยนๆหน่อย ชุดนี้มีสีกรมท่า กับสีดำดูแทบไม่ออก 
พ่อมันชอบขั้นตอนนี้แหละ ทำ knolling 
เสร็จแล้วก็เปิดไปทีละหน้าให้ลูกชายดู พ่อก็จัดชิ้นรอเอาไว้ 
ไม่นานก็ได้ module เล็กๆมาก่อน
กล่องที่ได้มานี้เจอ defect 2 ชิ้น คือที่เสียบดาบหลังหุ่นยักษ์ มันควรจะเป็นแนวตั้ง ไม่ใช่แบบเน้..
ใกล้เสร็จละ
อ่ะแฮ่ม ...