전체 글 63

자바 입문 전 알아두면 좋은 것 2

함수 vs. 메서드 함수는 어디에 속해있지 않고 단독 모듈이기 때문에 함수를 그냥 호출하여 사용이 가능하다. 메서드는 함수의 일종이긴 하지만 클래스 안에 속해 있고 클래스의 멤버 변수들을 이용해서 구현된 것을 메서드라고 한다. 변수는 데이터, 함수 또는 메서드는 기능, 클래스는 변수와 기능을 보유한 구조로 생각할 수 있다. 객체를 생성하여 class 기반으로 실제 하드웨어 메모리에 생성하고 데이터를 활용할 수 있다. 객체 생성 시 반드시 생성자라는 요소가 필요한데, 개발자가 코딩하지 않아도 class 내부에 자동으로 생성된다. 개발자들이 개발하는 모든 class는 자바 데이터 타입으로 사용 가능하다. 타입은 객체 타입 또는 참조 타입이다. 생성된 객체를 관리하는 변수는 참조(reference) 변수라고 ..

Java 2023.12.14

Ubuntu에 있는 MySQL을 로컬 Windows JDBC와 연결하기(Eclipse)

VirtualBox에서 Linux 환경을 구성하고 MySQL을 설치했다. 로컬 PC의 Windows 환경에서 JDBC 연결이 잘 되지 않아 헤맨 내용을 바탕으로 해결한 내용을 포스팅한다. 현재 DBeaver에는 root 계정과 user01 계정이 있다. alter user 'root'@'localhost' identified with mysql_native_password flush privileges; grant all privileges on . to 'root'@'localhost' with grant option use mysql; select user,host from user; 결국에는 위의 내용과 같이 권한을 주어서 해결하는 것 같은데 root는 연결 성공하고 user01은 되지 않는 문제점..

Infra 2023.12.12

입사 지원 ERD 그려보기

https://dbdiagram.io/home dbdiagram.io - Database Relationship Diagrams Design Tool dbdiagram.io 입사 지원을 하다보면 이력서에 작성해야 할 내용이 많다. 방대한 입력 데이터를 회사는 어떻게 DB에 저장할까? 그림으로 데이터 관계도를 그려봤다. 채용 프로세스를 살펴보면 대부분 입사 지원(이력서 제출) > 코딩 테스트/필기 시험 > 1차 면접 > 임원 면접 > 최종 발표 와 같은 형식으로 진행된다. dbdiagram 사이트를 통해 ERD를 그려보았다. dbdiagram 코드 // Use DBML to define your database structure // Docs: https://dbml.dbdiagram.io/docs Tab..

Database 2023.11.28

[Programmers] 등굣길 Java

동적 계획법(Dynamic Programming) > 등굣길 https://school.programmers.co.kr/learn/courses/30/lessons/42898?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 코드(효율성 0점) class Solution { public int solution(int m, int n, int[][] puddles) { int answer = 0; int[][] route = new int[m + 1][n + 1]; for(int i = 0; i < puddles.length; i..

Algorithm 2023.11.28

Windows에서 MySQL 설치 및 삭제하기

목차 1. MySQL 다운로드 2. MySQL 실행 확인 3. 자동 path 설정됐는지 확인해보기 4. MySQL 예제로 테스트해보기 5. MySQL 삭제하기 1. MySQL 다운로드 https://www.mysql.com/downloads/ MySQL :: MySQL Downloads MySQL NDB Cluster CGE MySQL NDB Cluster is a real-time open source transactional database designed for fast, always-on access to data under high throughput conditions. MySQL NDB Cluster MySQL NDB Cluster Manager Plus, everything in MySQL..

Database 2023.11.28

[Programmers] 가장 먼 노드 Java

문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 가장 먼 노드 문제 설명 n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다. 노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리..

Algorithm 2023.11.22

객체지향 문제 만들고 풀어보기

Java version : 11 lombok 1.18.30 짝과 함께 풀 수 있는 문제를 내보고 풀어봤다. 짝꿍을 위한 예제 상암동 필라테스 가격 비교 프로그램을 만들어 주세요. Pilates : name(업체명), program(업체에서 운영하는 프로그램명), price(프로그램의 가격 - 한 달 기준) 밑의 리스트 중 가장 저렴한 프로그램을 운영하는 업체명과 프로그램명을 출력해주세요. Pilates package fisa.model.domain; import lombok.Getter; import lombok.Setter; import lombok.NoArgsConstructor; import lombok.AllArgsConstructor; @Getter @Setter @NoArgsConstructo..

Java 2023.11.22

[Programmers] 단속 카메라 Java

문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 단속카메라 문제 설명 고속도로를 이동하는 모든 차량이 고속도로를 이용하면서 단속용 카메라를 한 번은 만나도록 카메라를 설치하려고 합니다. 고속도로를 이동하는 차량의 경로 routes가 매개변수로 주어질 때, 모든 차량이 한 번은 단속용 카메라를 만나도록 하려면 최소 몇 대의 카메라를 설치해야 하는지를 return 하도록 solution 함수를 완성하세요. 제한사항 차량의 대수는 1대 이..

Algorithm 2023.11.22

Eclipse 개발 환경 세팅

목차 1. 개발 환경 세팅 시 폴더 구조 2. JDK 설치 3. 시스템 변수 추가 4. cmd에서 java가 잘 설치됐는지 확인 개발 환경 세팅 시 폴더 구조 C:/cloud/devEnv/dk-11 JAVA_HOME 새로 추가 소프트웨어가 실행될 때 jdk가 필요할 때가 있다. jdk의 위치를 파악해주는 표준 이름. C:/cloud/00.sw/ 00.util/ 01.jdk/ # 11버전, openjdk v.11 02.rdbms/mysql 03.IDE/ 회사에서는 인텔리제이가 1인 당 60~70만원 선이므로 아직까지 이클립스를 쓰는 곳이 많다. eclipse download 검색 후 eclipse packages 링크로 들어가서 이전 버전을 탐색해본다. Eclipse IDE for Enterprise Ja..

Java 2023.11.21

Java 입문 전 알아두면 좋은 것

관련 용어 IDE(Integrated Development Environment) 통합 개발 환경 e.g. 이클립스 - eclipse.org 인텔리제이 - jetbrains.com JDK Java Development Kit의 약어이다. 작성한 코드를 컴파일하고 실행해주는 역할을 수행한다. Compiler를 비롯한 개발에 필요한 여러 도구 + JRE(실행 도구) 컴파일러 : Java source를 byte code로 변환(단, 문법적 오류가 없는 경우) 인터프리터 : byte code인 class확장자 파일로 실행 JRE(Java Runtime Environment) JVM + API(Application Programming Interface, library) JDK JRE JVM API API 문서 ..

Java 2023.11.14