Basix Knowledge Base

Powered by ๐ŸŒฑRoam Garden

June 13th, 2022

์˜ค๋Š˜ ์ ‘ํ•œ ๋งํฌ

์–ด์ผ€ํ•จ?

๋ถ„๋ช… ์ €๊ฑธ ์ด๋ฃจ๊ธฐ ์œ„ํ•ด์„œ ํ˜„์‹ค๊ณผ ํƒ€ํ˜‘ํ•œ ๋ถ€๋ถ„์ด ์—†์„ ๋ฆฌ๊ฐ€ ์—†๋Š”๋ฐ ์•ˆ ์ ์–ด๋†”์„œ ๋‹ต๋‹ต

์•Œ๊ณ  ์‹ถ์€ ๊ฑด Limitation์ด ์•„๋‹ˆ๋ผ ์–ด๋–ป๊ฒŒ ํ‰๋‚ด๋ƒˆ๋Š”๊ฐ€์— ๊ฐ€๊นŒ์šด๋ฐ

์ผ๋ฐ˜์ ์ธ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๊ฐ€ ์•„๋‹Œ ์˜คํ”ˆ ์†Œ์Šค ๋ฉ”์ธํ…Œ์ด๋‹์˜ ๊ด€์ ์—์„œ ๋ณธ ๊ธ€์ž„์— ์œ ์˜

์ €๋Š” ์‚ฌ์‹ค ์ด๋ฏธ ๊ตฌํ˜„์ „๋žต์ด ๊ฒฐ์ •๋˜์–ด ์žˆ๊ณ  ํ˜‘์—…์ž๊ฐ€ ์–ด๋–ค ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ• ์ง€ 100% ์ •ํ™•ํ•˜๊ฒŒ ์˜ˆ์ƒํ•  ์ˆ˜ ์žˆ์„ ๋•Œ๋Š” ์ฝ”๋“œ๋ฆฌ๋ทฐ์˜ ํ•„์š”์„ฑ์„ ๋А๋ผ์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์†”์งํžˆ ๋งํ•ด์„œ ์ €๋Š” ์–ด๋–ค ๋ชจ์–‘์ผ์ง€ ์˜ˆ์ธก๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ์ปจ๋ฒค์…˜๋„ ๋ณ„๋กœ ๋”ฐ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‚ฌ์‹ค ์ด๋Ÿฐ ๊ฒฝ์šฐ๋ผ๋ฉด ๋ฆฌ๋ทฐ ์š”์ฒญ์ด ์™€๋„ LGTM ์ด์ƒ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ์ด ์—†๊ธฐ์•ผ ํ•˜๋‹ค...

๊ฒฐ๊ตญ PR์ด ํ”„๋กœ์ ํŠธ์— ๊ธ์ •์ ์ธ ์—ญํ• ์„ ํ•˜๋Š” ์ง€ ํŒ๋‹จํ•˜๋Š” ๊ฒƒ์€ ๋ฉ”์ธํ…Œ์ด๋„ˆ์˜ ์ฑ…๋ฌด

E2E ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€์™€ ๊ฐ™์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ข‹๋‹ค๊ณ  ํ‰๊ฐ€๋˜๋Š” PR๋„ ์ž˜๋ชป ์ŠคํŽ™์„ ๊ตฌํ˜„ํ•˜๊ฑฐ๋‚˜ ๋นผ๋จน๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Œ

๊ฑฐ๋Œ€ํ•œ ๋ณ€๊ฒฝ์ด ํ•ญ์ƒ ๋‚˜์˜๋‹ค๋Š” ๊ฒƒ๋„ ์ฐฉ๊ฐ

์ฝ”๋“œ๋ฒ ์ด์Šค ์ „๋ฐ˜์— ์˜ํ–ฅ์„ ๋ผ์น˜๋Š” ๋ฆฌํŒฉํ† ๋ง๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ํ•„์—ฐ์ ์œผ๋กœ ๊ทธ ํฌ๊ธฐ๊ฐ€ ์ปค์ง€์ง€๋งŒ ๋ฐฉํ–ฅ์— ๋”ฐ๋ผ์„œ ํ”„๋กœ์ ํŠธ์— ํฐ ๋„์›€์ด ๋˜๊ธฐ๋„ ํ•จ

