728x90
반응형
-
-
Stock Dashboard 개발기 #0 - 맥에서 Java 개발 환경 셋팅하기 (JDK 21 + VS Code) 맥에서 Java 개발 환경 셋팅하기 (JDK 21 + VS Code)들어가며Java 8 기반 금융권 레거시 환경에서 일하다 보면, 요즘 기업들이 원하는 기술 스택과 거리가 생긴다.현대적인 Java 개발 환경을 처음 셋팅하면서 겪은 과정을 그대로 정리했다.Java 버전 명칭, 헷갈리지 말자금융권에서 Java 1.8을 쓰다 보면 Java 21이 엄청난 버전 차이처럼 느껴진다.근데 사실 그렇지 않다.Java 1.6 = Java 6Java 1.7 = Java 7Java 1.8 = Java 8 ← 금융권에서 많이 쓰는 버전Java 9, 10, 11 ... 21 ← 9부터 숫자 그대로Oracle이 Java 9부터 버전 명칭 방식을 바꿨다. 1.x → 숫자.즉, Java 1.8과 Java 21은 8 → 21, 1.. -
[DAP자격증] 과목5 - 오버헤드(Overhead)란? 오버헤드(Overhead)란?**오버헤드(Overhead)**는 어떤 작업을 수행할 때 추가적으로 발생하는 비용(자원, 시간, 메모리 등)을 의미해.즉, 실제 작업을 수행하는 데 직접적인 기여를 하지 않지만, 부가적으로 필요한 것들이야.1. 오버헤드의 종류✅ 성능(연산) 오버헤드프로그램이나 시스템이 어떤 작업을 수행하는 데 필요한 추가적인 연산 비용예시:가상화 환경에서 CPU가 가상 머신을 관리하는 데 드는 연산 비용DB에서 쿼리 실행 시 인덱스를 유지하거나 캐시를 관리하는 데 드는 연산✅ 메모리 오버헤드프로그램이 실행될 때 추가적으로 소비하는 메모리예시:Python에서 동적 메모리 할당 시 발생하는 추가적인 메모리 사용량DB에서 트랜잭션을 관리하기 위한 로그 저장 공간✅ 네트워크 오버헤드데이터를 전송할..
-
Spring - Part1-1 스프링 개발 환경 구축 (개발환경설정) 코드로 배우는 스프링 웹 프로젝트[개정판] https://cafe.naver.com/gugucoding1. 개발환경설정이클립스 버전 선택 : Java 1.8 버전 선택시, 이클립스는 2019-06 버전을 선택한다. (자바 1.8 버전 + 스프링 최적화) https://www.eclipse.org/downloads/packages/release/2019-06/r/eclipse-ide-enterprise-java-developers톰캣 : 9 버전 Spring Tool Suite:내 이클립스 버전에 맞는 STS로 선택한다. https://github.com/spring-attic/toolsuite-distribution/wiki/Spring-Tool-Suite-3#latest-sts3-downloadsSpr..
-
Stock Dashboard 개발기 #1 - Spring Boot 프로젝트 구조 설계 전 기초 개념 정리(JPA) [Spring Boot] MyBatis만 알던 개발자가 JPA를 이해해보기들어가며최근 개인 프로젝트로 주식 포트폴리오를 관리하는 Stock Dashboard를 만들기로 했다.기술 스택을 고민하던 중 ChatGPT가 JPA 사용을 추천했는데, 사실 나는 JPA를 제대로 사용해본 적이 없었다.실무에서는 주로 MyBatis를 사용했고, "JPA는 SQL을 안 써도 된다더라" 정도만 알고 있었다.그런데 곰곰이 생각해보니 JPA가 정확히 무엇인지, 왜 사용하는지 설명할 수 없었다.그래서 이번 프로젝트를 시작하기 전에 JPA에 대해 정리해보기로 했다.내가 알고 있던 MyBatis 방식MyBatis는 Java 코드와 SQL을 연결해주는 프레임워크이다.예를 들어 사용자 정보를 조회한다고 가정해보자.Java 코드에서는 .. -
[Windows] 환경변수 셋팅하기 | export, set 환경변수란 (environment variable) 환경 변수는 운영 체제(operating system) 수준에서 설정되는 변수로, 주로 애플레케이션 수준에서 설정하기가 불가능하거나 어려운 값들을 환경 변수로 관리하는 경우가 많습니다. 환경 변수를 이용하면 애플리케이션 코드를 수정하지 않고도 개발, 테스트, 운영 등 배포 환경에 따라 설정값을 유연하게 변경할 수 있어서 이식성(portability)과 유지 보수성 측면에서 큰 이점이 있습니다. 대표적인 예로, 데이터베이스(DB) 설정을 들 수 있는데요. 운영 환경에서는 데이터 센터나 클라우드 인프라 상의 상용 DB를 사용하고, 개발 환경에서는 개발자의 PC 상에서 로컬 DB를 사용하는 경우에 환경 변수를 이용해서 각 환경 별로 데이터베이스 설정을 관리..
-
Maven Pom.xml 구조에 관하여 Jacoco (Java Code Coverage)를 퀵 테스트 해보고 싶어서프로젝트 생성하다가..추후 읽어보자! https://doosicee.tistory.com/entry/Maven%EC%9D%98-%EC%84%A4%EC%A0%95%ED%8C%8C%EC%9D%BC-Pomxml%EC%9D%84-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90 Maven의 설정파일 Pom.xml을 알아보자빌드 툴에 대해 공부하다 보면 Maven에 대해 알게 된다. Maven에 대해서 알게 됐다면 Maven의 설정 파일인 pom.xml에 대한 내용이 빠질 수 없으니 공부하며 정리하고 넘어가자. 빌드 툴이 뭔지는 이전doosicee.tistory.com
-
[Eclipse] 프로젝트에 라이브러리 추가 이클립스에서 라이브러리 인식 문제가 발생하면, 프로젝트에 라이브러리가 제대로 추가되었는지 확인하고, 라이브러리 경로가 유효한지 점검해야 합니다.문제 해결을 위해 해당 프로젝트의 Java Build Path를 확인하여 라이브러리를 다시 추가하거나, 메이븐(Maven) 프로젝트인 경우 mvn clean install을 실행하고 프로젝트를 클린(Clean)하여 빌드 설정을 갱신할 수 있습니다. 라이브러리 경로 문제 해결 방법Java Build Path 설정 확인 및 재추가:라이브러리를 추가하려는 프로젝트에서 마우스 오른쪽 버튼을 클릭하고 Properties > Java Build Path로 이동합니다.Libraries 탭에서 라이브러리가 추가되어 있는지 확인하고, 빨간 느낌표가 표시되어 있다면 경로가 잘못된.. -
[Python] 파이썬 파일/경로 호출 관련 정리 사전준비파일 및 디렉토리 경로에 관한 함수는 모두 os 모듈을 사용하므로os 모듈 import 필요.import os현재 작업 폴더 얻기os.getcwd() : get current working directory print(os.getcwd()) # /Users/evan/dev/python/web-crawler-py/parsed_data # C:\Users\AreumKang\PycharmProjects\Sleep_music_project print(__file__) # C:\Users\AreumKang\PycharmProjects\Sleep_music_project\unit_test.py디렉터리 변경os.chdir(path) : path는 문자열 이어야 함.os.chdir("..")# C:\Users..
-
[DAP자격증] 과목5 - 옵티마이저(Optimizer)란? 1. 옵티마이저(Optimizer)란?**옵티마이저(Optimizer)**는 데이터베이스 관리 시스템(DBMS)에서 SQL을 실행할 때 최적의 실행 계획(Execution Plan)을 선택하는 역할을 하는 핵심 엔진이야.SQL이 실행되면, DBMS는 다양한 실행 방법을 고려할 수 있어. 예를 들어:인덱스를 사용할지, 풀 테이블 스캔을 할지Nested Loop Join을 할지, Hash Join을 할지병렬 처리를 활용할지, 단일 처리할지이러한 선택을 자동으로 결정하여 가장 효율적인 실행 계획을 선택하는 역할을 하는 것이 옵티마이저야.2. 옵티마이저의 종류옵티마이저는 SQL을 최적화하는 방식에 따라 두 가지 방식으로 나뉘어:1️⃣ 규칙 기반 옵티마이저(Rule-Based Optimizer, RBO)2️⃣ 비..
728x90