본문 바로가기

728x90

내일배움캠프 4기 스프링

(123)
11. 14 ~ 11. 18/ 3주 차 WIL 정신없이 지나가는 일주일.. 벌써 3주가 지나갔다. 19주 프로그램에서 쉬는 날 빼면 대략 18주 과정인데, 그 중 3주가 벌써 지나간 것이다! 주니어 개발자라.. 막연하지만 실체가 조금씩은 잡혀가는 중이다. 1. JAVA 자바 기초강의를 수강 완료했다. 다만 아직 객체지향 프로그래밍과 후반부에 배우는 람다, 스트림API, 네트워킹 등에 대해 익숙하지 않아 이해에 어려움을 겪고 있어, 주말에 복습을 계속 진행하고 있다. 언젠가는 완전히 이해하는 순간이 오리라 믿으며.. 추가 목표: 11월이 지나기 전에 자바의 정석 1회독 끝내기. 자바 기초강의랑 겹치지 않는 부분은 좀 생략하는 용기도 필요하겠다. 2. 알고리즘 타임 어택 처음으로 알고리즘을 시간 제한을 두고 풀이하는 알고리즘 타임어택을 진행했다. 문제 ..
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문, 슬라이싱, 인..
11. 15 JAVA 기초 강의/ 알고리즘 강의 + 그림으로 배우는 알고리즘 1. JAVA 기초 강의 인터페이스, 상속을 활용한 클래스 구현 public class Main { public static void main(String[] args) { Human grandParent = new GrandParent("할아버지", 70); Human parent = new Parent("엄마", 50); Human child = new Child("나", 20); Human[] humans = {grandParent, parent, child}; for (Human human : humans) { System.out.println(human.name + ", 나이:" + human.age + ", 속도" + human.speed + ", 장소" + human.getLocation()..
11. 14 알고리즘 강의/ JAVA 기초 강의/ 그림으로 배우는 알고리즘/ Leetcode 1. 알고리즘 강의 Dynamic Programming(동적 계획법) 1) 피보나치 수열: 첫째, 둘째항이 1이며 그 뒤의 모든 항은 앞의 두 수의 합 표시되는 수열 *피보나치 수열 구현 : 재귀함수 input = 20 def fibo_recursion(n): if n == 1 or n == 2: return 1 return fibo_recursion(n - 1) + fibo_recursion(n - 2) print(fibo_recursion(input)) # 6765 #내가 쓰기엔 매우 간단해 보이지만, 동적 계획법: 복잡한 문제를 간단한 여러 문제로 나누어 푸는 것 조건 1. 반복되는 형태로 문제가 계속해서 파생되는 게 있다. 조건 2. 메모이제이션을 위한 메모가 필요하다 input = 100 # m..
11. 07 ~ 11. 11/ 2주 차 WIL 이번 주는 본격적으로 알고리즘에 대해 학습하는 시간을 가지는 일주일이었다. 기존에 수강했던 자료구조 개념을 더욱 깊게 이해할 수 있게 되었다. 알고리즘이라는 아직은 신비로운 문제해결 체제에 대해 "레시피"라는 개념으로 접근할 수 있는 점은 매우 긍정적이다. FACTS - 알고리즘의 기초 강의 중 기본 개념에 대한 학습 시간복잡도 공간복잡도 접근표기법 어레이와 링크드 리스트 클래스 이진탐색 재귀함수 정렬 스택, 큐 해쉬 트리, 힙 각 유형당 20문제정도 풀 수 있다면 좋아요 정수의 최소값, 최대값 곱하기 또는 더하기 반복되지 않는 문자 문자열에서 문자 최빈값 구하기 문자열 뒤집기 링크드 리스트 구현 - JAVA 기초 강의 - 파이썬 기초 강의 완강 FEELINGS -아직 너무 부족함을 많이 느낀다. 그저 ..
11. 11 CS 특강/ 알고리즘 강의 1. CS 특강(CPU): 강창민 튜터님 CS 기초지식 확보목적 CPU는 4가지의 기능이 있다 Fetch/ Decode/ Execute/ Writeback 1) 왜 싱글코어가 아닌 멀티 코어를 사용하는지? 2) CPU 구조, 구성원 3) CPU와 프로그래머 간 통신 방법 4) 명령어 수행방법 **OS/ DB/ 네트워크 필수학습, 컴파일러/프로그래밍언어 보강 2.알고리즘 강의 트리/힙 트리 : 비선형 구조 ( vs 큐, 스택 ) Node: 트리에서 데이터를 저장하는 기본 요소 Root Node: 트리 맨 위에 있는 노드 Level: 최상위 노드를 Level 0으로 하였을 때, 하위 Branch로 연결된 노드의 깊이를 나타냄 Parent Node: 어떤 노드의 상위 레벨에 연결된 노드 Child Node: ..

728x90