BYUN Kyuhyun

Chatting Team Lead at Karrot๐Ÿฅ•

AWS Serverless Hero

Less is more!

AWS EBS, FSx, EFS: Storage Comparison (2024)

ML Data platform engineering ์—์„œ Feature Store์˜ ์žฅ๊ธฐ์ ์ธ ์„ฑ๋Šฅ ๊ฐœ์„  ๊ณผ์ œ๋ฅผ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ cache ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, disk storage๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ ๋˜ํ•œ ๊ฒ€ํ† ํ•ด๋ณด๊ณ  ์žˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด network latency๋ฅผ ์ค„์ด๊ณ , disk storage๋ฅผ ํ™œ์šฉํ•˜๋ฉด remote cache๋ณด๋‹ค ๋” ๋น ๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ์“ธ ์ˆ˜ ์žˆ์„๊ฑฐ๋ผ ๊ธฐ๋Œ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋ž˜์„œ AWS์—์„œ Disk storage์ฒ˜๋Ÿผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” EBS, FSx์™€ EFS์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค. AWS EBS AWS EBS(Elastic Block Store)๋Š” ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ๋ณผ๋ฅจ ํƒ€์ž…์„ ์ œ๊ณตํ•˜๋ฉฐ, ํฌ๊ฒŒ SSD ๊ธฐ๋ฐ˜๊ณผ HDD ๊ธฐ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ ๋ณผ๋ฅจ ํƒ€์ž…์€ ์„ฑ๋Šฅ ํŠน์„ฑ๊ณผ ๊ฐ€๊ฒฉ์ด ๋‹ค๋ฅด๋ฏ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์š”๊ตฌ์‚ฌํ•ญ์— ๋งž๊ฒŒ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค. ...

November 15, 2024โ€8 min

http์™€ https ๋Œ€์‹  hxxp์™€ hxxps๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

์งˆ๋ฌธ์ด ์ƒ๊ธฐ๊ฒŒ ๋œ ์ด์œ  pm.me๋ผ๋Š” ๋„๋ฉ”์ธ์„ ๊ฐ€์ง„ ์ด๋ฉ”์ผ์„ ๋ณด์•˜๋‹ค. ์ด๋ฅผ ์šด์˜ํ•˜๋Š” ํšŒ์‚ฌ๋Š” proton mail์ด๋ผ๋Š” ํšŒ์‚ฌ์ธ๋ฐ, ์—ฌ๊ธฐ์—์„œ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์ฐพ์•„๋ณด๋‹ˆ ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ Github์—์„œ ๊ณต๊ฐœํ•˜๊ณ  ๊ด€๋ฆฌํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์•˜๋‹ค. ํ•˜ํ•„์ด๋ฉด, PR์ด ํ•˜๋‚˜ ์—ด๋ ค์žˆ์—ˆ๊ณ , ํ•ด๋‹น PR์˜ ์ œ๋ชฉ์€ โ€œAdd checks to prevent formatting hxxps"์ด์—ˆ๋‹ค. ์ด๋ฅผ ๋ณด๊ณ , hxxp์™€ hxxps๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๊ถ๊ธˆํ•ด์กŒ๋‹ค. http์™€ ํก์‚ฌํ•œ๋ฐ ์™œ ์ด๊ฑธ ํ™œ์šฉํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ผ๊นŒ? Perplexity์—๊ฒŒ ๋ฌผ์–ด๋ณด๋‹ˆ ๊ฐ€๋ณ๊ฒŒ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‹ต๋ณ€์ด ๋‚˜์™”๋‹ค. ์ด๋ฉ”์ผ ๋ณด์•ˆ์„ ์œ„ํ•œ ๋‚ด์šฉ์ด๋‹ˆ ์•Œ์•„๋‘๋ฉด ์–ธ์  ๊ฐ€๋Š” ๋„์›€์ด ๋  ๊ฒƒ ๊ฐ™๋‹ค. http์™€ https ๋Œ€์‹  hxxp์™€ hxxps๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ๋œ ์ด์œ ๋Š” ๋ณด์•ˆ๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์„ โ€œURL ๋ฌดํ•ดํ™”(URL defanging)โ€œ๋ผ๊ณ  ํ•˜๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค: ...

