Developer

สรุปงูๆ ปลาๆ จากงาน Code Mania 110

วันนี้เราได้มีโอกาสมางาน Code Mania 110 ด้วย เขาจัดมากัน 6 ครั้งละ เราก็มาเป็นครั้งที่ 3 ซึ่งจริงๆงานครั้งล่าสุดก็เพิ่งจัดไปเมื่อเดือนมิถุนายนนี่เอง เวลาผ่านไปไวมากก แต่ความตั้งใจครั้งนี้ไม่เหมือนกับที่ผ่านๆมา ปกติจะเข้าไปฟังแต่ละ session ตัวเปล่า ตอนออกจากห้องมานี่อย่างอิน แต่พอข้ามคืนไปก็หลงๆลืมๆละว่าได้อะไรมา บวกกับเราได้แรงบันดาลใจงาน “WeLoveBug Meetup 1/2560: จาก Acceptance Test-Driven Development สู่ Unit Testing” เมื่อกลางปีที่ผ่านมา โดยมีพี่ปุ๋ยกับพี่หนุ่มเป็น speaker ในวันนั้น มันเป็นความทรงจำเลือนลางมากๆ แต่พี่หนุ่มแนะนำให้เขียนในสิ่งที่เราได้เรียนรู้ไปในแต่ละอีเว้นท์ เพื่อเผยแพร่สิ่งพวกนี้ให้แก่คนอื่นๆ บวกกับได้แรงบันดาลใจแรงๆจาก https://naiwaen.debuggingsoft.com ที่เขียนเกี่ยวกับ session ที่เราเคยไปพูดในเกี่ยวกับ Airflow ในงาน Code Mania ครั้งที่แล้ว เราก็รู้สึกว่า เฮ้ย ถ้าเราลองได้ทำบ้างก็คงจะดี มันคงจะดีกว่าที่เราได้ทบทวนในสิ่งที่เราได้เขียนลงไป งานปีนี้จะเป็น concept ของ “Moving Forwards, Open …

[Cron] Automate Tweet บอกเวลาด้วย Python กันเถอะ

สิ่งแรกที่ทำต้องผูกเบอร์เข้ากับ twitter setting ปกติของเราก่อนถึงจะสร้าง application ได้ เข้า https://apps.twitter.com/ และ Create New App ขึ้นมา และกรอกเฉพาะข้อมูลที่จำเป็น ใน Application settings ตรง Access level ให้เลือกเป็น Read and write เพื่อให้เรา send tweet ได้ แถบ Key and Access Token ให้กดปุ่ม generate ขึ้นมา โดยของที่จำเป็นทั้งหมดที่ต้องใช้มี 4 ตัวคือ consumer key, consumer secret, access token และ access token secret

[Cron] เขียน slackbot ส่ง notification เตือน standup meeting

โจทย์คือ เราต้องการสร้าง Slackbot เพื่อแจ้งเตือนใน channels ที่เรา subscribe ไว้ ตอนเวลา 9.59 น.ตอนเช้า เพื่อในเวลา 10.00 น.จะมี standup meeting ที่ Pronto Tools Set up environment $ virtualenv venv $ source venv/bin/activate โหลด slackclient API library เพื่อที่จะให้เราส่งและรับข้อความจาก Slack ให้ได้ก่อน (venv) $ pip install slackclient ก่อนอื่น ไปสร้าง Slack team ให้เรียบร้อย หรือจะใช้ที่มีอยู่ก็ได้ 2. เข้าไปสร้าง bot note : แต่ชื่อจะซ้ำกับ Slackbot ซึ่งเป็น bot จริงๆของ …

[Cron] มาเล่น cron กันเถอะ

เคยไหมที่เราจะต้องทำ task แบบเดิมๆในช่วงเวลาเดิมๆของทุกวัน ในการพัฒนาระบบ web application แทนที่เราจะมานั่งรันคำสั่งแบบเดิมๆทุกวัน Cron ได้ตอบโจทย์ของเรา Cron คืออะไร Cron มีไว้เพื่อ schedule tasks ที่เราต้องการเช่น กำหนด ณ เวลาเท่านี้ จะต้องทำ task นี้ มันก็จะไปทำ task ตาม script ที่เราเขียนเพื่อไปรัน server หรือเรียกอีกอย่างว่าเป็น Job scheduler ซึ่งใช้สำหรับ Unix-like operating systems นั่นเอง และแต่ละ task หรือ job จะถูกเรียกง่ายๆว่า Cron Jobs ถ้ายังนึกภาพกันไม่ออก ยกตัวอย่างเช่น บริษัท A มีระบบ membership ซึ่งมีจำนวนสมาชิกเยอะมาก เมื่อถึงวันหมดอายุของสมาชิกลูกค้า ก็ไม่จำเป็นมานั่งกด deactivate หรือลบ  account เอง …

[Python] Django project: 03 Make it dynamic

สิ่งที่เราต้องการคืออยากให้ข้อมูลเก็บลงใน database และนำมาแสดงบนหน้า html  อย่างแรกที่ต้องทำ หนีไม่พ้นสร้าง Model แน่นอน Django Model สร้าง model ใน kitten/models.py from __future__ import unicode_literals from django.db import models class Kitten_image(models.Model):    image_name = models.CharField(max_length=100)     width = models.CharField(max_length=10)     height = models.CharField(max_length=10) เมื่อเราสร้าง model ของตัวเองแล้ว สิ่งที่เราต้องทำคือ add model ไปยัง database

[Python] Django Project: 02 Get image via API

