diff --git a/profile/README.ko.md b/profile/README.ko.md index 85ac946..71cf1e5 100644 --- a/profile/README.ko.md +++ b/profile/README.ko.md @@ -56,7 +56,7 @@ ai Anthropic Β· OpenAI Β· LangChain Β· pgvector - πŸ“œ **[api-log](https://github.com/devslab-kr/api-log)**  [![Maven Central](https://img.shields.io/maven-central/v/kr.devslab/api-log-core)](https://central.sonatype.com/artifact/kr.devslab/api-log-core) β€” Spring Boot용 이벀트 λ“œλ¦¬λΈ API λ‘œκΉ…, PostgreSQL JSONB μ €μž₯. λ©€ν‹°λͺ¨λ“ˆ ꡬ성: `api-log-core` + μ˜μ†μ„± λ“œλΌμ΄λ²„ (`-jpa`, `-r2dbc`, `-mybatis`) β€” λͺ¨λ‘ 같은 버전 라인. 라이브러리 메이저가 νƒ€κ²Ÿ Spring Boot 메이저와 일치 ([버전 μ •μ±…](https://github.com/devslab-kr/.github/blob/main/.github/VERSIONING.md#ν•œκ΅­μ–΄) μ°Έμ‘°). - 🧰 **[devslab-kit](https://github.com/devslab-kr/devslab-kit)**  [![Maven Central](https://img.shields.io/maven-central/v/kr.devslab/devslab-kit-spring-boot-starter)](https://central.sonatype.com/artifact/kr.devslab/devslab-kit-spring-boot-starter) β€” 인증, RBAC+κ·Έλ£Ή+ABAC, λ©€ν‹°ν…Œλ„Œμ‹œ, 동적 메뉴, 감사 λ‘œκΉ…, ν™˜κ²½ κ°„ μ„€μ • 동기화, κ΄€λ¦¬μž REST APIλ₯Ό μžλ™ κ΅¬μ„±μœΌλ‘œ μ œκ³΅ν•˜λŠ” Spring Boot 4 ν”Œλž«νΌ μŠ€νƒ€ν„°. 전체 λ¬Έμ„œλŠ” [devslab-kit.devslab.kr](https://devslab-kit.devslab.kr). - πŸ”Œ **[datalinq](https://github.com/devslab-kr/datalinq)**  [![Release](https://img.shields.io/github/v/release/devslab-kr/datalinq)](https://github.com/devslab-kr/datalinq/releases/latest) β€” [TamboUI](https://github.com/tamboui/tamboui) 기반의 κ΄€λ‘€ 주도 ν¬λ‘œμŠ€λ²€λ” JDBC **데이터 λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ TUI**: `sql/` 에 ν΄λ”λ§Œ 떨ꡬ면 메뉴가 λ©λ‹ˆλ‹€. SQL Server / MariaDB-MySQL / PostgreSQL λ²ˆλ“€(Oracle / H2 / SQLite λŠ” `driver` ν•œ 쀄 λ‹€μš΄λ‘œλ“œ), ETL / SCRIPT / μ»€μŠ€ν…€ HANDLER μž‘μ—…, **κΈ°λ³Έ dry-run**. λΌμ΄λΈŒλŸ¬λ¦¬κ°€ μ•„λ‹Œ 독립 μ‹€ν–‰ CLI 도ꡬ β€” [jbang](https://www.jbang.dev/) 으둜 μ„€μΉ˜: `jbang app install datalinq@devslab-kr/datalinq`. -- ⌨️ **[kokey](https://github.com/devslab-kr/kokey)**  [![npm](https://img.shields.io/npm/v/kokey)](https://www.npmjs.com/package/kokey) β€” ν•œβ†”μ˜ 자판 λ³€ν™˜ (λ‘λ²Œμ‹ ↔ QWERTY). `koToEn`은 ν•œκΈ€μ„ κ·Έ ν•œκΈ€μ„ λ§Œλ“  QWERTY ν‚€ μ‹œν€€μŠ€λ‘œ λΆ„ν•΄, `enToKo`λŠ” ν‚€ μž…λ ₯을 μ™„μ „ν•œ IME μ˜€ν† λ§ˆνƒ€(κ²Ήλͺ¨μŒ/κ²Ήλ°›μΉ¨, λ°›μΉ¨ λ„˜κΉ€)둜 ν•œκΈ€ μ‘°ν•©. Zero-dependency TypeScript, ESM/CJS λ“€μ–Ό. ν•œκΈ€ IMEκ°€ μΌœμ§„ 채 λ“€μ–΄μ˜¨ λ°”μ½”λ“œ μŠ€μΊλ„ˆ μž…λ ₯을 λ³΅μ›ν•˜λ‹€ νƒœμ–΄λ‚œ 라이브러리. +- ⌨️ **[kokey](https://github.com/devslab-kr/kokey)**  [![npm](https://img.shields.io/npm/v/%40devslab%2Fkokey)](https://www.npmjs.com/package/@devslab/kokey) β€” ν•œβ†”μ˜ 자판 λ³€ν™˜ (λ‘λ²Œμ‹ ↔ QWERTY). `koToEn`은 ν•œκΈ€μ„ κ·Έ ν•œκΈ€μ„ λ§Œλ“  QWERTY ν‚€ μ‹œν€€μŠ€λ‘œ λΆ„ν•΄, `enToKo`λŠ” ν‚€ μž…λ ₯을 μ™„μ „ν•œ IME μ˜€ν† λ§ˆνƒ€(κ²Ήλͺ¨μŒ/κ²Ήλ°›μΉ¨, λ°›μΉ¨ λ„˜κΉ€)둜 ν•œκΈ€ μ‘°ν•©. Zero-dependency TypeScript, ESM/CJS λ“€μ–Ό. ν•œκΈ€ IMEκ°€ μΌœμ§„ 채 λ“€μ–΄μ˜¨ λ°”μ½”λ“œ μŠ€μΊλ„ˆ μž…λ ₯을 λ³΅μ›ν•˜λ‹€ νƒœμ–΄λ‚œ 라이브러리. - πŸ§ͺ **[devslab-examples](https://github.com/devslab-kr/devslab-examples)** β€” μœ„ 라이브러리 λͺ¨λ“  λͺ¨λ“ˆμ˜ μ‹€ν–‰ κ°€λŠ₯ν•œ Spring Boot 데λͺ¨ 19개 (easy-paging SB4 4개 + easy-paging SB3 maintenance 4개 + ssrf-guard 8개 β€” HTTP ν΄λΌμ΄μ–ΈνŠΈ, LLM ν”„λ ˆμž„μ›Œν¬, GraalVM λ„€μ΄ν‹°λΈŒ 이미지 μ „λ°˜ + api-log μ˜μ† λ°±μ—”λ“œ 3개 β€” JPA / R2DBC / MyBatis), 이쀑언어 README. Clone, `./gradlew bootRun`, curl. 슀λͺ¨ν¬ ν…ŒμŠ€νŠΈ 포함. ``` diff --git a/profile/README.md b/profile/README.md index f74d341..20d6a20 100644 --- a/profile/README.md +++ b/profile/README.md @@ -57,7 +57,7 @@ Battle-tested in our own SaaS first, then shared with the community β€” Spring B - πŸ“œ **[api-log](https://github.com/devslab-kr/api-log)**  [![Maven Central](https://img.shields.io/maven-central/v/kr.devslab/api-log-core)](https://central.sonatype.com/artifact/kr.devslab/api-log-core) β€” Event-driven API logging for Spring Boot, PostgreSQL JSONB storage. Multi-module: `api-log-core` plus persistence drivers (`-jpa`, `-r2dbc`, `-mybatis`) β€” all on the same version line. Library major matches the Spring Boot major it targets (see [versioning policy](https://github.com/devslab-kr/.github/blob/main/.github/VERSIONING.md)). - 🧰 **[devslab-kit](https://github.com/devslab-kr/devslab-kit)**  [![Maven Central](https://img.shields.io/maven-central/v/kr.devslab/devslab-kit-spring-boot-starter)](https://central.sonatype.com/artifact/kr.devslab/devslab-kit-spring-boot-starter) β€” Spring Boot 4 platform starter β€” authentication, RBAC + groups + ABAC, multi-tenancy, dynamic menus, audit logging, config sync across environments, and an admin REST API, all from auto-configuration. Full docs at [devslab-kit.devslab.kr](https://devslab-kit.devslab.kr). - πŸ”Œ **[datalinq](https://github.com/devslab-kr/datalinq)**  [![Release](https://img.shields.io/github/v/release/devslab-kr/datalinq)](https://github.com/devslab-kr/datalinq/releases/latest) β€” Convention-driven, cross-vendor JDBC **data-migration TUI** built on [TamboUI](https://github.com/tamboui/tamboui): drop a folder under `sql/`, get a menu. SQL Server / MariaDB-MySQL / PostgreSQL bundled (Oracle / H2 / SQLite one `driver` download away); ETL / SCRIPT / custom HANDLER operations, **dry-run by default**. A standalone CLI tool (not a Maven library) β€” install with [jbang](https://www.jbang.dev/): `jbang app install datalinq@devslab-kr/datalinq`. -- ⌨️ **[kokey](https://github.com/devslab-kr/kokey)**  [![npm](https://img.shields.io/npm/v/kokey)](https://www.npmjs.com/package/kokey) β€” Korean ↔ English keyboard layout converter (Dubeolsik ↔ QWERTY). `koToEn` decomposes Hangul back into the QWERTY keystrokes that produced it; `enToKo` re-composes keystrokes into Hangul via a full IME automaton (compound vowels/finals, final-consonant carry-over). Zero-dependency TypeScript, ESM/CJS dual. Born from rescuing barcode-scanner input typed while the Korean IME was on. +- ⌨️ **[kokey](https://github.com/devslab-kr/kokey)**  [![npm](https://img.shields.io/npm/v/%40devslab%2Fkokey)](https://www.npmjs.com/package/@devslab/kokey) β€” Korean ↔ English keyboard layout converter (Dubeolsik ↔ QWERTY). `koToEn` decomposes Hangul back into the QWERTY keystrokes that produced it; `enToKo` re-composes keystrokes into Hangul via a full IME automaton (compound vowels/finals, final-consonant carry-over). Zero-dependency TypeScript, ESM/CJS dual. Born from rescuing barcode-scanner input typed while the Korean IME was on. - πŸ§ͺ **[devslab-examples](https://github.com/devslab-kr/devslab-examples)** β€” Runnable Spring Boot demos for every library above (19 demos: 4 easy-paging SB4 + 4 easy-paging SB3 maintenance + 8 ssrf-guard across HTTP clients, LLM frameworks, and GraalVM native-image + 3 api-log persistence backends β€” JPA / R2DBC / MyBatis; bilingual READMEs). Clone, `./gradlew bootRun`, curl. Smoke tests included. ```