๐Ÿ  taeyanghub.com โ† All days

๐Ÿ“ฐ English IT Daily ยท 2026-07-17

CEFR B2 ์˜์–ด๋กœ ๋ฐฐ์šฐ๋Š” ์˜ค๋Š˜์˜ ๊ธฐ์ˆ  ๋‰ด์Šค โ€” ๋งค์ผ ๊ฐ€์žฅ ํฅ๋ฏธ๋กœ์šด ์ฃผ์ œ 9๊ฐœ. ๋‹จ์–ด๋ฅผ ์ตํžˆ๊ณ , ๊ธฐ์‚ฌ๋ฅผ ์ฝ๊ณ , ํ† ๋ก  ์งˆ๋ฌธ์œผ๋กœ ๋งํ•ด๋ณด์„ธ์š”.

๐Ÿ“Œ ์˜ค๋Š˜์˜ ํ† ๋ก  ์ฃผ์ œ โ€” ๊ณจ๋ผ์„œ ๋ฐ”๋กœ ์ด๋™

  1. 1TechLinkedIn Coding Test Scam Targets Developers
  2. 2TechKimi K3 Pushes Open Models Forward
  3. 3AITorvalds on LLMs in Kernel Development
  4. 4ProgrammingRoc Compiler Nears a New Era
  5. 5ProgrammingHexana Brings WebAssembly Analysis Into Popular Editors
  6. 6TechMicrosoft Comic Chat Goes Open Source
  7. 7AIStudying Machine Learning on Your Own
  8. 8ProgrammingWhy SQLite May Need Editions
  9. 9TechLeafWiki Keeps Self-Hosted Wikis Simple
Tech

1. LinkedIn Coding Test Scam Targets Developers

๐Ÿ“ Vocabulary

at first glance/รฆt fษหst ษกlรฆns/phrasewhen you see or examine something for the first time
์–ธ๋œป ๋ณด๊ธฐ์—, ์ฒซ์ธ์ƒ์œผ๋กœ๋Š”
e.g. At first glance, the repository looked like a normal coding assignment.
lower someoneโ€™s guard/หˆloสŠ.ษš หˆsสŒm.wสŒnz ษกษ‘หrd/phraseto make someone feel less careful or less suspicious
๊ฒฝ๊ณ„์‹ฌ์„ ๋‚ฎ์ถ”๊ฒŒ ํ•˜๋‹ค
e.g. The realistic project design lowered the candidateโ€™s guard.
unravel/สŒnหˆrรฆv.ษ™l/verbto start going wrong or to become clear after being hidden
ํ’€๋ฆฌ๋‹ค; ๋“œ๋Ÿฌ๋‚˜๋‹ค; ๋ฌด๋„ˆ์ง€๊ธฐ ์‹œ์ž‘ํ•˜๋‹ค
e.g. The situation began to unravel when the app failed to start.
underscore/หŒสŒn.dษšหˆskษ”หr/verbto show that something is very important or true
๊ฐ•์กฐํ•˜๋‹ค, ๋ถ„๋ช…ํžˆ ๋ณด์—ฌ์ฃผ๋‹ค
e.g. The story underscores how persuasive hiring scams can be.
a double-edged sword/ษ™ หŒdสŒb.ษ™l หˆedส’d sษ”หrd/phrasesomething that has both benefits and risks
์–‘๋‚ ์˜ ๊ฒ€
e.g. Fast development practices can be a double-edged sword for security.
hide in plain sight/haษชd ษชn pleษชn saษชt/phraseto remain unnoticed even though something is visible
๋ˆˆ์— ๋„๋Š” ๊ณณ์— ๊ต๋ฌ˜ํžˆ ์ˆจ์–ด ์žˆ๋‹ค
e.g. Malicious code can hide in plain sight inside a realistic project.
fall by the wayside/fษ”หl baษช รฐษ™ หˆweษชหŒsaษชd/phraseto be forgotten, ignored, or not completed
๋„์ค‘์— ๋ฌด์‹œ๋˜๋‹ค, ๋’ท์ „์œผ๋กœ ๋ฐ€๋ฆฌ๋‹ค
e.g. Under time pressure, security checks may fall by the wayside.
blur the line/blษห รฐษ™ laษชn/phraseto make the difference between two things less clear
๊ฒฝ๊ณ„๋ฅผ ํ๋ฆฌ๊ฒŒ ํ•˜๋‹ค
e.g. This scam blurs the line between recruitment and malware delivery.
gain traction/ษกeษชn หˆtrรฆk.สƒษ™n/phraseto become more accepted, popular, or effective
ํƒ„๋ ฅ์„ ๋ฐ›๋‹ค, ํ™•์‚ฐ๋˜๋‹ค
e.g. Experts worry that this tactic could gain traction among attackers.
stepping stone/หˆstep.ษชล‹ stoสŠn/nounsomething that helps someone move to a larger goal
๋””๋”ค๋Œ, ๋” ํฐ ๋ชฉ์ ์„ ์œ„ํ•œ ๋ฐœํŒ
e.g. A fake coding task can become a stepping stone to a bigger breach.

๐Ÿ“– Article

A recent security story shows how a normal hiring process can turn into a serious threat. According to a blog post by AISafe, an experienced engineer was contacted on LinkedIn about a software job and was given a take-home coding test. The assignment arrived as a private GitHub repository and, at first glance, looked believable. It included a React-based frontend, an Express backend, demo accounts, and a simple task related to wallet connection and blockchain network labels. Everything seemed ordinary enough to lower the candidateโ€™s guard.

This is what made the scam effective. The project did not look sloppy or rushed. Instead, it was detailed, realistic, and close to the kind of task a company might actually send during recruitment. The candidate was asked to add a small feature: get the chain ID from MetaMask and show the network name in the wallet connection user interface. That request was straightforward, so he finished it quickly and then tried to run the app to check his work. At that point, things began to unravel. The development server did not start properly, which raised suspicion.

The engineer then did something that may have limited the damage: he disconnected his machine from the internet and asked a friend for help. That small decision matters because many attacks rely on staying connected long enough to download more malicious code or send stolen information out. In this case, the lesson is not that the victim was careless. In fact, the story underlines a harder truth: even skilled developers can be tricked when a scam fits naturally into a trusted workflow. Recruiters contact engineers on LinkedIn every day, and take-home tests are now a routine part of hiring.

The broader issue is developer trust. Modern engineering work depends on pulling code from repositories, installing packages, running scripts, and testing unfamiliar projects on local machines. Those habits are necessary, but they are also a double-edged sword. The same openness that helps teams move fast can create an opening for attackers. A malicious interview task hides in plain sight because it copies the normal signs of legitimate work: a realistic app, clear instructions, and a believable business case. When people are focused on solving a problem quickly, security checks can fall by the wayside.

This kind of attack also blurs the line between social engineering and technical malware. The social part happens first: the attacker builds trust through a professional-looking message, a plausible company name, and a standard recruitment step. The technical part comes later, when the target clones the repository and runs the project. Security teams have long warned people not to open strange attachments, but source code can feel safer than a random file because developers read and run code for a living. That is why this tactic may gain traction. It targets a community that is trained to be curious, fast, and hands-on.

For job seekers and engineering teams, the practical response is not to panic but to tighten basic controls. Candidates can verify recruiters and companies through official channels, inspect repositories carefully, avoid running unknown code on primary machines, and use isolated environments such as virtual machines or sandbox systems. Organizations can also give clearer guidance to applicants and staff about secure hiring workflows. The bigger takeaway is simple: trust in tech hiring should not rest on appearances alone. As this case shows, a small take-home task can become a stepping stone for a much larger compromise.

๐Ÿ’ฌ Discussion

  1. Why do you think realistic take-home assignments are so effective for tricking experienced developers?
  2. If you receive a coding test from a recruiter, what steps would you take before running the project on your machine?
  3. Have you ever felt pressure to move quickly during hiring or development work? How can that pressure affect security decisions?
  4. Do you think companies should change the way they give technical interviews because of scams like this? Why or why not?
  5. What practical security habits should individual developers build when they work with unknown code repositories?
์˜ค๋Š˜์˜ ํ•™์Šต ํฌ์ธํŠธ
์ด ์ฃผ์ œ๋Š” ๊ฐœ๋ฐœ์ž์˜ ์ผ์ƒ์ ์ธ ์‹ ๋ขฐ ํ๋ฆ„(์ฑ„์šฉ ์—ฐ๋ฝ, Git ์ €์žฅ์†Œ, ์‹คํ–‰ ํ…Œ์ŠคํŠธ) ์ž์ฒด๊ฐ€ ๊ณต๊ฒฉ ํ‘œ๋ฉด์ด ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์‹ค๋ฌด์—์„œ๋Š” ๋‚ฏ์„  ์ฝ”๋“œ๋ฅผ ๋ฐ”๋กœ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ , ์ฑ„์šฉ ๋‹ด๋‹น์ž์™€ ํšŒ์‚ฌ์˜ ์ง„์œ„๋ฅผ ๊ฒ€์ฆํ•˜๋ฉฐ, ๊ฒฉ๋ฆฌ๋œ ํ™˜๊ฒฝ์—์„œ ๋ถ„์„ํ•˜๋Š” ์Šต๊ด€์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋น ๋ฅธ ๊ฐœ๋ฐœ ๋ฌธํ™”์™€ ๋ณด์•ˆ ์ ๊ฒ€ ์‚ฌ์ด์˜ ๊ท ํ˜•์„ ์–ด๋–ป๊ฒŒ ์žก์„์ง€ ๊ณ ๋ฏผํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ ํ•™์Šต ํฌ์ธํŠธ์ž…๋‹ˆ๋‹ค.
Tech

