분류 전체보기 139

2023년도 자바, 스프링, 스프링부트 버전 선택 가이드

스프링 프로젝트를 시작하면서 처음으로 고민하게 되는 것이 바로 버전 선택이다. 각각이 개선사항이 반영된 버전들로 업그레이드가 되면서 자바, 스프링, 스프링부트, STS 등의 버전을 한눈에 파악하기 힘들어졌다. 나 역시 이번 회사 프로젝트에서 스프링부트로 개발하면서 대체 어느 버전을 써야 하는지 고민했기에, 버전 선택을 고민을 하는 사람들에게 도움이 되기 바라며 포스팅을 기록한다. 1. 자바 버전 사람들은 어떤 자바 버전을 많이 쓸까? JetBrains의 조사에 따르면, 현재 많이 사용하는 버전은 자바 8이다. oracle support에서 자바 8이 제외되면서 조금씩 사용량이 줄고 있으나, 아직까지 많이 쓰이고 있는 것은 분명하다. 2014년도에 등장한 자바 8 버전이 아직까지도 인기 있는 이유가 무엇일..

한눈에 파악하는 SQL 로드맵

한눈에 파악하기 좋은 SQL 로드맵을 봐서 블로그에 공유한다. DBA만큼은 아니더라도, 제대로 이해하면서 쿼리를 짜는 것이 중요하다고 생각한다. 전문가 레벨까지 도달하려면 꾸준한 쿼리 연습과 깊은 이해도가 필요할 것 같다. 1. 초급 레벨: 🌱 기본 SQL 구문에 대해 알아본다: SELECT, FROM, WHERE. 데이터 타입과 NULL 값을 이해한다. 샘플 데이터셋에서 간단한 쿼리를 연습한다. 2. 중간 레벨: 📊 JOIN을 깊이 알아본다: INNER, LEFT, RIGHT, FULL. GROUP BY와 Aggregate 함수를 마스터한다. 하위 쿼리와 데이터 조작을 탐색한다. 3. 고급 레벨: 📈 고급 분석을 위한 window 기능을 파악한다. 인덱스 및 쿼리 최적화에 대해 배운다. 여러 JOIN으..

Computer Science/DB 2023.09.13

SVN Connector 설치 오류날 경우 (SVN Connector 수동 설치)

STS 4에서 Subversion을 설치 후 SVN Connector를 정상적으로 설치되지 않아서 오류가 발생했다. 이럴 경우 SVN Connector를 수동 설치해야 한다. 1. subversive - SVN Team Provider 4.8 설치 [Help] > [Eclipse Marketplace]에서 svn을 검색하여 [Install] 버튼을 클릭한다. 디폴트 설정대로 설치하면 STS가 재시작되면서 svn이 설치된다. 2. 커넥터 가져올 때 오류 발생 [Window] > [Preferences]에서 SVN 검색하여 SVN Connector 탭으로 이동한다. [Get Connectors] 버튼을 클릭하여 커넥터를 가져오려고 하니 오류창이 뜨면서 설치가 안 되는 현상이 일어났다. 3. SVN Conne..

프리랜서 개발자가 되면서 느낀 점 (1)

정규직에서 프리랜서 개발자로 전향하면서 알게 된 점을 정리해 둔 포스팅입니다. 개인적으로 느낀 바를 정리한 것이므로, 정확하지 않는 내용이 있을 수 있습니다. 혹시 틀린 내용이 있다면 댓글 남겨주세요. 프리랜서 개발자가 되었다! 신입 때부터 정규직 개발자로 일하다가 프리랜서로 전향했다. 프리를 하게 된 이유는 개인 휴식시간을 가질 수 있기 때문이다. 정규직은 따로 방학이 없지만, 프리를 하게 된다면 내가 쉬고 싶을 때 휴식을 취할 수 있다. 타고난 체력이 약한 나는 스스로에게 방학을 주어 체력회복의 필요성을 느끼고 있었고, 때마침 프리 제안이 들어와서 프리랜서가 되었다. 프리랜서 개발자의 장점 당장 돈을 많이 준다! 원하지 않는 프로젝트 연장이나 유지보수 시 거절 가능 : 직원이면 웬만하면 끝까지 남아서..

파이썬 이메일 전송 활용 예제

파이썬으로 간단하게 네이버 이메일을 보내보려고 한다. 이번 포스팅에서는 네이버 메일로 테스트를 진행하지만, 타메일에서도 환경설정만 한다면 이메일 전송할 수 있다. 최종 목표 사전 준비 1. 파이썬과 주피터가 설치되어 있지 않다면 파이썬 3.11 설치와 주피터 노트북 사용법 포스팅을 참고하여 설치한다. 2. 이메일을 전송하기 위해 아래 라이브러리가 필요하다. 파이썬 설치 시 기본 제공되므로 import로 가져다 쓰면 된다. 이메일 전송하기 위해, smtplib 라이브러리 사용 이메일 메시지를 관리하고 파일 첨부를 할 수 있는 email 라이브러리 사용 자세한 사용법은 라이브러리 문서를 참고하자. smtplib 라이브러리 문서 email 라이브러리 문서 email 라이브러리 email 예제 3. 아래 라이브..

Backend/Python 2023.02.15

파이썬 웹크롤링으로 주식 정보 가져와서 엑셀 저장하기

