개-발

java 8에서 가장 중요한 변화라 할 수 있는 람다 표현식의 등 ! 장 ! 등장이유 : 불필요한 코드를 줄이고, 코드의 이해를 돕습니다. (아 ㅎㅏ !) 람다 표현식은 메소드로 전달할 수 있는 익명함수를 단순화한 코드블록이다. 람다 표현식은 특정 클래스에 종속되지 않으며 함수라는 이름으로 명명합니다. 람다 표현식은 함수 자체를 전달 인자로 보내거나 변수에 저장하는 것이 가능합니다. 사용방법 : Runnable runnable = new Runnable(){ @Override public void run(){ #하나의 퍼블릭 메서드만 가지고 있을경우 !! 람다 사용가능 } }; Runnable runnable = ( ) -> { }; // Lambda 특정변수에 담을 수 있다.!! ( ) -> { ....
public final class Optional{ private final T value; // T타입의 참조변수 옵셔널을 사용하는 이유 : 모든 종류의 객체 저장가능 null 저장 가능 (nullPointException 을 막아줄 수 있다. ) !!!!!제일 중요!!!!!!! null 체크 ( if문 ) 필수 (nullPointException 체크 = 코드길어짐) ex) if (result != null) 해결방안 : 옵셔널에 null을 담아 옵셔널의 value값을 null 지정 [result t; (t안에 null을 담아서 NullPointException 해결)] 어떤 객체의 주소가 있으니 항상 null이 아니다. Optional 객체 생성방법 : 1. String str = "abc"; 2..
· 개-발/Git
커밋 임시 저장하기. 브랜치를 만들고 체크아웃 하려면 현재 작업디렉토리가 깨끗해야 합니다. 그런데 체크아웃이 필요하다면 ? 핫픽스나 버그픽스 급하게 체크아웃이 필요하다면 ? 커밋 덮어쓰기 1. commit --amend 작업진행중인 내용의 임시저장 1.브랜치1 에서 일단 (임시)커밋을 한다. 2.브랜치2 로 체크아웃하고 볼 일을 본다. 3. 다시 브랜치 1로 되돌아 온다. 4. 1의 작업을 이어서 마무리 짓는다 . 5. 커밋 덮어쓰기 (commit --amend)를 한다. [소스트리] 스테이지에 올린 후 커밋 전 커밋 버튼 위에 (마지막 커밋 정정)으로 토글을 맞춘 후 커밋을 진행 한다 6. (옵션) 필요하다면 (push --force)를 한다. 2. Stash 다른 브랜치로 체크아웃하기 전에 현재 작업..
JVM 이해 (Java Virtual Machine) 우리의 코드는 어떻게 실행 될까 ? 개발자 [ 자바파일(.java) > 자바컴파일러 > 바이트 코드 (.class) ] > JVM(Java Virtual Machine) > OS(Operating System 윈도우..리눅스..맥 ) > 하드웨어 개발자는 코드를 만들어 JVM 으로 보낸다 JAVA는 OS에 종속적이지 않다는 특징을 가지고 있다 (대충 아무OS에서 다 돌아간단 얘기) 이러기 위에선 OS위에서 JAVA를 실행시킬 무언가가 필요하단 말이다. 이것이 JVM JAVA 소스코드(*.java 자바파일)는 CPU가 인식을 하지 못하므로 기계어로 컴파일 해줘야 한다. 하지만 JAVA는 JVM 이라는 가상머신을 거쳐 OS에 도달하기 때문에 OS가 인식할..
· 개-발/Git
커밋 취소하기 (commit cancel) 방법1. reset : hard (*이 커밋까지 현재 브랜치를 초기화[소스트리]) (CLI) git reset --hard 에 해당하는 명령으로 커밋을 되돌리기 (-reset이후 push 는 force옵션을 선택해야함) 이전커밋은 사라진다. - 되돌리기 전에 브랜치를 만들어 데이터를 보호하자 강제 푸시가 필요하다. 장점 : 쉽다 단점 : 쉽다 (?)엥 ? 커밋이 날아간다 git push --force / 는 소스트리에서 지원하지 않기 때문에 CLI(터미널)를 이용해야 한다. *같은 방법으론 merge(병합) 선택 >> 병합충돌이 일어난다 >> push 방법2. *되돌리기 전에 브랜치를 만들어 데이터를 보호하자 reset : hard (*이 커밋까지 현재 브랜치를..
· 개-발/Git
remote: Support for password authentication was removed on August 13, 2021.remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication. 위와 같은 에러가 뜬다면 읽어보세요. 2021년 8월부터 인증이 바뀌었다고 한다. 찾아보니 인증 토큰을 사용하여 접속하면 된다. 1. 계정 로그인 후 오른쪽 프로필 클릭해서 Settings 클릭 2.왼쪽 메뉴 맨 아래 부분..
프로세스(process)란 ? 운영체제로 부터 시스템자원을 할당 받은 작업단위 *실행중에 있는 프로그램 특징 프로세스 내부에는 최소 하나의 스레드 를 가지고 있는데, 실제로는 스레드 단위로 스케줄링을 한다. *스케줄링 : CPU가 할당 순서 및 방법을 결정하는 일. 하드디스크에 있는 프로그램을 실행하면, 실행을 위해서 메모리 할당이 이루어지고, 할당된 메모리 공간으로 바이너리 코드가 올라가게 된다. 이 순간부터프로세스라 불린다. 프로세스는 독립된 메모리를 할당 받는다. 프로세스가 메모리를 관리하기 위해 이 공간들을 어떤 구조로 관리하는데, 이를 프로세스 주소 공간이라고 부른다. 프로세스 주소 공간은 Code, Data, Stack, Heap 으로 구성된다. Code: 코드 자체를 구성하는 메모리 영역(프..
· 개-발/Git
기능설명 Merge Conflict(병합 충돌) Merge (병합) 하는 과정에서 같은 파일 수정되면 Merge conflict(병합 충돌) 이 발생합니다. 중요*당황하지 말고*중요 충돌을 파악할 수 있도록 내용을 고쳐서 충돌 내역을 보여주는데 최종적으로 반영할 내역으로 고친후 Merge Commit 하면 된다 Tracking (추적 / 연결) 서버로부터 저장소를 clone 하면 Git은 자동으로 master 브랜치를 origin/master 브랜치의 트래킹 브랜치로 만듭니다. 트래킹 브랜치를 직접 만들 수 있는데 리모트를 origin 이 아닌 다른 리모트로 할 수도 있고, 브랜치도 master 가 아닌 다른 브랜치로 추적하게 할 수 있다. Push 와 Pull 은 기본적으로 추적되고 있는 브랜치를 기준..
imSoo
'개-발' 카테고리의 글 목록 (15 Page)