สืบเนื่องจาก โพสนี้  เราต้องการที่สร้างโปรแกรมใส่ width และ height ที่ต้องการเพื่อให้แสดงรูปภาพแมวเหมียวขึ้นมา จากคราวที่แล้ว เมื่อเซตอัพเสร็จ ก็ถึงเวลาที่จะสร้างโปรแกรมจริงๆจังๆสักที Create own application inside project (venv) ➜  django_project$ python manage.py startapp kitten แต่เราต้องบอก Django ว่าสร้าง application อะไรไป เข้าไปใน mysite/settings.py INSTALLED_APPS = [     ‘django.contrib.admin’,     ‘django.contrib.auth’,     ‘django.contrib.contenttypes’,     ‘django.contrib.sessions’,     ‘django.contrib.messages’,     ‘django.contrib.staticfiles’,     ‘kitten’, ] —— Manage …

[Python] Django Project : 01 Setting up

Django คืออะไร ? Django คือ open source web framework ตัวหนึ่งที่ 1. ฟรี 2. เขียนด้วย Python framework คืออะไร? framework คือตัวช่วยในการสร้าง websites ที่ทำให้งานเราง่ายขึ้นและสะดวกขึ้น ตัวอย่างเข่น ระบบ authentication ( sign up, sign in, บลาๆ ), การจัดการ form บน website หรือแม้การโหลดไฟล์ก็ตาม ทำให้ปัญหาเดิมๆที่เราต้องเผชิญเวลาสร้าง websites ใหม่ๆมีน้อยลงด้วยการใช้ของสำเร็จที่ django เขาสร้างมาเรียบร้อยแล้ว Installation install python install Homebrew  ลง package manager ก่อนเลย เพื่อลง Setuptools และ pip ให้เรา …

[Python] เขียน API ดึงรูปแมวเหมียวมาเซฟด้วย Requests Library !

[เขียนโค้ด] เขียน API เซฟรูปแมวเหมียวด้วย Requests Library! เราจะมาเข้าใจการใช้ Requests ด้วยวิธีง่ายๆ ด้วยการทำเรื่องง่ายๆ อย่างเช่นตัวอย่างที่จะอธิบายต่อไปนี้ คือการดึงรูปมาเซฟ นั่นเอง เริ่มต้นเลย! เรามีเว็บไซต์ง่ายๆ http://placekitten.com/ ที่เพียงแค่ใส่ image size ใน URL ก็สามารถได้รูปแมวเหมียวขึ้นมา เช่น http://placekitten.com/g/300/200 นั่นคือ กว้าง 300 px, สูง 200 px สิ่งต่อไปคือ เราจะเซฟรูปยังไงนะ? คีย์ลัดของเราคือ Requests Library Requests คืออะไร? Requests คือ HTTP Library ตัวหนึ่งที่เขียนด้วยภาษา Python (for human beings เป็นมิตรกับสุขภาพจิต)  ให้เราส่ง HTTP/1.1 request ไปได้ (https://github.com/kennethreitz/requests) ตัวอย่างการใช้ requests เช่น >>> import requests >>> r …

What I’ve learned from Pronto Tools

เป็นเวลาสักพักแล้วหลังจากที่ค้างว่าจะเขียนหลังจบการฝึกงานใน 1 เดือนให้หลัง (เรียกสั้นๆว่า เบี้ยว นี่เอง) ขอตั้งชื่อว่า What I’ve  learned from Pronto Tools แต่ก่อนอื่นเลย !  Pronto ในที่นี้ไม่ใช่ร้านยีนส์นะค้า แต่เป็น Pronto Marketing และ Pronto Tools ซึ่งเป็นบริษัทอยู่ในเครือ Pronto Group Pronto Marketing เป็นบริษัทที่รับทำหน้าที่ดูแลเรื่อง Online Marketing และ SEO ให้ และไม่ว่าจะเป็นเรื่อง Content Management, Graphic Design หรือ Social Media  ที่เราไปฝึกงานนั้นคือ Pronto Tools หรือ Research & Development team ( R&D team ) ที่ทำหน้าที่ …

What I did in the last month, as an intern

เวลาผ่านมา 1 เดือนเต็ม ดำเนินมาถึงครึ่งทางของการฝึกงาน  เมื่อวาน ( 1 / 7/ 16) เป็นวันที่นัดรวมเพื่อนๆที่มหาลัย ในวันศุกร์แบบนี้ต่างคนก็ต่างเลิกฝึกงาน นัดเวลากันไว้ 6 โมง แต่กว่าจะรวมตัวกันครบก็เวลาเกือบ 2 ทุ่ม  เมื่อเจอหน้ากันเราต่างยิงคำถามใส่กันราวกับว่า 1 เดือนที่ผ่านมา ต่างคนต่างหายไปจากกันและกัน (หรืออาจจะเป็นเราคนเดียว ที่หลุดโคจรไปแล้ว) ทุกคนต่างมีประสบการณ์จากแต่ละที่ที่นำเอามาแชร์กัน แต่ดูเหมือนว่าเราดูเป็นส่วนน้อยที่รู้สึกว่า ทำไมเราทำอะไรไม่เหมือนเพื่อนเลยนะ และเราก็คิดว่ามันถึงเวลาที่เราต้องเล่าว่าเราทำอะไรมา  (ที่ไม่ใช่กินแซลมอนและเช็คอินร้านบุฟเฟ่ต์) 1. เราไปทำ Agile Agile คืออะไร? Agile คือวัฒนธรรมของการทำงานในการพัฒนา Software ให้มีประสิทธิภาพ มีรูปแบบที่เป็น Iterative and incremental development และเน้นคุณสมบัติตามนี้ ยอมรับ การเปลี่ยนแปลง Interaction ระหว่างคนในทีม (Work in Team) Collaboration กับ customer Rapid …