백엔드 부트캠프/TIL 9

스프링 boot-starter-aop가 안보이던 이유

오늘 학습 중, https://start.spring.io/ 에서'org.springframework.boot:spring-boot-starter-aop를 제공하지 않는게 궁금해서 찾아봤습니다. '제공하지 않으니까 이미 들어 있는거 아닐까?' 라는 생각이 먼저 들어 org.springframework.boot:spring-boot-starter 라이브러리를 찾아보니 역시 spring aop가 추가되어 있습니다. 그렇다면 aop가 라이브러리에 들어가 있는데 왜 @Aspect 애노테이션을 보이지 않는걸까요? springinitializer 개발자의 말에 따르면 spring aop보다 인지도가 덜하고 입문자들에게 굳이 다른회사의 starter를 제공하는게 일관성이 없다고 생각하여서 없앴다고 합니다. 여기서 여..

[TIL] DAY-16~17 제네릭과 컬렉션

제네릭(Generic)이란 변수를 선언할 때 모든 변수에는 자료형이 있습니다. 대부분 하나의 자료형으로 구현되지만, 필요에 따라 여러 자료형으로 만들 수 있다면 훨씬 유연하게 사용할 수 있습니다. 이와 같이 어떤 값이 하나의 참조 자료형이 아닌 여러 참조 자료형을 사용할 수 있도록 프로그래밍 하는것을 '제네릭(Generic) 프로그래밍이라고 합니다. 출처: 박은종 - 「Do it 자바 프로그래밍 입문」, 이지스 퍼블리싱 제네릭의 필요성 public class Cup{ private Americano coffee; public void setCoffee(Americano coffee){ this.coffee = coffee; } public Americano getCoffee() { return c..

[TIL] DAY-8~10 자바와 3대 핵심 기술 패키지

1. 자바란 2. 자바의 3대 핵심 기술 패키지 : JDK,JRE,JVM 3. 페어실습과 3일간 회고 자바란 썬 마이크로시스템즈에서 1995년에 개발한 객체 지향 프로그래밍 언어. 창시자는 제임스 고슬링이다. 2010년에 오라클이 썬 마이크로시스템즈를 인수하면서 Java의 저작권을 소유하였다. 자바의 장점 운영체제에 독립적이다. Q) 그렇다면 왜 운영체제마다 다르게 다운로드해야하는가? A) 자바 프로그램과는 달리 자바 가상 머신(JVM)은 운영체제에 종속적이므로, 각 운영체제에 맞는 자바 가상 머신을 설치해야 한다. 객체 지향 언어(Object Oriented Programming, OOP) 추상화(abstraction) : 객체들의 공통 특징을 도출하는 것 캡슐화(encapsuplation) : 객체가..

[TIL] DAY-7 git에 대해 알아봅시다

Git 이란, 리눅스 토발즈(Linus Torvalds)가 2005년 리눅스 커널 개발에 사용할 관리 도구로 개발하였다. 버전 관리 자료가 하나의 원격 저장소와 분산된 개발자 PC의 지역 저장소에 함께 저장되어 관리되는 방식인 부산 저장소 방식이다. 버전 관리가 지역 저장소에서 진행되므로 버전 관리가 신속하게 처리되고, 원격 저장소나 네트워크에 문제가 있어도 작업이 가능하다. 오픈소스로써 무료로 사용 가능함. git 자체만으론 로컬 저장소를 사용하기 때문에 개발자와 실시간으로 작업을 공유할 순 없습니다. Github란 Git Repository를 위한 웹 기반 호스팅 서비스 클라우드 서버를 사용해서 로컬에서 버전 관리한 소스코드를 업로드하여 공유 가능 분산 버전 제어, 액세스 제어, 소스 코드 관리, 버..

[TIL] DAY-6 CLI 명령어에 공부해 보았다.

1. CLI 명령어 2. 사용자 계정 컨트롤의 등장 3. 패키지와 패키지 매니저 MacOS패키지 명령어 Linux패키지 명령어 4-1. 리눅스 파일, 디렉토리 권한 확인하기 4-2. Read, Write, Execute 권한 6. Ubuntu GUI 실습 1. CLI 명령어 pwd: 현재 위치를 확인하는 명령어 mkdir: 새로운 폴더를 생성하는 명령어 ls: 폴더나 파일의 목록을 출력하는 명령어 nautilus (Ubuntu), open (macOS): 현재 폴더를 파일 탐색기로 여는 명령어 cd: 폴더에 진입하는 명령어 touch: 새로운 파일을 생성하는 명령어 cat: 파일의 내용을 터미널에 출력하는 명령어 rm: 폴더나 파일을 삭제하는 명령어 mv: 폴더나 파일의 위치를 이동하거나, 이름을 변경하..

