전체 글 142

[SpringBoot] 스프링부트 프로젝트 만들기

인프런의 김영한님 스프링부트 강의가 유명하다는 말을 많이 들었다. 나는 스프링 레거시버전으로만 프로젝트를 하기도 했고, 스프링 프로젝트를 만든 지 시간이 좀 되기도 해서 스프링 입문 강의를 보며 스프링부트로 프로젝트를 만들어 보기로 한다. 0)준비하기 https://www.jetbrains.com/ko-kr/idea/download/#section=windows 다운로드 IntelliJ IDEA: 우수성과 인체 공학이 담긴 JetBrains Java IDE www.jetbrains.com 먼저 인텔리제이를 다운받았다. 기존에는 이클립스나 sts를 사용했는데(node플젝할 때는 vscode를..) 강사님께서 인텔리제이를 강추하셔서 나도 한번 써보기로..^^ https://www.oracle.com/kr/j..

Study/spring 2022.11.29

[JAVA] 스택(stack)

백준 알고리즘 강의를 들으며 정리한 내용입니다. 스택은 한 쪽 끝에서만 자료를 넣고 뺄 수 있는 구조이다. 마지막에 넣은 것이 먼저 나오기 때문에 (LIFO: Last In First Out)라고 한다. push: 자료를 넣는 연산. return 값 x pop: 스택에서 자료를 빼는 연산. return 값 x top: 스택의 가장 위에 있는 자료를 보는 연산. 자료 값이 return됨. empty: 스택이 비었는지 아닌지 알아보는 연산. true, false return size: 스택에 저장되어 있는 자료의 개수를 알아보는 연산. 자료 개수 return 스택의 구현 일차원 배열로 구현 가능하다. int stack[1000]; int size = 0; void push(int data) { stack[s..

Study/Java 2022.11.22

Node.JS에러 - 로그아웃 오류(Error: req#logout requires a callback function)

node프로젝트 작업 중 에러가 났다. stackoverflow를 찾아보니 passport 0.6 출시 이후로 req.logout이 비동기로 변경되어 위 코드로는 작동이 안된다고 한다. 그래서 아래 코드로 수정하였더니 로그아웃이 잘 된다.^^ router.get('/logout', function(req, res, next) { req.logout(function(err) { if (err) { return next(err); } res.redirect('/'); }); }); https://stackoverflow.com/questions/72336177/error-reqlogout-requires-a-callback-function Error: req#logout requires a callback ..

Study/Node.js 2022.11.21

[JAVA] 내부 클래스

자바의 정석을 읽으며 정리를 위해 포스팅합니다. 혹시 틀린 부분이 있다면 말씀 부탁드립니다^^~ 내부 클래스란?: 클래스 내에 선언된 클래스 내부 클래스를 선언하는 이유?: 두 클래스가 긴밀한 관계에 있기 때문. 두 클래스의 멤버들 간에 서로 쉽게 접근할 수 있다는 장점과 외부에는 불필요한 클래스를 감춤으로써 코드의 복잡성을 줄일 수 있다. class A{ ... } class B { ... } 이러한 독립적인 두개의 클래스를 class A{ .... class B{ .... } .... } 이렇게 바꾸면 B는 A의 내부 클래스가 된다. 내부 클래스의 선언 변수가 선언된 위치에 따라 인스턴스 변수, 클래스 변수(static 변수), 지역변수로 나뉘듯 내부클래스도 선언된 위치에 따라 나뉜다. 그리고 각 클..

Study/Java 2022.11.13

<객체지향의 사실과 오해> 를 읽었다

IT도서들 중에서 꽤 많은 추천을 받았던 책이어서 눈여겨보고 있다가 기회가 되어 읽어보았다. 객체지향이 무엇인가? 면접을 가면 자주 나오는 단골 질문이다. 이 블로그에서도 몇 번 정리한 적이 있었는데, 현실에 있는 것 중 프로그램에 필요한 데이터를 상태와 행위를 가진 객체로 추상화한 뒤, 객체들 간의 상호작용을 통해 프로그램으로 만드는 것이라고 했던 것 같다. 또, 객체지향을 설명하기 위해 다형성, 상속, 캡슐화, 추상화에 대해서 설명하고... 붕어빵, 자동차, 동물 등의 예를 들곤 했다. 그런데 이 책에서는 객체지향의 목표는 현실 세계를 모방하는 것이 아니라 고객을 만족시키는 신세계를 창조하는 것이라고 한다. 왜 모방이 아닐까? 그것은 프로그래밍과 현실이 다르기 때문이다. 현실에서는 사람이 커피를 마실..

일기 2022.11.10

JAVA의 정석(기본편)

을 사봤다. 공부를 인강이나 인터넷에 있는 자료로만 해왔는데 책을 보면서 깊게 알고 싶어서 구매했다. 검색해보니 같은 저자분의 책이 JAVA의 정석과 기본편이 있었는데, 둘의 차이는 기본편이 더 나중에 나왔고 기초편은 좀 더 쉽게 프로그래밍을 접할 수 있도록 응용부분에 대한 내용만 줄인 책이라고 한다. 둘 중 뭘 살까 고민했는데 기초편은 인강도 있고, 카페에 질문도 가능하다고 해서 기초편으로 구입했다. 그래서 읽어보고 있는데 이해하기도 쉽고 애매하게 알고 있던 개념들을 제대로 설명해 주고 있어서 대만족이다. (리터럴과 상수의 차이같은거..ㅋㅋ) 2회독정도 하고 JAVA의 정석도 구입해볼까 싶다. 회독 후에 후기를 이어 쓰기로...!

일기 2022.10.29

백엔드 신입 기술면접 질문 모음 (JAVA, 웹 관련)

예전에도 면접을 다녀오고 나서 한두문제씩 포스팅하긴 했지만 한번에 모아서 한 적은 없어서 정리하면서 공부할 겸 쓴다. 내가 받았던 질문 + 검색하면 자주 나오는 질문 등을 올려보기로... 여러 번 받은 질문은 형광펜칠을 했다. 답은 천천히 채우는걸루 ㅎㅎ JAVA JAVA의 특징 -객체지향 프로그래밍 언어이다. -장점 JVM(자바가상머신) 위에서 동작하기 때문에 운영체제에 독립적이다. GabageCollector를 통한 자동적인 메모리 관리가 가능하다. -단점 JVM 위에서 동작하기 때문에 실행 속도가 상대적으로 느리다. 다중 상속이나 타입에 엄격하며, 제약이 많다. OOP(객체 지향 프로그래밍)란? -객체 지향 프로그래밍 (Object-Oriented Programming, OOP)은 프로그래밍에서 필..

자료모음 2022.10.26