전체 글

창업, 사업, 자기개발, 운동, Web, App, Java, python, 이슈, 개발자, JavaScript, amazon, cloud server, 취업, 스펙, Android Studio, Spring, React, Node.js, 구독하면 댓글 남겨주세요.
· Java
개발을 하면서 대충 알고는 있지만 정확히 알지 못한다는 느낌이들어 정리를 해보려고 합니다.🛠️ 빌드(Build), 컴파일(Compile), 및 실행(Run) 이해하기자바 개발 과정에서 중요한 세 가지 단계인 빌드, 컴파일, 실행에 대해 알아보겠습니다.🔨 컴파일(Compile)컴파일은 자바 소스 코드(.java 파일)를 바이트코드(.class 파일)로 변환하는 과정입니다. 이는 javac 컴파일러를 사용하여 수행됩니다.// Hello.javapublic class Hello { public static void main(String[] args) { System.out.println("Hello, World!"); }}컴파일 명령어:javac Hello.java🏗️ 빌드(Bui..
· Java
💡 자바에서 serialVersionUID 사용 이유와 예시자바 직렬화에서 중요한 역할을 하는 serialVersionUID에 대해 알아보겠습니다. 자바 직렬화는 객체를 바이트 스트림으로 변환하는 과정이며, 이는 객체를 파일, 데이터베이스, 메모리 등에 저장하거나 네트워크를 통해 객체를 전송할 때 필요합니다. serialVersionUID는 직렬화된 객체를 역직렬화할 때 클래스의 버전을 확인하는 데 사용되는 고유 식별자입니다.📌 serialVersionUID란?serialVersionUID는 직렬화된 객체가 클래스의 버전과 호환되는지 확인하기 위해 사용되는 고유한 버전 번호입니다. 클래스가 Serializable 인터페이스를 구현하면, JVM은 해당 클래스에 대한 serialVersionUID 값을 ..
· WEB
🤬 문제 Spring boot를 이용해 jsp를 호출함에 있어 Itellij IDE에서 아래의 오류 발생 페이지를 찾을 수 없음 404 ERROR 😅 원인 해당 프로젝트 실행 설정 중 Working Directory이 부모 폴더의 경로로 설정이 되어있었다. EX) portal/parents ☺ 해결방법 실행 configurations 변경 필요 오른쪽 상단 콤보박스 > 실행 Application 확인 > Configuration Edit > Modify Options > Working directory > portal/parent/myDitectory 수정
· DB
👭 테이블 관계 테이블 관계는 일반적으로 일대일 (1:1), 일대다(1:N)1, 다대다(N:M) 세가지로 나눌 수 있습니다. 1:1 관계 한 테이블의 각 행이 다른 테이블의 한 행과 관련이 있는 경우입니다. 예를 들어, 사용자 정보와 해당 사용자의 프로필 정보가 각각 다른 테이블에 저장되어 있을 때, 두 테이블 간에 1:1 관계가 있을 수 있습니다. Customer1 테이블의 CustomerID(PK)가 CreditCard1 테이블의 CustomerID(FK)와 1:1 매핑이 됨으로 1:1 관계 입니다. 🔠1:1 테이블 생성 DDL -- Customer1 테이블 생성 1:1 CREATE TABLE Customer1 ( CustomerID INT PRIMARY KEY, Name VARCHAR(255) );..
· 알고리즘
🔐 문제 길이가 같은 두 개의 큐가 주어집니다. 하나의 큐를 골라 원소를 추출(pop)하고, 추출된 원소를 다른 큐에 집어넣는(insert) 작업을 통해 각 큐의 원소 합이 같도록 만들려고 합니다. 이때 필요한 작업의 최소 횟수를 구하고자 합니다. 한 번의 pop과 한 번의 insert를 합쳐서 작업을 1회 수행한 것으로 간주합니다. 큐는 먼저 집어넣은 원소가 먼저 나오는 구조입니다. 이 문제에서는 큐를 배열로 표현하며, 원소가 배열 앞쪽에 있을수록 먼저 집어넣은 원소임을 의미합니다. 즉, pop을 하면 배열의 첫 번째 원소가 추출되며, insert를 하면 배열의 끝에 원소가 추가됩니다. 예를 들어 큐 [1, 2, 3, 4]가 주어졌을 때, pop을 하면 맨 앞에 있는 원소 1이 추출되어 [2, 3, 4..
· WEB
VueJS는 인터랙티브 웹 인터페이스를 구축하기 위한 라이브러리로 간단하고 유연하게 사용 가능한 데이터-반응성 컴포넌트 API를 제공합니다. 다수의 개발자들이 VueJS를 사용하는 이유는 가볍고, 쉽기 때문입니다. 쉽다고는 하지만 컴포넌트 간 통신을 위해 부모/자식 컴포넌트 간 props를 전달하거나, 변경해야하는 문제가 발생합니다. 종종 props를 사용하지 않고 this.$parent.data와 같은 접근 방식을 사용할 수 있습니다. 자식 컴포넌트는 부모 컴포넌트에 $emit()을 사용하여 이벤트를 발신하는 방법으로 통신합니다. 이러한 방법이 부모 컴포넌트의 데이터를 변경하는 간단한 방법일지 모르지만, 프로젝트 규모가 커지고 컴포넌트가 많아짐에 따라 받는 스트레스 또한 가중됩니다. 예를 들어 30개의..
· 알고리즘
package com.lth.algorithm.programmers; import java.util.Arrays; import java.util.Comparator; public class Sort { public static void main(String[] args) { Sort sort = new Sort(); System.out.println(sort.solution(new int[]{300,30030030, 12, 4, 647467454, 2222, 2, 0, 260})); } // 길이가 같을 경우 그냥 비교한다. // 길이가 다를경우 맨 가장 앞부터 하나씩 비교 // 끝까지 비교했는데 같은값이 나올경우 짧은 문자열의 길이만큼 긴 문자열을 자른 후 비교 // 위의 과정을 계속 반복 // 만약 ..
· Git
1. 첫 줄(제목): 명료하고 간결하게 50자 이내로 간결하게 작성합니다. 동사로 시작하여 어떤 동작이 이루어졌는지 나타냅니다 (예: "Fix", "Add", "Update", "Remove" 등). git commit -m "Fix typo in README" Fix (수정): 버그를 수정했을 때 사용합니다. 코드의 오류를 해결했거나 잘못된 동작을 고친 경우에 해당합니다. Add (추가): 새로운 기능, 파일, 라이브러리 등을 추가했을 때 사용합니다. Update (업데이트): 기존의 기능을 수정하거나 업데이트했을 때 사용합니다. Remove (제거): 불필요한 코드, 파일, 기능 등을 제거했을 때 사용합니다. 2. 두 번째 줄: 빈 줄 제목과 나머지 내용을 구분하기 위해 한 줄을 비웁니다. 3. 세 ..
TaeHuiLee
Developer_TaeHui