본문 바로가기

전체 글158

좋은 코드란 무엇인가? 좋은 코드란 도대체 무엇일까? 검색해봐도 여러가지 기준이 있지만 대표적인 기준을 뽑아보자. 읽기 쉬운 코드 중복이 없는 코드 테스트가 용이한 코드 등등... 을 좋은 코드라고 칭한다고 한다. 주석을 쓰면 읽기 쉬운 코드가 될 수는 있지만 주석이 메타데이터이기 때문에 주석의 내용과 함수의 실제 동작이 일치한다고 보장할 수 없다. 오히려 잘못된 주석이 코드 이해, 수정을 방해할 수도 있다. 읽기 쉬운 코드가 필요한 이유는 팀과의 협업을 위해, 또는 코드를 작성하고 시간이 지나서 다시 코드를 보고 수정해야할 때 용이하게 하기 위함이다. 중복이 없어야 하는 이유도 비슷하게, 코드 수정시 용이함을 위해서이다. 또한 에러 발생시 에러를 찾는 작업도 쉬워질 것이다. 참고 https://github.com/JaeYeo.. 2021. 9. 24.
Intellij - 코드 변경에 따른 자동 import File - Settings - Editor - General - Auto import 순으로 들어가서 Optimize imports on the fly 옵션에 체크해주면 됩니다. 또한 Insert imports on paste 에 Always 옵션을 주면 코드를 복사해왔을때 자동으로 import가 됩니다. 2021. 9. 22.
Spring Boot - 웹 개발 기초 스프링은 세가지 기능을 가지고 있다. 정적 컨텐츠 MVC와 템플릿 엔진 API 정적컨텐츠는 단순히 Controller에서 html파일을 반환해주는 형식이다. MVC와 템플릿 엔진은 Controller에서 return 받은 문자열(ex : hello-template)로 파일을 찾아서 (templates/hello-template.html) 파일에 data를 가공해서 반환해줍니다. 이때 viewResolver가 해당하는 파일에 매핑해주는 역할을 합니다. API는 @ResponseBody 어노테이션을 붙여줘야합니다. 그러면 viewResolver가 아닌 HttpMessageConverter(JsonConverter or StringConverter)가 작동해서 html파일이 아닌 json 형식이나 문자열 형식.. 2021. 9. 22.
Spring Boot - 간단한 프로젝트 만들기 스프링 부트로 프로젝트 만드는 방법은 굉장히 간단합니다. 먼저 프로젝트를 만들기 전에 Java, IDE(Intellij or Eclipse)등을 설치해줍니다. 그리고 스프링 부트 스타터 사이트로 이동해서 스프링 프로젝트를 생성해주면 됩니다. https://start.spring.io 사이트에서 아래 그림과 같이 설정해서 생성해주면 됩니다. src/main/java/{그룹이름}/{프로젝트이름}/{~~Application} 을 실행하고 https://localhost:8080 로 들어가보면 아래 그림과 같이 화이트 라벨 에러페이지가 뜨며 서버가 작동은 했지만, 출력할 화면이 없는 것을 확인할 수 있습니다! 2021. 9. 22.
cin, cout 속도 올리기 C++로 코딩테스트 문제를 해결할 때 큰 크기의 입력 또는 출력을 해야할 때가 있다. 이럴 때는 endl 을 cout 2021. 9. 12.
다른 파라미터를 가진 같은 주소의 API를 만들 수 있는가? 부스트 코스 프로젝트를 진행하던 도중 GET방식 : /api/displayInfos에 categoryId와 start를 인자로 가지는 api와 GET방식 : /api/displayInfos에 productId와 start를 인자로 가지는 api를 만들게 되었다. 이 경우에 이 두가지 api를 동시에 구현하는게 불가능한 것 같은데, 가능한지 의문이다. 일단 나는 같은 주소로써는 어떻게 해결해야할지 모르겠어서 두번째 api의 주소를 /api/comments로 임의 수정해서 구현했다. https://www.boostcourse.org/web326/project/208/content/167#summary https://www.boostcourse.org/web326/project/208/content/167#s.. 2021. 9. 8.
Trouble Shooting - The server time zone value '���ѹα� ǥ�ؽ�' is unrecognized~ MYSQL로 JDBC와 연동할 때 이런 에러가 발생하는 경우가 있다. 이는 mysql-connector-java 이슈라고 한다. 버전에 따라 발생하는 에러인 듯 하다.(버전업시에 발생할 수 있음) JDBC URL에 'serverTimezone=UTC' 인자를 추가해서 해결할 수 있다. 끝 부분에 &를 붙여서 serverTiemzone 인자를 추가한 것을 볼 수 있다. 2021. 9. 8.
21/09/01 코딩은 그지같다. 일주일동안 해결하지 못한 에러가 결국 버젼업으로 해결됐다. 프로젝트내의 뭔가의 버전을 높이면 그에 상응하게 다른 것들의 버전들도 확인해 줄 필요가 있다. 화가 나지만 그래도 해결한 것에 마음이 놓인다. 2021. 9. 1.
이름이 [~~]인, 둘 이상의 fragment들이 발견되었습니다. spring을 통해 프로젝트를 진행하다보면 가끔 이런 에러가 발생할 때가 있다. 문제의 원인은 아직 찾지 못했지만, 다음의 두가지 방법으로 해결할 수 있다고 한다. 해결방법 1. web.xml파일의 밑에 추가 2. maven clean [Run As > Maven Clean] 후 [Run As > Maven install] 제 경우에는 2번은 통하지 않았고, 1번을 통해 해결했습니다. 2021. 8. 30.
21/08/24 프로젝트를 진행하던 도중, controller의 이름을 바꿨더니 왠지 모르지만 에러가 떠서 실행이 안되는 문제가 발생했다. 이름 바꾸는 과정에서 수정하지 못한 코드가 있어서 문제가 있나 싶어서 원래의 이름을 가지고 검색을 해봤는데, 문제를 찾지 못했다. 서버를 실행한 상태에서 코드를 수정해서 문제가 생긴건가 싶어서 서버도 다시키고, 재부팅도 해봤지만 아직 해결하지 못했다. 2021. 8. 24.