분류 전체보기 232

Java 예외(Exception) 처리 이론 정리

개요 예외 처리 로직은 귀찮지만 운영상 이슈를 체크할 때 필요한 코드입니다. Exception 의 경우 로직 처리를 하지 않더라도 발생은 되지만 RuntimeException은 컴파일 시 발견하지 못하는 에러에 대해 처리가 필요하며 또한 클라이언트에게 오류 메세지를 전달 시 규칙성이 갖춰진 형식으로 전달하는 것이 조금 더 효율적이다. 예외처리(Exception) 기초 기본적으로 예외처리에는 Error와 Exception으로 나눠지는데 이를 구분할 필요가 있다. Throwable는 Java 언어의 모든 오류 및 예외의 상위 클래스이며 VirtualMachine에 의해 혹은 throw/catch 절을 통해 발생(Throw) 될 수 있습니다. Error(오류)의 경우 Exception으로 처리하기 어려울 정도..

세무민의 코딩일기 : String cannot be resolved to a type 해결하기

[원인] 한줄요약 : String cannot be resolved to a type 오류 발생 시 JRE가 정상적으로 작동하지 않을 때 발생한다. [JRE 확인 및 변경] Project -> Properties -> Java Build Path -> JRE 확인 및 변경 버전의 경우 프로젝트 생성한 버전과 일치하는지 확인 후 해당 버전에 맞는 JRE 다운하여 추가하면 된다. [해결 및 확인] 변경 후 정상적으로 인식하는 것을 확인할 수 있었다.

2022년도 하반기 회고록 - 신입 개발자 퇴사 후 중고신입으로 입사까지

이번 회고록은 1년의 경력을 포기하고 중고신입으로 들어간 저의 이야기입니다. 모든 글의 내용은 제 주관적인 내용임으로 이 부분 참고 부탁드립니다. 1. 첫 회사? 저의 첫 회사는 (주)웅진 IT라는 회사에 인턴부터 신입 개발자까지 총 1년 4개월가량 업무를 수행했습니다. 첫 회사에 Web개발로 지원했고 채용 프로세스는 "채용형 인턴 > 수습 > 정규직" 순으로 진행되었습니다. 채용형 인턴이 되기까지의 과정으로는 "자소서 > AI면접 > One Time 면접(3시간 소요)" 순으로 진행되었어요 채용형 인턴이 된 후 마지막 최종 발표가 진행되서 조건에 맞는 경우라면 입사가 가능한 프로세스 입니다. 2. 첫 회사의 담당 업무는? 저는 1년동안 운영 및 유지보수 업무를 수행하였습니다. 사실 운영 및 유지보수라는..

Java & Spring 이론 정리

현재는 준비를 하지 않으며 예전에 준비했을 때 정리했던 내용을 공유하려고 합니다. 우선 모든 내용은 다른 블로그들을 참조하여 기술 이론을 정리한 점 참고바랍니다. 또한 내용 중 틀린 내용이 존재할 수 있다는 점도 양해부탁드립니다. (추가)실제 기술 면접 봤을 때 질문했던 내용도 아래 정리하도록 하겠습니다. -> 빨간색 표시 1. Spring 스프링 : 자바 엔터프라이즈 개발을 편하게 해주는 오픈 소스 개발 프레임 워크 2. 프레임워크 특정 프로그램을 개발하기 위한 여러 요소들과 메뉴얼인 룰을 제공하는 프로그램 뼈대가 되는 클래스, 인터페이스, 메서드 등을 미리 구현 중요한 이유는 프로젝트에 투입되는 개발자가 늘어남에 따라 전체 시스템의 통합성, 일관성이 부족하고 개발 스킬의 차이가 큰 경우 이해하기 힘든..

PLSQL이란? - 세기무민

이번에 다뤄볼 내용은 PLSQL입니다 PLSQL? PLSQL은 상용 관계형 데이터베이스 시스템인 SQL 확장성 프로그래밍 언어 중 하나이다. PLSQL은 SQL 문장으로 처리하기 어려운 내용을 프로시저 및 트리거로 작성하는데 자주 사용된다. PLSQL 장점 1. PLSQL은 오라클 서버 및 툴들에 일관적이고 중심적인 역할을 수행하기 떄문에 통합 관리 및 이식성이 가능하다. 2. 절차적인 언어 프로그래밍 언어가 가지고 있는 다양한 기능들을 제공한다. 3. 프로그램 모듈화 개발을 지원한다. PLSQL 예시 declare l_today date := sysdate; begin if to_char(l_today,'D') < 4 then dbms_output.put_line( '일주일 절반도 아직 안지남'); e..

