Onyx

Onyx

Just a middle-aged programmer, Can do many things but not the most.

Note: Setup Flutter, FlutterFire, and Firebase Cloud Messaging with awesome notifications
Flutter

Note: Setup Flutter, FlutterFire, and Firebase Cloud Messaging with awesome notifications

สร้าง Firebase Project เริ่มจากให้ตั้งชื่อ Package Name ของ android และ Bundle ID ของ IOS เอาไว้ก่อนตัวอย่างเช่น com.orgname.appname เสร็จแล้วให้เข้าไปสร้าง project ใน https://console.firebase.google.com/ และ setup setup step 1 กำหนด Package Name ของ android

Rename Flutter Package Name หรือ Bundle ID และ App Name ใน Flutter project

Rename Flutter Package Name หรือ Bundle ID และ App Name ใน Flutter project

จากที่ได้ทดลองมาสองตัว มี package ที่ชื่อ rename สามารถใช้ในการ rename ได้ทั้ง bundle Id และ app name ดูเนื้อหาทั้งหมดได้ที่ rename การติดตั้งpub global activate renameการใช้งานถ้าไม่ได้ส่ง parameter -t or --target เข้าไปด้วย จะเป็นการ rename ใน platform

Start Django with Mongodb
django

Start Django with Mongodb

เริ่มจากสร้าง Env ใน conda ด้วย conda create -n django python=3.9จากนั้นให้ activate env ที่เราสร้าวขึ้นมาใหม่ conda activate djangoขั้นตอนต่อไปให้ติดตั้ง Django เข้าไปใน env ด้วยคำสั่ง pip install Django # ทดสอบ django และเช็ค version python -m django --versionเมื่อติ

macOS command-line rename utility
Mac OSX

macOS command-line rename utility

command นี้ใช้สำหรับ rename file ในกรณีที่ใน folder มีไฟล์จำนวนมาก การปรับแก้ชื่อไฟล์ให้อยู่ใน format เดียวกันที่มีจพนวนมาก เพื่อนำไปให้งานต่อไป จะทำให้เราเสียเวลามาก คุณสามารถติดตั้ง command-line rename utility ได้จาก: install Xcodeinstall Homebrewเปิด Terminal.app และ

การใช้งาน Multiprocessing Package ในภาษา Python
Python

การใช้งาน Multiprocessing Package ในภาษา Python

Multiprocessing คือตัวช่วยให้ process ที่ใช้เวลานานสามารถทำงานได้เร็วขึ้น หรือจะบอกว่าเป็นการ process หลายๆ งานพร้อมกันในแบบขนานกัน การ process ในแบบ single core จะมีขอบเขตจำกัด ซึ่งสามารถแก้ไขแทนได้ด้วยการทำงานแบบ multiple cores ถ้างานที่ต้องใช้เวลามากควรจะใช้ไปใช้งานในการ run แบบ parallel และอยู่ภายใต้ระบบที

การใช้ Command-line - ls ในการแสดง File Sizes เป็น Megabytes
command-line

การใช้ Command-line - ls ในการแสดง File Sizes เป็น Megabytes

