목록Development (561)
컴공생의 다이어리
Clean Code(클린 코드)에 대한 서로 다른 시각 클린 코드에 대해서 개개인 혹은 조직별로 서로 다른 시각을 가지고 있다. 아래는 클린 코드에 대한 서로 다른 시각의 일부 예이다. Clean Code란 무엇인가? 클린 코드란 이해하기 쉽고, 변경하기 쉬운 코드이다. 이는 Robert C. Martin이 본인의 저서 에서 정의를 내린 것이다. 사실 클린 코드의 표준이나 엄격한 정의는 존재하지 않는다. 하지만 클린 코드에 대한 공통적인 의견은 아래와 같다. 사람이 읽고 이해하기 쉽다 명확한 한가지 역할을 하며, 이 역할을 의미있게 표현 중복이 없다 테스트 케이스가 존재 중요하지만 Clean Code의 범위에 속하지 않는 것 자료구조/알고리즘 SW의 성능 개선 신뢰성, 안정성을 위한 개발 기법 SW 아키..
Spring Boot @Transactional(readOnly = true) 오류 스프링부트에서 @Transactional annotaion을 사용하면서 option으로 readOnly를 사용하려고 하니 cannot resolve method라는 오류가 나타났다. 이를 해결하기 위해서는 @Transactional을 사용하려고 import하는 과정에서 javax.transaction이 아닌 org.springframework.transaction.annotation을 선택해야 한다. https://byeongyeon.tistory.com/35 스프링 부트 Tranactional(readonly=true) 가 안되는 경우 || option이 안될 경우 >> @Transactional(readOnly = t..
IntelliJ 깃 관련 플러그인 - GitToolBox 인텔리제이에서 유용할게 쓸 수 있는 플러그인 중 뭐가 있을까 하면서 블로그 보다가 GitToolBox라는 플러그인을 찾게 되었다. GitToolBox 플러그인은 협업할 때 쓰면 좋은 플러그인 같다. 뭔가 이상한 코드를 발견했을 때 이거 누가 작성한 코드인가 찾을 때 보통 커밋 히스토리를 뒤져가며 찾아야 하는데 이 플러그인은 코드에 가져다 놓으면 이 코드 라인의 마지막 수정자, 수정일시, 커밋내역이 아래와 같이 표시된다. Settings(Ctrl+Alt+S)에 들어가서 Plugins 탭을 누른 뒤 GitToolBox를 검색하고 Install을 한 뒤, IntelliJ를 재부팅하면 그때부터 GitToolBox의 기능이 바로 적용된다. https://v..
Web server failed to start. Port 8080 was already in use 에러 발생 스프링 부트 프로젝트를 하다가 가끔 'Web server failed to start. Port 8080 was already in use'라는 에러가 발생할 때가 있다. 여기서 포트번호는 각자 프로젝트 설정에 따라 다를 수 있다. 이 에러가 발생하는 경우는 서버를 구동하는데 필요한 포트가 이미 사용중이어서 그렇다. 방금까지 잘 돌아갔는데 이렇게 나오는게 맞나?라고 생각될 수 있지만 우리도 모르게 서버가 정상적으로 종료되지 않아서 에러가 발생할 수도 있다. 아무튼 해결법은 프로세스를 강제로 종료해야 하는데 운영체제 별로 아래와 같이 명령어를 cmd혹은 terminal에서 입력해주면 된다. Wi..
DBeaver(디비버) DB연결 디비버에서 DB를 연결하려면 상단의 데이터베이스 탭에서 새 데이터베이스 연결을 클릭한다. 아래 화면이 나오면 연결하고자 하는 DB를 선택한다. 나는 MariaDB를 사용할 것이라 MariaDB를 선택했다. 나는 로컬 MariaDB를 사용해서 Server Host에 localhost를 넣었지만 aws rds와 같이 원격 DB를 쓰면 그에 해당하는 Server Host를 넣어주면 된다. 그리고 Port 부분에도 해당하는 포트 번호를 넣어준다. 그리고 Database를 특정하는 경우에는 Database칸에 넣어주고 아니면 빈칸으로 두면 된다. Username과 Password에 DB에 접근 가능한 username과 password 넣어주면 된다. 위에서 완료를 클릭한 후 다음과..
DBeaver(디비버)란? 디비버란 SQL 클라이언트이자 데이터베이스 관리 도구이며 아파치 라이선스로 배포되는 자유 오픈 소스 소프트웨어이다. 디비버도 유료 버전도 있긴 하지만 블로그 후기와 개인적으로 사용해보니 개인이 쓰기에 무료 버전도 충분한 것 같다. DBeaver 설치 우선 아래 사이트에 접속해서 자신의 운영체제에 맞게 설치 파일을 다운받는다. 나는 윈도우 운영체제를 쓰고 있어서 Windows 64 bit (installer)를 설치했다. Download | DBeaver Community Download Tested and verified for MS Windows, Linux and Mac OS X. Install: Windows installer – run installer executabl..
Eclipse 모든 인코딩(Encoding) UTF-8 설정 이클립스가 설치된 폴더의 eclipse.ini 파일을 열어서 아래 적힌 한줄을 추가하고 저장해준다. 이클립스가 켜진 상태로 설정을 변경하면 반영이 되지 않기 때문에 종료했다가 다시 실행시켜줘야 한다. -Dfile.encoding=UTF-8 그외에 일일이 설정을 한다면 아래 게시물에서 정말 자세하게 설정되어 있다. 필요한 부분에 적용해서 사용하면 좋을 것 같다. https://java119.tistory.com/5 [Eclipse]모든 인코딩(Encoding) UTF-8 설정하기 IDE(Integrated Development Environment) : Eclipse Juno 4.10.0 이클립스의 기본 템플릿을 열면 EUC-KR로 charset..
Eclipse Authorizing with Eclipse.org 창 자꾸 나올때 이클립스에서 작업하다보니 자꾸 아래와 같은 창이 나왔다. 위의 창이 나오지 않게 하기 위해서 이클립스 상단의 Window 탭에서 Preferences를 클릭한후 아래와 같이 나오면 하단의 동그라미 부분이 있을 텐데 이때, 빨간 동그라미를 클릭하여 아래 사진과 같은 색이 나오면 된다. https://ninearies.tistory.com/244 [알아두면 쓸모있는] Authorizing with Eclipse.org 팝업 발생 문제사항 Window > Preferances 를 들어갔다 나오거나 들어가면 아래와 같은 'Authorizing with Eclipse.org' 팝업창 발생 해결방법 Window > Preference..
MyBatis Like문 사용방법 MyBatis에서 조건절에 Like와 parameter를 아래와 같이 사용하니 오류가 발생했다. content LIKE '%#{search}%' MyBatis에서는 Like문에 파라미터를 사용하기 위해서는 문자열 합치기 함수를 사용하여 이용해야 한다. MySQL, Oracle, MSSQL에서 사용한다면 아래를 참고해서 사용하면 된다. # MySQL/MariaDB content like CONCAT('%',#{search},'%') # Oracle content like '%' || #{search} || '%' # MSSQL content like '%' + #{search} + '%' https://fruitdev.tistory.com/60 MyBatis Like 검색..
3단계 데이터베이스 구조 데이터베이스의 복잡한 내부 구조를 감추고 일반 사용자가 데이터베이스를 쉽게 이해하고 이용할 수 있도록 미국의 표준화 기관인 ANSI/SPARC에서는 3단계 데이터베이스 구조(3-level database architecture)를 제안했다. 3단계 데이터베이스 구조는 하나의 데이터베이스를 외부, 개념, 내부 세 단계로 나눈 것이다. 각 단계 별로 다른 추상화를 제공하면 데이터베이스를 효과적으로 관리할 수 있다. 일반적으로 내부 단계에서 외부 단계로 갈수록 추상화 레벨이 높아진다. 추상화 레벨이 높아진다는 것은 데이터베이스가 실제 어떻게 돌아가는지 관심 없다는 것과 비슷하다. 사용자 관점에서는 내부 시스템을 알 수도 없고 알 필요도 없기 때문이다. 3단계 구조를 통해, 모든 데이터..