728x90
반응형

오늘 배운 것

1. 어레이와 링크드리스트

    조회할땐 배열 Array

    추가 및 사입할땐 연결리스트 LinkedList

2. 클래스

    클래스는 객체를 생성하기 위한 템플릿이다. (CSS의 클래스와 다름!)
    class를 통해 원하는 구조의 객체 틀을 짜놓고, 비슷한 모양의 객체를 공장처럼 찍어낼 수 있다.
    쉽게 생각해서 클래스 = 붕어빵 기계, 그리고 객체 = 붕어빵 으로 보면 된다.- 파이썬 기초문법

3. 이진탐색

    이진 탐색 탐색의 범위를 절반씩 좁혀가며 데이터를 탐색하는 알고리즘입니다.

    (순차탐색은 처음부터 끝까지 가는 알고리즘)

4. 재귀함수

    함수 안에서 함수 자기자신을 호출하는 방식을 재귀호출(recursive call)이라고 합니다.

    재귀호출은 일반적인 상황에서는 잘 사용하지 않지만 알고리즘을 구현할 때 매우 유용합니다.

    보통은 무한루프에 빠질 수 있으니, 빠져나갈 수 있는 if문을 써야할지 생각해봐야 합니다.

 

오늘 느낀 점

input = "소주만병만주소"

def is_palindrome(string):
    if len(string) <= 1:
        return True
    if string[0] != string[-1]:
        return False

    return is_palindrome(string[1:-1])

print(is_palindrome(input))

재귀함수 부분에서

마지막 return 값이 이해가 안됬다.

맨끝부분을 빼야하니 [1 : -2]가 아닌가? 란 생각에 계속 빠졌다.

팀원에게 물어보고 대화를 하다보니 머릿속에 !!! 느낌표가 생겼다.

[1(이상) : -1(미만)] 이기 때문에 생긴 내머릿속 오류였다.

 

첫 재귀함수 루프를 돌때,

[1]은 [주]를 뜻할 것이고

[-1]은 [소]니까 틀린게 아니야?! 가 아니고,

-1 미만이기에 -2인 끝에서 두번째를 출력하는 것이 맞다!

 

그러므로 string[1:-1]은 두번째 값과, 끝에서 2번째 값을 출력하는 것이다.

슬라이싱은 이상(>=) 과 미만 (<)이기에 헷갈릴 수 있는 부분이고

답답했던 부분을 깨달아서 뿌듯한 하루였다.

728x90
반응형

'일기 > TIL' 카테고리의 다른 글

TIL: Today I Learned 11일차  (0) 2022.11.28
TIL: Today I Learned 10일차  (0) 2022.11.25
TIL: Today I Learned 8일차  (0) 2022.11.23
TIL: Today I Learned 7일차  (0) 2022.11.22
TIL: Today I Learned 6일차  (0) 2022.11.21
728x90
반응형

오늘 배운 것

1. array와 링크드 리스트

2. 클래스

 

 

 

오늘 느낀 점

- 파이썬, 자바스크립트를 끝내고 자료구조와 알고리즘을

  넘어오면서 머리가 지끈거리기 시작했다.

  알고리즘을 도출해내는 과정도 어렵지만

  그걸 코딩으로 실천하는 과정도 너무 어렵다ㅠㅠㅠㅠ

 

- 현재 1주차 끝부분부터 2주차 초기 부분까지

  간신히 이해할듯말듯(코딩은 따라하기만..)

  앞으로 어떻게 해야할지 어두컴컴한 느낌이다.

  열심히 해야겠다는 마음은 있지만 커다란 벽을 만난 느낌

  일단 더 열심히 해야겠다ㅠㅠ

728x90
반응형

'일기 > TIL' 카테고리의 다른 글

TIL: Today I Learned 10일차  (0) 2022.11.25
TIL: Today I Learned 9일차  (0) 2022.11.24
TIL: Today I Learned 7일차  (0) 2022.11.22
TIL: Today I Learned 6일차  (0) 2022.11.21
TIL: Today I Learned 5일차  (0) 2022.11.18
728x90
반응형

오늘 배운 것

1. new연산자
new 라는 의미는 영역(block)을 지정하여 함수 내부의 정의된 내용을 실행하여 주는 의미
조금 더 쉽게 접근하면, "new 연산자를 사용해야만 함수 내부의 내용을 변수에 대입 할 수 있다."

2. 생성자(constructor)
객체가 '생성'이 될 때 자바스크립트 내부에서 호출이 되는 함수

3. 클래스(class)
클래스는 객체를 생성하기 위한 템플릿이다. (CSS의 클래스와 다름!)
class를 통해 원하는 구조의 객체 틀을 짜놓고, 비슷한 모양의 객체를 공장처럼 찍어낼 수 있다.
쉽게 생각해서 클래스 = 붕어빵 기계, 그리고 객체 = 붕어빵 으로 보면 된다.- 파이썬 기초문법