November 7, 2024โ€2 min

2024 AWS Serverless Computing ์ข…๋ฅ˜ ์ •๋ฆฌ

1. Computing & Application AWS Lambda ์†Œ๊ฐœ: ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜์˜ ์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ… ์„œ๋น„์Šค ํ•ด๊ฒฐ๋ฌธ์ œ: ์งง์€ ์‹คํ–‰ ์‹œ๊ฐ„์˜ ์ž‘์—…, ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ, API ์š”์ฒญ ์ฒ˜๋ฆฌ ๋Œ€์ฒด์„œ๋น„์Šค: EC2, ECS, EKS ๊ทœ๋ชจ: ์ตœ์†Œ: 128MB ๋ฉ”๋ชจ๋ฆฌ, ์‹คํ–‰์‹œ๊ฐ„ ์ œํ•œ 15๋ถ„ ์ตœ๋Œ€: 10GB ๋ฉ”๋ชจ๋ฆฌ, ๋™์‹œ์‹คํ–‰ 1000๊ฐœ (์ฆ์„ค ๊ฐ€๋Šฅ) AWS Fargate ์†Œ๊ฐœ: ์ปจํ…Œ์ด๋„ˆํ™”๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ… ์—”์ง„ ํ•ด๊ฒฐ๋ฌธ์ œ: ์ปจํ…Œ์ด๋„ˆ ์šด์˜์— ๋”ฐ๋ฅธ ์„œ๋ฒ„ ๊ด€๋ฆฌ ๋ถ€๋‹ด ์ œ๊ฑฐ ๋Œ€์ฒด์„œ๋น„์Šค: ECS/EKS with EC2 ๊ทœ๋ชจ: ์ตœ์†Œ: vCPU 0.25๊ฐœ, ๋ฉ”๋ชจ๋ฆฌ 0.5GB ์ตœ๋Œ€: vCPU 16๊ฐœ, ๋ฉ”๋ชจ๋ฆฌ 120GB 2. Integration & Orchestration ...

October 23, 2024โ€3 min

UI Bakery vs. Retool: A Comprehensive Comparison

When comparing UI Bakery and Retool for operating in-house data and creating dashboards with charts, both platforms offer strong capabilities but have some key differences. Letโ€™s examine how they compare in these specific areas: Data Handling and Integration Retool Retool excels in data handling and integration, making it a strong choice for operating in-house data[1][4]. It offers: Powerful integration with external data sources, including APIs, databases, and cloud services Support for SQL/NoSQL databases and services like Firebase, MongoDB, and PostgreSQL Real-time data syncing between the UI and data sources UI Bakery ...

October 21, 2024โ€4 min

AppWrite vs. Supabase: A Comprehensive Comparison

Itโ€™s difficult to definitively say one is โ€œbetterโ€ than the other, as each has its strengths and is suited for different use cases. However, I can provide a comparison of their key features and performance to help you make an informed decision: Performance and Scalability Appwrite consistently outperformed Supabase in stress tests, especially when scaling up to handle more users[1][4]. For example: On a โ‚ฌ5/month self-hosted server, Appwrite handled up to 2,000 users per day comfortably, while Supabase struggled with larger loads[1]. On a more powerful โ‚ฌ30/month server, Appwrite managed up to 250 simultaneous users, while Supabase hit its limit at only 45 users[1]. In breakpoint tests, Appwrite reached 6,800 virtual users, processing 100,000 requests with an average 3-second response time. Supabase reached its breakpoint at 3,000 virtual users, with 59,000 requests and a 6-second average response time[4]. Ease of Use Appwrite offers a smoother self-hosting experience with fewer restrictions and less setup complexity[1][3]. Supabase can be more challenging to configure in a self-hosted environment and has some features restricted or limited when self-hosted[1][3]. Features Both platforms offer similar core features, including authentication, databases, storage, and serverless functions. However, there are some differences: ...

October 21, 2024โ€2 min

PostgreSQL Connection Modes(Session Mode vs. Transaction Mode)