2. Kimi K3 Pushes Open Models Forward

๐Ÿ“ Vocabulary

gain traction/ษกeษชn หˆtrรฆk.สƒษ™n/phraseto become more popular, accepted, or successful
๊ด€์‹ฌ์„ ์–ป๋‹ค, ํƒ„๋ ฅ์„ ๋ฐ›๋‹ค
e.g. Open-source AI tools are starting to gain traction in enterprise teams.
lag behind/lรฆษก bษชหˆhaษชnd/phraseto be slower or less advanced than others
๋’ค์ฒ˜์ง€๋‹ค
e.g. Some smaller vendors still lag behind in model reliability.
take the crown/teษชk รฐษ™ kraสŠn/phraseto become the best or the top performer
์ •์ƒ์„ ์ฐจ์ง€ํ•˜๋‹ค, ์ตœ๊ณ ๊ฐ€ ๋˜๋‹ค
e.g. The new chip may take the crown in power efficiency.
narrow the gap/หˆnรฆroสŠ รฐษ™ ษกรฆp/phraseto reduce the difference between two sides
๊ฒฉ์ฐจ๋ฅผ ์ค„์ด๋‹ค
e.g. Better tooling can narrow the gap between prototypes and production systems.
sparsity/หˆspษ‘r.sษ™.tฬฌi/nounthe condition of using or having only a small number of active parts
ํฌ์†Œ์„ฑ, ์„ฑ๊ธด ํ™œ์„ฑํ™”
e.g. Model sparsity can reduce compute costs during inference.
orchestrate/หˆษ”r.kษ™หŒstreษชt/verbto organize and control many parts of a process so they work together
์กฐ์œจํ•˜๋‹ค, ์ฒด๊ณ„์ ์œผ๋กœ ์šด์˜ํ•˜๋‹ค
e.g. The agent can orchestrate several tools to finish one task.
minimal human oversight/หˆmษชn.ษ™.mษ™l หˆhjuห.mษ™n หˆoสŠ.vษšหŒsaษชt/phrasewith very little checking or control by people
์ตœ์†Œํ•œ์˜ ์ธ๊ฐ„ ๊ฐ๋…
e.g. The workflow ran with minimal human oversight overnight.
in the best possible light/ษชn รฐษ™ best หˆpษ‘ห.sษ™.bษ™l laษชt/phrasein a way that makes something look as good as possible
๊ฐ€์žฅ ์ข‹๊ฒŒ ๋ณด์ด๋„๋ก, ์ตœ๋Œ€ํ•œ ๊ธ์ •์ ์œผ๋กœ
e.g. Marketing teams often present early results in the best possible light.
wait-and-see approach/หŒweษชt ษ™n หˆsiห ษ™หŒproสŠtสƒ/phrasea decision to delay action until more information is available
์ƒํ™ฉ์„ ์ง€์ผœ๋ณด๋Š” ์ ‘๊ทผ๋ฒ•, ๊ด€๋ง ์ „๋žต
e.g. Many companies are taking a wait-and-see approach to new AI regulations.
a double-edged sword/ษ™ หŒdสŒb.ษ™l หˆedส’d sษ”rd/phrasesomething that brings both benefits and problems
์–‘๋‚ ์˜ ๊ฒ€
e.g. Full automation can be a double-edged sword if error handling is weak.

๐Ÿ“– Article

Kimi has introduced Kimi K3, calling it its most capable model so far and describing it as open frontier intelligence. The company says K3 is a 2.8-trillion-parameter model with native vision and a context window of up to one million tokens. In simple terms, that means the model can process both text and images and keep track of very long inputs in a single session. Kimi says this is the first open model in the 3T class, a milestone that will likely gain traction in the AI community because open models are often seen as a way to widen access to advanced tools.

The announcement matters because the open-model world has often lagged behind the strongest proprietary systems. Kimi itself says K3 still trails the most powerful closed models overall, including Claude Fable 5 and GPT 5.6 Sol. Even so, the company reports frontier-level results across its own evaluation suite and says K3 consistently outperformed other tested models. That puts K3 in an interesting position. It may not take the crown in every category, but it appears to narrow the gap between open and closed systems in areas such as coding, reasoning, and knowledge work.

A key part of the story is architecture, or the internal design of the model. Kimi says K3 is built on Kimi Delta Attention and Attention Residuals, two updates meant to improve how information moves across long sequences and many layers. The company also says it increased Mixture of Experts sparsity, meaning only a small subset of expert modules is active at one time. According to Kimi, these choices, together with refined training methods, led to roughly 2.5 times better scaling efficiency than Kimi K2. In practice, this means the model can convert computing power into useful performance more effectively.

Kimi places special emphasis on coding. The company says K3 can handle long-horizon engineering tasks with minimal human oversight, work through large repositories, and orchestrate terminal tools over extended sessions. It also says the model performs well when coding must be combined with visual reasoning, such as reading screenshots for game development, user interface work, or CAD-related tasks. In one highlighted test, models were asked to optimize GPU kernels inside the same sandbox environment, with time to profile, rewrite, and benchmark the code. Kimi says K3 performed competitively with Fable 5 and clearly ahead of several other tested models in that setting.

Still, readers should keep a balanced view. Company blog posts naturally present results in the best possible light, and some details are still to come. Kimi says the full model weights will be released later, and a technical report with more information about training and evaluation is expected as well. Until then, outside researchers will not be able to dig into every claim. That does not cancel the achievement, but it does mean the industry should take a wait-and-see approach before drawing broad conclusions about how K3 performs across all workloads.

Even with that caution, Kimi K3 could mark a turning point for open AI. If a model of this size and capability rolls out reliably across tools, inference partners, and open-source projects, it could broaden access to advanced coding and reasoning systems. For engineering teams, the bigger question is not only raw benchmark scores, but how stable, controllable, and cost-effective such models are in daily work. A larger context window can be a double-edged sword: it offers room for complex tasks, but it can also increase cost and system complexity. What to watch next is whether K3 holds up in real-world use and whether its open release encourages faster progress across the ecosystem.

๐Ÿ’ฌ Discussion

  1. Do you think open AI models should try to match proprietary models in size, or should they focus more on efficiency and practical use?
  2. How valuable is a one-million-token context window for real engineering work in your experience?
  3. What risks do you see when a model can code for long periods with minimal human oversight?
  4. If you were evaluating Kimi K3 for your team, what evidence would you want beyond the companyโ€™s own benchmarks?
  5. Do you expect open releases like this to change how developers choose AI tools over the next two years?
์˜ค๋Š˜์˜ ํ•™์Šต ํฌ์ธํŠธ
Kimi K3๋Š” ์˜คํ”ˆ ๋ชจ๋ธ์ด ์ตœ์ƒ์œ„ ํ์‡„ํ˜• ๋ชจ๋ธ๊ณผ์˜ ๊ฒฉ์ฐจ๋ฅผ ์–ผ๋งˆ๋‚˜ ์ค„์ผ ์ˆ˜ ์žˆ๋Š”์ง€ ๋ณด์—ฌ์ฃผ๋Š” ์ค‘์š”ํ•œ ์‚ฌ๋ก€์ž…๋‹ˆ๋‹ค. ์‹ค๋ฌด์ ์œผ๋กœ๋Š” ๋ชจ๋ธ ํฌ๊ธฐ๋ณด๋‹ค๋„ ๊ธด ์ปจํ…์ŠคํŠธ ์ฒ˜๋ฆฌ, ์ฝ”๋”ฉ ์ž๋™ํ™”์˜ ์•ˆ์ •์„ฑ, ๋น„์šฉ ๋Œ€๋น„ ์„ฑ๋Šฅ, ๊ทธ๋ฆฌ๊ณ  ์‹ค์ œ ์šด์˜ ํ™˜๊ฒฝ์—์„œ์˜ ์žฌํ˜„ ๊ฐ€๋Šฅ์„ฑ์„ ํ•จ๊ป˜ ํ‰๊ฐ€ํ•˜๋Š” ๊ด€์ ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.
AI

3. Torvalds on LLMs in Kernel Development

๐Ÿ“ Vocabulary

