Search results

0
0
0
0

๐Ÿš€ ์ƒˆ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ: hwplibsharp๋ฅผ ๊ณต๊ฐœํ•ฉ๋‹ˆ๋‹ค!

.NET์—์„œ HWP ํŒŒ์ผ์„ ๋‹ค๋ฃจ๊ณ  ์‹ถ์—ˆ๋˜ ์  ์žˆ์œผ์‹ ๊ฐ€์š”? ์ €๋„ ๊ทธ๋žฌ์Šต๋‹ˆ๋‹ค.

์ง€๋‚œ 3์ฃผ๊ฐ„ Java ๊ธฐ๋ฐ˜ hwplib๋ฅผ .NET์œผ๋กœ ์™„์ „ํžˆ ํฌํŒ…ํ–ˆ์Šต๋‹ˆ๋‹ค.

641๊ฐœ ํŒŒ์ผ, 50,000์ค„ ์ด์ƒ์˜ ์ฝ”๋“œ, 54๋ฒˆ์˜ ์ปค๋ฐ‹์œผ๋กœ .NET Standard 2.0, .NET Framework 4.7.2, .NET 8 ์ด์ƒ์„ ์ง€์›ํ•˜๋ฉฐ, ํฌ๋กœ์Šค ํ”Œ๋žซํผ (Windows, macOS, Linux)๊นŒ์ง€ ๊ณ ๋ คํ•œ ๊ฒƒ์ด ํŠน์ง•์ž…๋‹ˆ๋‹ค.

AI ์ฝ”๋”ฉ ์–ด์‹œ์Šคํ„ดํŠธ์™€ Visual Studio 2026์˜ ์—์ด์ „ํŠธ ๊ธฐ๋ฐ˜ ๋””๋ฒ„๊ฑฐ ๋•๋ถ„์— ํ˜ผ์ž์„œ๋Š” ์—„๋‘๋„ ๋ชป ๋ƒˆ์„ ๊ทœ๋ชจ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ 3์ฃผ ๋งŒ์— ์™„๋ฃŒํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

ํŠนํžˆ VS 2026์˜ ๋””๋ฒ„๊ฑฐ๊ฐ€ ์Šค์Šค๋กœ ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ๋ฅผ ์„ค์ •ํ•˜๊ณ , ๋ณ€์ˆ˜๋ฅผ ์ถ”์ ํ•˜๋ฉฐ, ๋ฌธ์ œ์˜ ๊ทผ๋ณธ ์›์ธ์„ ์ฐพ์•„์ฃผ๋Š” ๊ฒฝํ—˜์€ ์‹œ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž์™€ ํŽ˜์–ด ๋””๋ฒ„๊น…ํ•˜๋Š” ๋А๋‚Œ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ํ”„๋กœ์ ํŠธ๋Š” neolord0(๋ฐ•์„ฑ๊ท )๋‹˜์˜ hwplib๊ฐ€ ์—†์—ˆ๋‹ค๋ฉด ๋ถˆ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜คํ”ˆ์†Œ์Šค ์ƒํƒœ๊ณ„๋Š” ์ด๋ ‡๊ฒŒ ์„œ๋กœ์˜ ์–ด๊นจ ์œ„์— ์„œ์„œ ์„ฑ์žฅํ•ฉ๋‹ˆ๋‹ค.

https://devwrite.ai/ko/posts/hwplibsharp-dev-journey/

Java hwplib์„ .NET์œผ๋กœ ์ด์‹ํ•˜๊ธฐ: AI์™€ ํ•จ๊ป˜ํ•œ ์˜คํ”ˆ์†Œ์Šค ํฌํŒ… ์—ฌ์ •

