전체 글

기록하는 습관을 기르자
반응형
Backend/JAVA

[kh정보교육원 25일차] Stack / Queue / Set / Map

Stack LIFO(Last In First Out) 후입선출 구조 ex) jvm call stack, browser 뒤로가기/앞으로가기 Queue FIFO(First In First Out) 선입선출 ex) 대기리스트 관리 Set Collection 내부에 set. set내부에 HashSet이 존재. 중복 요소를 추가하지 않는다. Set setName = new Set(); 일 때 *Set은 인덱스 관련 메소드가 없다. 요소 개수 : setName.size() 요소의 포함 여부 : setName.contains("abc") //abc가 setName에 존재하는지 확인 요소 제거 : setName.remove("abc") //abc를 제거 요소 열람하기 - for문은 인덱스가 없어서 사용불가. - for..

Backend/JAVA

[kh정보교육원 23일차] Generic / Collection / List / List내장함수들 / Comparator

오늘 배운 것은 드디어 리스트 ! 파이썬때는 리스트를 엄청많이 썼기때문에 왜 리스트같은게 자바에는 없을까? 라고 생각했는데 역시나 없을리가... 배열에비해 20000000배 편리한 리스트에 대해 알아본다. 배열의 문제점 - 배열은 크기 변경이 불가능 - 넉넉하게 크기를 할당하면 메모리낭비, 적게 할당하면 다시 할당해야하는 번거로움. - 중간요소 삭제시, 뒤 요소들을 하나씩 당겨서 빈 공간이 없도록 직접 배열을 수정하는 코드 작성해야 함. - 중간요소 추가시, 기존데이터를 하나씩 뒤로 밀어서 공간이 생기도록 수정하는 코드를 작성해야 함. * 참고로 ArrayList compared 정렬기준메소드를 오버라이드 intList = [5,3,2,4,1] 일 때, 오름차순(기본정렬) 과 내림차순(역순정렬)을 해보겠..

Backend/JAVA

[kh정보교육원 21일차] Error / Exception 처리 (try-catch, checked & unchecked)

예외처리 Error / Exception 오류의 종류에는 다음과 같은 것이 있다. - 컴파일 에러 : 소스상의 문법 에러 - 런타임 에러 : 입력값이 틀렸거나, 배열의 입력 범위를 벗어났거나 계산식의 오류 등으로 인해 발생 - 논리 에러 : 문법상 문제가 없고, 런타임에러도 발생하지 않지만, 개발자 의도대로 작동하지 않는 에러 - 시스템 에러 : 컴퓨터 오작동으로 인한 에러 . => 소스 구문으로 해결 불가능 Error와 Exception에는 차이가있는데, 이를 알아보자 Error - 프로그램 진행시 치명적 상황이 발생한 것. 소스상 해결 불가. ex) OutOfMemoryError, StackOverflowError 등 1. OutOfMemoryError - jvm이 할당한 heap영역을 모두 소진한 ..

Backend/JAVA

[kh정보교육원 20일차] String,StringBuffer,StringBuilder / Wrapper / Calendar <--> Date / String 포매팅

API란, Application Programming Interface를 의미한다. String & StringBuilder String : 불변성. immutable 한 특성. -,+ 연산시 해당 리터럴을 변경하는 것이 아닌 새로운 리터럴 생성 StringBuilder : mutable 한 특성. 멀티쓰레드 동기화 미지원. 속도 빠름 StringBuffer : mutable 한 특성. 멀티쓰레드 동기화 지원. 속도 느림 이 개념은 실제로 저번 테스트에서 나왔었다. String s1="java"; String s2="java"; String s3=new String("java"); String s4=new String("java"); System.out.println(s1==s2);//true Syste..

Backend/JAVA

이클립스 단축키 모음(JAVA)

Ctrl + F11 컴파일 + 디버그. 코드가 제대로 돌아가는지 확인 Ctrl+W / Ctrl+Shift+W 창닫기 / 열린 창 전부 닫기 Ctrl + / 그 줄 주석처리 Ctrl + 메소드 클릭 메소드 코드로 이동 Ctrl + Shift + O 자동 import Ctrl + Alt + ↑↓ 선택한 줄을 화살표 방향으로 복사 Alt + ↑↓ 해당 줄을 그대로 옮김 Ctrl + D 해당 줄 삭제 home / end 블럭단위의 처음 / 끝 으로 이동 Shift + home / end 그 줄 처음부터 커서까지 / 커서부터 그 줄 끝까지 Ctrl + Space 자동완성 Alt+ Shift + Y 페이지 자동 줄맞춤 형식으로 변환 / 아닌것으로 변환 Alt + Shift + R 클래스나 메소드 이름 바꿀때 사용 ..