stands up to/stรฆndz สŒp tuห/phraseremains strong or acceptable when carefully tested or examined
์—„๊ฒฉํ•œ ๊ฒ€ํ† ๋ฅผ ๊ฒฌ๋ŽŒ๋‚ด๋‹ค, ๊ฒ€์ฆ์— ํ†ต๊ณผํ•˜๋‹ค
e.g. A security design must stand up to intense testing before release.
carry much weight/หˆkรฆri mสŒtสƒ weษชt/phrasebe considered important or persuasive
ํฐ ๋น„์ค‘์„ ์ฐจ์ง€ํ•˜๋‹ค, ์„ค๋“๋ ฅ์ด ํฌ๋‹ค
e.g. In code review, a fast demo does not carry much weight if the design is weak.
skeptical/หˆskษ›p.tษช.kษ™l/adjectivenot easily convinced; having doubts
ํšŒ์˜์ ์ธ, ์˜์‹ฌํ•˜๋Š”
e.g. Many senior engineers are skeptical of tools that promise instant productivity.
overnight/หŒoสŠ.vษšหˆnaษชt/adverbvery quickly or suddenly
ํ•˜๋ฃป๋ฐค ์‚ฌ์ด์—, ๊ฐ‘์ž๊ธฐ
e.g. A legacy system cannot be modernized overnight.
get into the weeds/ษกษ›t หˆษชn.tuห รฐษ™ wiหdz/phrasestart dealing with complicated small details
์„ธ๋ถ€ ์‚ฌํ•ญ์— ๊นŠ์ด ๋“ค์–ด๊ฐ€๋‹ค
e.g. The meeting got into the weeds when we started discussing memory allocation.
get up to speed/ษกษ›t สŒp tuห spiหd/phraselearn enough to work effectively on something
๋น ๋ฅด๊ฒŒ ๋”ฐ๋ผ์žก๋‹ค, ์—…๋ฌด ๊ฐ€๋Šฅํ•œ ์ˆ˜์ค€๊นŒ์ง€ ์ตํžˆ๋‹ค
e.g. New team members need time to get up to speed on the architecture.
a double-edged sword/ษ™ หŒdสŒb.ษ™l หˆษ›dส’d sษ”หrd/phrasesomething that has both benefits and risks
์–‘๋‚ ์˜ ๊ฒ€
e.g. Automation is a double-edged sword when it increases speed but hides mistakes.
fall apart/fษ”หl ษ™หˆpษ‘หrt/phrasefail when closely examined or tested
๋ฌด๋„ˆ์ง€๋‹ค, ๊ฒ€ํ† ํ•˜๋ฉด ํ—ˆ์ ์ด ๋“œ๋Ÿฌ๋‚˜๋‹ค
e.g. The proposal sounded good at first, but it fell apart during review.
gain traction/ษกeษชn หˆtrรฆk.สƒษ™n/phrasebecome more popular or accepted
๊ด€์‹ฌ์„ ์–ป๋‹ค, ํ™•์‚ฐ๋˜๋‹ค
e.g. AI coding tools continue to gain traction across many development teams.
cut corners/kสŒt หˆkษ”หr.nษšz/phrasedo something in a cheaper or easier but lower-quality way
๋Œ€์ถฉ ํ•˜๋‹ค, ์ ˆ์ฐจ๋ฅผ ์ƒ๋žตํ•˜๋‹ค
e.g. Teams should not cut corners on testing just to ship faster.

๐Ÿ“– Article

Linus Torvalds, the creator of Linux, recently shared his view on using large language models, or LLMs, in kernel development. The Linux kernel is the core part of the operating system, so changes to it can affect performance, security, and hardware support. Torvalds did not present LLMs as a simple yes-or-no issue. Instead, his comments fit a familiar pattern in open-source engineering: tools are judged by the quality of their output, not by the hype around them. In other words, the main question is whether an AI system can produce work that stands up to close review.

That point matters because kernel development is not like writing a short app or a draft email. It is a highly demanding process with strict review, long discussions on mailing lists, and careful testing across many devices. A patch is a small change to the code, but even a small patch can have wide effects. In this setting, developers must explain why a change is needed, what problem it solves, and what trade-offs it creates. An LLM may generate text or code quickly, but speed alone does not carry much weight if the result is vague, unsafe, or hard to maintain.

Torvalds has long been skeptical of broad claims that a new tool will transform programming overnight. His comments on LLMs can be understood in that light. The concern is not only whether AI can write code, but whether it can reason about complicated interactions in a system that has grown over decades. Kernel work often gets into the weeds of timing, memory behavior, hardware quirks, and backward compatibility. A confident answer that sounds plausible is not enough. Reviewers need a clear chain of reasoning, and they need to trust that the author understands the code path being changed.

At the same time, many engineers see LLMs as useful assistants when used with caution. They can summarize long threads, suggest boilerplate text, explain unfamiliar subsystems, or help a developer get up to speed on a topic. In that sense, AI can lower the barrier for learning and routine tasks. But that is a double-edged sword. If people rely on generated output without deep understanding, the review burden may shift onto maintainers, who already have limited time. The danger is not only bad code. It is also a flood of submissions that look polished on the surface but fall apart under inspection.

This debate reflects a larger issue across the tech industry. As AI tools gain traction, companies and communities must decide where automation fits and where human judgment is non-negotiable. In safety-critical or infrastructure code, traceability and accountability matter as much as raw productivity. A developer may use an LLM to explore ideas, but someone still has to verify every line, test edge cases, and defend the design choices in public review. That standard is especially high in the Linux world, where maintainers are known for direct feedback and a strong focus on technical merit.

For software engineers, Torvalds's view is a useful reality check. LLMs may become part of the toolbox, but they do not let teams cut corners on understanding, testing, or responsibility. In mature projects, the bar is set by reliability, not novelty. The most likely path forward is not full replacement of expert developers, but selective use of AI in areas where it saves time without weakening quality. The key question to watch is not whether AI can produce code, but whether it can support disciplined engineering without drowning reviewers in extra noise.

๐Ÿ’ฌ Discussion

  1. Do you agree that AI-generated code should be judged only by review quality, not by how quickly it was produced?
  2. In your own work, where could an LLM help you get up to speed without creating too much risk?
  3. Why do you think infrastructure or low-level code requires a higher standard than ordinary application code?
  4. How can teams use AI tools without increasing the review burden on senior engineers or maintainers?
  5. What skills will become more valuable if LLMs are widely used in professional software development?
์˜ค๋Š˜์˜ ํ•™์Šต ํฌ์ธํŠธ
์ด ์ฃผ์ œ๋Š” AI๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋А๋ƒ๋ณด๋‹ค, ๊ทธ ๊ฒฐ๊ณผ๋ฌผ์ด ์—„๊ฒฉํ•œ ๋ฆฌ๋ทฐ์™€ ์šด์˜ ํ™˜๊ฒฝ์—์„œ ๋ฒ„ํ‹ธ ์ˆ˜ ์žˆ๋А๋ƒ๊ฐ€ ๋” ์ค‘์š”ํ•˜๋‹ค๋Š” ์ ์„ ๋ณด์—ฌ์ค€๋‹ค. ์‹ค๋ฌด์—์„œ๋Š” ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ๋ณด๋‹ค ๊ฒ€์ฆ ๊ฐ€๋Šฅ์„ฑ, ์ฑ…์ž„ ์†Œ์žฌ, ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ํ•จ๊ป˜ ๋ด์•ผ ํ•˜๋ฉฐ, ํŠนํžˆ ์ปค๋„ยท์ธํ”„๋ผยท๋ณด์•ˆ ๊ด€๋ จ ์˜์—ญ์—์„œ๋Š” AI ํ™œ์šฉ ๋ฒ”์œ„๋ฅผ ๋” ์‹ ์ค‘ํ•˜๊ฒŒ ์ •ํ•ด์•ผ ํ•œ๋‹ค.
Programming

4. Roc Compiler Nears a New Era

๐Ÿ“ Vocabulary

