프로젝트의 규모가 커질수록 역활에 따른 API의 분리를 통해 전체적인 프로젝트의 이해도를 높일 수 있다. 프로젝트 분리 1. 사용자의 구분에 따라 이동시킬 main혹은 test 모듈 파일을 선정할 것 2. 최 상위 폴더 아래 모듈파일 생성 ex) reservation_system 모듈폴더 아래 eat- ... 모듈 파일 생성(각 파일에는 Gradle. 파일이 있어야함) 3. 상속받을 폴더의 gradle. 파일에 implementation project(':모듈 폴더 이름') 의존성 추가 ---------------------------------------------------------------------------------------------------------------------------..
1. REST : REpresentational State Transfer - 자원을 구분하여 해당 자원의 상태를 교환하는 모든 행위을 의미 자원(Resource): URI 행위(Verb): HTTP METHOD 표현(Representations) 2. REST의 특징 Uniform Interface (유니폼 인터페이스) HTTP 표준만 따른다면 어떤 언어 혹은 어떤 플랫폼에서 사용하여도 사용이 가능한 인터페이스 스타일이다. 안드로이드 플랫폼, IOS 플랫폼 등 특정 언어나 플랫폼에 종속되지 않고 사용이 가능하다. Stateless (상태 정보 유지 안함) Rest는 상태 정보를 유지하지 않는다. 서버는 각각의 요청을 완전히 다른 것으로 인식하고 처리를 한다. 이전 요청이 다음 요청 처리에 연관이 되면 ..
🚀 다형성에서 빠질 수 없는 개념 추상화는 어떠한 객체에 대한 공통 요소를 추출하는 과정 으로 배웠다. 그러나 구체적인 행위를 구현하는 것이 아닌 메소드의 이름만 명시하고 하위 클래스에서 그 행위를 구현하도록 JAVA는 약속했다. 이렇게 행위를 구현화 하는데 필요한 절차가 오버로딩 , 오버라이딩 이라고 하는 것이다. 🌠 오버라이딩 Ride : (말, 자동차 등에) 타다 오버라이딩에 대해서는 상속과 추상화를 배웠다면 익숙한 어노테이션 일것이다. 상위 클라스의 추상메소드를 하위 클라스에서 구체화하는 과정으로 이해하면 충분하다 생각한다. abstract class Animal { void sound() {} } class Dog extends Animal { @Override public void sound(..
1. 공통 식 구하기 초기 공식: (100% - progresses%) / speed = ? day 그러나 (100% - 30%) / 30 = 2 day 값이 산출된다. 이러한 결과를 보상해주기 위해서는 나누 값의 나머지로 보상해주어야한다. day = (100 - progresses[i]) / speeds[i] + ((100 - progresses[i]) % speeds[i] > 0 ? 1 : 0); 2. Stack 공통 식으로 계산된 결과 값은 stack클라스로 peek & pop 으로 값을 비교하여 day의 값이 다음 day보다 작을경우 progresses를 대기하여 동시에 처리하는 과정을 구성한다.
OOP (Object-Oriented Programming) 객체 지향적인 프로그래밍. 즉, C언어같은 절차 지향적인 프로그래밍이 아닌 객체의 관점에서 프로그래밍을 한다는 것이다. OOP는 객체를 기준으로 코드를 나누어 구현한다. 자바의 경우 그 구성 부분 단위가 클래스이다. 자세히 말하자면 클래스는 설계도고 직접일을하는 구현체는 인스턴스다. OOP는 객체의 관점에서 프로그래밍 하는 것을 의미한다. C언어는 절차 지향 프로그래밍인데, 절차 지향 프로그래밍은 프로세스가 함수 단위로 순서대로 진행되는 것을 말한다. OOP는 절차지향에 비해서 사람의 사고방식과 더 가깝다. OOP는 객체들의 유기적인 관계를 통해서 프로세스가 진행된다. 애플리케이션을 구성하는 요소들을 객체로 바라보고, 객체들을 유기적으로 연결하..
1. 프로세스와 스레드 - 프로세스 운영체제에서는 실행 중인 하나의 애플리케이션을 프로세스하고 부름 사용자가 어플리케이션을 실행하면 실행에 필요한 메모리를 할당받아 애플리케이션의 코드를 실행하는 과정을 프로세스하고 함. - 스레드 어플리케이션 내부에서의 코드 실행의 과정 혹은 흐름을 스레드 하고 하며 그 흐름이 2개 이상이라면 멀티(Multi) 스레드 라고 한다. 두가지 이상의 작업을 동시에 처리하는 과정(멀티 테스킹)에서 cpu 및 메모리 자원을 적절히 할당해 주고 병렬로 실행하는 작업이 가능하지만 멀티 테스킹이 반드시 멀티 프로레스를 뜻하지는 않는다. 하나의 프로세스 에서도 멀티 테스킹 과정이 이루어 질 수 있는데 그 과정이 가능한 것은 멀티 스레드가 가능하기 때문이다. 멀티 스레드는 하나의 파이르 ..
생성자 - new 연산자와 같이 사용되어 클래스로부터 객체를 생성할 때 호출되어 객체의 초기화를 담당 - 생성자의 이름은 클래스 이름과 통일 - 리턴 값이 없다. - 오버로딩이 가능하므로 하나으 ㅣ클래스에 여러 생성자가 있을 수 있다. - 생성자도 메서드이기 때문에 리턴값이 없다는 의미릐 void를 적어야 하지만 모든 생성자가 린턴값이 없으므로 void를 생략하도록 한것이다. new 연산제에 의해 생성자가 성공적으로 실행되면 heap영역의 개체가 생성되고 객체의 주소가 리턴됨 생성자는 매소드와 비슷한 모양을 가지고 있느나, return 타입이 없고 클래스 이름과 동일하다.
정적 멤버 static - 클래스에 고정된 멤버로서 인스턴스(객체)를 생성하지 않고 사용할 수 있는 필드와 메소드를 의미 - 인스턴스(객체)에 소속된 멤머가 아닌 클래스에 소속된 멤머이기 때문에 클래스 멤버라고도 함 - 클래스가 로딩될 때, 메모리 공간을 할당하는데 처음 설정된 메모리 공간이 변하지 않음을 의미 - 객체를 아무리 많이 만들어도 해당 변수는 하나만 존재(객체와 무관한 키워드) 1.클래스를 설계할 때, 멤버변수 중 모든 인스턴스에 공통적으로 사용해야하는 것에 static을 붙인다. - 인스턴스를 생성하면, 각 인스턴스들은 서로 독립적기 때문에 서로 다른 값을 유지한다. 경우에 따라서는 각 인스턴스들이 공통적으로 같은 값이 유지되어야 하는 경우 static을 붙인다. 2. static이 붙은 ..
git 자동 push 쉘 스트립트 작성 작성된 sh파일은 cron 명령어를 통해 주기적 자동 배포가 가능함 1. ssh접근을 위해 리눅스 ssh key 생성 2. ssh key를 생성 후 값을 복사해 Git > Settings > SSH and GPG keys > SSH keys > New SSH key > 추가 후 저장 3. 해당 레포지토리의 ssh주소를 git remote에 추가 (ex git@github.com:Git_Name/Repository.git) git-sch.sh ** sh파일 내부 파일 경로에서 원하는 폴더 조작이 가능함 작성된 파일은 권한을 부여해서 사용할것 (chmod -x ./git-sch.sh)
- Total
- Today
- Yesterday
- 수학
- 스프링
- 백준
- docker
- spring-cloud
- C언어
- JPA
- ajax
- springboot
- OOP
- java
- 자격증
- security
- 릿코드
- Algorithm
- 알고리즘
- kakao
- 매트랩
- CS
- interview
- 자바
- Matlab
- nginx
- 그래프
- 디자인패턴
- 스프링부트
- 면접
- 프로그래머스
- Spring
- Solid
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |