일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 미국유학생활
- California State University Sacramento
- 비전공자 git
- 2+2
- 복수학위제도
- Kenneth Park
- 사이드프로젝트
- 개발일지
- 자바
- CSUS
- 케네스로그
- 미국대학생활
- 파이데이아창의인재학과
- jpa
- 부산외대
- 케네스
- 자바 스터디
- JVM아키텍처
- 개인 프로젝트 개발일지
- 해외유학
- i-20
- F1학생비자
- 미국유학생
- Java 스터디
- 미국유학
- 유학생 준비물
- 유학생대학생활
- 미국대학
- java
- 만다라트프로젝트
- Today
- Total
목록분류 전체보기 (87)
케네스로그
문제 정렬된 배열 nums와 찾고자 하는 정수 target이 주어질 때, target에 해당하는 nums의 index를 찾으세요. 만약 target이 배열 내에 존재하지 않는다면 -1을 리턴하세요. 테스트케이스 nums = {-1, 0, 3, 5, 9, 12} target = 9 output: 1 nums = {-1, 0, 3, 5, 9, 12} target = 2 output: -1 해설 및 풀이 로직 배열의 양 끝에 Left, right를 지정하고, 그 중앙에 위치한 값을 mid로 설정한다. target이 mid보다 크다면, left~mid구간을 탐색하며, target이 mid보다 작다면, mid~right구간을 탐색한다. 탐색하는 범위(길이)가 2가 될때까지 이를 반복한다. left, right값을..
스프링이란? 스프링(spring)은 보통 스프링 프레임워크를 뜻하며, 이 프레임워크는 아래의 특징을 지닌다. Dependency Injection Aspect-Oriented Programming MVC 웹 프레임워크 JDBC, JPA연동, 선언적 트랜잭션 처리 등 DB 연동 지원 핵심 기능들은 위와 같으나 스케쥴링, 메시지 연동, 이메일 발송, 테스트 등과 같은 추가 기능 또한 존재한다. 실제로 스프링 프레임워크 뿐 만 아니라 스프링 데이터, 스프링 시큐리티, 스프링 배치, 스프링 인티그레이션, 스프링 하둡 등 다양한 프레임워크들이 존재하며, 스프링과 함께 사용된다. 프로젝트 구성 도구 스프링 프레임워크에는 다양한 모듈이 존재하며, 핵심 모듈을 포함하여 경우에 따라 추가적으로 모듈을 설치해서 사용해야 ..
요즘 리트코드를 꾸준히 풀려 버릇하고 있습니다. 친구의 소개로 흥미로운 문제가 있어 고전하며 풀이에 성공하였네요. 혹, 나중에 비슷한 문제가 나올때 복기하기 위해서 알고리즘 문제풀이를 하나씩 남겨보려고 합니다. 해당 문제는 리트코드 홈페이지(이곳)에서 확인할 수 있습니다. LRU Cache 아래의 조건을 만족하는 자료구조를 설계하세요. LRU Cache class를 구현하세요. 메소드 구현 - LRUCache(int capacity) LRU 캐시를 양수 크기만큼 생성하여 초기화합니다. 메소드 구현 - int get(int key) key에 해당하는 value가 존재한다면 해당 value를 반환하고, 그렇지 않다면 -1을 반환합니다. 메소드 구현 - void put(int key, int value) ke..
에러(Error)는 프로그램의 비정상적인 종료를 뜻한다. 에러는 두가지로 나뉘어질 수 있는데, 컴파일에러와 런타임 에러가 존재한다. 컴파일에러는 보통의 IDE 차원에서 문법 검사 등으로 확인해주기때문에 프로그램 시작 전에 알 수 있다. 하지만, 런타임 에러는 프로그램이 동작하는 과정에서 발생한다. 런타임 에러는 JVM이 정상적으로 프로그램 동작수행을 할 수 없기에 종료되는 것이며, 이것을 개발자가 핸들링 할 수 있는 방법은 없다. 애초에 코드를 짤 때부터 발생하지 않도록 해야하며, 에러는 로그를 남기거나 종료되기전 적절한 메시지를 보여주는 방법 등을 쓸 수는 있다. 메모리 부족으로 인한 프로그램의 강제 종료를 예로 들 수 있다. 예외(Exception)는 에러와 달리 복구할 수 있으며 프로그램의 종료를 ..
패스트캠퍼스 50일 환급챌린지 어플리케이션 개발 입문 오늘 한일 알고리즘 문제풀이 Swift 튜토리얼 스프링 강의 수강 취준스터디 기상 및 스터디 인증 오늘을 남기다 이제 이 챌린지도 끝이 보이고 있네요. 오늘을 제외하고 10일만 더 달리면 완주하게 됩니다. 지금은 거의 의무감으로 작성하고 있고 더이상 어떤 강의에 대한 기대감이나 신뢰가 떨어져서 무념무상으로 하고 있습니다. 오늘 어플리케이션 개발 강의에서는 새로운 어플리케이션을 위한 프로젝트를 생성합니다. 홈 스크린 위젯에 대한 간단한 개념 설명과 어플리케이션 데이터를 공유하기위한 방법을 설명합니다. 홈 스크린 위젯에 대한 설명이 부족하여 스스로 구글링하여 조사한 자료를 첨부합니다. 이 내용은 https://ichi.pro/ko/ios-hom-hwamy..
인터페이스 정의 인터페이스는 구현체에 대한 기능을 보증(약속)하기 위한 장치라고 할 수 있다. 인터페이스를 구현하는 클래스는 여러개의 인터페이스를 함께 구현할 수 있으며, 구현하기 위해 implements 키워드를 사용한다. 이는 abstract class를 구현하기위해 상속(extends)받는 것과 유사하다. 인터페이스는 body부분이 생략된 추상화 클래스의 집합이다. 따라서, 오직 메소드의 시그니처와 필드만 지닌다. 메소드는 정의되지 않는다 정적 변수처럼 필드를 정의하고 접근할 수 있다. interface Computer { public void playGame(String gameName); public void searchGoogle(String keyword); } interface Phone ..
package 키워드 package는 관련된 클래스들을 그룹화하기 위해 사용되며, 디렉토리의 폴더와 유사하다. package는 두가지의 종류로 나누어진다. build-in package user-defined package 빌트인 패키지 build-in package 자바 개발환경에서 Java API는 미리 만들어진 클래스들로 이루어진 라이브러리이다. 이 라이브러리는 패키지와 클래스로 나뉘어지는데, 개발자는 import할때 클래스 하나만 import 할 수도 있지만, 해당 클래스가 속한 package전체를 import 할 수도 있다. import java.util.ArrayList; // ArrayList class 하나만 import import java.util.*; // ArrayList가 속해있는..
메소드 디스패치 참조 https://blog.naver.com/swoh1227/222181505425 메소드 디스패치는 런타임에 어떤 메소드를 사용할것인지 정해지는 방법을 말합니다. 정적 메소드 디스패치 static method dispatch public class Vehicle{ public void move() { System.out.println("이동중"); } } public class Bicycle extends Vehicle { public void move() { System.out.println("페달 밟으며 이동중"); } } public class Car extends Vehicle { public void move() { System.out.println("엑셀 밟으며 이동중");..
상속 Inheritance 상속(inheritance)는 한 클래스에서 다른 클래스의 속성(필드,메소드)들을 갖는것을 말합니다. 자식 클래스는 extends키워드를 통해 부모 클래스의 필드와 메소드를 상속받을 수 있으며, private인 속성과 메소드는 상속되지 않습니다. 상속을 받는 클래스 =: 하위클래스, 자식클래스, sub클래스 상속하는 클래스 =: 상위클래스, 부모클래스, super클래스 class Parent { } class Child extends Parent { } 상속의 특징 다중상속은 불가능하며, 오직 단일 상속만 가능합니다. 한 클래스가 여러 부모 클래스를 가지는 것은 불가능합니다. java.lang.Object클래스가 최상위 클래스이며, 모든 클래스는 Object클래스의 자손입니다...
객체의 생성 new 키워드의 이해 new 키워드는 클래스의 인스턴스를 생성하기위해 사용된다. String s = new String(); String name = "kenneth"; Person p = new Person(); 인스턴스화(instantiate)는 새로운 객체를 위해 힙 영역의 메모리를 할당하고, 변수에 할당된 메모리주소(reference)를 반환한다. 런타임에 새로운 객체를 위해 힙 영역의 메모리를 할당한다 객체의 생성자가 실행된다 새로운 객체를 위해 힙 영역에 할당된 메모리 주소는 스택 영역의 변수에 저장된다. new키워드를 사용하여 클래스의 객체를 생성한다. String s = new String(); 메모리가 할당되며, 할당된 메모리의 주소(reference)가 반환된다. 필드가 기..