feature parity/หˆfiห.tสƒษš/ /หˆpรฆr.ษ™.tฬฌi/phrasea state where two products or systems have the same main features
๊ธฐ๋Šฅ ๋™๋“ฑ์„ฑ, ๊ธฐ๋Šฅ์ƒ ๋Œ€๋“ฑํ•œ ์ƒํƒœ
e.g. The new platform reached feature parity with the old one before the migration began.
milestone/หˆmaษชl.stoสŠn/nounan important stage or achievement in a process
์ค‘์š”ํ•œ ์ด์ •ํ‘œ, ์ค‘๊ฐ„ ์„ฑ๊ณผ
e.g. Releasing the beta version was a major milestone for the startup.
paying off/หˆpeษช.ษชล‹/ /ษ”f/phrasebringing good results after time and effort
์„ฑ๊ณผ๋ฅผ ๋‚ด๋‹ค, ๋ณด๋žŒ์ด ๋‚˜ํƒ€๋‚˜๋‹ค
e.g. All the testing is finally paying off now that the system is stable.
trade-offs/หˆtreษชdหŒษ”fs/nounsituations where you accept one disadvantage to gain another benefit
์ƒ์ถฉ ๊ด€๊ณ„, ์ ˆ์ถฉ์ 
e.g. There are trade-offs between speed, safety, and development cost.
quick win/kwษชk/ /wษชn/phrasean easy success that can be achieved fast
๋น ๋ฅด๊ฒŒ ์–ป๋Š” ์„ฑ๊ณผ, ์†์‰ฌ์šด ์„ฑ๊ณผ
e.g. Automating the report was a quick win for the operations team.
a double-edged sword/ษ™/ /หŒdสŒb.ษ™l หˆedส’d/ /sษ”rd/phrasesomething that has both advantages and disadvantages
์–‘๋‚ ์˜ ๊ฒ€
e.g. Remote work can be a double-edged sword because it offers freedom but may reduce teamwork.
overstate/หŒoสŠ.vษšหˆsteษชt/verbto describe something as more important or better than it really is
๊ณผ์žฅํ•˜๋‹ค
e.g. The company did not want to overstate the impact of the early benchmark results.
upgrade path/หˆสŒpหŒษกreษชd/ /pรฆฮธ/phrasethe process or route for moving from an old version to a new one
์—…๊ทธ๋ ˆ์ด๋“œ ๊ฒฝ๋กœ, ์ „ํ™˜ ์ ˆ์ฐจ
e.g. Customers need a clear upgrade path before they adopt the new release.
carry a project over the finish line/หˆkรฆr.i/ /ษ™/ /หˆprษ‘ห.dส’ekt/ /หˆoสŠ.vษš/ /รฐษ™/ /หˆfษชn.ษชสƒ/ /laษชn/phraseto help a project reach completion successfully
ํ”„๋กœ์ ํŠธ๋ฅผ ๋๊นŒ์ง€ ์™„์ˆ˜ํ•˜๊ฒŒ ํ•˜๋‹ค
e.g. Strong teamwork carried the project over the finish line despite several delays.
gained traction/ษกeษชnd/ /หˆtrรฆk.สƒษ™n/phrasestarted to receive support, attention, or progress
ํƒ„๋ ฅ์„ ๋ฐ›๋‹ค, ์ง€์ง€๋ฅผ ์–ป๊ธฐ ์‹œ์ž‘ํ•˜๋‹ค
e.g. The proposal gained traction after engineers saw the first working prototype.

๐Ÿ“– Article

The team behind the Roc programming language says its long rewrite of the Roc compiler is making strong progress. For about a year and a half, the project has been moving roughly 300,000 lines of compiler code from Rust to Zig. Recently, the team reached feature parity with the original compiler. In simple terms, that means the new compiler can now do the same main jobs as the old one. This does not mean the work is finished or officially released, but it is a major milestone for a language project that is still growing.

To show what this milestone looks like in practice, the team updated Rocci Bird, a small game first built in 2024 for WASM-4. The game is less than a thousand lines of Roc code, but getting it to run on the new compiler still required many core language features to be ready. According to the project update, the new compiler can produce a 31KB WebAssembly binary for the game when size optimization is used. That output is more than twice as small as the binary produced by the original compiler. Even though this is only one example, it gives developers a concrete sign that the rewrite is paying off.

Why rewrite such a large compiler at all? The update says the team has already explained its reasons before, but the basic issue is familiar across programming: language tools involve trade-offs. A rewrite is expensive and risky, yet teams sometimes believe a different language will better fit their long-term goals. In this case, the move from Rust to Zig appears to be about making the compiler easier to shape in the direction the Roc team wants. Rewriting a compiler from scratch is never a quick win, and many projects avoid it because it can absorb huge amounts of time before users see clear benefits.

At the same time, reaching feature parity does not settle the bigger debate. Some engineers see rewrites as a fresh start; others view them as a double-edged sword. A new code base can remove old limitations, but it can also reintroduce bugs, delay releases, and drain energy from other work. The Roc team itself is careful not to overstate the news. It describes this stage as a milestone rather than a formal release, with version 0.1.0 still planned for later this year. That cautious tone matters, because compiler users care not only about ambition but also about stability, tooling, and a smooth upgrade path.

The progress report also highlights how community effort can carry a technical project over the finish line. The team thanked contributors for major parts of the new system, including work on the parser, the type-checker, lambda set resolution, browser support, package design, bug investigation, and beginner learning materials. One example is the new browser-based 'echo' platform, which lets people write and run basic Roc programs from the project homepage through a 2.5MB WebAssembly binary. That kind of access lowers the barrier to entry, especially for newcomers who want to try the language without installing a full toolchain.

For developers outside the Roc community, this story is interesting because it touches on a broader question: when is a rewrite worth it? The answer usually depends on more than benchmark numbers. Teams must weigh performance, maintainability, contributor experience, and the cost of carrying two systems in parallel during the transition. Roc's progress suggests that the rewrite has gained traction, but the real test still lies ahead. Over the coming months, observers will watch for signs that the new compiler can hold up under wider use, support more real-world programs, and deliver the reliability that turns a promising milestone into a lasting foundation.

๐Ÿ’ฌ Discussion

  1. Why do you think some engineering teams choose a full rewrite instead of improving an existing code base step by step?
  2. In your experience, what are the biggest risks when a team keeps two systems in parallel during a migration?
  3. Do you think smaller binaries and browser-based tools can meaningfully increase adoption of a programming language? Why or why not?
  4. If your team considered moving a core tool from one programming language to another, what conditions would need to be true before you supported the idea?
  5. How should open-source projects balance ambitious technical goals with the need for stability and a smooth upgrade path for users?
์˜ค๋Š˜์˜ ํ•™์Šต ํฌ์ธํŠธ
์ด ์ฃผ์ œ๋Š” ๋Œ€๊ทœ๋ชจ ์ฝ”๋“œ๋ฒ ์ด์Šค ์žฌ์ž‘์„ฑ(rewrite)์ด ๋‹จ์ˆœํ•œ ๊ธฐ์ˆ  ์„ ํƒ์ด ์•„๋‹ˆ๋ผ ์„ฑ๋Šฅ, ์œ ์ง€๋ณด์ˆ˜์„ฑ, ๋ฆด๋ฆฌ์Šค ์ผ์ •, ์‚ฌ์šฉ์ž ์ „ํ™˜ ๋น„์šฉ๊นŒ์ง€ ํ•จ๊ป˜ ๊ณ ๋ คํ•ด์•ผ ํ•˜๋Š” ์—”์ง€๋‹ˆ์–ด๋ง ์˜์‚ฌ๊ฒฐ์ •์ž„์„ ๋ณด์—ฌ์ค€๋‹ค. ์‹ค๋ฌด์—์„œ๋Š” ๊ธฐ๋Šฅ ๋™๋“ฑ์„ฑ ๋‹ฌ์„ฑ, ์ ์ง„์  ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜, ์—…๊ทธ๋ ˆ์ด๋“œ ๊ฒฝ๋กœ ์„ค๊ณ„, ์ปค๋ฎค๋‹ˆํ‹ฐ ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜์ด ์„ฑ๊ณต์ ์ธ ์ „ํ™˜์˜ ํ•ต์‹ฌ ํ•™์Šต ํฌ์ธํŠธ๋‹ค.
Programming

5. Hexana Brings WebAssembly Analysis Into Popular Editors

๐Ÿ“ Vocabulary

under the hood/หˆสŒn.dษš รฐษ™ hสŠd/phraseinside a system, where the hidden technical details are
๋‚ด๋ถ€์ ์œผ๋กœ, ๋ณด์ด์ง€ ์•Š๋Š” ๊ธฐ์ˆ ์  ์„ธ๋ถ€์—์„œ
e.g. The dashboard looks simple, but a lot is happening under the hood.
gained traction/ษกeษชnd หˆtrรฆk.สƒษ™n/phrasebecame more popular and accepted
์ฃผ๋ชฉ์„ ๋ฐ›๊ธฐ ์‹œ์ž‘ํ•˜๋‹ค, ์ ์  ์ธ๊ธฐ๋ฅผ ์–ป๋‹ค
e.g. The new language has gained traction among backend engineers.
fill that gap/fษชl รฐรฆt ษกรฆp/phraseprovide something that has been missing
๊ทธ ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์„ ๋ฉ”์šฐ๋‹ค
e.g. This library tries to fill that gap in the testing workflow.
virtualized/หˆvษห.tสƒu.ษ™.laษชzd/adjectivedesigned so that only the needed part is shown or loaded, for better performance
๊ฐ€์ƒํ™”๋œ; ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ํ‘œ์‹œยท๋กœ๋”ฉ๋˜๋„๋ก ์ตœ์ ํ™”๋œ
e.g. A virtualized list can handle very large files more smoothly.
descriptor sets/dษชหˆskrษชp.tษš sษ›ts/nouncollections of descriptions that explain the structure of messages or objects
๋””์Šคํฌ๋ฆฝํ„ฐ ์„ธํŠธ, ๊ตฌ์กฐ ์„ค๋ช… ์ง‘ํ•ฉ
e.g. The tool can inspect Protocol Buffers descriptor sets for schema details.
on-demand/หŒษ‘หn dษชหˆmรฆnd/adjectiveavailable only when needed, not always running
์˜จ๋””๋งจ๋“œ์˜, ํ•„์š”ํ•  ๋•Œ๋งŒ ์ œ๊ณต๋˜๋Š”
e.g. The extension starts the service in an on-demand way.
stand out/stรฆnd aสŠt/phrasebe easy to notice because it is better or different
๋‘๋“œ๋Ÿฌ์ง€๋‹ค, ๋ˆˆ์— ๋„๋‹ค
e.g. One feature really stands out in the new release.
a double-edged sword/ษ™ หŒdสŒb.ษ™l หˆedส’d sษ”หrd/phrasesomething that brings both benefits and problems
์–‘๋‚ ์˜ ๊ฒ€
e.g. Automation is a double-edged sword if teams do not review the results carefully.
get in the weeds/ษกet ษชn รฐษ™ wiหdz/phrasebecome too focused on small and complex details
์ง€๋‚˜์น˜๊ฒŒ ์„ธ๋ถ€ ์‚ฌํ•ญ์— ํŒŒ๊ณ ๋“ค๋‹ค
e.g. We should not get in the weeds before we agree on the main design.
close to the metal/kloสŠs tษ™ รฐษ™ หˆmษ›tฬฌ.ษ™l/phraseworking near the hardware or very low-level parts of a system
ํ•˜๋“œ์›จ์–ด์— ๊ฐ€๊นŒ์šด ์ €์ˆ˜์ค€ ์˜์—ญ์—์„œ
e.g. Engineers who work close to the metal often care about memory layout and binary size.

