본문 바로가기

전체 글

맥 mysql 설치 및 실행 맥에서는 homebrew를 이용하면 mysql 설치는 간단하다. homebrew를 설치해두면 다른 프로그램을 설치할 때도 편리하게 설치하고 삭제할 수 있어서 좋다. 1. mysql 설치 $brew install mysql 2. 보안 설정 root 사용자 비번, 원격접속, test 데이터베이스 등 보안관련 설정한다. $mysql_secure_installation 3. mysql 기동 $brew services start mysql 4. mysql 접속 root 권한자로 접속하고 password는 위 2번에서 설정한 값으로 엔터치면 된다. $mysql -u root -p 5. mysql 종료 $brew services stop mysql * mysql 삭제 방법 brew services stop mysql.. 더보기
PATH, CLASSPATH, BUILDPATH에 대해 path란 운영체제가 사용하는 환경변수 (environment variable) 실행 가능한 파일 또는 자바 바이트 클래스 경로 리눅스, 맥 등 터미널에서 set CLASS_PATH=... 로 설정 가능 echo $'환경변수 이름' 으로 설정된 환경변수 값 확인 가능 echo $CLASS_PATH classpath란 classpath 또한 환경변수로 java compiler가 사용 runtime시 compiler가 클래스파일을 찾는 경로 (정확히는 class loader) JVM이 프로그램을 실행할 때 class를 찾기 위해 사용 terminal에서 javac로 실행 시 디폴트는 현재 경로 참고 OS의 환경변수로 설정한 CLASS_PATH를 참고할 수 있다. (bash_profile, profile,,).. 더보기
[Spring] spring의 application.properties 간단 개념 스프링에서 @value 를 알아보다가 application.properties에 있는 값을 변수에 주입하기 위해 사용한다는 것을 알게 되었다. 그럼 application.properties는 왜 필요할까? 궁금해서 찾아보다가 문뜩 든 생각이, 그럼 코드에 상수로 정의할 수 있는 것들을 왜 application.properties에 정의할까를 궁금해졌다. >> 배포 환경에 따라 여러 properties 파일을 두는 방법이 있다. 그렇게 되면 코드 수정없이 여러 배포환경에 따라 값을 수정할 수 있다는 것을 알게 되었다.  application.properties 이란? application.properties 파일은 런타임 시 다양한 환경에서 동작할 수 있도록 필요한 옵션들을 제공하는데 사용된다. 예를 들자.. 더보기
[Java] 예외 처리 - custom exception custom exception이란 예외 클래스에는 자바에서 미리 정의한 예외 클래스들이 있다. -> 표준 예외 그리고 개발자가 직접 예외 클래스를 정의하여 사용할 수 있는데 이를 custom exception이라고 한다. ( 사용자 정의 예외 ) 비지니스 로직에서 발생가능한 예외를 더 구체적으로 알려주기 위한 목적 참고 링크 https://tecoble.techcourse.co.kr/post/2020-08-17-custom-exception/ https://ssoco.tistory.com/69 custom exception 만드는 팁 설명에 앞서 가능하다면 표준예외를 사용하는 것을 우선 추천한다. 표준예외는 가독성이 좋으며, 충분히 의미 전달이 되며, 메모리 사용량 감소하며, 로딩 시간이 줄어든다. 하지.. 더보기
[Java] 예외처리 시 주의 팁 예외 부분을 공부하다가 외국 사이트에서 예외 처리 시 실수할 수 있는 대표적인 예시들을 설명을 잘 설명되어 있어서 정리하게 되었다. https://stackify.com/common-mistakes-handling-java-exception/ 7 Common Mistakes You Should Avoid When Handling Java Exceptions Handling an exception in Java is one of the most common but not necessarily one of the easiest tasks. Here are several common mistakes you should avoid. stackify.com 1. 구체적인 예외 클래스 사용하기 java.lang.E.. 더보기
[Java] 시간(Time)/날짜(Date) 제공 클래스 및 시간 비교 개발하다가 데이터의 상태값과 시간을 기준으로 상태값이 정상인지 어떻게 찾을지 구글링 중 자바 8부터 제공되는 클래스들을 알게되었다. 원래는 Date나 Calender클래스를 Java 8 이전에는 사용했었다. 그런데 마침 개발환경 Java 버전이 8이라 이번에 사용해보고 블로그에 간단히 정리해보려고 한다 1 종류 1 LocalDateTime 2 LocalDate 3 LocalTime 4 ZonedDateTime 1 ~ 3은 이름에서 알 수 있듯이 시스템 기준 Date / Time 을 말한다. 4 ZonedDateTime은 LocalDateTime + 타임존/시차를 말한다. 따라서 우리나라보다는 미국, 캐나다과 같이 summer time이 있는 국가에 제공되는 서비스를 개발할때 고려하게 되는 부분이라고 생각.. 더보기
다이나믹 프로그래밍 동적프로그래밍이란 동적계획법이라고도 부르는데 문제를 풀기위해 필요한 알고리즘이라기보다 문제를 푸는 방식을 말한다. 동적프로그래밍은 아래와 같은 특성이 있다. 복잡한 문제(complex problem)를 작은 문제(subproblems)로 나눈다. 작은 문제의 해는 복잡한 문제를 풀기위한 부분 해가 된다. 복잡한 문제를 풀기위한 작은 문제들은 자주 등장하기(중복) 때문에 작은 문제가 나타날때 마다 계산할 필요 없이 해를 저장해놨다가 동일한 문제가 나오면 재 활용하여 시간을 절약한다. 그럼 어떤 알고리즘 문제가 나왔을때 이것을 재귀(recursion)로 풀어야할지, 분할 & 정복(divide & conquer)으로 풀어야할지, 그리디 알고리즘(greey algorithm)으로 풀어야할지 아니면 동적프로그래밍.. 더보기
Maven이란? Maven이란? Maven은 지금까지 애플리케이션을 개발하기 위해 반복적으로 진행해왔던 작업들을 지원하기 위하여 등장한 도구입니다. Maven을 사용하면 빌드(Build), 패키징, 문서화, 테스트와 테스트 리포팅, git, 의존성관리, svn등과 같은 형상관리서버와 연동(SCMs), 배포 등의 작업을 손쉽게 할 수 있습니다. Maven을 이해하려면 CoC(Convention over Configuration)라는 단어를 먼저 이해해야 합니다. CoC란 일종의 관습을 말하는데, 예를 들자면 프로그램의 소스파일은 어떤 위치에 있어야 하고, 소스가 컴파일된 파일들은 어떤 위치에 있어야 하고 등을 미리 정해놨다는 것입니다. 이 말은 관습에 이미 익숙한 사용자는 쉽게 Maven을 사용할 수 있는데, 관습에 익숙.. 더보기