Skip to content

Instantly share code, notes, and snippets.

View up1's full-sized avatar

Somkiat Puisungnoen up1

View GitHub Profile
@up1
up1 / 1.json
Created June 10, 2026 08:22
Demo SBOM for nodejs
{
"$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json",
"bomFormat": "CycloneDX",
"specVersion": "1.6",
"version": 1,
"serialNumber": "urn:uuid:eb4d5f8f-8960-48e3-b2b1-78851025f1b0",
"metadata": {
"timestamp": "2026-06-10T08:12:33.759Z",
"tools": {
"components": [
@up1
up1 / 1.json
Created June 10, 2026 08:13
Demo SBOM for nodejs
{
"$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json",
"bomFormat": "CycloneDX",
"specVersion": "1.6",
"version": 1,
"serialNumber": "urn:uuid:eb4d5f8f-8960-48e3-b2b1-78851025f1b0",
"metadata": {
"timestamp": "2026-06-10T08:12:33.759Z",
"tools": {
"components": [
@up1
up1 / 1.txt
Last active June 5, 2026 16:20
Demo Redis with SQL
$docker container run -d -p 6379:6379 redis:8.8
$docker container ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
89bdbf4df9c9 redis:8.8 "docker-entrypoint.s…" 15 seconds ago Up 15 seconds 0.0.0.0:6379->6379/tcp, [::]:6379->6379/tcp pensive_mendel
@up1
up1 / 1.txt
Created June 4, 2026 08:13
Demo Postman
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
pm.test("Response time is less than 1sec", function () {
pm.expect(pm.response.responseTime).to.be.below(1000);
});
pm.test("Response matches JSON schema", function () {
const schema = {
@up1
up1 / 1.ts
Last active June 4, 2026 07:28
Demo code
import { test, expect } from '@playwright/test';
test('Buy coffee with Espresso and Americano, total $17', async ({ page }) => {
await page.goto('https://seleniumbase.io/coffee/');
await page.locator('[data-test="Espresso"]').click();
await page.locator('[data-test="Americano"]').click();
await expect(page.getByLabel('Cart page')).toContainText('cart (2)');
await page.getByRole('link', { name: 'Cart page' }).click();
await expect(page.locator('[data-test="checkout"]')).toContainText('Total: $17.00');
await page.locator('[data-test="checkout"]').click();
@up1
up1 / 2.txt
Last active May 30, 2026 01:25
Demo with http file and ijhttp
$ijhttp demo.http
┌─────────────────────────────────────────────────────────────────────────────┐
│ Running IntelliJ HTTP Client with │
├────────────────────────┬────────────────────────────────────────────────────┤
│ Files │ demo.http │
├────────────────────────┼────────────────────────────────────────────────────┤
│ Public Environment │ │
├────────────────────────┼────────────────────────────────────────────────────┤
│ Private Environment │ │
@up1
up1 / 1.txt
Last active May 26, 2026 08:57
Demo Req
# Report management web
## Technology stack
* Python
* Web framework: Flask
* https://flask.palletsprojects.com/en/stable/
* Use openai library
* https://pypi.org/project/openai/
## Features
@up1
up1 / 1.txt
Last active May 21, 2026 08:53
PostgreSQL :: Tuning 2026
// 1. แต่ละ table มีจำนวน row เท่าไร มี size ของข้อมูลเท่าไร
SELECT relname AS table_name,
pg_size_pretty(pg_total_relation_size(relid)) AS total_size,
n_live_tup AS estimated_rows
FROM pg_stat_user_tables
ORDER BY pg_total_relation_size(relid) DESC;
ตัวอย่างผลการทำงาน
"customers" "20240 MB"
@up1
up1 / 1.txt
Last active May 14, 2026 12:15
Design.md
---
name: Neon Tokyo — Daybreak
colors:
surface: '#fcf8ff'
surface-dim: '#d9d7f4'
surface-bright: '#fcf8ff'
surface-container-lowest: '#ffffff'
surface-container-low: '#f5f2ff'
surface-container: '#efecff'
surface-container-high: '#e8e5ff'
@up1
up1 / ArchitectureTest.java
Last active May 12, 2026 17:12
ArchUnit for Spring Boot
@AnalyzeClasses(packages = "com.example.demoarch")
public class ArchitectureTest {
@ArchTest
static final ArchRule layer_dependencies = layeredArchitecture()
.consideringAllDependencies()
.layer("Controller").definedBy("..controller..")
.layer("Service").definedBy("..service..")
.layer("Repository").definedBy("..repository..")