สรุปงูๆ ปลาๆ จากงาน 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 …

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

Advertisements

[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 Access API วิธีง่ายมากกกก เราใช้ tweepy ในการ access API  ของ twitter และอย่าลืม …

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

[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 จริงๆของ …

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

[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 เอง …

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

[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 กรณีเช่น ถ้ามีการเปลี่ยนแปลงกับ model อย่างที่เราได้สร้างขึ้นมาตะกี้ (venv) ➜  django_project $ python manage.py …

Continue reading [Python] Django project: 03 Make it dynamic

[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 …

Continue reading [Python] Django Project: 02 Get image via API

[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 ให้เรา …

Continue reading [Python] Django Project : 01 Setting up