thumbnail4월 11일 부터 10월 4일 까지 코드스테이츠의 백엔드 45기가 진행된다.나도 이번 과정에 참여하게 되었다.지난 3년간 진행했던 모든 프로젝트들을 파이썬으로만 했었기에자바는 변수의 자료형을 선언해야 한다는 것 외에 전혀 몰랐다.나는 이 과정을 통해 S
thumbnail여러분은 컴퓨터가 무엇이라고 생각하시나요?이번 클래스는 위의 질문으로 시작되었다.이는 라이브 섹션에서도 강사님이 하셨던 질문으로이미테이션 게임을 재밌게 봤던 나는 엘런 튜링이 만든 에니그마 암호 해독 장치가 최초의 컴퓨터라고 불린다는 것을 이미 알고 있
thumbnailWEB은 거미줄웹서핑, 웹툰 등 여기서 쓰이는 웹은 web이다.주소창에 적는 www도 world wide web의 약자로web이 포함되어 있다.그렇다면 web은 무엇일까?web을 번역하면 거미줄이다.강사님이 미국에서 한국까지 이메일을어떻게 주고 받나 라
오늘은 리눅스 실습이다.리눅스는 이미 익숙했다. 앞서 한 프로젝트들을 AWS ec2 환경에서 사용할 때 cli로만 ubuntu를 사용했었고,ubuntu를 사용한 라즈베리 파이를 모니터에 연결해 gui까지 사용해 본 적 있기 때문이다.그래서 웬만한 명령어들은 다 알고 있
git add ~git commit -m ~git push ~ ~git pull ~ ~지난 몇년간 여러 프로젝트를 진행하고 가장 지겹도록 많이 친 명령어인거 같다.오늘 배운건 git과 github들이다.이 역시 이미 알고 있던 내용들이었지만,git reset에서 옵션의
이번엔 페어프로그래밍을 하면서 해결한 오류인Detached HEAD에 대해 기술하고자 한다.기억을 하자면,파일을 수정하고 커밋을 한 뒤, remote에 페어의 repo를추가하고, 이후 페어의 repo에 push를 했을 때 생겼던 오류인거 같다.push를 했을 때 det
오늘은 java에 대해 설치부터 기초 문법까지 배웠다. intelliJ나 jdk 같은 경우 이미 설치 되어 있었고, 기초 문법, 변수 타입 등은 참고자료가 많기도 하고, 이미 알고 있어 jvm, jre, jdk에 대해 알아보고자 한다. jvm java가 나오기 이
주구장창 파이썬으로만 개발해 왔던 나는switch에 대해 들어만 봤고 오늘 처음 보고 사용해 봤다.우선 파이썬에선 왜 switch가 없을까 궁금해서 물어보았다.나: python에서는 왜 switch가 없을까??GPT: Python은 다른 언어와는 달리 switch 문장
코딩을 아는 사람에게 반복문을 물어본다면,대부분의 사람들이 먼저 for 구문에 대해 설명을 할 것이다.사실 영어(loop)나 한글(반복)이나 둘다 위의 이미지 처럼 무한의 굴레라 for보단 while에 가깝긴하다.보통 배울 때 for를 배우고 while을 배우는거 같은
Franz Liszt오늘은 배열에 대해 공부했다.자바에서 여러 데이터를 담기 위한 자료형이 몇개 있다.배열(Array)과 리스트(list)가 존재하는데,두개는 명확한 차이점과 각각 장단점이 존재한다.이번에는 이 차이점과 장단점을 이야기 하고자 한다.배열의 가장 큰 특징
오늘은 자바기초를 끝내고 oop 기초에 들어섰다.객체가 어떠한 건지 설명을 들었고,class와 instance에 대한 설명을 붕어빵 틀과 붕어빵에 비유했었다.붕어빵 틀이 class고, 붕어빵이 instance인 셈그리고 class를 구성하고 있는 것을 member라 하
저번에 말했듯이 class는 붕어빵 틀 혹은 레시피라고 할 수 있다.오늘은 이 레시피에 대해 더 자세히 알아보고자 한다.어떤 한 대상을 추상화하여 코드로 짜놓은 것을 class라고 할 수 있다.이 class를 바탕으로 생성된 객체를 instance라고 하는데,엄밀히 말
다음 중 클래스에 대한 설명으로 옳은 것은?클래스명은 class 키워드를 사용하여 정의할 수 있고, 주로 대문자로 시작하는 것이 관례이다.클래스는 필드와 메서드 두 가지 구성요소로만 이루어져 있다.클래스는 객체를 생성하기 위한 일종의 틀이지만, 클래스를 사용하지 않고도
오늘은 java의 꽃인 oop의 꽃인 상속을 배웠다.(사실 추상화도 배움 담에 기술)django를 다루면서 상속이야 밥먹듯이 했지만,java의 상속은 python의 상속과 조금 다른 부분이 있다.그래서 이 상속에 대해 정리하고 새로 알게 된 점을 얘기하고자 한다.jav
이번글은 OOP의 4가지 특징 중 3번째인다형성이다.다형성에 대해선 아는 것이 없었기에공부하는데 시간이 들었지만,다행히 이해는 된거 같다.다형성프로그램 언어의 다형성(多形性, polymorphism; 폴리모피즘)은 그 프로그래밍 언어의 자료형 체계의 성질을 나타내는 것
추상화의 아버지 칸딘스키의 자화상 java oop 챕터의 마지막이자 핵심 추상화 오늘은 이 추상화에 대해 공부했다. 추상화 보통 사람들이 알고 있는 "추상적인"에서 추상과 완전 다른 느낌을 가지고 있는 oop의 추상에 대해 oop 챕터를 들어가면서 대강 알려줬었는데
변수를 선언 할 때매번 type을 지정해야 하고,변수의 type을 신경 써 줘야 하는자바는 정적 타입 언어이다.하지만 class에서 받을 매게변수에 대한type을 미리 지정하지 않고 받을 수 있는 방법이 있다.바로 genericgeneric은 class 설계 시매개변수
이전에도 collections 중List 자료형에 대해 설명한 적이 있다.이 List에는 이전에 말했듯이 하위에는 ArrayList, LinkedList가 있다.상위도 존재하는데, 이게 Collection이다.Collection 하위인 List와 같은 위치에Set가 하
오늘은 Annotation, Lambda, Stream에 대해 공부하였다.Annotation과 lambda는 python 특히 django를 사용하면서 많이 써봤기에익숙한 편이었다.(python에선 annotation이 아니라 decorator)하지만, Stream에
thread는 한국말로 실이다.컴퓨터 견적 볼 때나 봤었던 이 thread는 java에서 말하는 thread와는 다른 것이다.언젠가 본 적이 있는데,cpu의 코어를 일하는 사람이라고 치면,cpu의 thread는 일하는 사람의 손이라는 것이다.gpt에도 물어보니java와
코드스테이츠의 백엔드 부트캠프를 시작한지벌써 한달이 다 되어간다.이미 파이썬의 django를 통해 어느 정도 개발을 했었던 나는초반에만 하더라도 linux나 git 기초 부분을 배웠던지라시간이 빠르게 흐르지는 않았다.하지만, 객체 지향 프로그래밍의 심화를 배울 때 부터
섹션1이 끝나고오늘 부터 알고리즘에 관한 부분인 섹션2가 시작되었다.알고리즘의 시작은 역시 재귀함수..재귀함수 하니 위 짤이 바로 생각이 났는데,라이브 세션에서도 역시 이 예시를 들어 시작하셨었다.이전까지만 해도 알고리즘은 물론재귀함수 조차 제대로 공부하거나 배운적은
프링글스 통에서 맨 위에 있는 감자칩은 가장 나중에 생산된 것일까? 먼저 생산된 것일까? 자료구조 강의에 들어서면서 가장 먼저 배웠던 것은 스택이었다. 스택은 LIFO(Last In First Out)의 규칙을 가지며, 보통 프링글스 통을 예로 든다. 큐는 FIF
지난 시간에 이어서오늘은 자료 구조 중 tree와 graph에 대해 공부했다.tree는 이전에도 collection에 대해 공부할 때배운적이 있는데,그때의 tree보다 좀 더 깊게 들어갔고,언제 사용하는지도 고민해봤다.tree에 대해 처음 배울 때에는root, 자식 n
창업프로젝트를 진행했을 때 클라우드 서비스인 aws를 사용했었는데, ec2나 lightsail을 사용하기 위해 설정을 건들 때(특히 인바운드 아웃바운드 규칙) tcp/ip라는 단어를 많이 봤었다. 이번 수업에서도 tcp/ip에 관한 내용을 배웠고, 이를 좀 더 자세히
이전(https://velog.io/@jjo3ys/2.3.1-tcpiptcp(transmission control protocol)과 udp(user datagram protocol)은 3계층인 전송계층에서 사용되는 프로토콜이다.이번엔 이 tcp와 udp에 대
csr과 ssr을 조립식 가구와 조립이 되어있는 일체형 가구로 비유한다 이때까지 수업을 들으면서 처음 듣는 키워드가 거의 없었는데 오늘 CSR과 SSR에 대해 처음 들어봤다. 사실 까보니 내용물은 익숙한 것인거 같은데 이러한 것의 전문 용어는 몰랐다. CSR CSR은 Client Side Rendering의 준말로 말 그대로 Client측에서 페이지...
CORS는 Cross-Origin Resource Sharing의 준말로어느 한 도메인의 페이지에서 다른 도메인의 데이터를요청 할 수 있게 허용하는 구조이다.아직 spring framework에 대해 실습을 하지 않아자세히 다뤄보지는 못하겠지만,신입 웹 개발자들에게는
java의 개념, 알고리즘, database를 넘어드디어 spring에 첫 발을 딛기 시작했다.spring부터는 정말 내가 알고 있는 것이 하나도 없기에,걱정이 되기도 하지만, 기대도 된다.spring framework를 처음 시작하면서 핵심 개념에 대해 간단히 알아가
지난 작성에 이어 바로DI에 대해 좀 더 자세히 다뤄보고자 한다.(가장 헷갈리는 개념ㅠㅠ)java에서 공통적으로 사용되는 개념인 IoC를spring에서 구체화 시킨 것으로객체 간의 의존 관계를 객체가 직접 생성하는 것이 아니라외부로 부터 주입 받아 사용하는 방식을 의미
DI가 이론적인 부분에서 애를 먹었다면,AOP에서 각 객체별로 공통의 관심사와 핵심 관심사를나누는 일은 별로 어렵지 않은 개념이었지만,구현하는 부분에서 알아야 할게 많았던거 같다.그래서 이번엔 개념도 하긴 할테지만,구현에 중점을 두고 블로깅하고자 한다.AOP는Aspec
드디어 spring 시작이다.(봄은 끝났지만..)Section3에 들어가기 전에 처음 배운 것일 거라 생각되어두려움과 기대가 있었지만,오늘 배운 것은 MVC이다.django를 공부하면서 MTV패턴에 대해 들어봤고,이 Spring MVC는 이 MTV와 크게 차이가 없었다
Controller를 자세히 배우기 이전에나는 오늘 알게 된 DTO나 Mapper 빼고는(django에서 model이나 dto,serializer가 mapper라 생각하기 때문에..)모든 구현 사항을 Controller에 다 구현했었다.그래서 내 django 프로젝트를
이전 dto를 통해 유효성 검증을 진행했었는데,이번엔 유효성 검증이 실패 했을 경우처리하는 방법에 대해 배웠다.물론 기본적인 예외 처리는 Spring에서 알아서 해준다.하지만, 사용자나 클라이언트에 자세하게 error response를 보여주기 위한예외 처리하는 방법이
이제부터 몇일간Data Access 계층에 사용할ORM을 배우게 된다.JDBC와 JPA..현업에서 많이 사용하는 JPA는JDBC를 기반으로 만들어진 것이기 때문에JDBC를 먼저 배워 원리나 구조에 대해 이해하고자 Spring Data JDBC에 대해 먼저 배웠다.Jav
Django의 orm을 배울 때뭔가 새로웠지만 신기하고 재밌음에도편리하다는 느낌까지 받았다.JPA는 과연...너도 django만큼 날 만족 시킬 수 있니?jpa는Java Persistence API의 약자로Java에서 사용하는 대표적인 orm이다.JDBC를 공부 할 때
JDBC를 배울 때에도Spring Data JDBC를 따로 배웠었는데이 둘이 엄연히 다른것 처럼JPA와 Spring Data JPA도엄연히 다르다고 한다.Spring Data JPA에 대해 알아보고JPA와의 차이도 비교해 보고자 한다.그래서 이게 뭐냐?일단은 Sprin
Spring Data JDBC나 JPA를 구현할 때CrudRepository나 JpaRepository를 사용했었는데,이때 각 Repository에서 제공하는 기능(ex. findById)외 다른 기능을 custom하여 사용할 때Entity 클래스의 wrapper 클래
DB와 SQL에 대해 배울 때트랜잭션도 잠깐 배웠었다.jpa에 트랜잭션을 적용, 활용하기 위해이 트랜잭션에 대해 좀 더 알아보고자 한다.트랜잭션은 기본적으로All or Nothing의 구조를 가지고 있다한 트랜잭션에 얼마나 많은 작업이 포함되어있든간에모두 통과해야 성공
Spring Data JPA는Repository를 통해 save하거나 find하는데,이 과정중에 트랜잭션 처리를 어떻게 하는지는겉으로 보이지 않았다그래서,Spring에서 트랜잭션을 관리하는 것에 대해자세히 알고자 한다.바닐라 JPA를 사용했을 때EntityFactory
첫 기술 면접을 본 회사에서과제전형 때 꼭 테스트 코드를 짜서 제출하라고 했었는데,이때까지만 해도 테스트 코드의 중요성을 생각해 본 적 없었고, 짜본적도 없었다.기술 면접땐 면접관이 왜 테스트 코드를 짜서 제출하라고 했는지 알겠냐고 회사의 의도를 나한테 물어봤었는데,나
이전에도 말했듯 회사에 입사하기 위해 과제전형을 한 적이 있는데, 그 때 테스트 코드를 같이 제출했었다. 당시에는 테스트 코드를 짜본적이 없었기에 급하게 django에서 제공하는 test 모듈을 썼었고 그랬기에 Unit test만 작성하여 제출했었다. 이번에 spr
처음에 Docker라는 것을 알았을 때자세히 알지 못했기 때문에,개발자들이 왜 사용하는지 이해가 안갔었고,그 때 당시전세계 개발자들이 git을 사용하는 비율이 90% 이상이었지만,docker는 50%에 못미쳤기 때문에더 자세히 알아보지 않았다.하지만 요즘MSA 기술이
spring을 배우면서 뭘 새롭게 시작하면django와 비교하기 마련이었는데,spring security는 비교할게 없었다.django에서 security에 관해설정한 것이 없었기 때문..django를 서비스할 때 cors 오류에 관해다뤘던 것이 기억이 있긴 한데,그냥
JWT를 처음 알게 되었을 때 한창 JMT가 유행이었다... JWT는 이전에 사용해 본 적이 있다. django를 사용하여 이메일 기반 인증시스템을 만들 때 이메일로 JWT를 담은 url을 보내 해당 url을 클릭하면 인증이 성공하도록 했었고, 어느 기업에 입사하기
프리 프로젝트를 진행하면서일기처럼 매일 진행사항이나오류 같은걸 작성하려 했지만20일이 지나버렸고,프리 프로젝트는 끝났다..오늘 다른 분들의 회고를 들어보니프리 프로젝트를 진행하면서매일 블로깅 하시는 분들이 있다고 들었는데진짜 대단하신거 같다.pre project는 모든
프로젝트를 진행하면서 spring data jpa만 주구장창 사용하다가멘토님께서 queryDsl 사용을 권장하셨다. (현업에서도 많이 사용한다고)기억상 queryDsl에 대해 들어 본 적은 있었던거 같은데이게 어떠한 건진 전혀 모르고 있었다.Unified Queries