Skip to content

Instantly share code, notes, and snippets.

View mmyoji's full-sized avatar
🙃

mmyoji mmyoji

🙃
View GitHub Profile
@mmyoji
mmyoji / multiline-vars-in-bash.sh
Created January 31, 2024 02:29
Multiline variables in bash
#!/bin/bash
function print_multiline() {
local text=$(cat <<'EOF'
```
# Markdown Text
- one
- two
```
@mmyoji
mmyoji / 00_timestamps-on-sequelize-v5.md
Last active December 15, 2023 01:06
timestamps behaviour on Sequelize v5

timestamps: boolean behaviours on Sequelize (v5)

  • MySQL v5.7
  • sequelize@5.22.3
const { Sequelize, DataTypes, literal } = require("sequelize");

const sequelize = new Sequelize({/* ... */});
@mmyoji
mmyoji / range.ts
Created December 11, 2023 09:46
`range()` function for TypeScript
/**
* ref: https://www.freecodecamp.org/news/javascript-range-create-an-array-of-numbers-with-the-from-method/
*
* # Example
*
* ```ts
* import { range } from "./main.ts";
*
* range(1, 5);
* // [1, 2, 3, 4, 5]
@mmyoji
mmyoji / lcm-and-gcd.ts
Last active December 8, 2023 09:16
LCM & GCD in TypeScript
/**
* LCM ... Least Common Multiple (最小公倍数)
* GCD ... Greatest Common Divisor (最大公約数)
*
* LCM = (A * B) / GCD
*/
function _findGCD(a: number, b: number): number {
if (a === 0) return b;
if (b === 0) return a;
@mmyoji
mmyoji / deno-queues-examples.ts
Last active September 28, 2023 00:29
Code examples of Deno Queues
// https://deno.com/blog/queues
function listenQueue<T>(fn: (msg: T) => Promise<void>) {
//
}
// lib/kv/queue/_core.ts
const messageTypes = {
foo: "foo",
@mmyoji
mmyoji / modify-date.ts
Last active August 25, 2023 10:06
[Node.js, Deno] Modify Date function when you can't use Temporal
// see https://deno.land/std/datetime/constants.ts?source
const MILLISECOND = 1;
const SECOND = MILLISECOND * 1e3;
const MINUTE = SECOND * 60;
const HOUR = MINUTE * 60;
const DAY = HOUR * 24;
const WEEK = DAY * 7;
type Unit =
| "milliseconds"
@mmyoji
mmyoji / install-docker-in-wsl2.md
Last active July 25, 2023 11:56
Install Docker directly on WSL2 (Pengwin)

Steps

[Optional] Uninstall Docker Desktop

  1. Start Docker Desktop
  2. Remove all docker resources (e.g., docker container prune)
  3. Stop Docker Desktop
  4. rm -rf ~/.docker

Install Docker in WSL2

@mmyoji
mmyoji / migrate-npm-to-pnpm.md
Last active April 29, 2024 20:42
Migrate npm to pnpm
@mmyoji
mmyoji / nominal-types.ts
Last active June 8, 2023 12:31
Nominal Types in TS
// https://www.typescriptlang.org/play#example/nominal-typing
type ValidatedInputString = string & { __brand: "User Input Post Validation" };
// https://speakerdeck.com/naoya/typescript-niyoru-graphql-batukuendokai-fa-75b3dab7-90a8-4169-a4dc-d1e7410b9dbd?slide=91
declare const __newtype: unique symbol;
export type newtype<Constructor, Type> = Type & {
@mmyoji
mmyoji / make-promise.ts
Created May 30, 2023 11:10
Make a function as async one
// see: https://www.bbss.dev/posts/eventloop/
/**
* @example
* ```ts
* const fn = makePromise(() => {
* return heavyFunc();
* });
* // or you can write:
* // const fn = makePromise(heavyFunc);