DB/SQL 2022.07.12

BFS/DFS (깊이우선/너비우선) 알고리즘에 대한 정리 - 세기무민

안녕하세요 세기무민입니다. 이번 포스팅에서는 DFS/BFS 알고리즘에 대해 다뤄보도록 하겠습니다. DFS/BFS? DFS와 BFS 알고리즘은 코딩테스트에 거이 단골 문제 중 하나입니다. DFS는 깊이 우선 탐색 알고리즘 BFS는 너비 우선 탐색 알고리즘 대표적으로 DFS의 경우 재귀함수 또는 스택으로 문제를 해결할 수 있고 BFS의 경우 큐(덱큐)를 이용하여 문제를 해결할 수 있습니다. DFS와 BFS를 가장 쉽게 알 수 있는건 아래의 그림으로 볼 수 있습니다. [DFS]! 위의 그림처럼 깊이부터 하나씩 탐색하는 방식입니다. 1에서 가장 가까운 2를 탐색하고 2의 다음 노드인 4를 탐색합니다. 노드 4 이후로 연결된 노드가 없음으로 노드 1로 다시 이동하여 탐색을 반복해줍니다. [BFS!] BFS는 가장..

브루트 포스(무차별 대입)알고리즘에 대한 정리 - 세기무민

안녕하세요 세기무민입니다. 이번 포스팅은 브루트포스 알고리즘에 대해 다뤄보겠습니다. 브루트포스? 브루트 포스는 무차별 대입을 통해 값을 도출하는 방법입니다. 브루트 포스 알고리즘은 암호 해독에 유명한 알고리즘 중 하나입니다. 브루트 포스는 조합 가능한 모든 문자열을 하나씩 대입해보는 완전 탐색 기법이라고 생각하면 됩니다. 브루트포스 알고리즘 장단점? 조합 가능한 모든 문자열을 대입하기 때문에 정확도가 100%를 도출합니다. 단, 모든 경우의 수를 찾아가기 때문에 조금만 알고리즘이 복잡해져도 알고리즘의 시간 복잡성은 올라갑니다. 예시 알고리즘 문제 위의 문제는 가장 대표적인 브루트 포스 알고리즘 중 하나입니다. 3개의 숫자를 합했을 때 M의 크기와 가장 가까운 값을 찾는 문제인데 해당 문제는 순열을 통해서..

그리디(탐욕) 알고리즘에 대한 정리 - 세기무민

안녕하세요 세기무민입니다. 이번 포스팅에서는 그리디 알고리즘에 대해 다뤄보도록 하겠습니다. Greedy? 탐욕? 우선 그리디 알고리즘은 탐욕 알고리즘이라고도 말합니다. 그리디 알고리즘에서 가장 중요하게 생각하는 포인트는 "현재 선택지 중 가장 좋은(최적)의 방법을 선택하는 것" 그리디 알고리즘에 대한 가장 좋은 예시는 최단거리를 구하는 것이다. 아래의 그림으로 설명해보면 시작 지점으로부터 끝지점까지 최단거리를 구해보도록 하자. 시작 지점에서 4로 시작하는 경우 2가지의 경우의 수가 만들어지며 20, 23의 거리를 가진다. 시작 지점에서 4보다 큰 6으로 시작했을 경우 19의 거리를 가지게 되고 최종적으로 가장 짧은 거리를 가지게 된다. 즉 그리디 알고리즘은 여러개 중 한개를 선택해야 할 경우 그 순간에 ..

프로그래머스 자물쇠와 열쇠 문제 풀이 - [세무민의 코딩일기]

ㅋ안녕하세요 세기무민입니다. 이번에 풀어볼 문제는 2020년도 카카오 블라인트 문제 중 하나인 자물쇠와 열쇠 문제입니다. 문제 설명 입출력 예시 문제 풀이 흠.... 개인적으로 일단 이번 문제에서 포인트는 배열 회전하는 것이라고 생각한다. 파이썬에서 배열 회전에 사용되는 내장 함수 중 Zip이라고 있는데 이걸 사용하여 0 / 90 / 180 / 270도 회전하여 한번씩 key를 넣어보면 되는 문제이다. 아래의 그림으로 좀더 쉽게 설명해보면 간단한 예시로 Lock과 Key의 값은 위와 같고 0도부터 하나씩 Lock에 Key를 넣어줍니다. 넣었을 때 Lock의 모든 값이 1이라면 True를 반환해주면 되고 0, 90, 180, 270도 회전하여 동일하게 하나씩 탐색했음에도 불구하고 모든값이 1인 경우가 없다..