๐Ÿ“– Article

JetBrains has introduced Hexana, a toolkit for WebAssembly and binary analysis. It comes in two versions: a full plugin for JetBrains IDEs and an extension for Visual Studio Code-based editors. At its core, Hexana is designed to inspect .wasm files and other binary formats in a more structured way. Instead of looking only at raw bytes, developers can view modules, imports, exports, types, and other internal parts. This gives engineers a clearer picture of what a compiled program is doing under the hood.

WebAssembly, often called Wasm, has gained traction because it lets code run in many environments, including browsers, servers, and embedded systems. As Wasm projects become more complex, developers need better tools to understand performance, compatibility, and program structure. Hexana tries to fill that gap. According to JetBrains, both versions share the same Kotlin Multiplatform analysis core. That means the parsing and analysis logic is largely the same, even though the user experience is different in each editor.

The JetBrains plugin is the deeper option. It includes a multi-tab editor for .wasm files, an editable virtualized WAT view, and support for WAT and WIT, two text formats related to WebAssembly. It also offers code completion for some Java libraries, type inference for JavaScript and TypeScript when using WebAssembly.instantiate, and experimental debugging. Users can run and debug modules on several runtimes, including Wasmtime, WAMR, GraalVM, and wazero. The plugin also goes beyond Wasm by supporting inspection of formats such as Parquet, Arrow IPC, Protocol Buffers descriptor sets, and some JVM artifacts.

The VS Code extension takes a lighter approach, but it still covers a lot of ground. It offers a custom editor, a virtual-scrolling hex viewer, several structural-analysis tabs, scriptable custom tabs, and an on-demand MCP server. It can also run code on multiple runtimes and in environments such as Node.js or the browser. In both products, Hexana can detect WebAssembly components, list nested modules, and resolve component dependencies. There is also experimental support for native binaries such as ELF, Mach-O, and PE, using the same general hex-and-structure layout.

What makes Hexana stand out is that it tries to bridge low-level inspection and daily development work. Binary tools are often powerful, but they can feel intimidating or force users to switch contexts. By living inside familiar editors, Hexana lowers that barrier. At the same time, this convenience may be a double-edged sword. Deep binary analysis can quickly get in the weeds, and many developers may only need lightweight inspection rather than every advanced view. The choice between the JetBrains plugin and the VS Code extension will probably come down to how far a team wants to go, and which editor already fits its workflow.

More broadly, Hexana reflects a shift in tooling around WebAssembly. Wasm is no longer just a browser curiosity; it is turning into a serious target for application delivery, language runtimes, and cross-platform components. As that happens, developers need better visibility into compiled output, dependencies, and execution behavior. Tools like Hexana will not replace classic debuggers or disassemblers, but they could become part of the standard toolbox for engineers working close to the metal. The key thing to watch is whether this kind of integrated analysis becomes routine as Wasm adoption moves from niche experiments to mainstream use.

๐Ÿ’ฌ Discussion

  1. Why do you think WebAssembly tools are becoming more necessary for everyday development work?
  2. If you had to choose, would you prefer the deeper JetBrains plugin or the lighter VS Code extension? Why?
  3. How useful is it to inspect binaries inside an IDE instead of using separate command-line tools?
  4. Have you ever needed to understand compiled output, imports, or binary structure to solve a problem? What happened?
  5. Do you think integrated analysis tools will make more developers work close to the metal, or will most teams still avoid that level of detail?
์˜ค๋Š˜์˜ ํ•™์Šต ํฌ์ธํŠธ
Hexana๋Š” WebAssembly์™€ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์„ IDE ์•ˆ์—์„œ ๋” ์‰ฝ๊ฒŒ ๋ถ„์„ํ•˜๋„๋ก ๋„์™€์ฃผ๋Š” ๋„๊ตฌ๋ผ๋Š” ์ ์—์„œ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค๋ฌด์—์„œ๋Š” ์‹คํ–‰ ๊ฒฐ๊ณผ๋งŒ ๋ณด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ปดํŒŒ์ผ ์‚ฐ์ถœ๋ฌผ, ์˜์กด์„ฑ, ๊ตฌ์กฐ๋ฅผ ํ•จ๊ป˜ ์ดํ•ดํ•ด์•ผ ์„ฑ๋Šฅ ๋ฌธ์ œ๋‚˜ ํ˜ธํ™˜์„ฑ ์ด์Šˆ๋ฅผ ๋” ์ •ํ™•ํ•˜๊ฒŒ ์žก์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ฃผ์ œ๋ฅผ ํ†ตํ•ด ์ €์ˆ˜์ค€ ๋ถ„์„ ๋„๊ตฌ๊ฐ€ ๊ฐœ๋ฐœ์ž ๊ฒฝํ—˜๊ณผ ์–ด๋–ป๊ฒŒ ์—ฐ๊ฒฐ๋˜๋Š”์ง€ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.
Tech

6. Microsoft Comic Chat Goes Open Source

๐Ÿ“ Vocabulary

look under the hood/lสŠk หˆสŒn.dษš รฐษ™ hสŠd/phraseto examine how something works inside
๋‚ด๋ถ€ ์ž‘๋™ ๋ฐฉ์‹์„ ๋“ค์—ฌ๋‹ค๋ณด๋‹ค
e.g. Open-source projects let developers look under the hood and learn from real code.
take for granted/teษชk fษ”ษน หˆษกrรฆn.tฬฌษชd/phraseto accept something as normal and not think much about it
๋‹น์—ฐํ•˜๊ฒŒ ์—ฌ๊ธฐ๋‹ค
e.g. Many users take instant messaging for granted today.
bridge that gap/brษชdส’ รฐรฆt ษกรฆp/phraseto connect two different things or reduce the difference between them
๊ฒฉ์ฐจ๋ฅผ ๋ฉ”์šฐ๋‹ค
e.g. Good design can bridge the gap between complex systems and everyday users.
conversational cues/หŒkษ‘n.vษšหˆseษช.สƒษ™.nษ™l kjuz/phrasesmall signs in language that show meaning, feeling, or intention
๋Œ€ํ™”์ƒ์˜ ๋‹จ์„œ
e.g. The model tried to detect conversational cues such as anger or surprise.
editorial decisions/หŒed.ษ™หˆtษ”ษน.i.ษ™l dษชหˆsษชส’.ษ™nz/phrasechoices about how content should be organized, presented, or expressed
ํŽธ์ง‘์ƒ์˜ ๊ฒฐ์ •
e.g. The app made editorial decisions about which messages to highlight.
at the crossroads of/รฆt รฐษ™ หˆkrษ”sหŒroสŠdz ษ™v/phraseat a point where several different fields or ideas meet
~์˜ ๊ต์ฐจ์ ์— ์žˆ๋Š”
e.g. Cybersecurity now sits at the crossroads of law, policy, and engineering.
shed light on/สƒed laษชt ษ‘n/phraseto help people understand something better
~์„ ๋ฐํžˆ๋‹ค, ์ดํ•ด๋ฅผ ๋•๋‹ค
e.g. The archived documents shed light on how the system was designed.
forward-looking/หŒfษ”ษน.wษšd หˆlสŠk.ษชล‹/adjectivethinking about the future in a smart and practical way
๋ฏธ๋ž˜์ง€ํ–ฅ์ ์ธ
e.g. The company is known for its forward-looking product strategy.
strike a chord/straษชk ษ™ tสƒษ”ษนd/phraseto cause people to feel interest or emotion because something seems familiar or true
๊ณต๊ฐ์„ ๋ถˆ๋Ÿฌ์ผ์œผํ‚ค๋‹ค
e.g. The demo struck a chord with developers who remembered early web tools.
a double-edged sword/ษ™ หŒdสŒb.ษ™l หˆedส’d sษ”ษนd/phrasesomething that has both benefits and risks
์–‘๋‚ ์˜ ๊ฒ€
e.g. Automation can be a double-edged sword when accuracy is inconsistent.

๐Ÿ“– Article

