finally java banana have to use “Spring Boot”
โน้วววววววววววววววววววววววววววววววววววววววว!!!
–
พอดีไปรับ consult ทำให้ต้องยุ่งกับ สปริงบู๊ด ครับ
–
finally java banana have to use “Spring Boot”
โน้วววววววววววววววววววววววววววววววววววววววว!!!
–
พอดีไปรับ consult ทำให้ต้องยุ่งกับ สปริงบู๊ด ครับ
–
ก็พอดี มีคิวต้องไปช่วยสอน Design Patterns ให้กับสมาคมโปรแกรมเมอร์ไทย
ก็เลยได้มีสติมาเรียบเรียงเรื่องที่จะพูด
–
จริงๆเรื่องนึงที่ผมชอบได้ยินจากเจ้านายเก่าผมบ่อยๆคือ
“ปัญหาของเรา (โปรแกรมเมอร์ไทย) คือไม่มี modeling”
–
คำพูดนี้ค้างอยู่ในใจมานานพอควร (นานจนแทบลืมนึกถึงมันไปแล้ว…)
แต่ก็เพราะต้องมาสอนไอ้ Design Patterns นี่แหละ
ทำให้คิดถึงคำนี้มันขึ้นมาได้
พอดีได้ไปช่วย อจ. ศรัณย์ สอนน้องๆที่ลาดกระบังมา
แล้วสิ่งนึงที่สะดุดมากๆในการสอนคือ
“น้องๆกำลังเรียน วิชา principle of programming language
แต่น้องๆแต่ละคนเขียน code ไม่ถึง 500 บรรทัด”
–
จริงๆนะ สำหรับการเรียนภาษาทั่วไป (เช่น ไทย อังกฤษ จีน ..)
เราว่า จะรู้ว่า “ไพเราะ เพราะพริ้ง” ของภาษาได้
ก็ต่อเมื่อเราเชี่ยวชาญภาษานั้นแล้ว
ซึ่งคำว่าเชี่ยวชาญ มันไม่ได้มาจากเขียน หรือใช้ภาษานั้น ไม่เกิน 500 บรรทัดหรอก
–
ดังนั้นการจะดื่มดำกับภาษาโปรแกรม ก็ไม่ต่างกัน
เราต้องฝึกจึงเข้าใจความงามของภาษา
พอดีเมื่อวาน พี่บาส ถามเรื่อง Reactive Programming ใน Facebook
ซึ่งผมก็เพิ่งได้ดู vdo การสอนของ Reactive Programming
ของ Martin Odersky บน coursera พอดี
ก็เลยขออนุญาติ ถอดความสิ่งที่มาตินชี้แจงเป็นภาษาไทยดังนี้ครับ
–
ปัจจุบัน demand ของ Technology ไม่เหมือนก่อนแล้ว!!!
มาติน เปรียบเทียบให้ดูดังนี้
Server Node 10 nodes => 1000 nodes
Response time seconds => milliseconds
Maintenance downtime hours => none
Data volume GBs => TBs
จะเห็นว่า เทคโนโลยีวันนี้ chellenge เยอะกว่าตอนผมจบ เมื่อ 10 ปีก่อนมาก
เนื่องจาก ‘@’ เป็น special charactor สำหรับหน้า html ของ Play Framework
ดังนั้น ถ้าเราพิมพ์ @ เฉยๆ มันจะ compile ไม่ผ่าน เพราะมันเป็น special charactor เอาไว้เรียกตัวแปร
เวลาใช้ให้เราพิมพ์ @@ แทน @ ก็จะใช้งานได้
เขียนต่อๆ มันส์
–
scala และ play framework upload file
ทำตามดังนี้
–
1 เขียน form html รับ upload file
<form action="/upload" method="post" class="form-horizontal">Excel fileUpload</div> </div> </form>–
2 map routes ไปหา controller ที่ไฟล์ routes
POST /upload controllers.web.Controller.uploadFile–
3 ที่ controller จับยัดใน path ที่กำหนด
อันนี้ผมยัด excel มันเลยมีคำว่า excel
def uploadFile = Action(parse.multipartFormData) { request => request.body.file("uploadFile").map { excel => val filePath = s"./storage/uploaded/${excel.filename}" excel.ref.moveTo(new File(filePath)) Ok(views.html.page.upload("success")) }.getOrElse { Ok(views.html.page.upload("fail")) } }–
เย้เย!!!
–
Scala อ่าน excel (อีกรอบ)
ไม่ได้เขียนนาน เขียนซะหน่อย
เราเข้าสู่ยุค scala banana กันแล้วนะครัช!!!
–
วิธี real excel ด้วย scala บน Play Framework
Architecture: Solution Architect
สวัสดีครับ,
ครั้งที่แล้วผมโปรยไว้นิดนึง เรื่อง Solution Architect
แต่ตอนสุดท้าย ดันไปอธิบายเรื่อง Software Architecture
ผมก็กลัวคนจะเข้าใจผิด ว่า Solution Architect มันเหมือนหรือต่างกับ Software Architecture ยังไง?
เพราะเห็นหลายที่ชอบเขียนตำแหน่งลงในนามบัตรว่า Solution Architect
หลายคนก็เรียกตัวเองเป็น Solution Architect
แต่การเป็น Solution Architect จริงๆ นั้นเป็นอย่างไร
Architecture: ไม่เขียน spaghetti code
สวัสดีครับ,
ไม่ได้เขียนซะนาน แต่วันนี้ตกผลึกอะไรบางอย่าง เลยอยากเล่าให้ฟัง
จริงๆ อยากเปิดเป็นคอส Design Patterns & Solution Architecture
สำหรับสอนวิธีคิดของคนที่อยากเป็น Solution Architect
แต่คงต้องใช้เวลาเตรียมตัวอีกซักพักใหญ่ๆ
วันนี้เลยมาเขียนเป็น introduction ให้ดูก่อน
–
เวลาเราเขียน code คุณรู้มั้ยเรากำลังทำอะไรอยู่…???
.
.
.
.
.
.
.
.
Scala: อะไรที่ Scala เป็น
scala เป็นภาษาที่เริ่มต้นโดย Martin Odersky คนเขียน compiler ให้ java (ไอ้ที่เราพิพม์กัน javac นั่นแหละครับ)
เล่าแค่นี้ ถ้าเป็นเจ้านายเก่าผมเค้าจะเรียกว่า เจ้าพ่อมาทำเอง
แปลว่า ประสบการณ์ของคนเริ่มทำให้ลดการลองผิดลองถูกได้เยอะ
–
Scala มาจากคำว่า Scalability ทีแปลเป็นไทยว่า “ขยายขีดความสามารถ”
ก็แปลว่า ตัวภาษาสามารถขยายตัวมันเองได้
ถ้าจะเอาให้ชัด Martin เขียนไว้ในหนังสือ “Programming in Scala” ว่า
Scala -> “A language that grows on you” หรือแปลเป็นไทยว่า “ภาษาที่เติบโตด้วยคุณ”
ซึ่งเราสามารถ พัฒนา library เพิ่มให้ Scala ได้ โดยที่ผู้ใช้ยังรู้สึกว่ามันเป็น native library ของ Scala
–
และเช่นเคยครับ อ่าน Java Banana (ซึ่งขณะนี้กลายเป็น Scala Banana ไปแล้ว)
ก็จะได้หลักคิดของคนที่ออกแบบภาษานี้
(โดยผมเอามาจากหนังสือ “Programming in Scala” ของ Martin Odersky เช่นเคย)