소스 코드를 직접 수정할 수 없는 객체를 포함해, Java 객체를 JSON으로 변환하고 다시 객체로 읽어 오는 Java 라이브러리입니다.
duke-git/lancet
lodash에서 영감을 받은, 문자열·슬라이스·날짜/시간·네트워킹·암호화 등을 위한 700개 이상의 재사용 가능한 Go 유틸리티 함수 라이브러리입니다.
- 스타
- 5,300
- 포크
- 518
- 열린 이슈
- 11
- 마지막 커밋
- 9시간 전
어떤 프로젝트인가요?
Lancet은 문자열 조작, 슬라이스와 맵 연산, 날짜/시간 처리, 네트워킹, 암호화 등 흔히 필요한 기능을 제공하는 Go 유틸리티 함수 라이브러리입니다. Java의 Apache Commons와 lodash.js에서 영감을 얻었으며, Go 개발자가 프로젝트마다 같은 함수를 다시 작성하지 않도록 재사용 가능한 헬퍼 모음을 제공하는 것을 목표로 합니다.
버전 2.x는 Go 제네릭을 기반으로 하며 Go 1.18 이상이 필요합니다. 이전 Go 버전에서는 v1.x 계열을 계속 사용할 수 있습니다. 이 라이브러리는 Go 표준 라이브러리와 golang.org/x 패키지에만 의존하며, 모든 exported 함수에 단위 테스트가 포함되어 있습니다.
함수는 strutil, slice, datetime, cryptor, convertor, concurrency 등의 패키지로 구성되어 있습니다. 각 패키지를 별도로 import하므로 필요한 기능만 가져올 수 있습니다.
핵심 기능
- 01문자열, 슬라이스, 날짜/시간, net, crypto 등을 위한 유틸리티 함수 700개 이상을 제공합니다.
- 02v2.x에서 Go 제네릭을 사용해 타입 안전한 헬퍼를 제공합니다.
- 03Go 표준 라이브러리와 golang.org/x에만 의존합니다.
- 04모든 exported 함수에 단위 테스트가 있습니다.
- 05패키지를 기능별로 분리해 필요한 것만 import할 수 있습니다.
활용 사례
- Go 서비스에서 직접 작성한 문자열, 슬라이스, 맵 헬퍼를 대체할 때.
- Go 프로젝트에 날짜 계산이나 월·연도 더하기 기능을 추가할 때.
- AES, RSA, HMAC, SM 계열 알고리즘 등의 일반적인 암호화 헬퍼를 사용할 때.
- fan-in, 채널 파이프라인, 키 기반 잠금과 같은 동시성 패턴을 간소화할 때.
빠른 시작
- 1
go get으로 v2 모듈을 설치하세요
go get github.com/duke-git/lancet/v2 - 2
필요한 패키지를 가져오세요(예: strutil)
import "github.com/duke-git/lancet/v2/strutil"
사용 전 알아둘 점
- v2를 사용하려면 Go 1.18 이상이 필요합니다. 이전 Go 버전에서는 v1 계열을 사용해야 합니다.
토픽
자주 묻는 질문
- lancet은(는) 무엇인가요?
- lodash에서 영감을 받은, 문자열·슬라이스·날짜/시간·네트워킹·암호화 등을 위한 700개 이상의 재사용 가능한 Go 유틸리티 함수 라이브러리입니다. Lancet은 문자열 조작, 슬라이스와 맵 연산, 날짜/시간 처리, 네트워킹, 암호화 등 흔히 필요한 기능을 제공하는 Go 유틸리티 함수 라이브러리입니다. Java의 Apache Commons와 lodash.js에서 영감을 얻었으며, Go 개발자가 프로젝트마다 같은 함수를 다시 작성하지 않도록 재사용 가능한 헬퍼 모음을 제공하는 것을 목표로 합니다.
- lancet은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- lancet은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- lancet은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. lancet의 마지막 커밋은 2026년 10월 24일입니다.
- lancet은(는) 어디에 사용할 수 있나요?
- Go 서비스에서 직접 작성한 문자열, 슬라이스, 맵 헬퍼를 대체할 때. Go 프로젝트에 날짜 계산이나 월·연도 더하기 기능을 추가할 때. AES, RSA, HMAC, SM 계열 알고리즘 등의 일반적인 암호화 헬퍼를 사용할 때. fan-in, 채널 파이프라인, 키 기반 잠금과 같은 동시성 패턴을 간소화할 때.
- lancet는 어떻게 설치하나요?
- go get으로 v2 모듈을 설치하세요: go get github.com/duke-git/lancet/v2 필요한 패키지를 가져오세요(예: strutil): import "github.com/duke-git/lancet/v2/strutil"
- lancet은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/duke-git/lancet
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
비용 기반 퇴출과 TinyLFU 입장 정책을 갖춘, 빠르고 동시성 높은 Go용 메모리 제한 캐시 라이브러리입니다.
Mbstring 확장이 설치되지 않은 환경에서 일부 기능을 대신 제공하는 순수 PHP 폴리필입니다.
wait group, 제한된 풀, 순서가 보장되는 스트림, 패닉 전파를 제공해 구조적 동시성을 더 안전하고 간편하게 구현하는 Go 라이브러리입니다.
바이트 크기, 시간, 숫자, 서수를 사람이 읽기 쉬운 문자열로 바꿔 주는 작고 간편한 Go 포매터 라이브러리입니다.
결제 채널을 관리하고, 결제 경로를 찾으며, gRPC 및 REST API를 제공하는 Lightning Network 노드의 Go 구현체입니다.