Microsoft has released the source code for Microsoft Comic Chat as open source. The announcement came through the companyโ€™s open-source blog in July 2026. Comic Chat was a chat client from the mid-1990s that turned Internet Relay Chat, or IRC, conversations into comic strips. Instead of showing only lines of text, it displayed illustrated characters, speech bubbles, and simple visual reactions. The release gives developers, historians, and retro computing fans a chance to look under the hood of a product that many people remember mainly for one thing: it helped introduce Comic Sans to a wide audience.

Comic Chat arrived at a time when online communication looked very different from today. In the 1990s, many internet users still relied on text-heavy tools such as telnet, Usenet, and IRC. Modern chat apps did not yet offer the rich mix of reactions, stickers, animated images, and avatars that users now take for granted. Comic Chat tried to bridge that gap by giving text conversations a visual form. As people typed messages, the software placed them into comic panels and matched them with gestures or facial expressions. This made chat feel more playful, but it also pointed to a broader idea: software could interpret human conversation and present it in a more expressive way.

According to Microsoft, the project began in 1995 under David โ€œDJโ€ Kurlander in the Microsoft Research Virtual Worlds Group. Comic Chat was built in Visual C++ 4.0 and MFC, and it was released in 1996 with Internet Explorer 3. Under the hood, the program did more than wrap an IRC client in a new interface. It tried to read conversational cues from the text and then choose poses, panel layouts, and expressions that fit the mood. In other words, the software was making editorial decisions in real time about how the exchange should look. That idea was ambitious for its day, even if the results were sometimes quirky or uneven.

The project also had a strong creative side. Microsoft said the visual world of Comic Chat was shaped by independent comic artist Jim Woodring, whose character designs gave the program a distinctive style. The team reportedly tested the concept by giving him real chat transcripts to illustrate, then used those results to decide whether the idea could work as a product. The technology behind Comic Chat was serious enough to appear in a paper presented at SIGGRAPH โ€™96, a major computer graphics conference. That detail shows Comic Chat was not only a novelty. It also stood at the crossroads of research, design, and consumer software.

Opening the code now is meaningful for several reasons. First, it preserves a small but unusual piece of internet history. Early online tools often vanish when old platforms disappear, and source code can shed light on how engineers solved problems with limited hardware and simpler networks. Second, Comic Chat feels surprisingly forward-looking. Today, many apps turn plain text into something richer through emojis, avatars, AI-generated images, or automatic summaries. Comic Chat came from a different era, but it explored a similar question: how can technology add tone and context to digital conversation? In that sense, the project may strike a chord with modern developers working on communication tools.

At the same time, nostalgia should not cloud judgment. Comic Chat was inventive, but it was also a product of its time. Automatic interpretation can be a double-edged sword, because software may misunderstand emotion, sarcasm, or cultural context. That challenge has not gone away; in fact, it remains central to todayโ€™s AI systems. Even so, the open-source release matters because it lets people examine an early attempt to humanize text chat through interface design and automation. For engineers, it is a reminder that old ideas often come back in new forms. For the wider tech community, Comic Chat offers a fresh way to revisit how online communication evolved.

๐Ÿ’ฌ Discussion

  1. Why do you think Microsoft decided to open-source Comic Chat now instead of leaving it as a historical product?
  2. Do you think visual communication tools, such as avatars and reactions, improve online conversations or sometimes distract from them?
  3. Have you ever used an old technology that seemed outdated at first but later looked surprisingly modern in its ideas?
  4. What can todayโ€™s engineers learn from older software built with limited computing power and simpler interfaces?
  5. When software tries to guess human emotion or intent, where should developers draw the line?
์˜ค๋Š˜์˜ ํ•™์Šต ํฌ์ธํŠธ
์ด๋ฒˆ ์ฃผ์ œ๋Š” ์˜ค๋ž˜๋œ ์†Œํ”„ํŠธ์›จ์–ด๋„ ํ˜„์žฌ์˜ UX, ์ž๋™ํ™”, ๋Œ€ํ™”ํ˜• ์ธํ„ฐํŽ˜์ด์Šค ์„ค๊ณ„์— ์ค‘์š”ํ•œ ํ†ต์ฐฐ์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค๋ฌด์ ์œผ๋กœ๋Š” ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ ๋ณด์กด, ์˜คํ”ˆ ์†Œ์Šค ๊ณต๊ฐœ์˜ ๊ฐ€์น˜, ๊ทธ๋ฆฌ๊ณ  ํ…์ŠคํŠธ์˜ ๊ฐ์ •ยท๋งฅ๋ฝ ํ•ด์„์ด ๊ฐ€์ง„ ๊ฐ€๋Šฅ์„ฑ๊ณผ ํ•œ๊ณ„๋ฅผ ํ•จ๊ป˜ ์ƒ๊ฐํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
AI

7. Studying Machine Learning on Your Own

๐Ÿ“ Vocabulary

overwhelming/หŒoสŠ.vษšหˆwel.mษชล‹/adjectiveso difficult or strong that it feels hard to deal with
์••๋„์ ์ธ, ๋ฒ…์ฐฌ
e.g. At first, the number of online AI courses felt overwhelming.
lower that barrier/หˆloสŠ.ษš รฐรฆt หˆbรฆr.i.ษš/phraseto make something easier to enter or begin
์ง„์ž… ์žฅ๋ฒฝ์„ ๋‚ฎ์ถ”๋‹ค
e.g. Good documentation can lower that barrier for new developers.
falls apart/fษ”lz ษ™หˆpษ‘rt/phrasefails or stops working in a successful way
๋ฌด๋„ˆ์ง€๋‹ค, ์ œ๋Œ€๋กœ ์ง„ํ–‰๋˜์ง€ ์•Š๋‹ค
e.g. My study plan falls apart when I try to learn too many topics at once.
get lost in the weeds/ษกet lษ”st ษชn รฐษ™ widz/phraseto spend too much time on small details and lose the main point
์„ธ๋ถ€ ์‚ฌํ•ญ์— ๋น ์ ธ ๋ณธ์งˆ์„ ๋†“์น˜๋‹ค
e.g. Engineers sometimes get lost in the weeds when discussing model settings.
broader shift/หˆbrษ”d.ษš สƒษชft/phrasea larger change happening across a field or society
๋” ํฐ ํ๋ฆ„์˜ ๋ณ€ํ™”
e.g. Remote work is part of a broader shift in company culture.
gained traction/ษกeษชnd หˆtrรฆk.สƒษ™n/phrasebecame more popular, accepted, or successful
์ฃผ๋ชฉ๋ฐ›๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค, ํž˜์„ ์–ป์—ˆ๋‹ค
e.g. Open-source learning materials have gained traction in recent years.
side by side/saษชd baษช saษชd/phrasenext to each other for easy comparison
๋‚˜๋ž€ํžˆ, ๋น„๊ต ๊ฐ€๋Šฅํ•˜๊ฒŒ
e.g. The article compares two deep learning libraries side by side.
a double-edged sword/ษ™ หŒdสŒb.ษ™l หˆedส’d sษ”rd/phrasesomething that has both advantages and disadvantages
์–‘๋‚ ์˜ ๊ฒ€
e.g. Full freedom in self-study can be a double-edged sword.
nudge/nสŒdส’/verbto gently push or encourage someone to do something
์‚ด์ง ์œ ๋„ํ•˜๋‹ค, ๋…๋ คํ•˜๋‹ค
e.g. A mentor can nudge learners to check their assumptions.
launchpad/หˆlษ”ntสƒหŒpรฆd/nounsomething that gives a strong starting point for future progress
๋„์•ฝ๋Œ€, ์ถœ๋ฐœ์ 
e.g. The repository became a launchpad for my first AI project.

๐Ÿ“– Article

Many people want to learn machine learning, but they do not know where to start. The field looks exciting because it connects coding, math, and real-world problems. At the same time, it can feel overwhelming. There are many tools, many courses, and many opinions about the best path. A public GitHub repository by teddylee777 tries to lower that barrier. It is designed for beginners and for people preparing a study group, and it gathers learning materials in one place so learners can study step by step.

From the source context, the repository appears to be organized into practical sections such as Python, Kaggle, PyTorch, TensorFlow, TensorFlow 2.0, Pandas, visualization, and scikit-learn. That structure matters because self-study often falls apart when people jump between random tutorials. A clear roadmap can keep learners from getting lost in the weeds. Python is usually the starting point because it is widely used in this field. After that, notebooks, libraries, and small projects let learners see how code turns ideas into working models.

This kind of repository reflects a broader shift in technical education. In the past, many learners depended on formal classes or expensive boot camps. Now, open repositories, notebooks, and community examples have gained traction as low-cost ways to build skills. For software engineers, this is especially useful. They can move at their own pace, review code directly, and compare different tools side by side. A well-organized repository also makes abstract ideas feel less intimidating by linking them to practice.

Still, learning alone is a double-edged sword. Freedom is valuable, but too much freedom can lead to weak basics. In machine learning, beginners sometimes rush into model training before they understand problem definition, evaluation, or data quality. They may also copy code without knowing why it works. A good study resource can reduce that risk if it encourages hands-on practice, not just passive reading. It should also nudge learners to ask simple but essential questions: What is the input? What is the output? How do we measure success? What could go wrong?

