스터디 19

Java online LiveStudy 후기

Java online LiveStudy 후기 설명 라이브 스터디 유튜브로 진행하는 라이브 스터디 운영 프로젝트입니다. 이슈 게시판에 과제를 올리고 댓글로 과제 풀이 링크를 제출하시면 검토해 드리고 라이브 방송으로 피드백을 드립니다. 현재, 자바 기초 스터디를 진행중입니다. LiveStudy Link 자바 기초 스터디 수료 기준 및 선물 전체 18주 과정의 스터디로, 스터디 과제 제출율 80%를 넘긴 참여자에게 수료 기념으로 티셔츠를 선물해 드립니다. 참고 자료 책, 블로그, 인터넷 강의 뭐든지 참고해도 좋습니다. 저는 개인적으로 Java in a Nutshell을 참고하고 있습니다. Java in a Nutshell을 구하고 싶은 분들은 지난 2020년 11월 13일 자바 뉴스에서 소개한 헙블 북 번들에..

스터디/LiveStudy 2021.03.01

15주차 과제: 람다식

15주차 과제: 람다식 람다 표현식(Lambda Expressions) 람다식이란? 식별자 없이 실행가능한 함수 메소드를 하나의 식으로 표현하는 것이라고 볼 수 있다. 람다식으로 표현하면 return 이 없어지므로 람다식을 anonymous function(익명 함수) 이라고도 한다. 람다식의 장단점 장점 코드를 간결하게 만들 수 있다 가독성이 향상된다 멀티쓰레드환경에서 용이하다 함수를 만드는 과정 없이 한번에 처리하기에 생산성이 높아진다 단점 람다로 인한 무명함수는 재사용이 불가능하다 디버깅이 많이 까다롭다 람다를 무분별하게 사용하면 코드가 클린하지 못하다 재귀로 만들 경우 부적합하다 람다식 사용법 (매개변수) -> 표현 바디 (매개변수) -> { 표현 바디 } () -> { 표현 바디 } () -> ..

스터디/LiveStudy 2021.03.01

14주차 과제: 제네릭

14주차 과제: 제네릭 시작하기 전에 제네릭이 무엇이고 제네릭을 왜 사용해야하는지 알아보자 제네릭이란? 데이터 타입(data type)을 일반화(generalize)하는것을 의미한다 제네릭은 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법이다. 이렇게 컴파일 시 type check를 하면 장점이 있다. 클래스나 메소드 내부에서 사용되는 객체의 타입의 안정성을 높일 수 있다. 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있다. Java 5 이전에서는 여러 타입을 사용하는 대부분의 클래스나 메소드에서 인수나 반환값으로 Object타입을 사용했었다. 하지만 이 경우에는 반환된 Object 객체를 다시 원하는 타입으로 타입을 변환해야하고 , 이때 오류가 발생할..

스터디/LiveStudy 2021.02.21

Be-Docs 1주차 L2 스위치 / 라우팅 테이블, 맥 테이블, ARP 테이블 / 랜 통신 프로세스 (서버 - L2 스위치 - 서버) - 조사 자료

사전예습 LAN/WAN 차이, IP, 서브넷 마스크, 사설 대역, 공공 대역 LAN(Local Area Network) 근거리 통신망 빠르다 오류 적다 WAN(Wide Area Network) 광역 통신망 느리다 오류 많다 IP 송신 호스트와 수신호스트가 패킷 교환 네트워크에서 정보를 주고받는 데 사용하는 정보 위주의 규약 이며, OSI 네트워크 계층에서 호스트의 주소 지정과 패킷 분할 및 조립 기능을 담당한다. 서브넷 마스크 IP 주소의 네트워크 부분만 나타나게 하여 같은 네트워크 인지 판별하게 하는 마스크 네트워크 ID와 호스트 ID를 식별하기 위한 값 A 클래스 255.0.0.0 B 클래스 255.255.0.0 C 클래스 255.255.255.0 프리픽스 표기법 서브넷 마스크를 슬래시(/비트수)로 ..

스터디/Be-Docs 2021.02.18

13주차 과제 : I/O

13주차 과제: I/O 목표 자바의 Input과 Output에 대해 학습하세요. 학습할 것 (필수) 스트림 (Stream) / 버퍼 (Buffer) / 채널 (Channel) 기반의 I/O InputStream과 OutputStream Byte와 Character 스트림 표준 스트림 (System.in, System.out, System.err) 파일 읽고 쓰기 13주차 과제 : I/O I/O란? Input, Output의 약자로 입출력 통칭하는 용어로 I/O라고 부르며 I/O는 JVM을 기준으로 읽을 때에는 Input을 파일로 쓰거나 외부로 전송할 때는 Output이라는 용어를 사용한다. Input과 Output은 JVM의 기준이다 File과 Files 클래스 File클래스 FIle 클래스는 파일 및 ..

스터디/LiveStudy 2021.02.08

