Skip to content

Instantly share code, notes, and snippets.

@harryhan24
harryhan24 / app_launcher.lua
Last active May 24, 2026 04:32
better tool touch 처럼 움직이게하는 lua 스크립트
-- AppLauncher: 단일 키로 앱(bundle ID) launchOrFocus + Finder 단축키를 통합 처리.
-- Obsidian vault 단축키는 별도 모듈(obsidian_launcher) 사용.
--
-- Source: https://github.com/Hammerspoon/Spoons/tree/master/Source/AppLauncher.spoon
-- (Mathias Jean Johansen, ISC) — 원본 구조 차용, bundle ID 기반 + 다른
-- 단축키 종류 통합 형태로 변경.
--
-- 사용 예 (호스트 init.lua):
--
-- require("app_launcher"):new({

테스팅시

beforeAll(()=>{  
  await container.clearInstances()
  container.register<TypeDB>('DB_CONFIG', {
    useFactory: instanceCachingFactory(() => new TypeDB()),
  })    
})

POST

cosnt body = {title,content}
axios.post(uri, body, config)

STATUS 분기

axios.post(SCRAP_UTIL_LOAD_URL, {
 validateStatus: (status: number) =&gt; {
@harryhan24
harryhan24 / rxjs-operators.ts
Created July 7, 2022 10:25 — forked from drewwiens/rxjs-operators.ts
Some handy custom RxJS operators for Angular etc
import { AbstractControl, FormArray, FormGroup } from '@angular/forms';
import { map, toPairs, fromPairs, differenceWith, isEqual, isNull, isUndefined } from 'lodash';
import { Observable, OperatorFunction, defer, empty, of, merge, pipe } from 'rxjs';
import { distinctUntilChanged, filter, map, shareReplay, pairwise } from 'rxjs/operators';
/**
* Convenience RxJS operator that filters out undefined & null and modifies the downstream type
* appropriately.
*/
export function exists<T>(): OperatorFunction<T | undefined | null, T> {
import {
DynamoDBClient,
PutItemCommand,
GetItemCommand,
UpdateItemCommand,
DeleteItemCommand,
} from '@aws-sdk/client-dynamodb';
import {
marshall,
unmarshall
import { APIGatewayProxyEventV2, APIGatewayProxyResultV2 } from "aws-lambda";
import { DynamoDB, PutItemInput } from '@aws-sdk/client-dynamodb'
import { marshall } from '@aws-sdk/util-dynamodb'
import { v4 as uuid } from 'uuid'
interface TodoInput {
id?: string
title: string
done: boolean
}
@harryhan24
harryhan24 / test.ts
Last active May 17, 2022 02:54
ramda 시도중
const raw = [
{a:'a', b:'b', c:'c', max: 10, min: 2 },
{a:'a', b:'b', c:'c', max: 10, min: 2 },
{a:'a', b:'b', c:'c', max: 10, min: 3 },
{a:'a', b:'b', c:'c', max: 10, min: 4 },
{a:'a', b:'b', c:'c', max: 10, min: 5 },
{a:'a', b:'b', c:'c', max: 10, min: 6 },
{a:'a', b:'b', c:'c', max: 10, min: 7 },
]
@harryhan24
harryhan24 / server-status-widget.js
Created April 1, 2022 04:10 — forked from dioncodes/server-status-widget.js
Scriptable iOS Server Status Widget
const initialData = {
servers: [
{
url: 'https://1.example.com/',
title: 'Server 1',
online: null,
},
{
url: 'https://2.example.com/',
title: 'Server 2',
@harryhan24
harryhan24 / flutter.md
Created January 25, 2022 16:50 — forked from matteocrippa/flutter.md
Flutter Cheatsheet

Flutter

A quick cheatsheet of useful snippet for Flutter

Widget

A widget is the basic type of controller in Flutter Material. There are two type of basic Widget we can extend our classes: StatefulWidget or StatelessWidget.

Stateful

StatefulWidget are all the widget that interally have a dynamic value that can change during usage. It can receive an input value in the constructor or reference to functions. You need to create two classes like:

@harryhan24
harryhan24 / get_access_token.js
Created January 16, 2022 13:12 — forked from ejdoh1/get_access_token.js
How to get an access_token from AWS Cognito using Axios
// Get AWS Congito access token using node-fetch and axios
const axios = require('axios');
const fetch = require('node-fetch');
const url = 'https://REPLACE_ME.auth.ap-southeast-2.amazoncognito.com/oauth2/token';
const clientId = 'REPLACE_ME';
const clientSecret = 'REPLACE_ME';
const body = `client_id=${clientId}&client_secret=${clientSecret}&grant_type=client_credentials`
// with node-fetch