Backend/JAVA

[kh정보교육원 19일차] 추상클래스 / 인터페이스

추상클래스 메소드 오버라이드 강제화 public void test6() { Animal[] animals = new Animal[5]; for(int i=0;i 자식클래스를 객체화해서 사용 차이점 추상클래스는 일반클래스 성격을 가지고 있다. field와 method를 가지고, 자식클래스에 물려줄 수 있다. 인터페이스는 일반 field와 method를 가질 수 없다. Java 1.8부터 default/static 메소드를 사용할 수는 있다. 특징 [추상클래스] - 0개이상의 추상메소드를 가질 수 있다. (추상메소드가 0개인 경우 객체화를 막기위한 목적이라고 보면 됨) - 자식클래스는 반드시 부모의 추상메소드를 구현해야 한다. [추상메소드] - abstract 키워드 - 몸통부가 없음. 몸통부는 자식클래스에..

Backend/JAVA

[kh정보교육원 18일차] ==와 equals / hashCode / clone / 복사생성자 / 다형성 / 정적바인딩과 동적바인딩

==와 equals 의 차이 == ) 동일성 비교 (identity) : 같은 주소값을 가진 객체인가 비교. (주소값 비교) equals ) 동등성 비교(equality) : 같은 내용을 가진 객체인가. (내용 비교) equals & hashCode 현재객체.equals(다른객체) - 현재객체.필드명 이 다른객체.필드명 과 같은지 (다르면 return false) equals를 제대로 사용하기 위해서는 Override가 필요하고, Override를 안했을 경우 obj의 equals를 쓰기 때문에 false가 나온다. equals의 비교결과가 true라면, hashCode 값도 같아야 한다. 이 역시 오버라이딩이 필요하다. 특정 필드값(동등성 비교에 사용)기준으로 hashCode를 재생성한다. 보통 equ..

Frontend/React

React프로젝트 만들기

리액트 프로젝트 만드는 방법 : create-react-app 사용(CRA) Node.js 오픈소스 라이브러리 쉽게 설치하는법 : node pakage manager (npx) 사용 npx create-react-app 프로젝트명 --template typescript를 터미널에 입력하면, 프로젝트가 새로 생긴다. 리액트 프로젝트의 기본구조. package.json에 scripts 항목을 보면, start와 build에 대한 정의가 되어있다. npm run start -- 개발모드 npm run build -- 빌드모드 빌드모드 : 웹팩이 프로젝트 디렉터리 파일을 모두 모아 이름에 main이나 chunk라는 단어가 들어있는 번들 파일을 만듦. 번들 파일이란 ; 웹팩이 다양한 입력모듈(이미지,css,htm..

Frontend/React

React란? SPA? scoop설치방법 / Node.js 설치 방법 / VSCode 프리티어설정

리액트는 페이스북에서 만든 오픈소스 자바스크립트 프레임워크. 리액트는 가상 DOM과 JSX에서 동작한다. 리액트는 SPA방식을 이용하며, SPA 란 single page application을 의미한다. index.html 파일 1개로 동작하기 때문에 서버에 자원을 1번만 요청하고, 화면 깜빡임 현상이 발생하지 않는다. 필요한 부분만 동적으로 화면을 생성하는 방식인 것이다. (jquery의 ajax랑 비슷한 느낌?) 전자정부프레임워크 4.0부터 리액트를 프론트앤드 기술로 도입한다고 한 만큼, 실제로 굉장히 많이 사용하고 있는 프론트앤드 언어이다. 나는 Do it ! 리액트 모던 웹개발 with 타입스크립트 책을 통해 리액트를 실제로 활용해 보면서 공부해보려고 한다. 설치할 개발 도구는 다음과 같다. 프로..

반응형
유경(shin-6-0)
유경쓰 개발일기