[TIL] DAY-4,DAY-5 Flexbox와 twittler 목업 구현하기

Flexbox에 대하여 Flex Container 속성 Flex items 속성 헷갈릴 만한 요소들 CodeSandbox twittler 목업실습! Flexbox에 대하여 대부분 사이트는 전체 레이아웃이 수직 구성이며 ‘위-아래’로 스크롤 하여 사용합니다. 레이아웃을 구성할 때 가장 많이 사용하는 요소(Elements)들이 기본적으로 블록(Block) 개념으로 표시(Display)되며 이는 뷰(View)에 수직(위에서 아래로)으로 쌓이기 때문에 수직 구성은 상대적으로 쉽게 만들 수 있습니다. 하지만 수평(왼쪽에서 오른쪽으로) 구성의 경우는 상황이 조금 다릅니다. 문제는 수평 구조를 만드는 속성이 명확하지 않았기 때문인데, 그래서 많은 경우 나 float 혹은 inline-block 등의 도움을 받았습니다..

[TIL] DAY-3 HTML과 CSS에 대하여

HTML과 CSS에 대해 공부하게 되었다. 이미 알고 있는 부분도 있지만 몰랐거나 헷갈리던 부분에 대해 정리를 해보았다. 글꼴의 크기 설정에 대하여 글꼴의 크기에서는 단위가 무엇보다 중요합니다. 글꼴의 단위는 절대 단위와 상대 단위, 두 가지로 구분할 수 있습니다. 절대 단위: px, pt 등 상대 단위: %, em, rem, ch, vw, vh 등 기기나 브라우저 사이즈 등의 환경에 영향을 받지 않는 절대적인 크기로 정하는 경우 px(픽셀)을 사용합니다. px은 글꼴의 크기를 고정하는 단위이기 때문에 사용자 접근성이 불리합니다. 작은 글씨를 보기 힘든 사용자가 브라우저의 기본 글꼴 크기를 더 크게 설정하더라도 크기가 고정됩니다. 개발자가 제목(heading)을 강조하기 위해 픽셀을 이용해 글꼴의 크기를..

[TIL] DAY-2 컴퓨터의 이해, 웹 클라이언트와 웹 서버

💻컴퓨터란? 컴퓨터는 프로그램을 이용해 결과를 도출하기 위해 만들어진 기계이다. 과거 컴퓨터는 주로 연산을 하는 ‘계산기’를 뜻했다. 오늘날의 컴퓨터는 20세기 천재들인 앨런 튜링(Alan Turing)의 논문을 시작으로 존 폰 노이만(John von Neumann)이 설계한 프로그램 저장 방식과 존 바딘(John Bardeen), 월터 브래튼(Walter Brattain), 윌리엄 쇼클리(William Shockley) 등 노벨상 트리오가 발명한 트랜지스터로 개발을 거듭한 결과물이라 할 수 있다. 컴퓨는 방대한 양의 데이터를 입력, 처리, 저장, 출력할 수 있는 전자 기기(electronic machine or device)다. 즉, 산술이나 논리셈을 자동으로 수행하도록 프로그래밍할 수 있는 범용장치(..

[TIL] 백엔드 부트캠프 시작

💭 메타인지: ‘생각에 관한 생각(Thinking about Thinking)’ 저자 제임스 클리어(James Clear)은 해당 저서를 통해 “습관은 자기 정체성의 표현”이라고 설명합니다. 즉, 자기 스스로를 어떻게 규정하느냐가 우리의 행동을 결정한다. 메타인지(Metacognition)에 대한 내용을 간략히 소개하고 함께 고민해 보는 시간을 갖고자 합니다. 자기 자신을 객관적으로 바라보면서 자신이 무엇을 알고, 무엇을 모르는가를 객관적으로 파악할 수 있고, 더 나아가 이에 맞는 개인적 전략을 세울 수 있는 능력입니다. 1. 자기 자신을 보는 거울 2. 스스로를 믿는 능력 3. 나의 완벽하지 않은 모습을 인정하는 것 💭 의사코드를 왜 작성해야 할까요? https://www.youtube.com/watc..