์ข‹์€ PR์„ ๋งŒ๋“œ๋Š” ๊ฑด ๊ฒฐ๊ตญ ์ข‹์€ ๋ฆฌ๋ทฐ์ž…๋‹ˆ๋‹ค. ์š”์ฒญํ•œ ์‚ฌ๋žŒ์ด๋˜ ๋ฐ›๋Š” ์‚ฌ๋žŒ์ด๋˜ ๋ฆฌ๋ทฐํ•˜๊ณ  ๋˜ ๋ฆฌ๋ทฐํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์ฝ”๋“œ ๋ฆฌ๋ทฐ์˜ ํ•ต์‹ฌ์€ ์„ฑ์žฅ์ด ์•„๋‹ˆ๋ผ ๋ณ‘ํ•ฉ์„ ์œ„ํ•œ ํ™•์ธ ๊ณผ์ •์ด๋‹ค

ํ”„๋กœ์ ํŠธ์˜ ๊ฑฐ๋ฒ„๋„Œ์Šค ๋ชจ๋ธ์— ๋”ฐ๋ผ ๋А๋‚Œ์ด ๋‹ค ๋‹ค๋ฅด๊ธด ํ•˜์ง€๋งŒ ๋ณธ์งˆ์ ์œผ๋กœ ๋ณ‘ํ•ฉ์„ ์ „์ œ๋กœ ํ•˜๋Š” ๋ชจ๋“  ์ฝ”๋“œ๋ฆฌ๋ทฐ๋Š” ๋ฉ”์ธํ…Œ์ด๋„ˆ๋กœ์„œ ์ฐธ์—ฌํ•˜๋Š” ์˜์‹์ž…๋‹ˆ๋‹ค.

์†”์งํžˆ ๋Œ€์ถฉ ์ฝ์€ ์ง€๋Š” ์ข€ ๋˜์—ˆ๋‹ค. ๋ฌธ์ œ๋Š” ๋งค๋ฒˆ ๋˜‘๊ฐ™์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ…Œ์ŠคํŠธ ๋น„ํŒ ๊ธ€์˜ ๋‹ค๋ฅธ ๋ฒ„์ „ ๊ฐ™์•„์„œ ๊ทธ๋ ‡์ง€... ๊ทธ๋ž˜๋„ ๊ด€๋ จํ•ด์„œ ์˜๊ฒฌ์„ ์ ์€ ์ ์ด ์—†์–ด์„œ ์ด ๊ธ€์„ ๋ฐ”ํƒ•์œผ๋กœ ๋ณด์ถฉ

์ „๋ฐ˜์ ์ธ ์ฃผ์žฅ์— ๋งค์šฐ ๋™์˜ํ•˜๋‚˜ ์ด๋Ÿฌํ•œ ๊ธ€๋“ค์€ ํ•ญ์ƒ ํ‰๊ฐ€ ๋น„์šฉ์„ ์—†๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋„˜์–ด๊ฐ„๋‹ค

๋น… ํ…Œํฌ์—์„œ ์ด๋Ÿฌํ•œ ์‹œํ—˜ ๋ฐฉ์‹์„ ์“ฐ๋Š” ์ด์œ ๋Š” ์‹ธ๊ฒŒ ๋งŽ์€ ์ง€์›์ž๋ฅผ ๊ฑธ๋Ÿฌ๋‚ผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ

์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ…Œ์ŠคํŠธ๋ฅผ ์„ ํƒํ•˜๊ฒŒ ๋˜๋Š” ๋ฐฐ๊ฒฝ์€ ๊ฑฐ์˜ ํ•ญ์ƒ ํ‰๊ฐ€ ๋น„์šฉ์„ ์ค„์ด๋Š” ๋Œ€์‹  ์ผ๋ถ€ ๋›ฐ์–ด๋‚œ ์ง€์›์ž๋ฅผ ๋†’์ด๋Š” ์„ ํƒ์ด ๋” ์œ ๋ฆฌํ•˜๋‹ค ํŒ๋‹จํ–ˆ๊ธฐ ๋•Œ๋ฌธ

๋‚ด๊ฐ€ ํ•œ ์ƒ๊ฐ์€ ์•„๋‹ˆ๊ณ  ์ด๋ฏธ ๋‹ค๋“ค ์ปจ์„ผ์„œ์Šค๋กœ ๊น”๊ณ  ๊ฐ€๋Š” ๋‚ด์šฉ์ธ๋ฐ ๊ดœํžˆ ์–ธ๊ธ‰๋งŒ ํ•ด๋ณธ๋‹ค...

