Skip to content

Instantly share code, notes, and snippets.

drop function get_fee_master;
create or replace function get_fee_master (jsonrate jsonb)
returns table (fm_start_range decimal, fm_end_range decimal, fm_rate decimal, fm_acc_prev_fee decimal)
language plpgsql
as $$
begin
return query
with rate_master as (
select
coalesce(lag(amount) over (order by amount), 0) as start_range,

source

สรุปในมุม pseudo code เป็น JavaScript snippet

let condLength = 3;

let winningConditions = Array.from(
    Array(condLength).keys(), 
 (_, i) => i < condLength - 1 ? i + 1 : 0
@pranithan-kang
pranithan-kang / generic_type_experimental.py
Created March 29, 2024 07:31
generic type experimental
# "python.analysis.typeCheckingMode": "strict",
from typing import Generic, TypeVar
T = TypeVar('T')
class MyClass(Generic[T]):
def run(self, x: T) -> T:
return x
class ExtendedMyClass(MyClass[int]):
@pranithan-kang
pranithan-kang / dataclass_experimental.py
Created March 29, 2024 07:29
dataclass experimental
from dataclasses import dataclass
@dataclass
class A:
id: int
def __eq__(self, other):
return self.id == other.id
@dataclass(eq=True)
@pranithan-kang
pranithan-kang / deep_flatten.py
Last active March 7, 2024 03:05
deep flatten nested dict
def deep_flatten(data: dict, flatten_result: dict = {}, parent_key: str = ""):
for key, value in data.items():
target_key = f"{parent_key}.{key}" if parent_key else key
if isinstance(value, dict):
deep_flatten(value, flatten_result, target_key)
else:
flatten_result[target_key] = value
return flatten_result
assert deep_flatten(
@pranithan-kang
pranithan-kang / GET_TB.sql
Last active March 4, 2024 08:48
GET TABLE NAME LIMITED BY ORACLE 30 CHARACTER RULE
CREATE OR REPLACE FUNCTION PDBADMIN.GET_TB(DJANGO_FULL_INSTANCE_NAME IN VARCHAR) RETURN VARCHAR
IS
/**
* GET TABLE NAME LIMITED BY ORACLE 30 CHARACTER RULE
* RELATED DJANGO CODE IS [HERE](https://github.com/django/django/blob/main/django/db/backends/utils.py#L283)
*
* PARAMETER
* ---------
* - DJANGO_FULL_INSTANCE_NAME [VARCHAR] IS DJANGO_APP_NAME PLUS '_' PLUS DJANGO_MODEL_NAME
* FOR EXAMPLE, IF YOU WOULD LIKE TO GET THE TABLE NAME OF RequestForCompensationAppealItem
@pranithan-kang
pranithan-kang / README.md
Last active February 22, 2024 04:17
phpenv installation

Install phpenv on mac

  • install phpenv from it's instruction, including optional steps

  • install the related libraries, refer to this issue

  • normally, on macos, you cannot use plain install command, otherwise, you face the problem configure: error: Please reinstall the [PACKAGE] distribution

  • so, install target php version available from php-build list

@pranithan-kang
pranithan-kang / rdbms-transaction-experimental.sql
Created February 2, 2024 09:47
RDBMS Transaction Experimental
create table abc (
a int primary key,
b text
) ;
begin transaction; -- begin transaction
insert into abc (a, b) values (1, 'testing'); -- success
insert into abc (a, b) values (1, 'testing2'); -- failed
commit; -- rollback
end; -- end transaction
@pranithan-kang
pranithan-kang / area-calculation-playground.sql
Last active January 4, 2024 09:25
Area calculation from given lat, lng with SQL
drop table my_polygon;
create table my_polygon (
id integer primary key autoincrement,
polygon_set char(50),
vertex_order integer not null,
lat real not null,
lng real not null
);
insert into my_polygon (polygon_set, vertex_order, lat, lng)
values ('set_1', 1, 1, 8),
@pranithan-kang
pranithan-kang / number-block.py
Last active January 4, 2024 08:49
number-block generate game
"""
this program generates a random number block and prints it
"""
import random
class NumberBlock:
# 1 - 2 - 3
# | | |