본문 바로가기

분류 전체보기

(13)
멋쟁이사자처럼 데일리 복습 - 스프링 개요 [25.05.12] 인정할 것은 솔직히 인정하자. 그간 공부한 것들을 복습하며 글로 남기는 일에 소홀했다. 변명을 해보자면, 문법 숙달을 위한 코딩 실습과 미니 프로젝트를 진행하는 동안에는 도저히 생각들을 글로 정리할 여유가 없었다. 자, 그럼 이제 프로젝트가 끝났으니 여유를 되찾았냐고? 그런 것은 또 아니다. 여유로운 듯한 착시 속에서 스프링과 스프링부트라는 또다른 여정이 오늘 부로 시작되었기 때문이다. [오늘의 학습 목표]GoF 디자인 패턴 23가지를 Creational, Structural, Behavioral 유형으로 구분하여 그 목적과 사용 시점을 이해할 수 있다.주어진 요구사항에 맞는 디자인 패턴을 식별하고, 해당 패턴을 활용해 유연하고 확장 가능한 객체지향 구조를 설계할 수 있다.
ex) 다양한 객체 생성을..
아기사자반 9주차 과제물 예외 처리란?프로그램에서는 다양한 원인으로 인해 에러가 발생할 수 있다. 이러한 에러가 발생하더라도 프로그램의 안정성을 유지하기 위해 사전 대응하는 개념이 바로 예외 처리이며, 오류로 인한 비정상적인 종료를 방지할 수 있다.Exception과 Error의 차이넓게 보면, 프로그램을 실행하며 발생하는 모든 내부, 외부적 요인들로 인한 문제들을 에러라고 부를 수 있다.하지만 에러와 예외는 다른 개념이며, 코드 실행(runtime)시 발생하는 유형으로 구분하면 차이점이 두드러진다.에러: 복구하기 어려우며, 주로 프로그램의 종료를 야기하는 심각한 문제를 말한다. 예외: 개발자의 실수로 인해 발생하여 간단한 코드 수정만으로도 해결이 가능한 문제를 말한다.  자바에서 예외 처리 방법 (try, catch, thro..
MySQL 공부 - 터미널로 설치하기 평생 윈도우만 사용하던 사람에게 맥은 너무 가혹하다.자잘한 불편함을 하나씩 나열할 수는 없지만, 당장 가장 어렵게 느껴지는 영역은 바로 터미널을 이용해 이것저것 실행하는 것이다. 얼마 전 기본 터미널 대신 iTerm2를 사용하기 시작했다.개발 환경을 갖추기 위해 zsh도 설치하고, 가독성을 높이려고 개인 옵션도 몇 개 추가했다.이제 꽤 익숙해졌다고 생각했는데, 오늘도 시련이 찾아왔다. 오늘은 워크벤치를 이용해 서버에 새로운 유저를 추가하는 법을 시작으로 터미널을 이용해 서버에 접속하는 등 기본적인 사용 방법에 대해 배웠다. 문제는 내가 무의식적으로 '새로운 유저를 생성한다. 그리고 서버에 로그인한다'로 이해한 것이다. 오늘 만들어본 서버의 이름은 myDB다. 접속하기 위해 터미널에 명령어 mysql -u..
윈도우와 맥에서의 CR/LF 차이 문제의 발견 오늘의 주인공 코드 되시겠다. 실행 후 터미널에 값을 입력하면 그에 해당되는 아스키코드를 출력해준다. 교재에 실린 예시의 정답은 터미널에 'a'를 입력해 97, 13, 10을 출력하는 것이다.  문제는 토시 하나 다르지 않게 작성한 코드에서도 당최 10은 출력되지 않았다는 것이다.먼저 출력 결과를 분석해보자. 각각 출력된 결과물에 맞는 아스키코드를 찾아보면 아래와 같다. a는 97. 10은 LF(라인 피드)중간에 있어야 했던 13은 CR (캐리지 리턴)이다. 라인 피드와 캐리지 리턴은 모두 줄바꿈과 연관이 있다. 그런데 왜 같은 기능을 하는 키가 두 개나 있을까?그 이유는 두 키가 타자기에서 유래되었기 때문이다. 라인 피드와 캐리지 리턴 컴퓨터에서는 단순히 엔터키를 탁 치는 것 만으로도 간단..
[아기사자반] 1차 과제: JVM과 자바 코드의 실행 방식 개인 공부를 위해 작성한 게시물입니다. 잘못된 정보가 포함되어 있을 수 있습니다.  1. JVM (Java Virtual Machine)JVM, 자바 가상머신은 프로그래밍 언어 자바로 쓰인 코드를 컴퓨터에서 실행할 수 있도록 기계어로 변환해주는 역할을 수행한다.  * 가상 머신?가상 머신이란 프로세스와 같이 OS로부터 메모리를 할당받아 구동되는 '컴퓨터 안의 컴퓨터'다. 여타 프로세스와 마찬가지로 OS로부터 메모리를 할당받아 작동되지만, 호환성 문제와 같은 OS의 제약으로부터 보다 자유롭다.2. JVM의 구성 요소JVM은 각각 다른 역할을 수행하는 클래스 로더, 런타임 데이터 영역, 실행 엔진으로 구성된다. 메소드 영역 (클래스 로더)클래스 로더는 JVM에 클래스 파일을 불러온다. 자바는 동적 로딩(Dy..
[자바 기초] if문 / else if문 멋쟁이사자처럼 자바 백엔드 부트캠프를 수강하며 공부를 목적으로 작성한 게시물입니다. 틀린 정보가 있다면 아낌없는 지적 바랍니다. if문이란, 특정 조건(값의 크기나 데이터 비교 등)이 충족될 경우 포함된 코드를 실행하는 명령어를 말한다. 구성은 이렇다.if (조건) { 실행할 코드; } 이를 실생활에 적용해보자.지하철 무임승차를 위한 전용 승차권을 발급하는 프로그램을 만들어 보겠다.현행법상 65세 이상 어르신들부터 무임승차 혜택을 누릴 수 있다. 먼저 논리구조를 세워보자.나이 정보 확인 -> 기준에 해당되는지 검토 -> 결과 출력  당연하지만, 사람의 나이는 정수로 구현된다. 따라서 나이를 하나의 변수로 선언해보자. 30을 임의로 넣어 값을 초기화하였다. 이제 변수 '나이'의 값이 기준에 해당되는지..
Git 다루기 1 - 터미널을 이용해 커밋하기 본 게시물은 정보 전달 목적이 아닌 부트캠프 과정을 수료하며 개인적인 공부 목적으로 작성한 것입니다.부정확한 내용이 포함되어 있을 수 있는 점에 유의하시기 바랍니다. 1. Git 설치하기 맥과 윈도우의 설치법이 각각 다르다. 윈도우라면 https://git-scm.com/downloads 에서 OS 버전에 맞는 파일을 내려받아 설치하면 된다. 맥의 설치법은 더 간단하다. 터미널을 열고, 아래 명령어만 입력하면 된다.$ brew install git 설치 후 터미널에 git을 입력했을 때, 정보가 주르륵 나열된다면 성공이다. 2. 작업 폴더 생성 (로컬 레포지토리 만들기) 사용자의 로컬 디바이스에 깃을 저장하고 수정할 작업 공간을 만드는 과정이다.폴더를 만들어야 하는데, GUI를 이용하거나 아래와 같이 터..
멋쟁이사자처럼 부트캠프 자바 백엔드 과정 (4일차) / 워크샵 1 [문제1] 다음과 같은 조건을 만족하는 프로그램을 작성하라. 1. int, double, char, boolean 자료형을 각각 변수로 선언하고, 해당 변수의 값과 자료형을 출력하라.2. 출력 시 변수의 자료형과 변수에 저장된 값을 함께 서술하라. 구현 클래스클래스 이름메소드기타Test01+main(String args[]) : voidmain 함수 안에서 모든 코드 진행  실행 결과정수형 변수의 값은 100이며, 자료형은 int 이다.실수형 변수의 값은 3.14이며, 자료형은 double 이다.문자형 변수의 값은 A이며, 자료형은 char 이다.논리형 변수의 값은 true이며, 자료형은 boolean 이다. 더보기1. 변수 선언package likeLion;public class Chore01 { pu..