์‹œ์ž‘์€ ๋‹จ์ˆœํ•œ ํ˜ธ๊ธฐ์‹ฌ์—์„œ โ€œํ•œ๊ธ€ ํŒŒ์ผ์„ .NET์—์„œ ์ง์ ‘ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹๊ฒ ๋Š”๋ฐโ€ฆโ€ ์ด๋Ÿฐ ์ƒ๊ฐ์„ ํ•œ .NET ๊ฐœ๋ฐœ์ž๊ฐ€ ์ €๋งŒ์€ ์•„๋‹ ๊ฒƒ์ž…๋‹ˆ๋‹ค. HWP ํŒŒ์ผ์€ ํ•œ๊ตญ์—์„œ ๊ณต๊ณต๊ธฐ๊ด€์„ ์ค‘์‹ฌ์œผ๋กœ ์—ฌ์ „ํžˆ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋ฌธ์„œ ํ˜•์‹์ด์ง€๋งŒ, .NET ์ƒํƒœ๊ณ„์—์„œ๋Š” ์ด๋ฅผ ์ œ๋Œ€๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋งˆ๋•…์น˜ ์•Š์•˜์Šต๋‹ˆ๋‹ค. .NET์—์„œ๋Š” ๊ทธ๋™์•ˆ HWP ํŒŒ์ผ์„ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด์„œ, Windows OS ํ•œ์ •์œผ๋กœ ์•„๋ž˜์•„ํ•œ๊ธ€์„ ์„ค์น˜ํ•˜๋ฉด ๊ฐ™์ด ๋”ฐ๋ผ์˜ค๋Š” HWP ActiveX ์ปจํŠธ๋กค์˜ COM ํƒ€์ž… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ถˆ๋Ÿฌ์™€์„œ ์ œ์–ดํ•˜๋Š” ๊ฒƒ ์ •๋„๋งŒ ๊ฒจ์šฐ ๋‹ค๋ฃจ์–ด์ง€๊ณ  ์žˆ์—ˆ์„ ๋ฟ์ด์—ˆ์ง€๋งŒ, ์•ˆํƒ€๊น๊ฒŒ๋„ ์ด ๋งˆ์ €๋„ ์ง€์›์ด ์ค‘๋‹จ๋˜๋ฉด์„œ ์ง€๊ธˆ์€ ๊ธธ์ด ๋ง‰ํžŒ ์ƒํƒœ์ฃ !

devwrite.ai ยท /dev/write

5

Making progress in implementing a full terminal UI with a SwiftUI like syntax and easy bindings (no dependency properties!). It supports console resize, mouse, hover, tab, focus, clipboard copy/paste and more! ๐Ÿš€

Still a long way to go but it is already very cool! โœจ

A screenshot of an upcoming XenoAtom.Terminal.UI
0

Heya! I just released XenoAtom.Terminal github.com/XenoAtom/XenoAtom.T, a modern replacement for System.Console for .NET CLI/TUI apps. ๐ŸŽ‰

It keeps a familiar Console-like feel, but adds the terminal-native stuff System.Console doesn't cover well: ANSI/VT styling + markup, unified async input events (keys/resize/mouse/paste), restore-on-dispose scopes (raw/cbreak, alternate screen, hide cursorโ€ฆ), clipboard, a rich ReadLine editor, & testable backends, built on top of XenoAtom.Ansi โœจ

1

This is an unexpected bug in my code. I didn't realize that C#'s nullish operator isn't a null chaining operator.

In JavaScript, this code is correct:

(colorChip?.ranks.Length ?? 0)

In C# it's wrong, since it evaluates to

((colorChip?.ranks).Length ?? 0)

Instead of nulling out the whole chain. Thus here, if `colorChip` is null, I get a null pointer error.

I can't understand why C# uses this approach. I don't see a situation in which it's beneficial.

0

Hey Mastodon! Here's a very late .

I'm Josh - a software engineer and senior architect working in the more "traditional" finance industry (meaning *not crypto*).

I've shipped code in , , , , , and , but these days I mostly spend my time helping other folks get stuff shipped.

I play games, read a lot, and occasionally write and release half-baked open-source software. I am deeply jealous of people who can draw or paint.

0