Another strength of a repository like this is that it exposes learners to an ecosystem rather than a single tool. Scikit-learn is often useful for classical machine learning, while PyTorch and TensorFlow are commonly linked to deep learning workflows. Pandas and visualization tools support exploration and understanding. Kaggle, meanwhile, can give learners a sandbox for experiments and public competitions. Seeing these parts together helps people grasp that machine learning is not only about algorithms. It is also about preparation, analysis, testing, and communication.

For anyone trying machine learning study alone, the main lesson is simple: start small, stay consistent, and keep your expectations realistic. You do not need to master every library at once. It is often better to build a routine, finish small tasks, and revisit core ideas until they stick. Repositories like this can serve as a practical launchpad, especially for learners who want a structured starting point without waiting for a formal course. The next step is not just to read more, but to build, test, reflect, and gradually deepen your understanding.

๐Ÿ’ฌ Discussion

  1. If you studied machine learning alone, what would be the hardest part for you: math, coding, or keeping a routine?
  2. Do you think a GitHub repository can replace a formal class for beginners? Why or why not?
  3. How should a self-learner balance theory and hands-on practice in machine learning?
  4. Which tool or topic would you study first from a repository like this, and why?
  5. In your work as an engineer, how could basic machine learning knowledge become useful even if you are not a data scientist?
์˜ค๋Š˜์˜ ํ•™์Šต ํฌ์ธํŠธ
ํ˜ผ์ž ๋จธ์‹ ๋Ÿฌ๋‹์„ ๊ณต๋ถ€ํ•  ๋•Œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ํ™”๋ คํ•œ ๋ชจ๋ธ๋ณด๋‹ค ํ•™์Šต ์ˆœ์„œ์™€ ๊พธ์ค€ํ•œ ์‹ค์Šต์ž…๋‹ˆ๋‹ค. ์‹ค๋ฌด ๊ด€์ ์—์„œ๋Š” Python, ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ, ์‹œ๊ฐํ™”, ๋ชจ๋ธ ํ‰๊ฐ€ ๊ฐ™์€ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ•จ๊ป˜ ์ตํ˜€์•ผ ์ดํ›„์˜ ์ž๋™ํ™”๋‚˜ AI ๊ธฐ๋Šฅ ์ ์šฉ์—์„œ๋„ ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Programming

8. Why SQLite May Need Editions

๐Ÿ“ Vocabulary

embedded systems/ษชmหˆbษ›dษชd หˆsษชstษ™mz/phrasecomputer systems built into a device for a specific purpose
์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ
e.g. SQLite is often used in embedded systems such as smart devices and industrial tools.
small footprint/smษ”l หˆfสŠtหŒprษชnt/phraseusing only a small amount of memory, storage, or system resources
์ž‘์€ ์ž์› ์‚ฌ์šฉ๋Ÿ‰, ๊ฒฝ๋Ÿ‰์„ฑ
e.g. A small footprint is important when software runs on limited hardware.
backward compatibility/หˆbรฆkwษšd kษ™mหŒpรฆtษ™หˆbษชlษ™ti/nounthe ability of new software to keep working with older systems or behavior
ํ•˜์œ„ ํ˜ธํ™˜์„ฑ
e.g. Teams often keep backward compatibility to avoid breaking older applications.
trip people up/trษชp หˆpipษ™l สŒp/phraseto confuse someone or cause them to make a mistake
ํ—ท๊ฐˆ๋ฆฌ๊ฒŒ ํ•˜๋‹ค, ์‹ค์ˆ˜ํ•˜๊ฒŒ ๋งŒ๋“ค๋‹ค
e.g. Hidden defaults can trip people up during development.
at the heart of/รฆt รฐษ™ hษ‘rt ษ™v/phrasethe main or central part of something
~์˜ ํ•ต์‹ฌ์—
e.g. Data consistency is at the heart of the debate.
subtle risk/หˆsสŒtษ™l rษชsk/phrasea danger that is not obvious or easy to notice
๋ฏธ๋ฌ˜ํ•œ ์œ„ํ—˜, ๋ˆˆ์— ์ž˜ ๋„์ง€ ์•Š๋Š” ์œ„ํ—˜
e.g. ID reuse can create a subtle risk that is hard to detect in testing.
silent mismatch/หˆsaษชlษ™nt mษชsหˆmรฆtสƒ/nouna wrong connection or result that does not produce an error message
์กฐ์šฉํ•œ ๋ถˆ์ผ์น˜, ์˜ค๋ฅ˜ ์—†์ด ๋ฐœ์ƒํ•˜๋Š” ์ž˜๋ชป๋œ ๋งค์นญ
e.g. The worst bugs are often silent mismatches that look normal at first.
a double-edged sword/ษ™ หŒdสŒbษ™l หˆษ›dส’d sษ”rd/phrasesomething that has both benefits and drawbacks
์–‘๋‚ ์˜ ๊ฒ€
e.g. Flexibility can be a double-edged sword when it reduces safety.
pull the rug out from under/pสŠl รฐษ™ rสŒษก aสŠt frษ™m หˆสŒndษš/phraseto suddenly remove support or create trouble for someone
๊ฐ‘์ž๊ธฐ ๊ธฐ๋ฐ˜์„ ๋ฌด๋„ˆ๋œจ๋ฆฌ๋‹ค, ๋’คํ†ต์ˆ˜๋ฅผ ์น˜๋“ฏ ๊ณค๋ž€ํ•˜๊ฒŒ ๋งŒ๋“ค๋‹ค
e.g. A sudden default change could pull the rug out from under older applications.
read the fine print/rid รฐษ™ faษชn prษชnt/phraseto look carefully at the detailed conditions or hidden details
์„ธ๋ถ€ ์‚ฌํ•ญ์„ ๊ผผ๊ผผํžˆ ํ™•์ธํ•˜๋‹ค
e.g. Engineers should read the fine print before trusting a toolโ€™s default behavior.

๐Ÿ“– Article

SQLite is one of the most widely used database engines in computing, especially for local storage inside apps, devices, and embedded systems. Unlike a traditional relational database management system, it usually does not run as a separate service. Instead, it is linked directly into an application as a library. That design keeps deployment simple and makes SQLite attractive for tools that need a small footprint. Some developers even use it in server-side systems, which shows how far it has come beyond mobile apps and desktop software.

A recent blog post argues that SQLite should adopt something like Rust-style editions. In the Rust programming language, editions let the language improve over time without forcing every old project to break at once. The writer says SQLite has a similar problem: many of its long-standing defaults are kept for backward compatibility, even when those defaults are surprising or unsafe by modern standards. In other words, old behavior stays in place because changing it globally could break existing applications, but leaving it untouched can also trip people up.

The main example in the post is foreign key constraints. In most relational systems, foreign keys are enforced by default. They protect consistency by making sure one table cannot point to a row that does not exist in another table. In SQLite, however, foreign key checks are historically disabled unless the application turns them on with a pragma setting. This means a developer can define a foreign key in a schema and still end up with invalid references if the setting is not enabled. That gap between what the schema seems to promise and what the engine actually enforces is at the heart of the criticism.

The post also points out a subtle risk involving SQLite row IDs. In many common table definitions, an INTEGER PRIMARY KEY becomes an alias for the internal ROWID. Under some conditions, SQLite can reuse old row IDs after rows are deleted. If foreign key checks are off, that behavior can produce a nasty result: a record that once pointed to a deleted user may later appear to point to a completely different user who happens to receive the same ID. That kind of silent mismatch is a double-edged sword. The system still appears to work, so the bug can remain hidden until someone notices incorrect data.

The proposed answer is not simply to flip every default overnight. That would undermine SQLiteโ€™s strong promise of stability, which is one reason so many products rely on it. Instead, the blog suggests an edition model. New projects could opt into a newer edition with safer defaults, while older projects could stay on older behavior until maintainers are ready to migrate. This would give SQLite more room to evolve without pulling the rug out from under existing users. It would also send a clearer signal about which behaviors are considered modern best practice.

There are, of course, trade-offs. More modes can add complexity to documentation, testing, and debugging. Developers may also disagree on which defaults should change and which should remain untouched. Still, the discussion taps into a broader issue across programming tools: how to balance compatibility with correctness. For engineers, the practical lesson is straightforward. Do not assume defaults are safe just because a tool is popular or mature. Read the fine print, check integrity-related settings early, and treat convenience features with caution when they can affect correctness in production.

๐Ÿ’ฌ Discussion

  1. Do you think popular tools should keep old defaults for compatibility, or change them for safety? Why?
  2. Have you ever seen a bug caused by a surprising default setting in a library or platform?
  3. Would an edition system be a good idea only for programming languages, or also for databases and other tools?
  4. How do you usually check whether a toolโ€™s default settings are safe enough for production use?
  5. In your opinion, what is more dangerous: a system that fails loudly or one that continues working with silent mismatches?
