전체 글 56

C++ 알고리즘 리빙포인트 (코딩테스트 용)

(추후 수정 예정입니다.) - 일반 정수 값 출력 include *max_element(v.begin(), v.end()) - 인덱스 출력 max_element(v.begin(), v.end()) - v.begin(); min_elements ```; - 배열 내 가장 큰 값 찾기 bigger = *max_element(longer, longer + 31); - 시간 단축 ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); - 소수점이나 지수 표기 하지 않게 만들기 기본적으로 6자리까지 표현이 가능하게 설정되어있다. cout> n; cin.ignore(); getline(cin, str); getline(cin, str, char temp); 문자열..

STS4 스프링 부트 JSP로 Hello World 출력하기

아래 내용은 STS4, Maven 타입, JDK 17 버전에 대한 설명입니다. Gradle 버전이 아닙니다. 일단 File -> Spring Starter Project를 생성해줍니다. 이름과 타입, 패키징, 사용하번 자바 버전을 입력해준 뒤, 임의로 패키지 값을 설정해줍니다. 만약 DB를 사용한다면 추가로 넣을게 더 있겠지만 지금으로써는 단순히 Hello World를 띄우는게 목적이기에 위의 2개만 찾아서 추가한 뒤 Finish를 눌러줍니다. 위와 같이 생성하자마자 가장 밑에 있는 pom.xml에 들어가 jakarta.servlet.jsp.jstl jakarta.servlet.jsp.jstl-api org.apache.tomcat.embed tomcat-embed-jasper provided 해당 값을..

[서평] 추천 시스템 입문

과거와 다르게 현재는 물밀듯이 들어오는 정보로 인하여 자신이 원하는 정보를 직접적으로 찾기가 매우 어렵습니다. 하지만 구글 광고나 유튜브를 보면 신기하게도 관심 있을 만한 정보들을 속속 골라서 다양하게 제공해 줍니다. 어떻게 이러한 과정이 가능한 걸까요? 이 책은 그러한 시스템의 역사부터 시작하여 전반적인 디자인, 설계 방법 그리고 실제 적용하여 직접 서비스를 제공하는 방법까지 다루고 있습니다. 1장에서는 추천 시스템의 역사를 설명하며 우리 주변에서도 흔하게 볼 수 있었던 경우를 예시로 들어줍니다. 이처럼 추천 시스템의 발달은 정보 수준의 증가와 밀접하게 연관이 있음을 어필합니다. 2장에서는 개발 스킬에 필요한 과정과 어떤 프로젝트를 정의할 수 있는지 설명한 뒤, 3장에서는 사용자인터페이스에 대한 중요성..

책을 읽읍시다 2023.05.28

[서평] 혼자 공부하는 머신러닝+딥러닝

혼자 공부할 수 있도록 도와주는 혼공단 시리즈의 야심작 혼자 공부하는 머신러닝 + 딥러닝입니다. 처음 이 책을 받았을 때 당황했는데, 책의 두께는 약 530쪽으로 무섭도록 두껍습니다. 그렇지만 이러한 내용은 초보자들도 이해하기 쉽도록 가르치니 너무 걱정하지 않으셔도 됩니다. 책 서두에서 파이선 기본 문법과 배울 의지만 있으면 충분하다는 말과 함께 다양한 이야기를 통해 머신러닝의 세계를 풀어나갑니다. 예를 들어 레드 와인과 화이트 와인을 잘 구별할 수 있는 모델을 만들었는데, 이러한 모델 검증을 테스트 케이스에만 의존하지 않고 객관적으로 검증할 수 있게 만드는 방법을 검증 세트라고 하는 점처럼 일상생활 속에서 찾아볼 수 있는 다양한 예제를 통해 이를 설명하고 있습니다. 또한 구글 코랩을 사용하면서 실습을 ..

책을 읽읍시다 2023.04.23

[서평] 모던 자바스크립트로 배우는 리액트 입문

React는 사용자 인터페이스 구축에 널리 사용되는 자바스크립트 라이브러리로써, 데이터 또는 사용자 상호 작용의 변경 사항을 기반으로 구성 요소를 효율적으로 업데이트하고 렌더링하는 기능이 뛰어나 동적 웹 애플리케이션을 구축하는 데 탁월한 능력을 갖췄습니다. 또한, 리액트의 주요 기능 중 하나는 가상 DOM(Document Object Model)을 사용하여 전체 페이지를 다시 렌더링하는 대신 변경할 사용자 인터페이스 부분만 효율적으로 업데이트할 수 있도록 합니다. 이는 특히 대규모 데이터 세트가 있는 복잡한 애플리케이션의 경우 상당한 성능 향상으로 이어질 수 있습니다. 이 책은 그런 리액트를 처음 배우는 사람들을 위해 만들어졌습니다. 물론 자바스크립트 기반의 라이브러리이기 때문에 사용하기 위해선 이와 관..

책을 읽읍시다 2023.03.21

[서평] 자바에서 코틀린으로

자바를 코틀린으로 빠르고 깔끔하게 소프트웨어 품질을 관리해 주는 업체 티오베에서 공개한 22년 공개한 프로그래밍 언어 순위에서 자바가 3위를 차지했습니다. 작년까지만 해도 1위를 차지하던 자바가 파이썬, C에게 자리를 내 주게 된 것입니다. 이는 IOT와 머신러닝, 데이터분석이 최근 화두에 떠오른 것도 있지만, 33위에서 26위로 치고 올라온 코틀린이라는 것도 한 몫한다고 생각합니다. 코틀린은 자바와 유사하지만 클래스 선언 없이 함수를 변수처럼 활용 가능하여 더 간결한 문법으로 표현 가능하며, 자바와 100% 호환이 되기 때문에 구글이 안드로이드의 공식 언어로 지정하고 웬만한 작업에서도 코틀린을 지향할 정도로 활용 가능성이 크다고 알려져 있습니다. 그렇기에 오늘날, 코틀린의 중요성이 매우 높고, 자바의 ..

책을 읽읍시다 2023.02.26

[서평] Do it! 알고리즘 코딩 테스트 C++ 편

간단하면서도 강력한, C++ 코딩테스트의 끝판왕 책을 제공받은 서평이지만, 정말로 좋았습니다 이런 책을 찾고 있었습니다.. C++로 코딩테스트를 준비하면서, 참고할만한 책을 찾기 위해 여러 서점을 탐방했지만 돌아오는 건 자바와 파이썬용 코딩테스트 책이었습니다. 결국, 이론서를 보면서 허덕이며 배웠지만, 프로그래머스와 백준 문제를 풀면서도 내가 잘 아는데 맞나 항상 의문이 들었습니다. 그렇게 좀 더 실용적인 문제집을 찾기 위한 여정 끝에, 마침내 종착점에 다다른 것 같습니다. 저자 김종관 님께서는 12년 동안 개발자로 일하셨고 5년간 코딩테스트 강연을 하시면서 배웠던 노하우를 전수하기 위해 직접 이 책을 출판하셨습니다. 그렇기 때문인지 30일 만에 코딩테스트를 어떻게 준비하면 좋은지 목차에서도 안내하고 있..

책을 읽읍시다 2023.01.06

[서평] Do it! 깡샘의 안드로이드 앱 프로그래밍 with 코틀린

코틀린용 안드로이드 스튜디오의 교과서 첫 안드로이드 앱 개발을 처음 접했을 때는 자바를 사용했습니다. 그래서 처음에는 자바 대신 코틀린을 사용한다고 할 때 무슨 장점이 있는지 몰랐습니다. 하지만 이해하면 할수록 안드로이드 스튜디오 활용 시 코틀린의 장점이 드러나는 것을 느낄 수 있었습니다. 코틀린의 대표적인 장점은 자바와 다르게 NULL에 예외를 두지 않아도 되는 것과, 정적 타입 언어로써 타입을 선언하지 않아도 된다는 점, 함수 타입이기에 가독성을 높이고 유지보수를 편하게 할 수 있다는 점입니다. 그중에서도 가장 큰 이유는 자바와 호환도 잘 되면서 안전한 언어이기 때문입니다. 자바에서 사용하던 것을 전부 코틀린에서 할 수 있고, 자바보다 더 간결하게 내용을 전달할 수 있다는 점입니다. 이 책은 코틀린을..

책을 읽읍시다 2022.12.29

[서평] 개미나라 경제툰

만화로 배우는 돈의 원리 경제라는 개념을 알기 위해서는 최초의 돈이 태어났던 시대까지 돌이켜보며 이것이 왜 생기고, 어떤 이유에서 쓰였는지를 알아야 합니다. 그래서, 우리는 경제사를 읽습니다. 하지만 이것들은 너무 방대하며 복잡합니다. 조금 더 이해하기 쉽게 읽을 수 없을까요? 작가 무선 헤드셋은 과거 귀여운 동물 학습 만화를 개인적으로 그린 전적이 있습니다. 여기서 곤충 캐릭터들이 아기자기하게 나와 많은 이쁨을 받아서 그런지 이번 경제 만화에서도 다시 등장했네요. 더군다나 주인공으로 등장하는 개미들과 벌들이 군집 사회를 이루고 있으므로 이러한 비유는 인간 사회와 비슷하게 닮아 친근감이 듭니다. 책은 개미들의 사회가 점차 발달하며 돈(사탕)의 등장부터 시작해, 은행과 회사의 등장, 주식 시장과 무역의 필..

책을 읽읍시다 2022.12.28

[서평] 그림으로 이해하는 가상화와 컨테이너

도커, 쿠버네티스를 위한 이론 교과서 컴퓨터 공부를 하다 보면 종종 가상화, 컨테이너, 도커, 쿠버네티스란 단어를 들어볼 수 있습니다. 이 단어들은 무엇을 뜻하는 것일까요? 간단한 예시를 하나 들어 설명해 보겠습니다. 여러분은 서버 관리자입니다. 평소와 다름없던 어느 날, 서버를 관리하던 컴퓨터가 고장이 나버렸습니다. 이를 복구하기 위해선 컴퓨터의 고장 원인을 찾고, 부품을 수리해야 하기에 시간이 걸립니다. 설령 여분의 컴퓨터가 있더라도 기존 컴퓨터에서 데이터를 복구하여 사용해야 하기에 서버는 여전히 다운된 상태입니다. 하지만 가상화를 통해 가상 서버를 구축할 경우, 여러 대의 컴퓨터로 하나의 가상 서버를 구현하는 것이 가능하여, 컴퓨터가 고장 나도 다른 컴퓨터로 전환하여 가동할 수 있기에 빠르게 서버를..

책을 읽읍시다 2022.12.15