Connection Mode (Session Mode) Each client maintains a dedicated connection to the database for the entire session duration[2]. The connection is only released back to the pool when the client disconnects from the database[2]. This mode replicates a direct connection to PostgreSQL and supports all PostgreSQL features and mechanisms[2]. Itโ€™s safer and more compatible with all PostgreSQL clients[2]. Does not significantly reduce the load on database resources[2]. Transaction Mode The connection to PostgreSQL is maintained only for the duration of a transaction[2]. When the transaction completes, the connection is returned to the pool and can be reused by other clients[2]. Allows for a higher number of client connections (up to 10,000) with a smaller pool size[2]. Reduces the load on DBMS resources, especially beneficial for a large number of low-load client connections[2]. More efficient in terms of resource utilization, as idle connections are released back to the pool[3]. Key Differences Connection Duration: ...

October 21, 2024โ€2 min

Golang Project Guide from A to Z: From Feature Development to Enterprise Application Design

Summary โ€œ๊ณ ์–ธ์–ด ํ”„๋กœ์ ํŠธ ๊ฐ€์ด๋“œ A-Z"๋ผ๋Š” ์ฃผ์ œ๋กœ, ์ž‘์€ ํ”„๋กœ์ ํŠธ๋ถ€ํ„ฐ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊นŒ์ง€ Go ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•œ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์— ๋Œ€ํ•ด์„œ ๊ณต์œ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ž‘์€ ํ”„๋กœ์ ํŠธ์™€ ํฐ ํ”„๋กœ์ ํŠธ์˜ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•˜๊ณ , ์ž‘์€ ํ”„๋กœ์ ํŠธ์— ์ ํ•ฉํ•œ ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ ํŒจํ„ด์„ ์†Œ๊ฐœํ•˜๊ณ , ๊ธฐ๋Šฅ ๋‹จ์œ„์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•œ ์ฝ”๋“œ ํŒจํ„ด์œผ๋กœ Handler์™€ HandlerFunc ๋ฐฉ์‹์„ ๋น„๊ตํ•˜๊ณ  ๊ฐ๊ฐ์˜ ์žฅ๋‹จ์ ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ์ฝ”๋“œ ํŒจํ„ด์œผ๋กœ Domain Driven Design (DDD) ์ ‘๊ทผ ๋ฐฉ์‹์„ ์†Œ๊ฐœํ•˜๊ณ , ๊ฐ ๋ ˆ์ด์–ด(Presenter, Handler, Usecase, Service, Repository, Recorder)์˜ ์—ญํ• ๊ณผ ์žฅ์ ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (DynamoDB) ์‚ฌ์šฉ ์‹œ์˜ ๋ชจ๋ธ๋ง ๋ฐฉ๋ฒ•์„ ๊ฐ„๋žตํžˆ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ ๋ ˆ์ด์–ด์—์„œ์˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ ๋ฐฉ๋ฒ•๊ณผ ๋ชจํ‚น ๋„๊ตฌ์ธ counterfeiter์˜ ์‚ฌ์šฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฆด๋ฆฌ์ฆˆ๋ฅผ ์œ„ํ•ด ํ•„์š”ํ•œ ๋„๊ตฌ๋“ค(APM, ์—๋Ÿฌ ๋ชจ๋‹ˆํ„ฐ๋ง, ๋ฉ”ํŠธ๋ฆญ ์ˆ˜์ง‘, ๋กœ๊ทธ ์„œ๋น„์Šค)์„ ์†Œ๊ฐœํ•˜๊ณ  ๊ทธ ์ค‘์š”์„ฑ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค. ...

October 14, 2024โ€2 min

Go แ„ƒแ…ฉแ„‹แ…ตแ†ธ แ„’แ…ฎ 4แ„‚แ…งแ†ซ แ„€แ…กแ†ซ แ„€แ…ตแ„…แ…ฉแ†จ

