หลังจากแอบประสบปัญหาด้วยตัวเอง
ไม่สามารถลบไฟล์หรือโฟลเดอร์ได้
พอลบแล้วมี Error : The source file name (s) are larger than is supported by the file system
และในที่สุดเราก็ได้วิธีแก้มัน ง่ายๆ แค่ 3 STEP
หลังจากแอบประสบปัญหาด้วยตัวเอง
ไม่สามารถลบไฟล์หรือโฟลเดอร์ได้
พอลบแล้วมี Error : The source file name (s) are larger than is supported by the file system
และในที่สุดเราก็ได้วิธีแก้มัน ง่ายๆ แค่ 3 STEP
บางคนอาจเกิดคำถามว่า เราจะหาฟิลที่ซ้ำใน mongodb ยังไง
เป็นคำสั่งที่ผมเจอมาและเห็นวรวดเร็วพอสมควรครับ
เลยขอนำมาแชร์ต่อ
db.data.aggregate([
{$group : { _id: “$title” , count : { $sum: 1}}},
{$match : { count : { $gt : 1 } }} ])
data = ชื่อ collection ของเราครับ
title = ชื่อ Field ที่เราจะเช็คว่ามันซ้ำมั้ย
จะย้ายข้อมูล Mongodb จากที่หนึ่งไปอีกที่หนึ่งทำยังไง ?
จะยากและซับซ้อนหรือปล่าว
มาลองดูกันง่ายๆแค่บรรทัดสองบรรทัด
mongoexport --db databasename --collection collection --out collection.json
databasename ให้เปลี่ยนเป็นชื่อ database ของเรา
collection ให้เปลี่ยนเป็นชื่อ collection ของเรา
collection.json ตั้งชื่อไฟล์ที่จะให้ export ออกมา
ที่นี่เราก็จะได้ไฟล์เป็นข้อมูลดาต้าเบสของเราทั้งหมดแล้ว จากนั้นก็แค่ย้ายไฟล์นี้ไปยังอีกเครื่องหนึ่ง
แล้วจัดการคำสั่งดังนี้
mongoimport --db databasename --collection collection --file collection.json
databasename ให้เปลี่ยนเป็นชื่อ database ของเรา
collection ให้เปลี่ยนเป็นชื่อ collection ของเรา
collection.json เป็นชื่อไฟล์ที่เราจะ import เข้าไป
และตูมมม เสร็จสิ้นครับ 😛
ขอบคุณครับ
ima8
MongoDB : Basic Command
ช่วงนี้ฟิตกับการเขียนบทความ วันนี้เลยขอเขียนเกี่ยวกับคำสั่งของ MongoDB กันครับ
มาทำความเข้าใจเกี่ยวกับ โครงสร้างของ mongodb กันก่อน
หากจะมองให้เห็นภาพสำหรับคนที่เคยใช้งาน Mysql มาแล้ว
Collection = Table
Documenct = Row
Field = Column
Docker
ในบทความนี่ผมจะเขียนเกี่ยวกับการการเริ่มใช้ Docker
ก่อนอื่นต้องขอบอกก่อนว่า Docker กับผมถือว่าเป็นสิ่งที่ใหม่มาจริงๆ
:3
ในบทความนี่ผมจะติดตั้งบท Centos 6.6 นะครับ
มาเริ่มกันเลย
1. ลบ docker ของเก่าทิ้งก่อน
sudo yum -y remove docker-io
2. ติดตั้ง docker-io
sudo yum install docker-io
3. สั่ง start service docker
sudo service docker start
หากรันสำเร็จไม่มี error ขึ้นให้ดำเนินการขั้นตอนทันไป
4
sudo chkconfig docker on
5. เริ่ม Pull images ได้เบยย
sudo docker pull centos
6. จากนั้นก็รันมันสะ
sudo docker run -i -t centos /bin/bash
TIP
1. pull
docker pull issalerd/mean_ima8
2. run
docker run -i -t issalerd/mean_ima8
3.
ที่มา
ขอบคุณครับ
ima8
Start to play Django with python 3.4
ในบทความนี่เราจะใช้ ubuntu มาเป็น os หลักในการพัฒนา
ส่งผลให้บางคำสั่งอาจจะเป็นคำสั่งเฉาพะของ ubuntu เท่านั้น
ก่อนอื่นให้สร้าง Virtual Environments เพื่อที่เราจะใช้ python 3 ได้สะดวกยิ่งขึ้น
sudo apt-get install virtualenv
virtualenv django -p /usr/bin/python3.4
จะเป็นการสร้าง virtual Environments ชื่อ django โดยระบุ part ที่ /usr/bin/python3.4
เข้าใช้งานด้วย
source ~/django/bin/activate
เราสามารถลงอะไรก็ตามใน virtual environments ก้อนนี้ได้ โดยจะไม่ไปยุ่งกับภายนอก
pip install requests
หรือ ปิดการใช้งานด้วย
deactivate
The first 20 hours — how to learn anything | Josh Kaufman | TEDxCSU
เป็นอีกหนึ่ง TED ที่ผมชอบมาก โดยเนื้อหาจะเล่าว่า
การที่เราจะเรียนรู้อะไรใหม่ๆนั้น ขอแค่มุ่งใช้เวลา 20 ชั่วโมงแรกของการเรียนรู้อย่างจริงจัง
และมีขั้นตอนที่ดี ก็เพียงพอที่จะทำให้เราสามารถเริ่มศึกษาสิ่งใหม่ๆได้
ขั้นตอนเหล่านั้นคือ
Growth Mindset VS Fixed Mindset
คนในโลกนี่มีอยู่ 2 ประเภท
1. Growth Mindset
– เราสามารถเรียนรู้ทุกอย่างที่ อยากจะเรียนรู้
– เมื่อเราผิดหวัง เราจะพยายามมัน
– ฉันอยากจะแข่งขันกับตัวเอง
– เมื่อเราล้มเหลว เราเรียนรู้
– เมื่อคุณประสบความสำเร็จ คุณแค่แรงบันดาลใจของเรา
– ความพยายามและความทัศนคติเป็นตัวกำหนดทุกสิ่ง
2. Fixed Mindset
– มีแค่ฉันทำได้ดี กับ ทำไม่ได้เลย
– เมื่อฉันผิดหวัง ฉันจะยอมแพ้มัน
– ฉันไม่ชอบการแข่งขันใดๆทั้งสิ้น
– เมื่อฉันล้มเหลว ฉันถือว่าฉันไม่ดี
– ได้โปรดบอกฉัน ว่าฉันเก่ง ฉลาด
– เมื่อฉันประสบความสำเร็จ ฉันรู้สึกไม่ดี
– ความสามารถของฉันเป็นตัวกำหนดทุกอย่าง
Ima8
ขอบคุณครับ
หลังจากที่ทางคณะเทคโนโลยีสารสนเทศ ได้มีการจัด Programming BootCamp ก็เลยอยากจะมาขีดๆเขียนๆ
เล่าประสบการณ์ และ วิธีการคร่าวๆในค่าย
เริ่มจาก BootCamp นี่มีทั้งหมด 4 คืน 5 วัน ตั้งแต่วันที่ 29 – 2 มิย 58
โดยเราจะมีเวลาทำโปรเจ็ค 48 ชั่วโมง (จัดการเวลานอนเอง)
โดยกลุ่มที่แบ่งในค่ายครั้งนี้อาจาร์ยว่าเกิดจากการ Random แต่เห้ยยย ทำไมชื่อแรกๆกลุ่มแรกๆ มีแต่คนที่ได้เกรดวิชา programming ระดับดีๆ
แต่ภายหลังเมื่อได้พูดคุยกับ 1 ในคนจัดงาน ทำให้เข้าใจว่า จริงๆแล้วการตัดสินจะใช้การแบ่งกลุ่มย่อยๆอยู่แล้ว และ เพื่อแก้ปัญหาหากเป็นการ random จริงๆ
อาจส่งผลให้คนที่ไม่ค่อยจะได้ในทีมอาจไม่ได้ทำงาน จึงใช้วิธีนี้เพื่อผลักให้ทุกทีม ทุกคนพยายามไปด้วยกัน
และนั้นละครับ ผลที่ออกมาเหมือนฟลุ๊ค ทันทีที่ประกาศรายชื่อทีมออกมา ถึงกับนั่งไม่ติด
เนื่องจากสมาชิกในทีมล้วนเป็นคนที่มีความสามารถระดับต้นๆของรุ่น + กับรุ่นพี่ที่เป็นคนดูแลดันเป็นเทพ!!
ทันใดนั้นก็เกิดคำถามขึ้นในใจ ?? ถ้าแพ้จะทำยังไง . . ? กดดันสิครับ !!
ไหนๆ ก็ไหนๆ จึงได้โพสตัสลงในเฟส เพื่อเป็นการกดดันตัวเองเพิ่มขึ้นอีกหน่อย
วันที่ 1 และ วันที่ 2 จะเป็นการอบรมให้ความรู้ในด้านต่างๆ ดังนี้
เรียกได้ว่าจัดเต็ม ครบทุกด้าน ตั้งแต่ Front-end ไปจนถึง Back-end
แต่เป็นเรื่องน่าเสียดาย เนื่องจากวันที่ 2 จำเป็นจะต้องเดินทางไปเข้าอบรมอีกโครงการหนึ่ง จึงต้องแอบโดดค่ายออกมา
ทำให้ต้องเลือกเข้าอบรมเฉพาะ JSP ซึ่งไม่คิดว่า เวลาแค่ 6 ชั่วโมง กว่าๆ สามารถทำให้เห็นภาพรวมของ JSP ได้ขนาดนี้ กราบบบบบ Aj.pichet
พอตกเย็นวันที่สองต้องรีบเดินทางกลับมาเข้าค่าย เพื่อรอฟังประกาศธีมในการแข่งขันครั้งนี้
โดยธีมในปีนี้คือ alumni หรือ ศิษย์เก่า
ถึงกับสตั๊นไป 3.12 วิ . . .
เอาละสิ๊ จะทำยังไง จะทำยังไง บวก กับตอนนั้นพึ่งกลับจากการอบรมธุรกิจ สมองนี่มึนไปหมด
และหัวข้อโปรเจ็คต้องเสร็จภายใน 3 ชั่วโมง เอาละสิครับ
หลังจากที่ได้ลองปล่อยให้เพื่อนได้ ปล่อยไอเดียกันออกมา จึงได้ลองเสนอไอเดียหนึ่ง
ในก็คือ ส่งต่อหนังสือจากรุ่นพี่สู่รุ่นน้อง
เมื่อได้คุยๆกัน ทุกคนชอบ และเห็นด้วย จึงได้ลองเอาไอเดียไปปรึกษารุ่นพี่
ก็ได้พบกับคำถามหนึ่งกลับมา “จะเช็คว่ารับหนังสือซ้ำได้มั้ย” เป็นคำถามสั้นๆ แต่กระบวนการมันไม่สั้นเลย
ทำให้เราต้องมานั่งคิดว่า จะเช็คยังไง ?? จึงได้ว่าเลข ISBN ไง แต่เอ้ะจะเอาเลขนี่มาได้ยังไง
รุ่นพี่จะอัพหนังสือ จะต้องกรอกข้อมูลทุกอย่างเองหรอ มันก็ดูไม่ใช่ปะ
พอลองหาฐานข้อมูลหนังสือไทย พร้อมเลข ISBN ก็ไม่เจอเฉย Y_Y
จึงได้เกิดไอเดียว่า เห้ย เมื่อ opendata มันไม่มีก็สายดำสิ๊ครับ
จึงได้ลองจัดการเขียน BOT ไปดูดข้อมูลหนังสือมาจากที่ที่หนึ่ง
ทำให้ในค่ายเราสามารถมีหนังสือในระบบมากกว่า 800 เล่ม โดยใช้เวลารัน bot ไปดูดมาไม่ถึง 5 นาที :3
และอีกเรื่องที่ยากสำหรับงานนี้
นั้นก็คือจะทำยังไงให้ทุกคนในทีมได้ทำงานทุกคน จะแบ่งงานยังไง ขอบเขตรับผิดชอบยังไง และเรื่องพวกนี้ยังเป็นส่วนสำคัญ
ในการคิดว่าจะเอา function อะไรบ้าง ถ้าเอาแต่ละ function จะต้องใช้เวลาเท่าไหร่ แบ่งงานกันยังไงแต่ละ function
นี่คือสิ่งที่ต้องคิดภายในไม่กี่นาที ต้องตัดสินใจเลือกหรือตัด function ต่างๆ ให้สามารถสรุปออกมาเป็น project ได้
และนี่คือสิ่งที่ได้หลังจากที่ได้นั่งคิด จนมีเพื่อนทักว่า “คิดอะไรอยู่ ดูเครียดๆ”
ปิ๊งงง ออกมาแว้วว
function bootsharing
พอมองคร่าวๆก็อาจจะ เอ๊ะ มันดูธรรมดาไปหรือปล่าว
แต่สิ่งที่ปรากฏคือทุก function ที่เลือกมาทำเกิดจากเหตุผลเพียงข้อเดียวว่า “อยากให้เพื่อนทุกคนในกลุ่มสามารถช่วยกันทำได้”
แต่ถ้าจะทำแค่นี้ ต้องพรีเซ็นตัดสิน อาจทำให้ไม่ได้รางวัลก็เป็นได้ อาจจะดูเฉยๆไป
จึงได้แบ่งเวลาไปแอบเขียนสิ่งที่น่าจะช่วยให้ดึงดูดตากรรมการได้นิ๊ดนึง
นั้นก็คืออออ
และนั้นละครับ เป็นโจทย์ที่แมกจะต้องจัดการว่า จะทำยังไงให้เราสามารถทำสิ่งที่อยู่ข้างต้นได้ออกมาสำเร็จในเวลาที่จำกัดมากๆ
เพียง 2 วัน !! ต้องขอบคุณเพื่อนร่วมทีม ที่ทุกคนไว้ใจแมก ยินดีที่จะช่วยและทุ่มเทไปกับมันอย่างเต็มที่
สรุปสิ่งต่างๆที่ใช้ในครั้งนี้
สรุปสิ่งที่มีในการทำโปรเจ็ค 48 ชั่วโมงครั้งนี้
และนั้นละครับ กลุ่ม 10 We are the champions
We are the champions
BookSharing
โปรเจ็ค 48 ชั่วโมงจากค่าย Programming BootCamp @SIT KMUTT
ขอบคุณทุกคนมากครับ
Ima8.
03/06/2558