본문 바로가기

1장. 리눅스의 세계로 * 하기 내용은 회사 교육을 통해 수강한 [리눅스 기초] 수업을 바탕으로 정리한 내용임 - 엘리스를 통해 교육을 수강함. 리눅스에 대한 지식이 왜 필요한지 알아본다. 리눅스가 무엇인지에 대해 알아본다. 리눅스 기초 명령어를 익힌다. ( 7번 ) 리눅스 기반의 CLI환경에 익숙해진다. 1. 리눅스란? - 리눅스는 리누스토발즈(Linus Torvalds)에 의해 만들어진 운영체제이다. - 자유소프트웨어와 오픈소스 개발의 가장 유명한 표본이다. cf. GNU 프로젝트 (Gnu is Not Unix) : 유닉스 운영체제를 여러 회사에서 각자 개발하며 소스코드를 공유하지 않는 문화에 대한 반발로 생겼다. 2. 리눅스의 구조 - 응용프로그램 > Shell > Kernel > 하드웨어 3. 리눅스의 특징 - 유닉스 ..
tip) Map 초기화 하기 클래스의 생성자가 아닌, 필드로서 맵 초기화 하기 private static final Map firstDay; static { firstDay = new HashMap(); firstDay.put("SU", 1); firstDay.put("MO", 2); firstDay.put("TU", 3); firstDay.put("WE", 4); firstDay.put("TH", 5); firstDay.put("FR", 6); firstDay.put("SA", 7); } 자바 버전 별로 방식이 조금씩 다른 것 같다. 어쨌거나 자바 1.8버전 에서는 위의 코드로 실행 가능하다.
04. Java의 변수타입과 그 종류 - 변수의 타입 기본형(Primitive Type) : 변수의 값을 가짐 문자: char(한글자) 숫자: 정수 - 자연수 byte, short, int, long 실수 - 부동소수점 float, double 논리: boolean 참조형(Reference Type) : 변수의 메모리 주소를 가짐 : 초기화 되지 않은 참조현 변수는 null을 가진다. : String, Integer는 참조형 타입이지만 메모리 주소를 가지지 않고, 값만 가진다. 기본형(Primitive Type)을 제외한 나머지 모두 예)Scanner, ArrayList, String, Integer, HashMap.. 종류 설명 저장 공간 값의 범위 (최소값~최대값) ========================================..
[코딩인터뷰] 1. big-O 『코딩인터뷰 완전분석』의 교재내용을 정리하였습니다. 첨부 된 코드 출처 역시 동일합니다. big-O 시간은 알고리즘의 효율성을 나타내는 지표이다. 1) 시간 복잡도 big-O 시간에 대한 개념 파일을 누군가에 전송하고자 할 때, 온라인을 통해 전송 할 것인가? 직접 갖다줄 것인가? 파일 용량이 크다면 직접 갖다주는 것이 빠르고, 파일 용량이 작다면 온라인 전송이 적합하다. 수행시간: 최선/ 평균/ 최악의 경우 퀵 정렬의 경우 최선의 경우 ~ 최악의 경우까지 시간복잡도가 다르다. cf. 퀵 정렬: 축이 되는 원소 하나를 무작위로 뽑은 뒤, 이보다 작은 원소들은 앞에, 큰 원소들은 뒤에 놓이도록 원소의 위치를 바꾼다. 최선의 경우(O(N)): 배열이 이미 정렬되어 있거나, 모든 원소가 동일할 때. 평균적인 ..
[2주차] 로또게임 - 일급콜렉션(2주차 핵심내용) https://jojoldu.tistory.com/412 일급 컬렉션 (First Class Collection)의 소개와 써야할 이유 최근 클린코드 & TDD 강의의 리뷰어로 참가하면서 많은 분들이 공통적으로 어려워 하는 개념 한가지를 발견하게 되었습니다. 바로 일급 컬렉션인데요. 왜 객체지향적으로, 리팩토링하기 쉬운 코드로 갈려면 일급.. jojoldu.tistory.com 오늘은 상단에 링크 걸어둔 페이지를 참고하여 학습할 예정이다. 학습 후 포스팅 할 내용이 있으면 포스팅할 예정 :)
[2주차] 로또게임 - Step2. Merge 후 최종 피드백 반영하기 - 7월에 교육 마치면서, 이것 저것 일정이 겹친 덕분에 이제서야 소스코드 머지 된 것을 반영하고 다음 단계로 넘어간다. step3로 넘어가기 전에 리뷰어님의 리뷰를 최대한 반영했다. 개인적으로 소스코드가 마음에 안들어서 확..뒤집고 싶지만 일단 점진적으로 바꿔보자는 말씀에 그러기로 했다. - 리뷰어님이 말씀주신 개선 할 점은 두 가지로 하기에 그 내용과 해결과정을 정리해 두었다. 1 2 3 4 5 6 7 8 9 public static Set purchasedLottos(int lottoCount) { Set collectAutoLotto = new HashSet(); while (collectAutoLotto.size() trim을 이용해서 값을 쪼개어 저장하는 형식이 입력값에 대한 처리를 가장 수월..
[2주차] 로또게임 - Step2. 피드백 src/main/java/step2/InputView.java InputView 등 상태가 없는 클래스의 경우 굳이 인스턴스를 생성하여 사용하는 것 보다 static으로 사용 => 완료 src/main/java/step2/Lotto.java 현재 Lotto의 클래스 내부에 존재하는 메서드는 모두 List (로또번호들) 와 관련된 일을 수행하고 있습니다. Lotto의 멤버변수로 List를 두어 구현해보면 어떨까요? 그렇게 된다면 로또 번호와 관련된 메서드들을 모을 수 있을 것 같아요 :) => 완료 리턴타입으로 클래스가 아니라 인터페이스를 사용하는게 도움이 될 수 있습니다 :) => 완료 src/main/java/step2/LottoLottery.java public List lotteryStatics(S..
[1주차] 자동차 경주 게임 - Step3. 피드백(4)_추상화 * 하기 내용은 프로그래머스 자바 입문 강의 및 소스코드 + 구글링 + 제 개인적 견해로 작성된 내용입니다. 4. 추상화 1) 추상클래스 구체적이지 않은 클래스를 의미 독수리, 타조는 구체적인 새를 지칭하는데, '새'는 구체적이지 않다. 이런 것을 구현한 클래스가 추상 클래스이다. 2) 추상클래스 정의하기 클래스 앞에 abstract 키워드를 이용해서 정의 미완성의 추상 메소드를 포함 할 수 있다. 추상클래스는 인스턴스를 생성 할 수 없다. 추상화 사용 시, 유지/보수가 용이하다. ...더보기 추상메소드란, 내용이 없는 메소드이다. 즉, 구현이 되지 않은 메소드이다. 추상메소드는 리턴 타입 앞에 abstract라는 키워드를 붙여야 한다. 1 2 3 4 5 6 7 /* 추상클래스 예시 */ public a..