Skip to content

Instantly share code, notes, and snippets.

View khg0712's full-sized avatar
๐ŸŽฏ
Focusing

Hugo Kim khg0712

๐ŸŽฏ
Focusing
View GitHub Profile
// Next.js v13.0.0 ~ v13.3.0์—์„œ์˜ SSR ์ฝ”๋“œ
// ๋ ˆํผ๋Ÿฐ์Šคํ•˜๋Š” ์ฝ”๋“œ๋Š” v13.3.0 ๊ธฐ์ค€
// packages/next/src/server/render.ts
// https://github.com/vercel/next.js/blob/v13.3.0/packages/next/src/server/render.tsx#L119
// streaming SSR ์ง€์›์„ ์œ„ํ•ด renderToReadableStream์„ ์‚ฌ์šฉํ•ด์„œ SSR ์ฒ˜๋ฆฌ
// v12.3.4์ฒ˜๋Ÿผ renderDocument์—์„œ document render๋ฅผ ์ง„ํ–‰ํ•˜๊ณ ,
// renderDocument์—์„œ renderToString ํ˜ธ์ถœ
async function renderToString(element: React.ReactElement) {
const renderStream = await ReactDOMServer.renderToReadableStream(element)
// Next.js v12.3.4 ๋ฒ„์ „ ๊ธฐ์ค€ SSR ์ฝ”๋“œ
// packages/next/server/render.tsx
// https://github.com/vercel/next.js/blob/v12.3.4/packages/next/server/render.tsx#L1114
const renderDocument = async () => {
// ...
//
const createBodyResult = (
initialStream: ReactReadableStream,
suffix?: string
// packages/next/server/render.tsx
// pre-renderํ•˜๋Š” renderToHTML ํ•จ์ˆ˜
// https://github.com/vercel/next.js/blob/v12.3.4/packages/next/server/render.tsx#L351
export async function renderToHTML(
req: IncomingMessage,
res: ServerResponse,
pathname: string,
query: NextParsedUrlQuery,
renderOpts: RenderOpts
@khg0712
khg0712 / create-react-app install
Last active October 24, 2018 14:13
create-react-app install
$ npm install -g create-react-app //cra ์„ค์น˜
$ create-react-app react-test //react-test ๋ฆฌ์•กํŠธ ์•ฑ ์ƒ์„ฑ
@khg0712
khg0712 / ChromeExtensionDocs.md
Created August 16, 2018 12:39
ํฌ๋กฌ ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ๊ณต์‹ ๋ฌธ์„œ ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ Chrome Extension official document Korean translation

ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์ด๋ž€?

ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ๋“ค์€ ๋ธŒ๋ผ์šฐ์ง• ๊ฒฝํ—˜์„ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•˜๋Š” ์ž‘์€ ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ์ด๋ฅผ ํ†ตํ•ด์„œ ์‚ฌ์šฉ์ž๋Š” Chrome์˜ ๊ธฐ๋Šฅ๊ณผ ๋™์ž‘์„ ๊ฐœ์ธ์˜ ํ•„์š”๋‚˜ ๊ธฐํ˜ธ์— ๋”ฐ๋ผ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์€ HTMTL, CSS, JavaScript๊ฐ™์€ ์›น ๊ธฐ์ˆ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๋‹ค.

ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์€ ํ™•์‹คํ•˜๊ฒŒ ์ •์˜๋˜๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ๋‹จ์ผ ๋ชฉ์ ์„ ์ถฉ์กฑ์‹œ์ผœ์•ผ ํ•œ๋‹ค. ํ•˜๋‚˜์˜ ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์€ ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ์™€ ๊ธฐ๋Šฅ๋“ค์ด ๊ณตํ†ต ๋ชฉ์ ์— ๊ธฐ์—ฌํ•œ๋‹ค๋ฉด, ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ์™€ ๊ธฐ๋Šฅ๋“ค์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(User Interface)๋Š” ์ตœ์†Œํ•œ์ด๋ฉด์„œ ์˜๋„๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

@khg0712
khg0712 / typeof3.js
Created June 16, 2018 06:40
typeof ์—ฐ์‚ฐ์ž ์˜ˆ์‹œ 3
function a() {
console.log('a func');
}
typeof a === "function"; //true
@khg0712
khg0712 / typeof2.js
Created June 16, 2018 06:39
typeof ์—ฐ์‚ฐ์ž ์˜ˆ์‹œ 2
var a = null;
!a && (typeof a === "object"); //true
@khg0712
khg0712 / typeof1.js
Created June 16, 2018 06:39
typeof ์—ฐ์‚ฐ์ž ์˜ˆ์‹œ1
typeof undefined === "undefined"; //true
typeof true === "boolean"; //true
typeof 42 === "number"; //true
typeof "s" === "string"; //true
typeof {a:1} === "object"; //true
typeof Symbol() === "symbol"; //true
typeof null === "null"; //false
typeof null === "object" //true
@khg0712
khg0712 / Execution-ContextEx3.js
Last active June 8, 2018 01:15
์‹คํ–‰ ์ปจํ…์ŠคํŠธ ์˜ˆ์‹œ3
var a = 10, b = 2;
function exampleFunc(a,b) {
var c = 1, d = 2;
function child() {
return a+b;
}
return child()+c+d;
}
exampleFunc(3,4);
@khg0712
khg0712 / Execution-ContextEx2.js
Created June 6, 2018 11:48
์‹คํ–‰ ์ปจํ…์ŠคํŠธ ์˜ˆ์‹œ2
var a = 'k';
console.log(a);//k ์ถœ๋ ฅ
console.log(window.a);//k ์ถœ๋ ฅ