
코딩테스트 문제를 풀때 디버거를 잘 몰라서 printf와 같은 출력문을 반복문 사이사이에 넣어서 풀곤 했었다.하지만 UNIX를 배우면서 Make Utility와 GCC 컴파일러에 대해 배우면서 GDB에 대해 배울 수 있었다.이를 배우면서 흥미를 느껴 이에 대해 기록하고

Windows의 Visual Studio 같은 통합 개발 환경(IDE)은 매우 편리하지만, 많은 개발 환경, 특히 서버는 그래픽 인터페이스(GUI)가 없는 터미널 기반의 리눅스로 운영된다. 따라서 터미널 환경에서 코드를 작성하고 컴파일하는 능력은 개발자의 기본 소양이다

전공 공부를 병행하면서 꾸준히 코딩테스트 문제를 풀다보니 목표 중 하나였던 백준 골드를 달성하게 되었다.실버를 달성까지 며칠만에 안 걸렸어서 골드도 금방 달성할 수 있을 줄 알았지만 그건 내 기본기가 있기 때문이었다.실버 문제부터는 스택, 큐, 트리, 그래프와 같은 자

분할 정복 알고리즘(Divide and conquer algorithm)은 그대로 해결할 수 없는 문제를 작은 문제로 분할하여 문제를 해결하는 방법이다. 대표적인 예로는 퀵 정렬이나 합병 정렬과 이진 탐색 등이 있다.1) Divide 원래 문제가 분할하여 비슷한 유

백준 25501 - 재귀의 귀재재귀 알고리즘 문제를 풀다가 답안을 제출했는데 자꾸 오답처리가 되었다.알고리즘에도 문제가 없고 내 컴파일러에서는 실행결과에도 아무런 문제가 없었다.그래서 다른 사람들의 코드와 비교하다가 이유를 찾았다.결론부터 말하자면, 채점 서버의 컴파일

백준 - 후위 표기식C에는 스택 라이브러리가 없기 때문에 구현하여 사용해야한다.그래서 스택을 구현한 김에 더 깊게 이해하고자 스택 문제를 여러 개 풀고 있다.우리는 1+2+3 처럼 숫자(피연산자)와 숫자 사이에 연산자(+)를 넣어서 식을 표현하는데 이를 중위 표기식(I

문제 링크 백준 - 스택 수열 문제 내용 C에는 스택 라이브러리가 없기 때문에 구현하여 사용해야한다. 그래서 이왕 스택을 구현한 김에 더 깊게 이해하고자 스택 문제를 여러개 풀고 있다. 아마 예시 입출력이 없었다면 아직도 문제를 이해하지 못했을 것이다. 쉽게

DAO 패턴과 커넥션 풀 비즈니스 로직을 JSP에서 분리했더라도, 데이터베이스 연결(JDBC) 코드가 서블릿이나 JSP에 직접 포함되어 있다면 심각한 문제를 야기한다. 이러한 구조는 코드 중복, 어려운 유지보수, 비효율적인 DB 연결로 인한 성능 저하를 초래한다.

JSP 페이지 안에서 <% ... %> 스크립틀릿으로 자바 코드를 직접 작성하는 것은, 코드가 길어질수록 가독성과 유지보수성을 급격히 떨어뜨린다. 특히 HTML나 JSP 폼(form)에서 넘어온 많은 파라미터를 처리하는 코드는 순식간에 지저분해지고 관리가 어렵다.

쿠키(Cookie) HTTP 프로토콜은 '상태가 없는(Stateless)' 특징을 가진다. 이는 서버가 각 요청을 독립적인 것으로 취급하여 이전 요청을 기억하지 못함을 의미한다. "방금 로그인한 사용자가 누구인지" 알 수 없는 것이다. 이 문제를 해결하기 위해, 서버

Java로 웹 개발을 시작하면 가장 먼저 JSP(JavaServer Pages)와 서블릿(Servlet)을 만나게 된다.서블릿 (Servlet)서블릿은 순수 자바(Java) 코드이다. 서블릿은 사용자의 요청을 처리하고, 비즈니스 로직을 실행하며, 데이터를 제어하는 역할

프로젝트 구조, 왜 중요할까? 나도 그랬듯이 초보자들은 프로젝트를 시작할 때, 모든 코드를 파일 하나에 다 넣으려고 한다. 하지만 JSP를 예로 들었을때 HTML, CSS, JavaScript, 자바 로직, 데이터베이스 연결 코드까지 한 파일에 뒤섞이면 처음에는 빠

최종\_보고서.hwp진짜최종\_보고서.hwp진짜진짜최종\_수정본\_보고서.hwp교수님께\_보낼파일\_최종.hwp우리는 모두 파일의 버전을 관리하느라 고통받아 본 경험이 있다. 개발 프로젝트는 수십, 수백, 수만 개의 파일로 이루어져 있고, 수많은 사람이 동시에 작업한다

데이터 무결성은 데이터베이스 내의 데이터에 대해 정확성(Accuracy), 일관성(Consistency), 유효성(Validity)을 유지하는 것을 의미한다. 즉, 데이터베이스에 저장된 값은 항상 의도된 형식과 규칙에 맞게 저장되어야 하며, 데이터 간의 관계 또한 모순

정규화(Normalization)란 ? 데이터베이스 정규화는 관계형 데이터베이스에서 데이터의 중복을 최소화하고, 데이터의 일관성과 무결성을 확보하기 위해 테이블을 구조화하는 과정이다. 잘못 설계된 테이블에서는 데이터를 추가, 수정, 삭제할 때 예기치 않은 문제가 발

오랜만에 알고리즘 문제를 풀어봤더니 내가 생각한대로 동작을 안했다. 디버깅 과정에서 배운 내용을 복습겸 정리해보려고 한다.

웹 프로그래밍 기초 수업을 수강하면서 JSP와 자바스크립트를 배웠다. 이때 데이터베이스 삽입, 삭제, 수정, 검색 그리고 쿠키나 세션을 활용한 로그인과 회원가입 로직을 구현해보며 1학기를 마무리했다.

디지털 논리회로 총정리 컴퓨터 공학과 복수전공을 준비하며 타 학교 컴퓨터 공학과에서는 전공 필수 과목일 정도로 중요한 논리회로라는 강의를 수강하였다. 한 학기에 전부 공부하기엔 양이 많아 가볍게 보고 넘어간 부분들도 많다. 나중에 보면 내용이 떠오를 정도로 기억에

이 프로젝트는 대학교 '데이터베이스설계' 강의의 텀프로젝트로 진행하였다.한 학기동안 개념 학습, 시험공부, 매주 진행하는 팀 활동으로 많은 노력을 쏟았다. 그 결과 70명중 성적분포도상 1-4등 정도를해서 A+라는 성적으로 마칠 수 있었다. 프로젝트의 주제는 "데이터베

대학에 복학해 자료구조 수업을 들으며 기본기를 다지고 시험 공부에 열중하면서도 남는 시간에는 백준 문제를 풀고 있다.학점 4.5를 받고 남는시간에 짬짬이 코딩테스트를 풀면서 백준 골드까지 가는것이 이번 학기 목표이다. (현재 실버 2)그래서 좀 코딩테스트나 대학 수업에