Interview question of the week: Create a loooong teeeext generator that takes in a string and an integer n, and multiplies the vowels in the string by n.

const longText = (text, len) => text.replace(/[aeiou]/g, '$&'.repeat(len))

์†”์งํžˆ ์ ‘๊ทผ์„ฑ ๋‚ฎ์•„์„œ ์•ˆ ๋ณด๊ฒŒ ๋˜๋˜๋ฐ ์™œ ์ด๋ ‡๊ฒŒ ๋งŒ๋“œ๋Š” ์ง€๋Š” ์‚ฌ์‹ค ์ž˜ ๋ชจ๋ฅด๊ฒ ์Œ...

๊ทธ๋ž˜๋„ ์žฌ๋ฏธ์žˆ๋Š” ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ ์•„์ด๋””์–ด๋ผ ์ƒ๊ฐํ•œ๋‹ค

์ˆ˜ํ•™ ์‹ ์ž„๋ฒ ๋”ฉํ•˜๋Š” ๋ฐ๋Š” ๊ฑฐ์˜ ํ‘œ์ค€์ด๋ผ ๋ด๋„ ๋ฌด๋ฐฉํ•  ๋“ฏ...

Wikidata์—์„œ ๋ธŒ๋ผ์šฐ์ € ๋ฒ„์ „์„ ๊ฐ€์ ธ์˜ค๋Š” API ๋งŒ๋“œ๋Š” ๊ธ€

๊ฐ ๋ธŒ๋ผ์šฐ์ € ๋ฒค๋”๊ฐ€ ์ œ๊ณตํ•˜๋Š” API ์—ฎ์–ด์„œ ๋งŒ๋“ค์—ˆ์œผ๋ฉด ์‚ด์ง ๋” ์žฌ๋ฐŒ์—ˆ์„ ๋“ฏ...

์•„ํ‚คํ…์ฒ˜๋กœ ๋…ผํ•˜๋Š” ๋‚ด์šฉ์˜ ํ•ต์‹ฌ์€ Business Logic์„ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐ ์žˆ๋‹ค

View์™€ Business Logic์€ ์„œ๋กœ์˜ ์—ญํ• ์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ

์—ญํ• ์ด ๋‹ค๋ฅธ ๋กœ์ง์„ ๋ถ„๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š”... ์ƒ๋žต...

ํŠธ์œ—์„ ๊ฐ€๋ณ๊ฒŒ ๋ Œ๋”๋งํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๊ณ ์ฐฐ

์•„๋ฌด๋ฆฌ ๋ด๋„ ํŠธ์œ„ํ„ฐ๊ฐ€ ๊ฐ€๋ฒผ์šด ์ž„๋ฒ ๋”ฉ ๋ฐฉ๋ฒ•์„ ์ œ๊ณต ์•ˆ ํ•ด์„œ ๊ฐœ๋ฐœ์ž๋“ค์ด ๊ฐ™์€ ๊ฑธ ๊ณ„์† ๋ฐœ๋ช…ํ•˜๊ณ  ์žˆ๋Š” ์ด ์ƒํ™ฉ ์ž์ฒด๊ฐ€ ๋„ˆ๋ฌด ๋ธ”๋ž™ ์ฝ”๋ฏธ๋”” ๊ฐ™์Œ

EdgeDB๊ฐ€ GitHub Actions๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ถ„์‚ฐ์‹œ์ผฐ๋Š”์ง€์— ๊ด€ํ•œ ๊ธ€

CircleCI๋Š” ์ž๋™์œผ๋กœ ํ•ด์ฃผ๋Š”๋ฐ... ํ•˜๋Š” ์ƒ๊ฐ์ด ์•ˆ ๋“ค์ง„ ์•Š๋Š”๋‹ค

๋ถ„์‚ฐ์‹œํ‚ฌ ๋•Œ ์œ ์˜ํ•  ์ 

์ „์ฒ˜๋ฆฌ ์ž‘์—…์ด ํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ์™€ ํ•„์š” ์—†๋Š” ํ…Œ์ŠคํŠธ์˜ ๊ตฌ๋ถ„

