본문 바로가기

전체글110

파일마다 EOL(EndOfLine) 넣어야 하는 이유는 무엇일까? 목차개요EoL은 무엇인가?파일 마지막게 개행을 왜 해야할까?IDE 설정으로 해결하기.editorconfig 파일로 해결하기결론1. 개요프로젝트 진행중에 코드리뷰를 받았던 내용 중 다음과 같이 EoL을 설정해주는게 좋다는 리뷰를 받았다.예전부터 파일마다 개행을 넣어야 한다고는 들었으나, ‘왜 넣어야 하는지?’ 에 대한 의문만 가지고 관행적으로 넣었었다.이번 기회를 통해 무심하게 생각했던 내용에 대해서 정리해보려고 한다.2. EoL은 무엇인가?EOL(End Of Line)은 “줄의 끝” 이라는 의미로 주로 프로그래밍 파일 형식에서 운영 체제에 따라 서로 다른 방식으로 표현되어진다.3. 파일 마지막게 개행을 왜 해야할까?이유는 POSIX 기반의 규칙에 기반한다. 많은 프로그램이 이 규칙에 따라 구현되어 있으면.. 2024. 11. 29.
[IntelliJ] 자바 구글 코딩 컨벤션 적용하기 목차개요Google Java Style Guide 적용하기결론1. 개요여러 사람들과 효율적인 유지보수와 협업을 가능하기 위해 많은 프로젝트에서는 코딩 컨벤션을 적용한다.코드의 일관적인 스타일을 유지하면서 누구든지 쉽게 이해할 수 있도록 가독성이 향상된다. 그래서, 이번에는 IntelliJ에서 자바 구글 코딩 컨벤션을 적용해보려고 한다.2. Google Java Style Guide 적용하기https://google.github.io/styleguide/javaguide.html적용하기전, 먼저 위 링크에 들어가 코딩컨벤션이 어떻게 이루어져 있는지 확인해보면 좋을 것이다.https://github.com/google/styleguide위 링크에서 intellij-java-google-style.xml 을 .. 2024. 11. 25.
Github 저장소에 Repository Rule 제약하기 목차개요저장소 규칙(Repository Rules)결론1. 개요23년 7월에 Github 저장소에 적용할 수 있는 저장소 규칙 기능(Repository Rule)을 정식으로 공개했다.Repository를 혼자만 사용하면 규칙을 스스로 정해서 사용하면 되겠지만, 여러 사람과 협업하기 위해선 저장소 룰을 정해서 사용하면 관리하기 용이해진다.나는 간단히 저장소에 특정 인원 수 이상에게 Approve를 받아야 Merge가 가능하도록 규칙을 만들려고 한다.차근차근 하나씩 시작해보자.2. 저장소 규칙(Repository Rules)Repository의 Settings 메뉴에서 하위에 Rulesets라는 메뉴를 볼 수 있다. New ruleset을 이용해 새로운 branch ruleset을 등록해준다.Ruleset .. 2024. 11. 22.
[JSCODE] 모의면접 스터디 회고 스터디 참여 계기okky를 둘러 보다가 재밌는 스터디 모집 글이 올라 온 것을 확인했다. ‘CS 면접 대비 스터디 모집’이라는 제목이 눈에 들어 왔고 글을 읽어보는데 체계적이고 스터디가 꾸준히 이어와 기수가 존재한 것으로 보였다.모의면접 스터디 과목은 총 4개였으며 아래와 같다.컴퓨터 네트워크 7기데이터베이스 6기운영체제 5기자바 1기나는 이중에서 자바를 선택하였고 자바는 신설된 스터디 같았다. CS 공부를 평소에도 자주 해왔지만 오래된 내용도 있고 정리를 하고도 입밖으로 얘기를 많이 해본적은 없었다.그래서 내 머리속에 있는 자바의 지식도 정리하고 타인에게 말하면서 면접연습을 하기 위해 스터디를 신청했다. 학습 효율성 피라미드를 보면 서로 설명해주면서 학습하는 것이 효과가 좋다는 것을 알 수 있다.아래 .. 2024. 9. 15.
[IntelliJ] git 에서 CRLF 개행 문자 차이로 인한 문제 해결하기 목차개요문제의 원인Git의 core.autocrlf 설정추천 방안1. 개요잘 사용하던 IntelliJ 프로젝트 초기 커밋을 하던 중 위와 같은 노란 경고창이 떴다.최근에 업데이트를 진행했었기에 무슨 문제인가 싶었다. 처음엔 안뜨던 warning이 갑자기 떠서 당황스러웠지만, 천천히 읽어보니 Git에서 라인 끝 설정과 관련된 문제를 경고하고 있었다. 이를 이해하고 해결한 방법에 대해 차근차근 알아보자.2. 문제의 원인여러 운영체제에서 작업하다 보면, 같은 프로젝트에서 다른 파일이 CRLF와 LF로 혼용되어 커밋될 수 있다. 이는 팀원 간에 줄 끝 문자로 인해 불필요한 변경이 발생하게 만들거나, 스크립트나 프로그램이 예상치 못한 동작을 하게 만들 수도 있다. CRLF와 LF의 차이CRLF: 윈도우에서는 줄 .. 2024. 8. 22.
JPA를 사용하는 이유가 무엇일까? 목차개요순수 JDBCSQL Mapper(JdbcTemplate, Mybatis)JPA(Java Persitence Api)Jdbc vs SQL Mapper vs JPAJPA가 무조건 좋을까?결론1. 개요현재 많은 개발자들이 JPA를 사용하지만 JPA를 사용하는 이유와 장단점에 대해 정리해보려고 한다.먼저 코드를 통해서 눈에 띄는 차이를 살펴보자.2. 순수 JDBC과거에는 객체를 데이터베이스 저장 하려면 위와 같이 복잡한 JDBC API와 SQL을 한땀 한땀 작성해야 했다.3. SQL Mapper(JdbcTemplate, Mybatis)JdbcTemplate이나 Mybatis 같은 SQL Mapper가 등장하면서 위와 같이 개발 코드가 줄었지만 개발자가 SQL을 작성해야 하는 것은 변하지 않았다.4. JP.. 2024. 8. 7.