본문 바로가기

728x90

내일배움캠프 4기 스프링/내배캠 TIL📘

(92)
11. 25 프로젝트 진행: 은행 관리 프로그램/ JAVA 1. 은행 관리 프로그램 프로그램 구체화 깃허브 사용중 생겼던 오류 해결 및 정석에 대한 학습 및 실습: (1) Origin master의 병합이 발생한 후 각 사용자는 본인 브랜치의 작업물을 커밋하여 Local master로 체크아웃한다. (2) 병합된 Origin master내용을 Local master에서(로) 업데이트(풀)한다. (3) 각 브랜치에 병합된 내용이 반영된 Local master내용을 병합한다(리베이스X) (4) 다른 병합이 발생한 경우 위 과정 반복 (+ fork를 활용한 협업은 현재보다 인원이 더 많은 업무를 진행할 경우에 적절하다) 2. JAVA Stack & Queue
11. 24 2차 프로젝트: 은행 관리 프로그램/ JAVA 1. 은행 관리 프로그램 메모장 프로그램을 만들며 획득한 경험과 자신감을 바탕으로 2차 프로젝트의 두 번째 프로그램인 은행 관리 프로그램 제작을 시작했다. 확실히 개발은 경험이다. 경험치를 쌓을 수록 상황 대처능력이나 침착함이 다르다. 팀원들과 좋은 결과와 경험을 만들어내고 이를 부트캠프를 지속하는 에너지로 사용하길 바란다. + Github 사용 강의 2. JAVA Collection Framework ArrayList LinkedList Stack Queue
11. 23 미니 프로젝트 두 번째: 메모장 프로그램 작성 1. 메모장 프로그램 작성 자바를 활용한 프로그램 작성 프로젝트 중 첫 번째인 메모장 프로그램 작성하는 시간을 가졌다. 무엇보다도 가장 중요한 건 해당 프로그램을 통해 코드의 흐름과 프로젝트의 구조를 파악하는 것이므로 비록 많은 코드를 작성하진 못하였으나, 이 핵심 가치에 집중해서 시간을 보내고자 노력했다. - 프로그램을 작성하며 내가 시도한 것들: 깃을 활용한 협업 메모장 프로그램에 사용되는 코드의 흐름 이해, 구현 노력 - 맞이한 장애물 설계한 내용을 실제 코드로 구현하기: if/else 문 대신 switch문을 사용: switch문에 대한 이해 콜렉션 프레임워크의 활용 : 어레이 리스트를 DB로서 활용하기 자바 언어에 대한 이해 및 숙련도 부족 -노력 끊임없는 코드리뷰와 피드백 내용 중간 정리를 통..
11. 22 객체 지향 프로그래밍/ JAVA 1. 객체 지향 프로그래밍 추상클래스 + 템플릿 메소드: (템플릿 메소드란?) 부모 클래스 안 메소드에 정의되어 있는 구조를 하위 클래스에서 구조 변경없이 재 정의하는 패턴(+ 다형성?, 오버라이딩?) 업캐스팅 예문 (Parent) Child c; 다운캐스팅 예문 (Child) Parent p; Parent p = new Child(); (Child) p; ** 3 티어 아키텍쳐 (웹개발 종합반의 클라이언트-서버-DB 구조와 유사함) 프리젠테이션 티어 (클라이언트) 어플리케이션 사용자 인터페이스 및 통신 어플리케이션 티어(서버) 데이터 티어(DB) *스프링 프레임웤을 사용한 프로젝트 빌드/ 클린 등 여러 사용모습 견학 2. JAVA Java.lang , Java.time, Java text 패키지 날짜와..
11. 21 객체 지향 프로그래밍/ JAVA 기초 복습 1. 객체 지향 프로그래밍 다형성 - 클라이언트를 변경하지 않고, 내부 기능을 변경할 수 있다. 코드: // status의 기능을 변경하고 싶다. // status를 "off" 값을 반환한다. class Plug { public void on() {} public void off() {} } interface InternetOfThings { String status(); } class SmartPlug extends Plug implements InternetOfThings { public String status() { ``` ``` return "ok"; } } class OffPlug extends Plug implements InternetOfThings { public String Status..
11. 18 객체 지향 프로그래밍 강의/ CS 강의/ 백문이불여일타(1): 계산기, JAVA 1. 객체 지향 프로그래밍 강의 사고방식의 전환이 필요하다: (참고하기 - 객체지향 사실과 오해) 소프트웨어는 소프트웨어 세계에서 능동적으로 변한다 객체 지향 프로그래밍은 현실세계를 참조해 새로운 소프트웨어 세상을 탄생시키는 것 객체는 현실에 대한 은유다 객체 지향 설계의 핵심: 메세지: 객체들이 협력하여 목표를 달성해나가는 과정 협력: 객체들 간의 관계 *객체를 구상하고 코드로 클래스를 정의하고 생성자를 통해 인스턴스를 생성한다 (실무)패키지 이름 = 사이트 이름 ex)com.github.wikikim Main 클래스는 소프트웨어 구동목적만 있다 Getter/ Setter 사용 지양하자 2. CS 특강 : 프로세스/ 비동기/ 스레드 프로세스: 메모리에 적재되어 실행되고 있는 프로그램의 인스턴스*/ 운영..
11. 17 객체 지향 프로그래밍 강의/ JAVA/ 알고리즘 강의 1. 객체 지향 프로그래밍 강의 핵심 메세지: 발생 수익보다 투입 비용이 더 들어가는 소프트웨어는 가치가 없다. 이를 개선하기 위한 노력들: 캡슐화, 다형성 그리고 왜 이러한 노력을 하는 지 이해하기 접근 제어자는 캡슐화가 가능하도록 하는 도구다. Interger vs int : 래퍼클래스 Boolean vs boolean : 래퍼클래스 캡슐화: 캡슐(클래스) 안에 모여있는 코드만 수정하면, 그 캡슐을 호출하여 사용하는 곳을 일일히 수정할 필요 없다. ~ 비용절감 Protected + JPA 인터페이스 : 구현하려는 객체가 가지고 있는 동작의 명세 (실무) 추상 클래스는 부모-자식클래스가 정말 확실한 경우에 사용 ~ 실사용도가 비교적 낮다 비용절감의 관점에서, 다형성 또한 추가비용의 투입이 없이 교체, ..
11. 16 알고리즘 TIME ATTACK 풀이/ JAVA 기초 강좌 1. 알고리즘 타임어택 풀이 풀이 후 QnA 시간: 코테 시 제한사항 필수 확인 숫자 단위 표현 : _ ex) 300_000 = 300,000 -> 가독성 목적 코드 작성: 프로그램에서 먼저 하고 코테 사이트에 옮기는 센스 long longType = Integer.MAX_VALUE + 1L; // 형변환 *파이썬보다 자바의 실수, 정수 범위가 작다 자바에서는 데이터의 손실이 발생하지 않거나, 데이터의 손실이 최소화되는 방향으로 묵시적 타입변환을 진행 자동 형변환 : 데이터 크기가 더 큰 데이터 타입으로 (JAVA) 0.00 ~ 자동 더블인식/ 숫자는 자동 float인식 while은 끝을 알지 못할 때 쓴다(for는 범위를 알고 있을때) String은 왜 배열처럼 쓸수 있는지?? for문, 슬라이싱, 인..

728x90