Skip to content

Instantly share code, notes, and snippets.

View 0916dhkim's full-sized avatar

Danny Kim 0916dhkim

View GitHub Profile
{
"channel": "#events",
"username": "TorontoJS EventBot™",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Events today*"
}
@0916dhkim
0916dhkim / server.js
Created September 30, 2023 21:42
File download from express
const express = require("express");
const PDF = require("pdfkit");
const PizZip = require("pizzip");
const Docxtemplater = require("docxtemplater");
const fs = require("fs");
const path = require("path");
const server = express();
server.get("/mypdf", async (req, res, next) => {
import * as ics from "ics";
import Discord, { GatewayIntentBits, REST, Routes } from "discord.js";
import {Readable} from "stream";
import moment from "moment";
import { z } from "zod";
const eventResponseSchema = z.object({
id: z.string(),
name: z.string(),
description: z.string(),
@0916dhkim
0916dhkim / part1.js
Created December 31, 2022 21:44
Advent of Code Day 6
const { readFile } = require("fs/promises");
async function readRawInput(path) {
const content = await readFile(path, { encoding: "utf-8" });
return content;
}
/**
* @param {string} fourCharacters ex "abcd"
* @returns true if all unique. false if there's a repeating character.
*/
@0916dhkim
0916dhkim / part1.js
Created December 24, 2022 21:23
Advent of Code Day 4
const { readFile } = require("fs/promises");
async function readRawInput() {
const path = "./input.txt";
const content = await readFile(path, { encoding: "utf-8" });
return content;
}
function parseLine(line) {
const pairs = line.split(",");
const firstPair = parseRangeString(pairs[0]);
@0916dhkim
0916dhkim / part2.js
Created December 10, 2022 22:23
Advent of Code - Day 3
const { readFile } = require("fs/promises");
function isUppercase(letter) {
return letter.toLowerCase() !== letter;
}
const alphaVal = (s) => s.toLowerCase().charCodeAt(0) - 97 + 1;
function letterToPriority(letter) {
return alphaVal(letter) + (isUppercase(letter) ? 26 : 0);
import {prisma} from '@myscope/shared-prisma';
const contacts = await prisma.contact.findMany();
export * from '@prisma/client';
// 선택사항: 프리즈마 인스턴스를 여기에서 생성할 수도 있습니다.
import {PrismaClient} from '@prisma/client';
export const prisma = new PrismaClient();
import {PrismaClient} from '@prisma/client';
const prisma = new PrismaClient();
// 자동으로 `Contact` 타입으로 유추됩니다.
const newContact = await prisma.contact.create({
data: {email: 'john@example.com'},
});
datasource db {
url = env("DATABASE_URL")
provider = "postgresql"
}
generator client {
provider = "prisma-client-js"
}
model Contact {