일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 카카오톡1차
- 인코딩
- math
- 독서
- Head First Design Pattern
- Oracle
- Design Pattern
- javascript
- Singleton
- 프로그래머스
- 이펙티브자바
- study
- Java
- 인프런
- 에러
- 자바
- 공부
- 알고리즘
- 오라클
- JPA
- spring
- 독서리뷰
- 람다
- 우아한테크코스
- Eclipse
- 디자인패턴
- 매핑
- 인강리뷰
- 후기
- 회고
- Today
- Total
목록전체 글 (109)
Lee's Grow up
구글에서 제공해주는 자바 코딩 스타일 가이드에 대한 정리입니다.원문 해당 내용은 작성일 기준 문서의 내용을 정리한 것 입니다. 소스파일 이름 : 포함하고 있는 최상위 레벨의 대소문자 구분되는 이름으로 이루어집니다. 확장자 : .java 확장자를 사용합니다. 인코딩 : UTF-8 ASCII(0x20)은 유일한 공백 문자이며, 탭 문자는 공백에 사용하지 않습니다. 모든 특수 문자를 사용할 때 이스케이프 시퀀스 (\b, \w 등)을 사용하며, 그 문자의 진수, 유니코드는 사용하지 않습니다. 비 ASCII문자는 유니코드를 사용하고, 주석으로 설명해도 무방합니다. 소스파일 구조 소스 파일은 다음 순서로 구성됩니다. 각 객션 간에는 공백 라인이 하나 들어가야 합니다. 라이센스 또는 저작권 정보 ( 있는 경우 ) 패..
해당 내용은 Pythone 공식 문서를 참조하여 작성하였습니다. 작성 기준 버전은 3.8.6입니다. 공식문서 : docs.python.org/3/tutorial/index.html 1. if 문 파이썬도 타 언어와 마찬가지로 조건을 판단하기 위해 if 문법을 제공해준다. 기본문법은 아래와 같다. x = int(input("Enter Integer : ")) if x % 2 == 0: print("even") else: print("odd")내용은 입력 받은 값을 단순하게 홀수냐, 짝수이냐 판별해주는 조건문이다. 파이썬은 조건문 뒤에 :을 붙이며, 수행할 코드를 들여쓰기로 구분해줘야한다 ( 띄어쓰기 4칸 또는 tab ) 해당 규칙을 지키지 않으면 SyntaxError가 발생한다. 위 내용을 조건부 표현식으..
해당 내용은 책 모던 자바 인 액션의 내용을 참고해서 작성하였습니다. 등장 배경 Java를 통해 개발을 진행하다 보면, 해당 객체의 참조 값이 null인지 아닌지 체크하는 분기문이 생기는데, 이와 같은 분기문의 경우 코드의 가독성이 떨어지고, 해당 객체가 null을 가질 수 있는 객체인지, 필수 값인지 직관적으로 알 수 있는 방법이 없어서 에러의 근원이 되는 문제가 발생했기 때문에, 선택형값을 캡슐화하는 클래스 Optional을 Java 8에 추가되었다. Optional 객체 만들기 1. 빈 Optional 객체 만들기 Optionl 클래스의 정적 팩토리 메소드로 아래와 같이 사용 가능 Optional optStr = Optional.empty();2. null이 아닌 값으로 Optional 만들기 만약..
해당 내용은 모던 자바 인 액션의 내용을 참고해서 작성하였습니다. 스트림 스트림은 람다와 마찬가지로 자바8에서 추가된 기능이다. 여기서 스트림이란, 데이터 처리 연산을 지원하도록 소스에서 추출된 연속된 요소로 정의할 수 있다. 스트림과 컬렉션 스트림도 컬렉션과 마찬가지로 연속된 값 집합의 인터페이스를 제공한다. 단 데이터를 언제 계산하느냐가 컬렉션과 스트림의 가장 큰 차이. 컬렉션은 현재 자료구조가 포함하는 모든 값을 메모리에 저장하는 자료구조이다. 그 후, 계산이 가능하다. 그러나 스트림의 경우 요청할 때만 요소를 계산하는 고정된 자료구조이다. 이를 동영상으로 비유하면, 컬렉션은 동영상을 모두 다운로드 후에 볼 수 있고, 스트림의 경우 전체가 아닌 해당 구간만 다운받아서 볼 수 있는 스트리밍 서비스가 ..
해당 내용은 모던 자바 인 액션을 참고해서 작성한 내용입니다. 람다란 무엇인가 람다 표현식은 메서드로 전달할 수 있는 익명 함수를 단순화한 것이라고 할 수 있다. 람다 표현식에는 이름은 없지만, 파라미터나 리스트, 바디, 반환 형식, 발생할 수 있는 예외 리스트는 가질 수 있다. 이러한 람다는 아래 4가지의 특징을 가진다. 익명 : 메서드와 다르게 이름이 없으므로 익명이라고 표현한다. 함수 : 람다는 메서드처럼 클래스에 종속되지 않아 함수라고 부른다. 전달 : 람다 표현식을 메서드의 인수로 전달하거나 변수로 저장 가능 간결성 : 많은 코드를 줄일 수 있다. 아래는 람다의 기본 구조이다 (Member m1, Member m2) -> m1.getName().compareTo(m2.getName()); 위 예..
요구사항의 변화 소비자의 요구사항은 언제든지 변할 수 있기 때문에, 변화에 조금 더 유연한 방식이 필요하게 되었다. 예를 들어, 처음에는 성이 'LEE'인 사람들만 추출해주는 되는 프로그램이 있다고 가정했을 때, 갑자기 소비자가 성이 'LEE'이고, 나이가 28살 이상인 사람들의 리스트를 추출해주세요. 라고 요구사항이 변경 될 경우 어떠한 방법으로 해결할 수 있는지 예제를 통해 알아보겠습니다. 해당 내용은 Mordern Java in Action 책의 내용을 참고하여 작성하였습니다. 1. 이름에서 성을 기준으로 필터링 첫 요구사항처럼 멤버 리스트에서 성이 LEE인 사람들을 필터링 하는 코드를 아래처럼 작성할 수 있습니다. public static List filterByLas..
지네릭스(Generics) 지네릭스는 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입체크를 해주는 기능이다. 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 번거로움이 줄어든다. 쉽게 말해 타입을 명시함으로써 타입에 대한 안정성과, 번거로운 형변환을 줄여주는 기능이다. 그리고 지네릭은 클래스와, 메소드에 선언이 가능하다. 지네릭 클래스 Java의 지네릭 클래스인 ArrayList 클래스를 참고해보자 내용은 Oracle 홈페이지의 JDK 11의 API의 내용입니다. public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, Serializable { // ..
해당 내용은 인프런의 자바 ORM 표준 JPA 프로그래밍 - 기본편, 김영한 의 내용을 기반으로 정리해서 작성한 글입니다. 자세한 내용은 해당 강의 또는 책을 구매하시는걸 추천합니다. JAP는 크게 값 타입을 2종류로 분류한다. 엔티티 타입 -> Entity로 정의된 객체 , 데이터가 변해도 식별자로 지속해서 추적 가능 값 타입 -> int, Integer처럼 단순히 값으로 사용되는 기본 자료형 또는 래퍼클래스 또는 String 값 타입 분류 기본 값 타입 자바 기본 타입 int float 래퍼 클래스 Integer Double Float String 임베디드 타입 좌표를 묶어서 쓰고 싶은 값 ex)포지션 클래스 -> 포지션 클래스 자체를 값 처럼 쓰는걸 임데디드 타입 컬렉션 타입 -> java 컬렉션 ..