ใช้ --block-size Option ถ้าต้องการใช้ ls command ในการแสดง file sizes เป็น MB หรือ KB คุณสามารถใช้ '--block-size=SIZE' option มันจะ scale file sizes ตามขนาดที่กำหนดแล้ว print ออกมา เช่น --block-size=M ในการแสดงขนาดของ 1,048,576 bytes SIZE argument คือ optional unit (ตัวอย่างเช่

Dagster Schedules
dagster

Dagster Schedules

Schedules #Dagster จะมี scheduler ที่สามารถใช้สั่งงานตามช่วงเวลา Relevant [email protected]_schedule Decorator ตัวนี้จะใช้กำหนดให้ทำงานแบบรายวัน@hourly_schedule Decorator ตัวนี้จะใช้กำหนดให้ทำงานแบบรายวชั่วโมง@weekly_schedule Decorator ตัวนี้จะใช้กำหนดให้ทำงานแบบรายสัปดาห์@monthly_schedule Decorator ตัวนี้จะใช้กำหนดให้ทำงานแบบรายเดือน@schedule Decorator เป็

หา Process ที่น่าสงสัยใน Macos
Mac OSX

หา Process ที่น่าสงสัยใน Macos

บางครั้งเมื่อลองเข้าไปดู process ด้วย htop แล้วเจอ process แปลกๆ แล้วอยากลองดูว่า คืออะไร เอาชื่อ command ไปค้นหาใน google แล้วหาไม่เจอ htopลองใช้คำสั่ง ps -ax | grep {process-keyword}ตัวอย่างเช่น $ ps -ax | grep com.adobe 33793 ?? 0:00.11 /Library/PrivilegedHelperTools/com.

ติดตั้งและทดลองใช้งาน dagster
dagster

ติดตั้งและทดลองใช้งาน dagster

การใช้งาน Dagster ต้องมีการ config Dagster Instance ก่อน สำหรับ Storages ในการเก็บข้อมูล Run Storage, Event Storage และ Schedule Storage ซึ่งสามารถใช้งานได้กับ Sqlite DB, Postgres DB และ MySQL DB การใช้งานร่วมกับ Sqlite จะมีข้อจำกัดเรื่อง Assets page จะไม่

ติดตั้ง Postgres Sql บน Docker
Postgres

ติดตั้ง Postgres Sql บน Docker

หลังจากที่เราติดตั้ง Docker เรียบร้อยแล้ว $ docker run -d \ --name postgres \ -e POSTGRES_USER=root \ -e POSTGRES_PASSWORD=password \ -e PGDATA=/var/lib/postgresql/data/pgdata \ -v /{your-local-path}/data:/var/lib/postgresql/data \ -p 5432:5432 \ postgresdocker จะทำการติด Postgres เข้าไปใน Docker โดยมีรายละเอียดประมาณนี

Dagster Instance การกำหนดค่า config ใน dagster.yaml
dagster

Dagster Instance การกำหนดค่า config ใน dagster.yaml

OverviewDagsterInstance คือตัวกำหนดค่าที่ Dagster ต้องการ โดยจะ config ทำใน dagster.yaml ตัวอย่างเช่น ตำแหน่งที่จะจัดเก็บ history การรันที่ผ่านมาและบันทึกที่เกี่ยวข้อง การสตรีม raw logs จากฟังก์ชันการคำนวณของ solid วิธีจัดเก็บ local artifacts ในเครื่องและวิ

Dagster / Modes and Resources
dagster

Dagster / Modes and Resources

Resources จัดเตรียมวิธีในการจัดการ external APIs ร่วมกับ modes สามารถใช้ในสภาพแวดล้อมของการ execution ที่แตกต่างกันหลายแบบสำหรับ pipeline Relevant [email protected] ใช้ decorator เพื่อกำหนดว่าเป็น resources ตัว decorated function นี้คือการเรียก resource_fn โดยจะ return ResourceDefinitionResourceDefinition คือ Class สำหรั

Dagster: data orchestrator for machine learning, analytics, and ETL

Dagster: data orchestrator for machine learning, analytics, and ETL

Overview Dagster คือ เครื่องมือสำหรับจัดการ/ประสานงานข้อมูล สำหรับ machine learning, analytics,และ ETL ในแต่ละ Sections จะประกอบไปด้วย Overview: คำอธิบายของ conceptRelevant APIs: Index ของ top-level Dagster APIs ที่เกี่ยวข้องกับ concept.Examples: Easy-to-copy code snippets for the concept.Patterns: A list

Dagster / Solids and Pipelines
dagster

Dagster / Solids and Pipelines

# Solids and PipelinesSolids และ Pipelines คือการสร้าง blocks ของ Dagster code. ใช้สิ่งเหล่านี้เพื่อกำหนด orchestration graphs. ส่วนนี้ครอบคลุมถึงวิธีการกำหนดและใช้งานทั้ง solids และ pipelines SolidsSolids เป็นหน่วยหน้าที่ของงานใน Dagster ใน solid แต่ละ unit จะมีความรับผิดชอบคืออ่านข้

คำสั่งเพื่อสร้าง Python REST API ด้วย Serverless และ Lambda
serverless

คำสั่งเพื่อสร้าง Python REST API ด้วย Serverless และ Lambda

สร้างไดเร็กทอรีใหม่ ตามด้วยสร้าง package.json ไฟล์: $ mkdir my-flask-application && cd my-flask-application $ npm init -fหลังจาก inatall เรียบร้อยแล้ว ให้ไป inatall plugin อีก 2 ตัวที่จำเป็น ตัวแรกคือ serverless-wsgi plugin ตัวนี้ใช้เพื่อเป็นตัวสื่อสารกับ

Python Error Note: ModuleNotFoundError: No module named 'werkzeug._compat' กับ Flask 2.0.1

Python Error Note: ModuleNotFoundError: No module named 'werkzeug._compat' กับ Flask 2.0.1

ถ้าใช้ Lambda + Python 3.8 + Flask 2.0.1 แล้วเจอ error แบบด้านล่างนี้ เป็นเพราะโปรเจ็กต์ Flask, Werkzeug และ pallets อื่นๆ เพิ่งมีการอัปเดตครั้งใหญ่ โดยเลิกรองรับ python2 และลบโมดูล _compat และ AWS ยังไม่ได้แก้ไขปัญหาความสามารถนี้ [ERROR] ModuleNotFoundError: No module named