일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그래프
- BFS
- 자바
- 알고리즘기본개념
- 부분수열의합2
- 백준
- Java
- 트러블슈팅
- DFS
- 코드트리
- 코딩테스트실력진단
- database
- JUnit
- 다익스트라
- SSAFY
- 유니온파인드
- JPA
- 싸피
- 완탐
- SWEA
- 코테
- Spring
- Union Find
- 그리디
- 알고리즘
- DP
- 기본유형
- 완전탐색
- 코딩테스트
- 다시보기
- Today
- Total
목록전체 글 (98)
HwangHub
싸피 생활 및 취준으로 바빠서 밀려도 한참 밀려버린 싸피 생활에 대한 이야기와 끝내 취업에 성공한 내용을 담고 있는 글입니다. 알고리즘 고수가 되고 싶었어요... 결국 그러지 못했지만싸피에서 얻고자 했던 1번 목표는 알고리즘 실력 향상이었다. 따라서 1학기에는 알고리즘에 좀 더 집중하는 모습을 보였다. 싸피를 시작했던 1월 2일부터 지금까지 계속 지켰던 습관 중 하나는 "1시간 일찍 하루 시작하기" 였다. 늦어도 8시에는 앉아서 공부를 시작했다. 보통은 코테를 풀었다. 물론 늦잠잔 날도 있다. 근데, 아침에 일어나서 "오늘만 쉬자" 한 날은 없다. 술을 먹은 다음날도 예외 없이 일찍 일어나서 공부했다. 실력이 없으니 노력이라도 더 하자는 거였는데, 끝날 때쯤 되니 그래도 스스로가 조금은 기특해서 자랑하고..
커뮤니티 서비스는 likelion univeristy 서비스의 핵심 기능 중 하나이다. 유저들에게 가치를 전달할 수 있는 핵심 도메인이다. 즉, 서비스의 성공의 선두에 커뮤니티 서비스가 제공되어야 한다. 그럼에도, 현재는 쿼리 하나하나를 무겁게 실행하고 있어 데이터가 조금만 많아져도 서버가 많은 부담을 느끼고 있다. 이를 확인하고자 먼저 테스트 데이터를 강제로 늘려보았다. 운영 DB를 mysql로 사용하고 있기 때문에 이와 최대한 근사한 환경을 구축하고자 로컬 test db로 mysql로 구성하였다. 테스트용 더미데이터 입력을 위해 프로시저를 제작하여 등록하여 호출을 통해 데이터 복제를 수행하였다. CREATE DEFINER=`likelion`@`localhost` PROCEDURE `InsertMill..
마지막 회고로부터 어느새 3주가 지났다...설날 연휴를 맞이하여ㅎㅎㅎ 그간 어떻게 살았는지 찬찬히 풀어보자.먼저, 싸피에서 어떤걸 배우고 있는지 풀자면스타트캠프(1,2주차) 이후에 정식 커리큘럼이 3주차부터 시작했다. 그렇게 3,4주차는 자바를 학습했고, 5,6주차엔 알고리즘을 학습중이다. 알고리즘은 이번에 5주 동안 진행되고 웹 개발 기본 학습을 잠시 배운 이후 다시 알고리즘을 2주간 한다. 즉, 싸피 11기에선 알고리즘만 7주 가량 학습한다. 역시 명성대로 알고리즘에 꽤나 진심인 싸피라는 걸 알 수 있었다. 아 그리고 신기한 거 하나 더, 우리 항공대 선배님중에 "랑이집사"라는 네임드 선배님이 계신데, 이 분이 싸피에서 삼성 SW 역량테스트 B형 강의를 하고 계셨다... 다른 한 분은 류호석 님이라는..
자바 서블릿 자바 서블릿은 웹 통신 간 요청에 따른 응답을 동적으로 생성하는 자바 기반의 웹 어플리케이션 기술로, 흔히 "서블릿"이라 줄여 부릅니다. 여기서 말하는 웹 통신 간의 응답은 동적인 웹 페이지가 될 수도 있고, HTTP 응답 메시지일 수도 있죠. 서블릿이 하는 일을 좀 더 열거하여 말해보자면, 서블릿은 비즈니스 로직 실행을 제외하고 TCP/IP 대기 및 소켓 연결부터 HTTP 요청 메시지 헤더/바디 파싱, 그리고 HTTP 응답 메시지를 생성하여 소켓으로 전송해주는 것 까지 전부 수행하는 녀석입니다. (굉장히 많은 일을 하고 있네요) @WebServlet(name = "helloServlet", urlPatterns = "/hello") public class HelloServlet extend..
배열은 자료형을 이용하는 가장 단순한 자료구조이다. 물리적으로 연속된 메모리 공간을 할당하여 여러 데이터를 한번에 저장하는 방식이다. 하나의 변수에 여러개의 공간을 할당하여 사용 같은 타입의 데이터만 저장할 수 있고, 공간은 idx 로 구분. idx는 0번 부터 시작. 배열은 reference 타입으로, 객체를 생성해야 사용할 수 있음. 배열 객체를 생성하면 기본 값으로 초기화된다. 배열의 접근은 0 ~ arr.length - 1까지 접근 가능하고, 범위를 벗어나면 "ArrayIndexOutOfBoundException" 발생 배열의 최대 사이즈는 ? 자바는 기본적으로 사용하는 정수 타입이 int라 배열의 사이즈도 21억까지만 생성 가능. 따라서 2GB 이상의 파일을 로드하기 위해선 NIO라는 걸 사용해..
Java에서는 초기화 블록(Initialization Block)이라는 특별한 구조를 제공합니다. 초기화 블록은 두 가지 종류가 있는데, 하나는 인스턴스 초기화 블록(Instance Initialization Block)이고, 다른 하나는 정적 초기화 블록(Static Initialization Block)입니다. 처음 봤을 때 잘못본건가 했는데, 알고나니 알아둬야 할 것 같아서 기록합니다. 1. 인스턴스 초기화 블록(Instance Initialization Block) 인스턴스 초기화 블록은 클래스 안에 직접 작성되는 블록으로, 중괄호 {}로 감싸져 있습니다. 이 블록은 객체가 생성될 때마다 실행되며, 생성자보다 먼저 실행됩니다. 여러 개의 생성자가 있고 각 생성자에서 공통으로 수행해야 하는 코드를 ..
자바는 객체를 파일에 저장하거나 네트워크를 통해 전송하기 위해 문자열과 같은 연속적인 데이터(byte stream; 자바는 기본적으로 byte stream으로 입출력 관리)로 변환하는 과정을 처리합니다. 이를 직렬화라 합니다. 당연히 직렬화된 데이터(byte stream)를 다시 객체화하는 것을 역 직렬화라고 합니다. 직렬화가 되기 위한 조건은 다음과 같습니다. 클래스와 그 모든 멤버가 Serializable 인터페이스를 구현해야 함 직렬화에서 제외하려는 멤버는 transient를 선언해야 함 class Member implements Serializable /* 직렬화 필수 조건 */{ private Long id; private String name; private Integer age; privat..
개발하다보면 "예외처리"는 필수죠. Java의 Exception은 크게 Checked Exception과 Unchecked Exception 두 가지로 나뉘는데, 각각이 무엇인지 알아봅시다. 1. Checked Exception Checked Exception은 컴파일러가 컴파일 시점에 체크하는 예외를 의미합니다. 이러한 예외들은 반드시 예외 처리를 해주어야 합니다. 예를 들어, FileNotFoundException, IOException 등이 있습니다. 이런 예외들은 파일을 읽거나 쓰는 과정에서 발생할 수 있는 예외를 대비하여 개발자가 미리 예외처리를 해두어야 합니다. try { // 예외가 발생할 가능성이 있는 코드 } catch (FileNotFoundException e) { // 예외 처리 코..
우리는 많은 경우에 습관적으로 데이터를 초기화하여 사용합니다. 하지만 경우에 따라 자바는 기본적으로 초기화를 해 주는 경우도 있는데요. 이를 분명하게 인지하고 사용하고자 해당 내용을 명확하게 정리해 보겠습니다. 지역 변수와 초기화 먼저, 지역 변수에 대해 알아보겠습니다. 지역 변수란 특정 영역 내에서만 사용되는 변수를 말합니다. 예를 들어, 메서드 또는 제어문 안에서 선언된 변수가 이에 해당합니다. 이렇게 선언되는 지역 변수는 반드시 초기화를 해 줘야 사용이 가능합니다. public class Main { public static void main(String[] args) { int a; System.out.println(a); } } 예시 코드를 보겠습니다. 위 코드에서 int a;는 main 메서드..
이제부터 본 수업이 시작되었다. 다음 주부터는 매주 월요일 평가시험도 이루어지기 때문에 한주 한주 열심히 학습을 지속해야 하는 채찍이 되어준다. 그리고 주제 별로 평가를 진행하는 관통 프로젝트의 페어도 구성되었다. 이제 진짜 시동이 걸리고 있는 느낌이 든다.자바 커리큘럼 시작자바는 내가 백엔드를 본격적으로 시작한 작년부터 열심히 공부했던 언어이다. 문법 외 자바의 구조나 철학에 대한 공부를 시작한 건 이번 겨울이 처음이었지만, 그래도 개발을 진행하면서 익숙해지기도 했었기에 나름 자신이 있었다. 자바를 알려주는 강사님께서는 썬 마이크로시스템즈(자바를 만든 회사)에서 자바를 강의했던 분이셔서 자바를 정말 잘 알고 계신 것이 정말 잘 느껴졌다. 자바를 만든 회사에서 자바를 강의하셨다니... 엄청 놀랐고, 평소..