์˜ค๋Š˜์˜ ํ•™์Šต ํฌ์ธํŠธ
์ด ์ฃผ์ œ๋Š” ์˜ค๋ž˜๋œ ๊ธฐ๋ณธ๊ฐ’์ด ์‹ค์ œ ์„œ๋น„์Šค์—์„œ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์— ์–ด๋–ค ์œ„ํ—˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”์ง€ ๋ณด์—ฌ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์‹ค๋ฌด์—์„œ๋Š” ๊ธฐ์ˆ ์˜ ๋ช…์„ฑ๋งŒ ๋ฏฟ์ง€ ๋ง๊ณ , ์™ธ๋ž˜ ํ‚ค ๊ฐ™์€ ๋ฌด๊ฒฐ์„ฑ ์„ค์ •๊ณผ ๊ธฐ๋ณธ ๋™์ž‘์„ ์ดˆ๊ธฐ์— ๊ฒ€์ฆํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ํ•˜์œ„ ํ˜ธํ™˜์„ฑ๊ณผ ์•ˆ์ „ํ•œ ๊ธฐ๋ณธ๊ฐ’ ์‚ฌ์ด์˜ ๊ท ํ˜•์„ ์–ด๋–ป๊ฒŒ ์„ค๊ณ„ํ• ์ง€ ๊ณ ๋ฏผํ•˜๋Š” ์‹œ๊ฐ๋„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Tech

9. LeafWiki Keeps Self-Hosted Wikis Simple

๐Ÿ“ Vocabulary

strike a chord/หŒstraษชk ษ™ หˆtสƒษ”rd/phraseto cause people to feel that something is true or familiar
๊ณต๊ฐ์„ ๋ถˆ๋Ÿฌ์ผ์œผํ‚ค๋‹ค
e.g. The product struck a chord with developers who were tired of complex tools.
portability/หŒpษ”r.tฬฌษ™หˆbษชl.ษ™.tฬฌi/nounthe quality of being easy to move or use in different places or systems
์ด์‹์„ฑ, ์ด๋™ ์šฉ์ด์„ฑ
e.g. File portability matters when a team wants to switch tools later.
bloated/หˆbloสŠ.tฬฌษชd/adjectivetoo large and complicated, with unnecessary features
๋ถˆํ•„์š”ํ•˜๊ฒŒ ๋น„๋Œ€ํ•ด์ง„
e.g. Some apps become bloated after adding too many features.
pull off/หˆpสŠl หˆษ”f/phraseto succeed in doing something difficult
ํ•ด๋‚ด๋‹ค, ์„ฑ๊ณต์ ์œผ๋กœ ํ•ด์น˜์šฐ๋‹ค
e.g. It is not easy to pull off a clean design with strong features.
under the hood/หˆสŒn.dษš รฐษ™ หˆhสŠd/phrasein the hidden technical parts of a system
๋‚ด๋ถ€์ ์œผ๋กœ, ๊ธฐ์ˆ ์ ์ธ ๋‚ด๋ถ€ ๊ตฌ์กฐ์—์„œ
e.g. Under the hood, the app uses extra files to support search.
trade-off/หˆtreษชd หŒษ”f/nouna balance where you gain one thing but lose another
์ƒ์ถฉ ๊ด€๊ณ„, ์ ˆ์ถฉ
e.g. There is a trade-off between simplicity and advanced collaboration.
lock-in/หˆlษ‘k หŒษชn/nouna situation where it is hard to leave a product or service
์ข…์†, ๋ฒค๋” ๋ฝ์ธ
e.g. Open file formats can reduce the risk of lock-in.
upfront about/หŒสŒpหˆfrสŒnt ษ™หˆbaสŠt/phraseopen and honest about something from the beginning
~์— ๋Œ€ํ•ด ์ฒ˜์Œ๋ถ€ํ„ฐ ์†”์งํ•œ
e.g. The company was upfront about the limits of the product.
overkill/หˆoสŠ.vษšหŒkษชl/nounmore than is needed for a situation
๊ณผํ•œ ์กฐ์น˜, ์ง€๋‚˜์นจ
e.g. A large enterprise platform may be overkill for a two-person team.
gain traction/หˆษกeษชn หˆtrรฆk.สƒษ™n/phraseto become more popular or accepted
์ฃผ๋ชฉ๋ฐ›๊ธฐ ์‹œ์ž‘ํ•˜๋‹ค, ํƒ„๋ ฅ์„ ๋ฐ›๋‹ค
e.g. The tool could gain traction among engineers who prefer simple systems.

๐Ÿ“– Article

LeafWiki is a self-hosted wiki designed for people who prefer folders and files over a complex web app. According to its website, it runs as a single Go binary and does not require a heavy stack such as Node.js, Redis, or a separate Postgres setup. Page content is stored as Markdown files on disk, so users can read or edit their notes without opening the wiki itself. This approach gives LeafWiki a clear position in the market: it is not trying to be an all-in-one workspace, but a focused tool for documentation, runbooks, tutorials, and team notes.

The idea behind LeafWiki reflects a broader shift in some technical communities. Many small teams, homelab users, and self-hosting fans want tools that are easy to run and easy to back up. In that context, LeafWiki may strike a chord because it keeps content in plain files instead of hiding everything inside a large platform. The site says backup can be as simple as copying a folder, and moving to another tool later should be easier because the pages remain standard Markdown files. For engineers who care about portability and long-term access to their notes, that design can be very appealing.

LeafWiki also tries to offer a modern writing experience without becoming bloated. Its editor shows Markdown and rendered output side by side, with live updates and auto-save. Users can paste images directly, and the app links them automatically. It also supports wikilinks, which will sound familiar to Obsidian users. In practical terms, this means someone can write connected notes quickly while still keeping everything in a readable file structure. For individuals and small teams, that balance between convenience and simplicity is often hard to pull off, so it may be one reason the project is gaining attention.

Under the hood, however, LeafWiki is not only a folder viewer. The source context says page content lives in Markdown files, while metadata such as links, tags, and the search index are stored in lightweight SQLite files next to the content. This hybrid model is a trade-off. On one hand, users keep direct access to their documents, which lowers the risk of lock-in. On the other hand, some advanced features still depend on internal indexing and metadata. Search, backlinks, and automatic link updates when a page is renamed all rely on that supporting layer. It is a practical compromise rather than a pure file-only system.

That focused design also means LeafWiki is upfront about its limits. It is probably not the right fit for companies that need real-time collaborative editing, complex approval workflows, or detailed enterprise permissions. Large organizations often need stronger controls, broader integrations, and more automation than a small, self-hosted wiki can offer. In that sense, LeafWiki knows its scope and stays there. That restraint may actually work in its favor, because many tools lose their way when they try to cover every possible use case and end up becoming difficult to manage.

Looking ahead, LeafWiki is worth watching because it speaks to a wider debate in tech: should every documentation tool grow into a large platform, or is there still room for lean, single-purpose software? Its support for Linux, macOS, Windows, and Raspberry Pi suggests it is aimed at flexible deployment, from personal machines to small internal systems. Features like revision history, link refactoring, diagram rendering, and math support add useful depth without changing the core idea. If the project continues to mature, it could gain traction among engineers who want a wiki that stays out of the way and lets their files remain the center of the system.

In many teams, documentation tools become surprisingly heavy over time. A simple note system can turn into a service that needs several containers, regular maintenance, and a clear backup plan. That extra complexity may be acceptable for large organizations, but it can feel like overkill for a small engineering group. LeafWiki offers a different path by reducing the moving parts. For administrators, fewer components usually mean fewer places where something can break, and that can save time during setup and troubleshooting.

๐Ÿ’ฌ Discussion

  1. Would you prefer a wiki that stores content as plain Markdown files? Why or why not?
  2. In your work, when does a simple tool become too limited, and when does a powerful tool become overkill?
  3. How important are backup and portability when your team chooses a documentation platform?
  4. Do you think real-time collaboration is essential for most engineering documentation, or can teams work well without it?
  5. What kinds of teams or projects would benefit most from a focused self-hosted wiki like LeafWiki?
์˜ค๋Š˜์˜ ํ•™์Šต ํฌ์ธํŠธ
LeafWiki๋Š” ๋ฌธ์„œ๋ฅผ ํ‰๋ฌธ ํŒŒ์ผ ์ค‘์‹ฌ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋ฉด์„œ๋„ ๊ฒ€์ƒ‰, ๋งํฌ ์ถ”์ , ๋ฒ„์ „ ๊ธฐ๋ก ๊ฐ™์€ ์‹ค๋ฌด ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค๋Š” ์ ์—์„œ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. IT ์‹ค๋ฌด์—์„œ๋Š” ๊ธฐ๋Šฅ์˜ ๋งŽ๊ณ  ์ ์Œ๋ณด๋‹ค ์šด์˜ ๋ณต์žก๋„, ๋ฐฑ์—… ์šฉ์ด์„ฑ, ๋„๊ตฌ ์ข…์†์„ฑ ๊ฐ™์€ ์š”์†Œ๊ฐ€ ๋งค์šฐ ์ค‘์š”ํ•˜๋ฏ€๋กœ, ์ด๋Ÿฐ ์„ค๊ณ„ ์„ ํƒ์˜ ์žฅ๋‹จ์ ์„ ์ฝ๊ณ  ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.