일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- javabasic
- DesignPattern
- java
- 직장인자기계발
- 스프링
- 웹
- 패스트캠퍼스후기
- 자바기초
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online강의
- String
- 재택근무
- 자바예제
- 패캠챌린지
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online
- 직장인인강
- 디자인
- 자바기본
- 국비
- 디자인패턴
- 패스트캠퍼스
- Spring
- ncs
- java기초
- DB
- 자바
- 자바연습문제
- linux
- js
- 데이터베이스
- 리눅스
- Today
- Total
목록패스트캠퍼스 챌린지 (51)
FIF's 코딩팩토리
드디어 50일의 챌린지가 막을 내렸다. 내가 지금 이 글을 쓰고 있다는 것은 50일동안 하루도 빠짐 없이 강의를 듣고 블로그에 포스팅 했다는 뜻이다. 나는 이번년도에 개발자3년차로 이직을 준비하고 있다. 그러면서 부족한 부분을 더 공부하기 위해 이것저것 찾아보다가 패스트 캠퍼스라는 인터넷 강의 사이트를 알게 되었고 마침 환급 챌린지를 모집하고 있었다. 어떤 강의가 있나 쭉 둘러보다가 "한번에 끝내는 JavaSpring 웹개발 마스터 초격차 패키지 온라인" 이라는 강의를 알게 되었다. 자바의 기초 부터 스프링의 여러 기능들 까지 100시간이 넘는 아주 많은 강의들이 들어 있었다. 그동안 무의식적으로 사용한 자바를 이번 기회에 다시한번 재정비 하고, 스프링도 다시한번 개념을 공부하고 실습하기 위해 강의를 신..
자바에서 Thread 만들기 스레드를 알기위해 먼저 프로세스의 정의를 살펴보자. 프로세스(process)란 단순히 실행 중인 프로그램(program)이라고 할 수 있다. 즉, 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당받아 실행 중인 것을 말한다. 이러한 프로세스는 프로그램에 사용되는 데이터와 메모리 등의 자원 그리고 스레드로 구성된다. 그렇다면 스레드란? 스레드(thread)란 프로세스(process) 내에서 실제로 작업을 수행하는 주체를 의미한다. 모든 프로세스에는 한 개 이상의 스레드가 존재하여 작업을 수행한다. 또한, 두 개 이상의 스레드를 가지는 프로세스를 멀티스레드 프로세스(multi-threaded process)라고 한다. 스레드의 생성과 실행 자바에서 스레드를 생성하는 ..
직렬화(serialization) 객체를 저장하거나 메모리, 데이터베이스 혹은 파일로 옮기려면 어떻게 해야할까? 이럴 때 필요한 것이 직렬화다. 직렬화란 객체를 바이트 스트림으로 바꾸는 것, 즉 객체에 저장된 데이터를 스트림에 쓰기write 위해 연속적인serial 데이터로 변환하는 것이다. 직렬화의 주된 목적은 객체를 상태 그대로 저장하고 필요할 때 다시 생성하여 사용하는 것이다. 역직렬화Deserialization는 직렬화의 반대말로, 네트워크나 영구저장소에서 바이트 스트림을 가져와서 객체가 저장되었던 바로 그 상태로 변환하는 것이다(convert it back to the Object with the same state). 직렬화하면서 생긴 바이트 스트림은 플랫폼에 독립적이다(platform ind..
자바의 입출력을 위한 I/O 스트림 입출력 스트림이란? 네트워크에서 자료의 흐름이 물의 흐름과 같다는 비유에서 유래되었다. 자바는 다양한 입출력 장치에 독립적으로 일관성있는 입출력을 입출력 스트림을 통해 제공한다. 입출력이 구현되는 곳: 파일 디스크, 키보드, 마우스, 네트웍, 메모리 등 모든 자료가 입력되고 출력되는 곳에서 구현된다. 입출력 스트림의 구분 대상 기준 : 입력 스트림 / 출력 스트림 자료의 종류 : 바이트 스트림 / 문자 스트림 기능 : 기반 스트림 / 보조 스트림 입력 스트림과 출력 스트림 입력 스트림 : 대상으로부터 자료를 읽어 들이는 스트림이다. -> FileInputStream, FileReader, BufferedInputStream, BufferedReader 등이 있다. 출력..
오류의 로그를 남기기 - java.util.logging.Logger를 활용해보자. logging이란? 시스템 운영에 대한 기록이다. 오류가 발생 했을 때 그 오류에 대한 기록을 남겨 디버깅을 용이하게 한다. 로그 파일에 기록하는 코드를 추가하여 필요한 정보가 로그로 남을 수 있도록 한다. 디버깅, 시스템 에러 추적, 성능, 문제점 향상들을 위해 사용한다. 어느정도까지 로그를 남길 것인가? 너무 많은 로그 : 빈번한 file I/O의 오버헤드와 로그 파일의 백업 문제등이 있다. 너무 적은 로그 : 정확한 시스템의 상황을 파악하기 어려움이 있다. 그렇게 때문에! java.util.logging 를 사용한다. 자바에서 기본적으로 제공되는 log package 이다. 파일이나 콘솔에 로그 내용을 출력할 수 있..
예외처리는 왜 해야 하나? 오류(error)와 예외(exception) 자바 프로그램을 작성할 때 자바 문법에 맞지 않게 코드를 작성하고 컴파일하려고 하면, 자바 컴파일러는 문법 오류(syntax error)를 발생시킨다. 또한, 자바 문법에는 맞게 작성되었다 하더라도 프로그램이 실행되면서 예상하지 못한 오류가 발생할 수 있다. 이렇게 컴퓨터 시스템이 동작하는 도중에 예상하지 못한 사태가 발생하여 실행 중인 프로그램이 영향을 받는 것을 오류(error)와 예외(exception) 두 가지로 구분할 수 있다. 오류(error)는 시스템 레벨에서 프로그램에 심각한 문제를 야기하여 실행 중인 프로그램을 종료시킨다. 이러한 오류는 개발자가 미리 예측하여 처리할 수 없는 것이 대부분이므로, 오류에 대한 처리는 할..
연산 수행에 대한 구현을 할 수 있는 reduce() 메서드 BinaryOperator BinaryOperator는 같은 타입의 파라미터 2개를 받아 결과값을 리턴하는 functional interface다. 주로 람다와 메서드 참조를 위해 사용된다. 그냥 식을 적는 것보다 가독성이 좋기 때문에 적극 활용하는 것이 좋다. 또한, BiFunction을 상속하는 인터페이스로서, apply(T t, U u) 메서드를 호출해서 function을 적용한다. IntBinaryOperator IntBinaryOperator는 int 타입의 파라미터 2개를 받아 int 타입의 결과값을 리턴한다. 이름에서 알 수 있듯이 BinaryOperator를 상속하며, applyAsInt(int left, int right)는 내..
스트림(stream) 자바에서는 파일이나 콘솔의 입출력을 직접 다루지 않고, 스트림(stream)이라는 흐름을 통해 다룬다. 스트림(stream)이란 실제의 입력이나 출력이 표현된 데이터의 이상화된 흐름을 의미한다. 즉, 스트림은 운영체제에 의해 생성되는 가상의 연결 고리를 의미하며, 중간 매개자 역할을 한다. 입출력 스트림 스트림은 한 방향으로만 통신할 수 있으므로, 입력과 출력을 동시에 처리할 수는 없다. 따라서 스트림은 사용 목적에 따라 입력 스트림과 출력 스트림으로 구분된다. 자바에서는 java.io 패키지를 통해 InputStream과 OutputStream 클래스를 별도로 제공하고 있다. 즉, 자바에서의 스트림 생성이란 이러한 스트림 클래스 타입의 인스턴스를 생성한다는 의미이다. InputSt..