일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 개발/Java/Spring
- 카카오테크캠퍼스
- 개발/언어/Java
- 알고리즘
- 개발/CS/알고리즘
- ai
- ⌨️Developer/보안
- 개발
- 개발/컴퓨터네트워크
- 개발/MySQL
- ⌨️Developer
- 개발/Tools/프레임워크/Spring
- 개발/Java
- 개발/CS/OS
- 취업
- 개발/프레임워크&라이브러리
- electron
- 대외활동/카카오테크캠퍼스
- 카테캠
- 개발/언어론
- AI/GPT
- AI/ML
- 개발/에러
- 개발/webrtc
- 개발/Electron
- 개발/환경
- 카카오 테크 캠퍼스
- 개발/네트워크
- 개발/보안
- 개발/OOP
- Today
- Total
목록2023/05 (81)
봄수의 연구실
Java의 바이트 단위 입출력 InputStream 바이트 수준 입력 스트림에 대한 최상위 추상 클래스입니다 주요 하위 클래스에는 FileInputStream, ByteArrayInputStream, FilterInputStream이 포함됩니다. 이러한 클래스에는 파일 또는 바이트 배열 메모리에서 바이트 단위로 데이터를 읽고 기본 스트림에서 데이터를 읽을 때 추가 기능을 제공하는 메서드가 있습니다. InputStream은 읽으려는 파일이 없을 경우 Not Found 에러를 발생시킵니다 주요 하위 클래스 스트림 클래스 설명 FileInputStream 파일에서 바이트 단위로 자료를 읽습니다. ByteArrayInputStream byte 배열 메모리에서 바이트 단위로 자료를 읽습니다. FilterInput..
Java의 입출력 스트림 Java의 입/출력(I/O) 스트림은 파일, 키보드, 마우스, 네트워크 및 메모리와 같은 다양한 I/O 장치에서 데이터를 읽고 쓰는 일관된 방법을 제공합니다. 스트림은 일종의 추상적인 흐름이며, 관련 클래스가 많다 또한 예외처리를 많이 해야하기 때문에 배우는데 어려움이 있을 수 있다! 입출력 스트림 구분 대상 기준 : 입력 스트림 / 출력 스트림 자료의 종류 : 바이트 스트림 / 문자 스트림 기능 : 기반 스트림 / 보조 스트림 입력 스트림과 출력 스트림 입력 스트림 : 대상으로부터 자료를 읽어 들이는 스트림 출력 스트림 : 대상으로 자료를 출력하는 스트림 바이트 단위 스트림과 문자 단위 스트림 바이트 단위 스트림 : 동영상, 음악 파일, 실행 파일등의 자료를 읽고 쓸 때 사용 ..
Java의 로그 남기기 - 🐥 카카오 테크 캠퍼스 Java 로깅은 애플리케이션 런타임 동안 로그 메시지를 기록하고 저장하는 데 사용되는 메커니즘입니다. 로깅의 주요 목적은 개발자가 응용 프로그램에서 발생할 수 있는 문제를 식별할 수 있는 방법을 제공하고 디버깅 및 성능 조정을 지원하는 것입니다. Java는 개발자가 콘솔이나 파일과 같은 다른 대상에 메시지를 기록할 수 있는 java.util.logging이라는 기본 제공 로깅 패키지를 제공합니다. 또한 로깅 패키지는 SEVERE, WARNING, INFO, CONFIG, FINE, FINER 및 FINEST를 비롯한 여러 가지 로깅 수준을 제공합니다. 이러한 수준은 메시지의 심각도를 나타내며 기록되는 메시지를 결정합니다. Logger 생성 Java에서 로..
Java의 예외처리 예외 처리의 궁극적인 목적은 런타임 오류를 처리하고 이를 복구하고 애플리케이션의 정상적인 흐름을 유지하기 위한 메커니즘을 제공하는 것입니다 즉 오류를 복구하고 프로그램을 완전히 중단시키는 대신 프로그램 실행을 계속하는 메커니즘을 제공하는 것입니다. 또한, 실행 오류가 발생한 경우 오류의 과정을 재현하는 것은 현실적으로 힘들기 때문에 에러 발생시 log를 남겨서 추후 log 분석을 통해 그 원인을 파악하여 bug를 수정하는 것이 중요합니다 오류의 종류 : 컴파일 오류 VS 실행 오류 컴파일 오류(compile error) 프로그램 코드 작성 중 발생하는 문법적 오류 최근에는 IDE에서 대부분의 컴파일 오류는 detection 됨 실행 오류(runtime error) 실행 중인 프로그램이..
IntelliJ 초기 설정 - VSCODE를 떠나며 아직 대학생이라서 인텔리제이의 학생 프로모션을 사용할 수 있어서 VSCODE에서 이전을 하기로 했다. [[🐥 카카오 테크 캠퍼스]]를 하면서 자바를 쓸 일이 많아졌는데, 이클립스는 쓰고 싶지 않아서 사용하게 된게 크다 근데 막상 사용하니, 너무… 좋은데…?가 되어서 다른 프로젝트들도 인텔리제이에서 작업하려고 한다 테마 설정 IntelliJ를 열고 왼쪽 상단 모서리에 있는 "IntelliJ IDEA"를 클릭하고 드롭다운 메뉴에서 "기본 설정"을 선택하여 기본 설정으로 이동합니다. 기본 설정 창의 왼쪽 사이드바에서 "플러그인"을 선택합니다. 플러그인 창에서 “마켓플레이스” 탭을 클릭합니다. 검색 창을 사용하여 설치하려는 테마를 찾습니다. 카테고리별로 탐색하..
Java의 Reduce() Java의 reduce() 연산은 프로그래머가 정의한 연산을 스트림의 요소에 적용합니다. T reduce(T identity, BinaryOperator accumulator) reduce() 메서드의 두 번째 인수는 람다 식 또는 작업을 지정하는 BinaryOperator 구현 클래스입니다. reduce() 작업은 최종 작업이 호출될 때 수행되며 스트림의 요소를 소비합니다. reduce() 작업의 결과는 두 번째 인수로 전달된 람다 식 또는 BinaryOperator 구현 클래스에 의해 결정됩니다. 예: reduce() 작업을 사용하여 배열에 있는 모든 요소의 합을 찾습니다. Arrays.stream(arr).reduce(0, (a,b)->a+b); reduce() 메서드의 ..
Stream - Collection 요소(List,Queue) 등의 데이터 흐름 처리하는데 사용 된다 - 일반적으로 stream - 가공 - 수집 단계를 거친다 스트림(Stream)은 자바 8부터 추가된 기능으로, 데이터의 흐름을 처리하는 데 사용되는 추상화된 기능입니다. Collection 요소(List,Queue)를 람다식으로 처리하도록 지원하는 함수형 프로그래밍 기법이라고 볼 수 있습니다. 스트림을 사용하면 반복자를 사용하지 않고도 원하는 데이터를 필터링하고 맵핑하는 등의 복잡한 연산을 수행할 수 있습니다. 스트림은 원본 데이터를 변경하지 않고, 새로운 결과를 생성합니다. 또한, 스트림은 "지연 연산"을 합니다. 즉, 필요한 최종 결과를 만들기 위해 중간 연산을 실행하지 않고 최종 연산 시점에 한번..
Java의 Lambda 람다 식은 순수 함수를 사용하는 프로그래밍 패러다임인 함수형 프로그래밍을 지원하는 방법으로 Java 8에 도입되었습니다. 람다 식을 사용하면 익명 함수(Lambda)를 간결하게 만들고 코드를 더 읽기 쉽게 만들 수 있습니다. 다음은 람다 식에 대한 몇 가지 핵심 사항입니다. 람다 식은 이름이 없는 익명 함수를 생성합니다. 0개, 1개 또는 여러 매개변수를 가질 수 있습니다. 매개변수가 하나뿐이고 그 데이터 유형이 유추되는 경우에는 괄호를 생략할 수 있습니다. 람다 식에 문장이 하나만 있는 경우 중괄호를 생략할 수 있습니다. 예시 조각 코드 람다식으로 표현 (int x, int y) -> {return x+y;} 매개 변수가 하나인 경우 자료형과 괄호 생략가능 str->{System..
Java의 내부 클래스(Inner Class) - 🐥 카카오 테크 캠퍼스 클래스 내부에 선언하는 클래스(또는 중첩 클래스)입니다. 자신이 속한 외부 클래스와 함께 사용하는 경우가 잦습니다 다른 외부 클래스에서 사용할 일이 거의 없는 경우에 내부 클래스로 선언해서 사용합니다. 내부 클래스의 종류 인스턴스 내부 클래스, 정적(static) 내부 클래스, 지역(local) 내부 클래스, 익명(anonymous) 내부 클래스 인스턴스 내부 클래스 내부적으로 사용할 클래스를 선언 (private으로 선언하는 것을 권장) 외부 클래스가 생성된 후 생성됨 ( 정적 내부 클래스와 다름 ) private이 아닌 내부 클래스는 다른 외부 클래스에서 생성할 수 있음 주의 사항 이너 클래스는 외부 클래스가 생성 될 때 자동으..
Github로 똑똑하게 협업하는 방법 - 🐥 카카오 테크 캠퍼스 이슈(Issue) GitHub Issue는 개발자와 프로젝트 팀이 작업, 버그 및 기능 요청을 추적하고 관리하는 방법입니다. Issue를 작성하여 자신이 해야 할 일을 관리하거나 매니저는 해야 할 일을 분배 할 수 있습니다. 또한, Issue의 경우 뒤에 나올 PR과 인덱스를 공유합니다. Github에서는 이슈와 PR을 연동해서 발생한 문제에 일종의 태그(연결)이 가능합니다. 개발자들은 이 기능을 통해서 개발 과정을 좀 더 유연하게 가져갈 수 있습니다 라벨(Label,레이블) 레이블은 개발자가 Github에서 문제를 관리하고 분류하는 데 도움이 되도록 사용할 수도 있습니다. 버그 대 기능, 우선 순위 또는 상태와 같은 다양한 기준에 따라 문..