Be-Docs 스터디 TDD 발표 후기

Be-Docs 스터디 TDD 발표 후기 스터디 주제 스터디 주제로는 TDD(테스트 주도 개발)이다 도서는 테스트 주도 개발 TDD 실천법과 도구이다 무료 PDF로 공부했다 목차 내가 맡은 8장에서는 실습 위주보다는 필자의 TDD와 짝프로그래밍, 리펙토링 경험위주이고 TDD를 해보자(?) 이런 내용이였다. 아래는 발표 내용 목차이다 발표 후기 8장 TDD에 대한 다양한 시각은 다른 장보다 딱딱하지 않고 하나도 빠짐 없이 유용하고 재미있게 읽었다. TDD의 장단점과 OOP, TDD 유의사항 , 리펙토링의관계, Pair Programming, BDD 등의 내용이였다. 처음으로 스터디에서 발표를 해보았는데 발표준비가 쉽지 않았다. 준비 기간은 2일정도 걸렸다. 발표 시간은 40분가량 발표를 진행하였으며 나름 재..

스터디/Be-Docs 2021.02.01

블랙커피 스터디 2주차 학습 방법에 대한 고민

블랙커피 스터디 2주차 1주차 회고 때 최근 가지고 있는 고민을 털어놓았었다. 나의 고민 나의 고민은 공부하는 학습 방법이다. 학습 방법에 대해 고민을 하고 있다고 회고때 말씀드렸는데 스터디장님께서 학습 방법을 한번 포스팅해보라고 말씀하셔서 올려보려 한다 올해부터 공부하면서 머릿속에 새길 때 "왜?"라는 의문을 가지고 공부해야겠다고 마음을 먹었다. 공부를 하는데도 나중에 잊게 되고 공부를 깊게 하더라도 엉뚱하고 이상하게 깊게 공부하고 있었다. 엉뚱하다고 느낀 건 내가 느낀 적이 없었고 같이 공부하는 주변 분들이 말씀해주셨다. 이번 포스팅은 나의 공부 방식을 포스팅해보겠다. 주제 주제는 @Configuration(proxyBeanMethod)과 REST API를 공부하면서 했던 것을 올려보도록 하겠다. 공..

12주차 과제 : 애노테이션

12주차 과제: 애노테이션 목표 자바의 애노테이션에 대해 학습하세요. 학습할 것 (필수) 애노테이션 정의하는 방법 @retention @target @documented 애노테이션 프로세서 어노테이션 클래스나 메소드 등의 선언시에 @를 사용하는 것을 말한다. 메타데이터(Metadata)라고도 불린다 어노테이션의 사용 컴파일러에게 정보를 알려주거나 컴파일할 때와 설치시의 작업을 지정하거나 실행할 때 별도의 처리가 필요할 때 어노테이션은 클래스, 메소드, 변수 등 모든 요소에 선언할 수 있다 어노테이션 정의하는 방법 어노테이션 선언 예제) import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lan..

스터디/LiveStudy 2021.01.31

11주차 과제: Enum

11주차 과제: Enum 목표 자바의 열거형에 대해 학습하세요. 학습할 것 (필수) enum 정의하는 방법 enum이 제공하는 메소드 (values()와 valueOf()) java.lang.Enum EnumSet enum 정의하는 방법 먼저 enum 에 대해 알아보자 enum(enumeration) 클래스( 상수의 집합) 열거형 클래스이며, java 1.5 부터 사용이 가능하다 셈, 계산, 열거, 목록, 일람표 (enumeration) 의 앞부분을 딴 예약어 장점 열거체를 비교할 때 실제 값뿐만 아니라 타입까지도 체크한다 열거체의 상숫값이 재정의되더라도 다시 컴파일할 필요가 없다. 데이터들 간의 연관 관계 표현이 가능하다 상태와 행위를 한곳에서 관리가 가능하다 데이터 그룹관리가 가능하다 특징 클래스를 ..

스터디/LiveStudy 2021.01.25

1주차 AOP, LiveStudy, @Log4j2 vs @Slf4j with log4j2

블로그 스터디 1주차 AOP(Aspect-oriented programming) 애플리케이션 전체에 걸쳐 사용되는 공통 기능을 재사용 하도록 지원하는 것 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화를 하는 것 프록시 패턴 사용 이유 접근 제어 및 부가 기능을 추가하기 위해서 OOP : 비즈니스 로직의 모듈화 모듈화의 핵심 단위는 비즈니스 로직 AOP : 인프라 혹은 부가기능의 모듈화 대표적 예 : 로깅, 트랜잭션, 보안 등 각각의 모듈들의 주 목적 외에 필요한 부가적인 기능들 AOP 장점 애플리케이션 전체에 흩어진 공통 기능이 하나의 장소에서 관리된다는 점 다른 서비스 모듈들이 본인 목적에만 충실하고 그외 사항들은 신경쓰지 않아도 된다는 점 Spr..