Summary Gophercon Korea 2023์—์„œ ๋ฐœํ‘œํ•œ โ€œGo ๋„์ž… ํ›„, 4๋…„ ๊ฐ„์˜ ๊ธฐ๋ก"์ด๋ผ๋Š” ์ฃผ์ œ๋กœ ๊ณต์œ ํ–ˆ์Šต๋‹ˆ๋‹ค. Go๋ฅผ ๋„์ž…ํ•˜์—ฌ ๋†’์€ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ฃผ์š” ์ด์Šˆ์™€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ๊ณต์œ ํ•˜๊ณ , Go๋ฅผ ํ†ตํ•ด ๋” ํšจ์œจ์ ์ด๊ณ  ์•ˆ์ •์ ์ธ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ๊ณ ๋ฏผ๋“ค์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. Youtube Slideshare Go แ„ƒแ…ฉแ„‹แ…ตแ†ธ แ„’แ…ฎ 4แ„‚แ…งแ†ซ แ„€แ…กแ†ซ แ„€แ…ตแ„…แ…ฉแ†จ from Kyuhyun Byun

July 25, 2024โ€1 min

์Šคํƒ€ํŠธ์—… ํŒ€์ด ์ง€์†์ ์œผ๋กœ ์›€์ง์ด๊ธฐ ์œ„ํ•œ ๋ฆฌ๋”์‹ญ ๊ฐ„๋‹จ ๋ฒ„์ „

์˜์‚ฌ๊ฒฐ์ •๊ณผ ์—…๋ฌด ์ง„ํ–‰์€ ํ”„๋กœ๋•ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ณ ๊ฐ๊ด€์ ์—์„œ ์‹œ์ž‘ํ•œ๋‹ค. ๊ณ ๊ฐ๊ด€์ ์ด๋ผ๋Š” ๋ง์€ ๋งŽ์ด ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ ์ด๊ฒŒ ์™œ ์‚ฌ์šฉ๋˜์–ด์•ผ ํ•˜๋Š”์ง€ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฉด์—์„œ ์„ค๋ช…ํ•œ๋‹ค. 1. ์กฐ์ง์—์„œ์˜ ์˜์‚ฌ๊ฒฐ์ • ์ธก๋ฉด ์ด๋Ÿฐ ์ƒํ™ฉ์€ ์ž์ฃผ ๋ฐœ์ƒํ–ˆ์„ ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•œ๋‹ค. ์„œ๋กœ์˜ ํŒ€์›(ํ˜น์€ ์กฐ์ง)์˜ ์ƒ๊ฐ์ด ๋‹ฌ๋ผ์„œ ๋ฒŒ์–ด์ง„ ์ƒํ™ฉ์ด๋‹ค. ๊ฐ ํŒ€์›์€ ์ˆ˜๋‹จ์— ๋Œ€ํ•ด์„œ ์ง‘์ฐฉ์„ ํ•˜๊ฒŒ ๋˜๊ณ  ์ด์•ผ๊ธฐ๊ฐ€ ํ‰ํ–‰์„ ์„ ๋‹ฌ๋ฆฌ๊ฒŒ ๋œ๋‹ค. ์ด๋•Œ ์–ด๋–ป๊ฒŒ ์ด์•ผ๊ธฐ๋ฅผ ํ•˜๋ฉด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„๊นŒ? ๊ณ ๊ฐ์ด ๊ฒช๋Š” ๋ฌธ์ œ ์ƒํ™ฉ์— ๋Œ€ํ•ด์„œ ๋จผ์ € ์ •ํ™•ํžˆ ์ดํ•ดํ•˜๋Š” ๊ฒŒ ํ•„์š”ํ•˜๋‹ค. ํ˜น์€ ๊ณ ๊ฐ์—๊ฒŒ ๊ผญ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ์ •์˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์ด๋ฅผ ๋ฌธ์„œ ์ตœ์ƒ์œ„์— โ€œ๋ชฉํ‘œโ€๋กœ ์ •์˜๋ฅผ ํ•œ๋‹ค. ...

June 3, 2024โ€8 min

Managing and Overcoming Burnout (feat. Mannerism, Slump)

The word โ€œburnoutโ€ is being heard from all directions. It is being expressed as a reason for quitting, changing jobs, taking vacations, and as a way to express difficulties in life. I think everyone has heard it at least once, and I believe there have been times when youโ€™ve wondered if you are experiencing burnout. When I hear people talking about burnout, I often feel a deep sense of sympathy, but I also feel that there is little I can do to help. I can suggest various things to try, but those who are experiencing burnout often donโ€™t seem to hear those suggestions. So, while contemplating what to do, I decided to write this. ...

February 18, 2024โ€6 min