ํ•ด๋‹น ํ…Œ์ŠคํŠธ์˜ ์ „์ฒ˜๋ฆฌ ๊ณผ์ • (๊ณ ์ • ๋น„์šฉ)๊ณผ ํ•œ ์„ธํŠธ์— ๋“ค ํ…Œ์ŠคํŠธ์˜ ์ˆ˜(๊ฐ€๋ณ€ ๋น„์šฉ)์„ ์ž˜ ๊ณ ๋ คํ•ด ๋ฐฐ๋ถ„ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š” = ๊ทœ๋ชจ์˜ ๊ฒฝ์ œ

๋ถ„์‚ฐ์„ ์–ด๋–ป๊ฒŒ ์ „๋‹ฌํ•  ๊ฒƒ์ธ๊ฐ€

ํ•œ ๋…ธ๋“œ๊ฐ€ ๋ชจ๋“  ๋ฐฐ๋ถ„ ๊ณ„์‚ฐ์„ ๋งˆ์นœ ๋’ค ๊ฐ ๋…ธ๋“œ์— ์ „๋‹ฌ

SPOF, ๋ณต์žก์„ฑ ์ฆ๊ฐ€ ๋“ฑ์˜ ๋ฌธ์ œ๋กœ ๊ณ ๋ คํ•˜์ง€ ์•Š์Œ

์—ฌ๋Ÿฌ ๋…ธ๋“œ๊ฐ€ ๊ฒฐ์ •๋ก ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐ๊ฐ ์ž์‹ ์˜ ํ…Œ์ŠคํŠธ ์„ธํŠธ๋ฅผ ๊ณ„์‚ฐ

๋ถ๋งˆํฌ์— ๋“ค์–ด์žˆ๋”๋ผ..

๋ณธ๋ฌธ์— ์ธ์šฉ๋œ ๋ฌธ์„œ๋Š” Search Quality Evaluator Guidelines

์‚ฌ์‹ค ๋ณธ ๊ฑด ์ง€๋‚œ ์ฃผ ์ •๋„์ง€๋งŒ... ๊นŒ๋จน์—ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ์ฐพ๋Š” ๊ฑธ ๋ณด๋‹ˆ ๊ธฐ๋กํ•ด๋‘๋Š” ๊ฒŒ ๋‚ซ๊ฒ ๊ฑฐ๋‹ˆ ์‹ถ๋‹ค

๋ธŒ๋ผ์šฐ์ € ์ต์Šคํ…์…˜์„ React๋ฅผ ํ†ตํ•ด ์‰ฝ๊ฒŒ ๋งŒ๋“ค๊ฒŒ ๋„์™€์ฃผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ

์ต์Šคํ…์…˜ ํŒ NextJS๊ฐ€ ๋ชฉํ‘œ์ธ ๋“ฏ

Browser Platform Publish๋ผ๊ณ  ์ž๋™ํ™”๋œ ๋ฐฐํฌ๋ฅผ ์ง€์›ํ•จ

pnpm ๊ฐ•๋ ฅ ๊ถŒ์žฅ ์–ด์งธ์„œ?

์œ ๋ช…ํ•œ ์•ˆ๋“œ๋กœ์ด๋“œ ์ด๋ฉ”์ผ ํด๋ผ์ด์–ธํŠธ์ธ K-9 ๋ฉ”์ผ์ด Thunderbird ์กฐ์ง๊ณผ ํ•ฉ๋ณ‘

๋งจ๋‚  GitHub Stars ๋žœ๋ค์œผ๋กœ ๋‚˜์˜ค๋Š” ๊ฑฐ ํ† ์ด ํ”„๋กœ์ ํŠธ๋กœ ๋งŒ๋“ค๊ฒ ๋‹ค ๋ง๋งŒ ํ•˜๊ณ  ๋ฏธ๋ค„๋†จ๋Š”๋ฐ... ๊ณ„๊ธฐ๊ฐ€ ์ƒ๊ฒจ์„œ ์ผ๋‹จ ๋ ˆํฌ๋ฅผ ํŒ ๋‹ค

๋ฌธ๋“ ๋“  ์˜๋ฌธ์ธ๋ฐ CSS์—๋Š” env()๋ผ๊ณ  ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ์˜ ์•ˆ์ „ํ•œ ๊ตฌ์—ญ, ํฌ๊ธฐ ๊ฐ™์€ ๊ฑธ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒŒ ์žˆ๋Š”๋ฐ, ์ด๊ฑฐ WebView์—์„œ๋Š” ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š” ๊ฑฐ์ง€?