본문 바로가기

전체 글

(203)
19.12.16) Java - Calendar 프로젝트 중.. Scanner 스캐너 사용 후엔 scanner.close() 해줘야 한다. nextLine()은 한 번에 입력받은 문자열을 가져온다. 보통 split()과 같이 써야 한다. next()는 공백을 기준으로 문자열을 가져온다. 스캐너를 다시 쓰고 싶을 땐 Scanner 클래스를 다시 만드는 것이 아니라 한번 만들었던 scanner를 사용하면 된다. 상수 설정 private static final int[] days = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; noSuchElementException Scanner를 한번 사용하고 close() 해놓으니 반복해서 사용할 때 에러 발생.
19.12.15) Java - 구구단 프로그램 구현 목차 Scanner 클래스 Array method 선언과 호출 Class 사용법 Scanner 클래스 JDK에 내장되어 있는 클래스이다. 사용자에게 값을 입력받을 때 사용 가능하다. import java.util.Scanner System.out.println("값을 입력해주세요"); Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); 코드설명 자료형은 객체이기에 new를 통해 scanner라는 이름의 Scanner를 만든다. 입력받은 값의 자료형을 설정할 수 있다. 만약 설정한 값이 아니면 에러 출력한다. 위 코드는 int로 설정 array JS나 Python에 비해 array의 기능이 단순하다. 처음 선언할 때 길이를 지정해야..
19.12.14) Java - 개발환경구축 개발 환경 구축 혼자 개발 환경 구축을 할 수 있을 정도로 연습한다. 나중에 개발환경 문제가 생기더라도 대처가 가능하다. 시리즈 javaSE : Standard Edition으로 기본적인 개발 가능. javaEE : 웹 개발 가능.순서 JDK(Java Development Kit)를 설치한다. 시스템 환경 변수에 JAVA_HOME 만들고 jdk디렉토리 경로 추가, path에 jdk\bin 디렉토리 경로 추가 cmd에서 java -version 명령으로 설치 확인한다. 에디터(eclipse)를 설치한다. eclipse의 환경을 JRE에서 JDK로 바꿔준다 . windows -> preference -> java -> installed JREs -> JDK 디렉토리를 추가한 뒤 설정 변경 인코딩을 utf-8..
19.12.14) 간절함을 기억말고 기록하자. 우리는 종종 지금 이 간절함을 기억하자고 말한다. 하지만 금방 잊는다. 사람의 기억력은 우리가 내뱉은 말보다 형편없다고 생각한다. 그래서 나는 지금 기록한다. 기록은 기억보다 오래간다. 최근에 입장권이 필요하다는 글을 썼다. 개발자 세계로 들어가는 입장권이 필요했다. 그 입장권은 거창한 대기업 입사가 아니라 체계적인 교육기관으로 들어가는 입장권이다. 다행히, 지금 나는 입장권을 마련했다. 계속 입장권이라 쓰니 너무 비유적인 것 같다. 학원 합격했다는 말이다. 비전공자였기에 독학보다는 체계적인 커리큘럼으로 개발자를 준비하고 싶었다. 하지만 훌륭한 교육기관에 합격하는 건 나에겐 어려운 일이었다. 삼성과 고용노동부가 함께 진행하는 SSAFY, 우아한 형제들에서 진행하는 우아한테크코스, 서울시에서 진행하는 42..
19.12.13) 하루키 습관 띵언 "저 사람이 바쁠지 안 바쁠지는 저 사람이 결정하는 것이다 . 그냥 연락하고 질문해라." -누군가- 생각정리 꾸준히. 하루 1커밋. 하루 6시간 공부. 어제 폭풍같은 코드스쿼드 테스트를 보고 멘붕에 빠지기도 하고 다시 이성적으로 생각하기도 했다. 냉탕과 온탕을 왔다갔다.. 거의 온탕에 있었지만.. 이성마비 아무것도 하기 싫어 유튜브와 영화를 보다가 재미없어서 자야겠다 싶을 때 하루정리할까? 말까? 고민하다 ''하고자자.'' 결정했다. 너무 잘한 결정이었다. 코드스쿼드가 중요한게 아니다. 내가 열정을 가지고 꾸준히 할 수 있느냐가 중요한 것이었다. 미래에 나한테 창피하지 말자고 적었다. 학원에 못 가면 개발자 못 되나? 전혀 아니다. 오히려 정해진 규칙이 없기에 크게 성장..
19.12.12) JS - 코드스쿼드 Step3 복습 배운 점 함수의 인자를 객체 이름으로 하니까 혼동이 온다. 기능별로, 쪼개니까 코드가 단순해지고 이해하기가 쉬워진다. divide & conquer!! JS로 html를 조작하니 확실히 코드가 간결해지고 아름다워진다. 여러 데이터를 모을 때는 배열도 유용하다. 코드를 훨씬 간결하게 만들 수 있다. 더 수준이 높아지면 객체도 자유자재로 사용할 수 있게 연습해야겠다. 반복적으로 프로그램 돌려야 할 때는 while문 생각해보기!! 조건에 맞지 않으면 계속 돌아가게 아쉬운 점 start.js 파일에 기능이 너무 많이 몰려 있어서 아쉽다.. 출력하는 파일 따로, 게임하는 파일 따로 진행해도 좋았을 텐데. 전광판 점수 업데이트가 제대로 안돼서 아쉽긴 하다..
19.12.11) JS - 코드스쿼드 step2 복습 step2 복습 이후 깨달은 것 처음에 복습한다치고 한 번에 다 만들고 커밋하려고 했다. 하지만 프로그램 구조가 복잡해서 시간이 갈수록 주먹구구식으로 코드를 짰다. 그러다, 다시 처음부터 하자 마음먹었다. 대신 중점은 divide & conquer 였다. 구현할 기능들 적어놓고 하나씩 구현 완료하면 커밋하는 걸로! 함수의 의존성도 최대한 줄이기! 함수의 의존성이 높아지면 점점 코드가 복잡해져서 나조차 이해가 어려워진다. 최대한 함수 안에 다른 함수를 넣지 않으려고 노력했다.
19.12.10) JS - 노마드코더 강의 실습 복습 forEach() filter() 둘 다 배열의 메서드이다. forEach()는 반복문처럼 사용 가능하다. 인자 값은 3개를 받는데, 첫 번째 인자는 배열의 element를 하나씩 꺼낸다. 두 번째 인자는 인덱스를 꺼낸다. 세 번째 인자는 배열 전체를 꺼낸다. const arr = [1,2,3]; arr.forEach(function(elements, i, j){ console.log(elements) // 1, 2, 3 console.log(i) // 0, 1, 2 console.log(j) // [1,2,3], [1,2,3], [1,2,3] }) filter() filter()는 boolean값을 가지고 사용 가능하다. 배열의 요소를 하나씩 꺼내면서 만약 true값은 새로운 배열에 추가한다. fals..