본문 바로가기

전체 글

(47)
Clean Code - 1주차 스터디 후기 깨끗한 코드 보이스카우트 규칙 : 후임들을 위한 코드를 작성하자. 의미있는 이름 검색하기 쉬운 이름을 사용하라 String Name -> studyName int Age -> dogsAge String Memo -> refundMemo 재귀 함수 속 의미 없는 (int i= 0)들 의미 있게 작명하기 - 뜬금없는 if 문 속 조건 등장으로 코드를 읽고 있는 상대를 미궁에 빠뜨리지 말자 ex( if(i == 1) ) 함수 함수를 작게만드는 이유 - 1. 오류 발견이 쉬움 - 2. 테스트 용이 - 3. 유지보수 시 코드 변경 및 수정 편이 주석 앞으로 쓸 일 없는 코드는 주석 하지 말고 거침없이 삭제하자
Clean Code - 1주차 이번 주 목차 1장 깨끗한 코드 2장 의미 있는 이름 3장 함수 4장 주석 책 선정 이유 - 좋은 코드란 무엇일까? 왜 다들 클린 코드를 추천할까? -> 읽어봐야겠다. 깨끗한 코드란 무엇인가? 위의 목차를 읽고 깨끗한 코드가 무엇인지 요약을 한다면 나는 "읽기 쉬운 코드"라고 요약하고 싶다. 책의 나온 내용에 덧붙이면 한 번에 이해 가능한 변수 이름, 복잡하지 않은 단순한 함수, 잘 정리된 클래스이다. 나는 그동안 변수 이름을 잘 짓지도 못했고, 단순한 길도 돌고 돌아간 적도 많았고, 반복한 적도 있었다. 하지만 이제는 로버트 c.마틴(클린 코드의 저자)에게 많은 잔소리를 들었기에 읽기 쉬운 코드로 작성하게 노력할 것이다. 읽다 보니 아래와 같은 구절이 있었다. 주변 코드가 읽기 쉬우면 새 코드를 짜기도..
[TOMCAT] 프로젝트 실행중 오류 1. 프로젝트 Clean 2. 톰캣 Clean 3. 톰캣 모듈 확인 나의 경우엔 3번의 Path와 프로젝트가 제대로 매칭되지 않아 생기는 오류였다. 5월 03, 2021 11:45:33 오전 org.apache.catalina.startup.Catalina start 심각: 필수 항목인 서버 구성요소가 제대로 시작되지 못하여, Tomcat이 시작될 수 없습니다. org.apache.catalina.LifecycleException: 자식 컨테이너를 시작 중 실패했습니다. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:928) at org.apache.catalina.core.StandardEngine.startInte..
[MYSQL] Crontab으로 migration 작업 중 생긴 중복 오류 com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '@@@@@@-@@@@' for key 'PRIMARY' at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) a..
3주차 과제: 연산자 목표 자바가 제공하는 다양한 연산자를 학습하세요. 학습할 것 산술 연산자 비트 연산자 관계 연산자 논리 연산자 instanceof assignment(=) operator 화살표(->) 연산자 3항 연산자 연산자 우선 순위 (optional) Java 13. switch 연산자 1. 산술 연산자 연산자 설명 피연산자 수 결과값 + 합 이항 숫자 - 차 이항 숫자 * 곱 이항 숫자 / 나눈 몫 이항 숫자 % 나눈 나머지 이항 숫자 2. 비트 연산자 연산자 설명 피연산자 수 결과값 입력 결과 & AND 이항 숫자, boolean 1 1 0 0 1 0 1 0 1 0 0 0 | OR 이항 숫자, boolean 1 1 0 0 1 0 1 0 1 1 1 0 ^ XOR 이항 숫자, boolean 1 1 0 0 1 0 ..
2주차 과제: 자바 데이터 타입, 변수 그리고 배열 목표 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다. 학습할 것 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 및 초기화하는 방법 변수의 스코프와 라이프타임 타입 변환, 캐스팅 그리고 타입 프로모션 1차 및 2차 배열 선언하기 타입 추론, var 1. 프리미티브 타입 종류와 값의 범위 그리고 기본 값 TYPE 프리미티브타입 메모리 크기 기본값 값의 범위 수치 타입 정수형 byte 1 byte 0 -128 ~ 127 short 2 byte 0 -32,768 ~ 32.767 int 4 byte 0 -2,147,483,648 ~ 2,147,483,647 long 8 byte 0L -9,223,372,036,854,775,808 ~ 9..
1주차 과제: JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가. 목표 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기. 학습할 것 JVM이란 무엇인가 컴파일 하는 방법 실행하는 방법 바이트코드란 무엇인가 JIT 컴파일러란 무엇이며 어떻게 동작하는지 JVM 구성 요소 JDK와 JRE의 차이 1. JVM이란 무엇인가 - Java Virtual Machine의 약자를 따서 자바 가상 머신을 줄여 부르는 용어이다. - 자바바이트코드를 OS에 맞게 변환해준다. 여기서 가상 머신이란 프로그램을 실행하기 위해 소프트웨어로 물리적 머신과 유사한 머신을 구현한 것이다. 2. 컴파일 하는 방법 - 메모장으로 .java 파일 생성 - cmd 커멘드로 해당 폴더까지 접근 - javac 패키지명 컴파일할 java 파일 입력 3. 실행하는 방법 - java(실행명령어) 패키지..