(https://pyoja.tistory.com/62)

- 자바스크립트 문법 진행중

 

오늘 느낀 점

- CSS class랑 js class랑 개념이 혼동되었는데 오늘 좀 이해가 되었고,

  그외 new연산자, 생성자도 좀 더 파고 들어서 깨달은 것들이 있다.

  뭔가 모호한 점이 있다면 파고들어서 개념을 더 익히는게 앞으로 공부할 때 더 도움될 것 같다.

728x90
반응형

'일기 > TIL' 카테고리의 다른 글

TIL: Today I Learned 9일차  (0) 2022.11.24
TIL: Today I Learned 8일차  (0) 2022.11.23
TIL: Today I Learned 6일차  (0) 2022.11.21
TIL: Today I Learned 5일차  (0) 2022.11.18
TIL: Today I Learned 4일차  (0) 2022.11.17
728x90
반응형

오늘 배운 것

- 파이썬 기초문법

(https://pyoja.tistory.com/62)

- 자바스크립트 문법 진행중

 

오늘 느낀 점

- 사실 강의 듣기전에 유튜브로 몇시간동안 기초문법을 시청만 했다(코딩X)

- 이론은 알고 있었지만 중간중간 퀴즈를 내줄때, 잠시 멈춰서 직접 코딩했는데

  생각보다 막히는 부분도 있었고, if num>20 하고 : 없이 엔터해서

  오류가 났는데 몇분 시간이 걸리기도 했다.

  눈으로 볼땐 당연한거고 너무 쉽네~ 했지만 직접해보면 버벅거리니

  앞으로도 계속 직접 코딩해봐야 겠다.

 

 

728x90
반응형

'일기 > TIL' 카테고리의 다른 글

TIL: Today I Learned 8일차  (0) 2022.11.23
TIL: Today I Learned 7일차  (0) 2022.11.22
TIL: Today I Learned 5일차  (0) 2022.11.18
TIL: Today I Learned 4일차  (0) 2022.11.17
TIL: Today I Learned 3일차  (0) 2022.11.16
728x90
반응형

 🥅 주간회고의 목적

1. 지난 일주일을 되돌아봄으로써 나의 현재 상태를 파악하기

- 내일배움캠프 멤버들과 비교했을땐, CSS부분은 평균 이상일 수 있지만,

  직접 코딩하고 검색해서 원하는 기능을 만들어내는 집념은 부족하다.

 

2. 더 나은 다음주를 만들기 위해 어떤 부분을 어떻게 채워나갈 지를 고민하는 것

- 첫 프로젝트이기에 웹개발 종합반을 통해 가볍게 복습만 한다고 생각했기에

  빠르게 완성하고나서 직접 코딩은 안하고 강의만 들었던 것을 반성해야 겠다.

  다음주부터는 강의를 듣고 나서 가벼운 기능이라도 1일 1코딩하는 버릇을 들이려 한다.

 

 이런 질문들을 가지고 접근해보세요

1. 지난 일주일 동안 가장 인상 깊었던 배움에는 뭐가 있었지?

- 가장 인상깊었던 배움은 다른 사람들의 집념이었다.

  삭제, 랜덤이미지, 게시판, 검색 기능과 같이 어려운 기능을 밤새서 라도 만들려하는 집념

 

2. 그 배움까지 다가가는데 어떤 어려움이 있었지?

- 이론도 모르고 실행력도 부족하다는 생각이 들었다.

  아직 모르겠으면 나중에 다시 듣지 뭐~ 라는 안일한 생각이 있는데

  이해가 안된다면 적어두고 이해할때까지 계속 생각해봐야 겠다.

 

3. 그 과정에서 나는 무엇을 깨달았고, 어떤 감정/생각이 들었었지?

- 집념이 부족하다는 걸 깨달았고, 나는 개발자가 될 수 있을까?

  개발자 성향이 부족한 것 같아서 맘이 급해졌다.

  그래도 자격지김 가지지 않고 앞으로 많은 시간이 남아있으니

  꾸준히 노력해서 따라가야 겠다고 생각들었다.

 

4. 결과적으로, 현재 나의 상태는?

- 실력의 상태는 그대로겠지만, 개발자로서의 집념을 가져야 겠다는 작은 불씨는 일으킨 것 같다.

 

5. 이 상태에서 다음 일주일을 더 잘 보내려면 어떻게 해야 할까?

- 1일 1코딩(or 문제풀이)를 하며 깃허브에 커밋하는 버릇을 들이려 한다.

728x90
반응형

'일기 > WIL(Sun)' 카테고리의 다른 글

WIL: Week I Learned 6주차 [클론코딩]  (0) 2023.01.02
WIL: Week I Learned 5주차 [TIL특강]  (0) 2022.12.22
WIL: Week I Learned4주차  (0) 2022.12.16
WIL: Week I Learned 3주차  (0) 2022.12.04
WIL: Week I Learned 2주차  (0) 2022.11.28
728x90
반응형

오늘 한 일

- 노드js 미니프로젝트 발표회

- 특강 CS

 


오늘 배운 것

- 금요일 CS특강 : 프로세스, 스레드, 비동기

 

프로세스란?

- 메모리에 적재되어 실행되고 있는 프로그램의 인스턴스

(설계된 것을 바탕으로 구현된 구체적인 실체) 

(붕어빵 틀(설계된 것, 클래스)과 붕어빵(인스턴스)이 보통 예시로 많이 사용됨)

- 운영체제로부터 시스템 자원*을 할당받은 작업의 단위

스레드란?

- 프로세스 내에서 프로세스의 자원을 이용하는 여러 실행 흐름의 단위

 

멀티 프로세스란?
-하나의 프로그램을 여러 개의 프로세스로 구성하여 각 프로세스가 하나의 작업을 처리하도록 하는 것


멀티 스레드란?
-하나의 프로그램을 여러 개의 스레드로 구성하고 각 스레드가 하나의 작업을 처리하도록 하는 것


멀티 프로세스 vs 멀티 스레드, 언제 뭘 사용해야 하는가?

-멀티 스레드는 멀티 프로세스보다 적은 메모리 공간을 차지하고 Context Switching이 빠르다는 장점이 있지만, 오류로 인해 하나의 스레드가 종료되면 전체 스레드가 종료될 수 있다는 점과 동기화 문제를 가지고 있다.따라서 대상 시스템의 특징에 따라 오류가 나서 프로세스가 죽었을 때 크리티컬한 이슈가 발생하는지, Context Switching이 발생 빈도가 빈번한지 등을 따져 잘 선택해야 한다.


반면, 멀티 프로세스 방식은 하나의 프로세스가 죽더라도 다른 프로세스에는 영향을 끼치지 않고 정상적으로 수행된다는 장점이 있지만, 멀티 스레드보다 많은 메모리 공간과 CPU 시간을 차지하고 Context Switching에 많은 비용이 든다는 단점이 존재한다.
이 두 가지는 동시에 여러 작업을 수행한다는 점에서 같지만 적용해야 하는 시스템에 따라 적합/부적합이 구분된다.

 

728x90
반응형

'일기 > TIL' 카테고리의 다른 글

TIL: Today I Learned 7일차  (0) 2022.11.22
TIL: Today I Learned 6일차  (0) 2022.11.21
TIL: Today I Learned 4일차  (0) 2022.11.17
TIL: Today I Learned 3일차  (0) 2022.11.16
TIL: Today I Learned 2일차  (0) 2022.11.15
728x90
반응형

오늘 한 일

- 팀프로젝트 팀원들과 의견조율

- 파이썬 기초강의 시청

 


오늘 배운 것

- JS 객체지향 class 문법

 

728x90
반응형

'일기 > TIL' 카테고리의 다른 글

TIL: Today I Learned 6일차  (0) 2022.11.21
TIL: Today I Learned 5일차  (0) 2022.11.18
TIL: Today I Learned 3일차  (0) 2022.11.16
TIL: Today I Learned 2일차  (0) 2022.11.15
TIL: Today I Learned 1일차  (0) 2022.11.14
728x90
반응형

오늘 한 일

- 프로그래머스 알고리즘 문제 풀기

- git 복습

- 파이썬 기초강의 수강

 

다음주부터 파이썬, 자바스크립트 강의가 시작하기에

미리 준비할겸 조금씩 공부를 시작했다.

 


오늘 배운 것

- 프로그래머스 알고리즘 문제 풀기

int solution(int num1, int num2) {
    int answer = ((float)num1/num2)*1000;
    return answer;
}

또는

int solution(int num1, int num2) {
    int answer = (1000*num1) / num2;
    return answer;
}

- REST API 노마더코드 시청

 

객체들의 관계 interaction을 위해 URL을 사용할 수도 있다.
ex. GET/POST/PUT/DELETE + /movies/inception/actors

GET으로 읽고,

POST으로 생성하고,

PUT으로 업데이트하고,

DELETE로 삭제!

728x90
반응형

'일기 > TIL' 카테고리의 다른 글

TIL: Today I Learned 6일차  (0) 2022.11.21
TIL: Today I Learned 5일차  (0) 2022.11.18
TIL: Today I Learned 4일차  (0) 2022.11.17
TIL: Today I Learned 2일차  (0) 2022.11.15
TIL: Today I Learned 1일차  (0) 2022.11.14

+ Recent posts