개발자라면 한 번쯤은 들어봤던 네트워크 OSI 7계층에 대해 알아보겠습니다! 저 같은 경우는 학교에서 네트워크 수업을 피해다녔던 터라,, 정보처리기사에서 처음 접하게 되었습니다. 정처기 공부할 당시에는 무슨 원리인지도 모르고 달달 외워서 시험을 봤었는데, 우연히 테코톡에서 좋은 강의를 찾아서 참고하여 정리해보겠습니다! [참고한 테크톡 유튜브 영상] https://www.youtube.com/watch?v=1pfTxp25MA8 🔎 OSI 7계층이란? 예전에는 같은 회사의 컴퓨터끼리만 통신이 가능했던 시절이 있습니다. 이러한 문제를 해결하기 위해 서로 다른 컴퓨터 회사들이 자유롭게 통신할 수 있도록 ISO (International Organization for Standardization, 국제표준화기구)..
문제 : https://www.acmicpc.net/problem/2225 2225번: 합분해 첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 🔎 Solve 다이나믹 프로그래밍(DP)을 이용하여 풀었습니다. 해당 문제를 표를 만들어서 생각해보면 점화식을 쉽게 만들어낼 수 있습니다. 문제에서 예제 입력 2번과 같이 N=6, K=4일 때를 예로 들어보겠습니다. 2차원 int형 배열을 만들어서 행에는 K (1~4)를, 열에는 N (0~ 6)을 나타내는 배열을 만들어줍니다. dp 0 1 2 3 4 5 6 1 2 3 4 해당 dp.배열을 K개의 숫자로 N을 만들 수 있는 경우의 수를 채워줍니다. 이때, K가 1개일 때는 각 숫자 자신만이 가능하니 1로 채워줍니다...
예외 번역과 예외 연쇄를 사용해라. 수행하려는 일과 관련 없어 보이는 예외가 튀어나올 때가 있다. 메서드가 저수준 예외를 처리하지 않고 바깥으로 전파해버릴 때 일어난다. 이와 같은 방식은 내부 구현 방식을 드러내어 윗 레벨 API를 오염시키는 문제가 있다. 이와 같은 문제를 피하려면 예외 번역을 사용해야 한다. 🐱🚀 예외 번역 (exception translation) 상위 계층에서 저수준 예외를 잡아 자신의 추상화 수준에 맞는 예외로 바꿔 던지는 방법이다. try{ ... // 저수준 추상화를 이용한다. } catch (LowerLevelException e){ // 추상화 수준에 맞게 번역한다. throw new HigherLevelException(...); } 🐱💻 예외 연쇄 (exceptio..
상황에 부합한다면 항상 표준 예외를 재사용하자. 예외를 재사용하는 것이 좋으며, 자바 라이브러리는 대부분 API에서 쓰기에 충분한 수의 예외를 제공한다. 표준 예외를 재사용하면 얻는 것이 많다. 첫 번째, 여러분의 API가 다른 사람이 익히고 사용하기 쉬워진다. 두 번째, 여러분의 API를 사용한 프로그램도 낯선 예외를 사용하지 않게 되어 읽기 쉽게 된다 세 번째, 예외 클래스 수가 적을수록 메모리 사용량도 줄고 클래스를 적재하는 시간도 적게 걸린다. ⛔ 표준 예외 종류 IllegalArgumentException - 호출자가 인수로 부적절한 값을 넘길 때 던지는 예외 - ex. 반복 횟수를 지정하는 매개변수에 음수를 건낼 때 쓸 수 있다. IllegalStateException - 대상 객체의 상태가 ..
- Total
- Today
- Yesterday
- BFS
- 순열
- 운영체제
- Retrofit2
- BOJ
- OS
- 부분집합
- 아이템59
- IMAGE
- 이펙티브자바
- 백준
- dp
- dfs
- bruteforce
- 아이템60
- 그래프탐색
- subset
- 정처기
- 아이템61
- 완탐
- EffectiveJava
- Container
- springboot
- 토큰기반인증
- docker-compose
- Java
- 조합
- 알고리즘
- docker
- 완전탐색
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |