본문 바로가기

전체 글36

grep 주어진 입력으로부터, 인자로 받은 문자열이 존재하는지 찾는 명령어 기본 사용방법은 다음과 같다:grep [OPTION]... patterns [FILE]... 아래와 같이 사용하면, test1.txt와 test2.txt에서 test 문자열을 포함하는 줄을 출력한다.grep test test1.txt test2.txt 기본적으로 정규표현식을 사용한다. 다음 명령어는 test 문자열로 시작하는 줄을 출력한다.grep ^test test1.txt 다음과 같은 옵션이 존재한다.더 많은 옵션은 --help 명령어로 확인할 수 있다. -c, --count결과의 개수를 반환한다. --color[=WHEN], --colour[=WHEN]결과에 색을 입힌다. 'always', 'never', 'auto' 중 하나를 쓰면.. 2025. 8. 24.
2025년 7월 독서 및 리뷰 - A Tour Of C++ 3rd Edition그동안 야매로 C++을 배웠어서, 문법과 특징을 제대로 익혀보기 위해 책을 펼쳤다.virtual, vtbl, =0, =delete 등 C++에서 다형성을 구성하는 방식 등을 알 수 있었다.템플릿을 활용한 프로그래밍을 많이 지원하고 있다는 것을 알게 됐다. 컴파일 타임에 연산을 수행한다던지, concept나 requires를 활용해서 복잡한 타입 검사를 수행하는 등 템플릿 관련 기능을 밀어주고 있음을 알게 됐다.그 밖에도 rvalue, 이동, RAII, 스마트 포인터, 뮤텍스, 멀티쓰레딩 등등 상당히 많은 내용들이 들어 있었다.한 번에 책의 모든 내용을 소화하지는 못했고, 몇 번 더 읽어봐야 할 것 같다. - 가장 빨리 만나는 Go 언어역시 야매로 배운 Go.. 2025. 8. 3.
gradlew 명령어 알아보기 gradlew를 기반으로 gradle을 조작할 수 있다. 윈도우 환경에서는 gradlew.bat을 이용하여 이를 활용할 수 있다.가장 자주 사용되는 명령어 위주로 정리하였다. gradlewgradlew에 대해 간략한 소개 문구가 나온다. gradlew --helpgradlew에서 적용할 수 있는 옵션들을 나열한다. gradlew help --task [task]특정 태스크에 대한 설명과 가용한 옵션을 나열한다. gradlew tasksgradle에서 실행 가능한 태스크들을 확인할 수 있다. 적용한 플러그인에 따라 사용 가능한 명령어들이 추가된다. gradlew bootRun스프링부트를 실행한다. gradlew bootTestRun테스트 환경으로 스프링부트를 실행한다. gradlew bootBuildIm.. 2025. 8. 3.
fzf 소개 및 간략한 사용법 문자열 fuzzy search를 활용한 오픈소스 리눅스 커맨드. 여러 기여를 통해 다양한 기능들이 추가되었다. 아래 깃허브 리포지토리에서 소스코드를 확인할 수 있다.https://github.com/junegunn/fzf GitHub - junegunn/fzf: :cherry_blossom: A command-line fuzzy finder:cherry_blossom: A command-line fuzzy finder. Contribute to junegunn/fzf development by creating an account on GitHub.github.com 윈도우에서 `winget install fzf`, 우분투에서 `sudo apt install fzf` 등으로 설치할 수 있다.타 운영체제에서.. 2025. 7. 17.
JSpecify와 스프링 프레임워크 7에서의 적용 tl;dr스프링 프레임워크 7부터, null 체크 시 JSR-305를 더 이상 사용하지 않고 JSpecify를 사용하게 된다.7.0.0 스냅샷 Documentation에서 마이그레이션 가이드를 확인할 수 있다. JSpecify는, 해당 스택 오버플로우 질문과 같이, 자바에서 null check를 위해 사용하는 어노테이션이 뿔뿔이 흩어져 있어, null check의 표준이 되고자 만들어졌다. JSpeify는 명세로, 어노테이션만을 제공하고 있으며, 각 어노테이션이 어떤 방식으로 활용되어야 하는지에 대한 설명이 이루어져 있다. 스프링 프레임워크 7부터, null 체크 시 JSR-305를 더 이상 사용하지 않고 JSpecify를 사용하게 된다. `@NonNull`, `@Nullable`은 리턴 값, 파라미터,.. 2025. 7. 12.
Jakarta EE의 구현체들을 알아보자 구현체들은 documentation에 설명과 사용설명서가 잘 정리되어 있어, 읽어보면 좋다.명세가 아닌 사용설명서로써, 어떤 기능을 구현해야 하느냐보단, 이게 무엇이고 어떻게 사용하는 것인지에 대한 설명이 주가 되어서 읽기 좋다. 하이버네이트 https://hibernate.org/JPA 구현체인 Hibernate ORM으로 가장 유명한 구현체이다.JPA 말고도 Validator와 같은 타 명세도 구현하고 있다.Wildfly에서 해당 구현체를 사용하고 있으며, 레드햇 산하 JBoss가 해당 프로젝트를 관리하고 있다.2024년 9월 Jakarta EE 11에서 제시된 명세인 Jakarta Data도 구현해뒀다. (Hibenate Data Repositories)`@Entity`, `@Column` 외 기타.. 2025. 7. 1.