지난번 포스팅에서는 OpenAPI를 이용하여 이미지를 수집해보았다. 이번에는 크롤링을 이용하여 웹 페이지의 데이터를 수집해 보려고 한다. 크롤링 대상은 KOSPI 일별 체결가로 정했지만, 만약 주식에 관심이 있다면 네이버 금융 주식거래 데이터를 크롤링할 수 있고, 부동산에 관심 있다면 KB시세 데이터를 크롤링하는 등 본인이 원하는 사이트를 대상으로 선택해도 된다. 웹사이트의 데이터를 수집해서 아래와 같이 엑셀 파일로 저장하는 것이 이번 포스팅의 목표이다. 최종 목표 사전 준비 1. 파이썬과 주피터가 설치되어 있지 않다면 파이썬 3.11 설치와 주피터 노트북 사용법 포스팅을 참고하여 설치한다. 2. 크롤링을 하기 위해 아래 라이브러리가 필요함을 숙지한다. 웹 페이지 정보를 가져오기 위해, requests ..

Backend/Python 2023.02.10

파이썬에서 OpenAPI를 통해 이미지 수집하기

파이썬으로 간단한 예제를 만들어보려고 한다. OpenAPI를 통해 고독한 박명수 이미지를 수집할 것이다. 웹 크롤링으로 이미지를 가져올 수도 있지만 간단히 OpenAPI를 사용하겠다. OpenAPI는 카카오나 네이버 등에서 벡엔드를 미리 구축해 놓고, 사용자에게 그 벡엔드를 이용하는 방법을 제공한다. 즉, 사용자는 이미 만들어진 백엔드를 사용법만 알면 백엔드 자원을 사용할 수 있다. 즉, 프런트엔드만 신경쓰고 개발하면 되는 것이다. 이번 포스팅에서는 파이썬과 주피터 노트북을 이용하여, 카카오, 네이버에서 제공한 OpenAPI로 고독한 박명수 짤을 수집해 볼 것이며, 최종 목표는 아래와 같다. 최종 목표 사전 준비 1. 파이썬과 주피터가 설치되어 있지 않다면 파이썬 3.11 설치와 주피터 노트북 사용법 포..

Backend/Python 2023.02.05

카카오, 네이버 OpenAPI 앱 키 발급받는 방법

카카오나 네이버에서 제공하는 OpenAPI를 사용하려면, 먼저 개발자 사이트에서 앱을 만들고 앱 키를 발급받아야 한다. 계정이 없다면 회원가입을 해야 한다. 지금부터 카카오, 네이버의 앱 키를 발급받는 방법을 포스팅하려고 한다. 카카오 앱 키 발급받기 카카오 개발자 사이트에서 로그인 한 뒤 메뉴에서 [내 애플리케이션]을 클릭한 뒤 [애플리케이션 추가하기] 버튼을 클릭한다. 애플리케이션 추가하는 팝업창이 뜨는데, 앱 이름과 사업자명을 자유롭게 입력한 후 저장 버튼을 클릭한다. 앱 이름: 서비스 이름 사업자명: 서비스의 사업자 이름 생성된 애플리케이션이 목록이 보인다. 방금 생성한 애플리케이션을 클릭하자. 아래와 같이 발급된 앱 키를 확인할 수 있다. 앱 키는 4종류가 존재한다. 앱을 생성하면 플랫폼별로 앱..

절차지향과 객체지향에 관한 고찰

누군가 내게 "자바의 특징이 무엇인가?" 라고 묻는다면 반사적으로 객체지향 언어라고 말할 것이다. 그만큼 '자바는 객체지향 언어'라는 인식이 강하게 박혔기 때문이다. 그러나 남에게 핵심을 간추려 설명할 만큼 제대로 알고 있지는 못했다. 스파게티코드님이 절차지향과 객체지향을 비교하여 깔끔하게 설명한 글을 토대로 포스팅 하였다. 설명이 꽤 길지만 읽을 만한 가치가 있는 글이라고 생각한다. 절차지향 이 말에 한 번쯤 의구심을 품어본 적이 없는가? 위 사진은 절차지향과 객체지향의 차이점을 설명하는 단순화된 사례이다. 이를 바탕으로 실제로 자판기 프로그램을 구현한다고 생각해보자.​ 먼저 절차지향 방식을 보면, 차근차근 순서대로 따라가는 전형적인 절차식 프로그램임에 틀림이 없다. 그렇다면 객체지향 방식을 살펴보자...

Backend/Java 2022.10.09

톰캣 실행시, 이미 사용중인 8080 포트 에러(Port 8080 is already in use) 해결

문제 발생 톰캣을 실행시키는데 다음과 같은 에러가 발생한다. org.springframework.boot.web.server.PortInUseException: Port 8080 is already in use 말 그대로 이미 8080 포트가 사용 중이라고 뜨는 것인데, 이럴 경우에는 현재 8080 포트로 동작중인 프로세스를 강제로 종료시키면 된다. 해결 방법 윈도우+R를 입력하여 cmd 창을 열어보자. netstat 라는 명령어를 입력하면 현재 TCP/IP 네트워크 연결 상태를 확인할 수 있다. 이제 좀 더 세부적으로 확인하기 위해 Ctrl+C를 눌러 되돌아간 후 netstat -ano 명령어를 입력하여 어떤 프로세스가 8080 포트를 사용 중인지 확인해 보자. a : 모든 연결 및 수신 대기 포트를 ..