TIL은 어떤 공부를 했고, 공부하는 과정속에서 어떤 것이 blocker 였고, 이를 어떤 방식으로 해결했는지등을 남기는게 중요하다.

‼️지금까지 나의 공부했던 모습을 돌아보았을 때, 실제 집중하고 공부했던 순간보다는 집중하는데 방해하는 것들로 인해서 시간을 버렸던 시간들이 생각보다 많았다는 것을 발견할 수 있었다.
지금 나의 상황이 기초가 많이 부족한 상태이고 그로인해 진도를 잘 따라가지 못하는 모습이 있다.
그것의 원인은 그동안 기초를 탄탄히 다지지 못했고, 진도 나갈 때 집중력이 흐려질 때가 많았다. 그리고 집중해서 공부했던 시간이 적었고, 시간이 점점 지나면서 멘탈 흔들림+해야할 게 산더미인데 공부 방향성을 잡지 못하여 혼란스러우면서 자신감 하락 의 원인 등이 있었다. 약간 안좋은 것들의 순환인듯. +주말에는 무조건 쉬고 싶고, 공부하기 싫다는 마음이 있었다. 마음속의 부담감이 너무 컸던 것도 있었다.->하지만 저번주 금요일에 모든 것을 내려놓으면서 마음이 편해졌고, 주말동안 내려놓고 복습하니 오히려 배우는 것이 재밌다고 느껴졌다.- 하지만 복습하는데 시간이 많이 소요되었던 것이: 용어 하나하나의 정의를 이해하면서 공부하기 시작하니까 시간이 더 많이 소요 되었던 것 같다.
일단 멘탈 및 부담감, 공부하기 싫다는 마음은 잡혔다.
=>이 상황을 타파하기 위해서
1. 집중하지 못하게 방해하는 요소들을 제거하기
2. 밀도있게 집중해서 공부하기
3. 공부의 방향성 정하기
세가지의 기준을 정해보았다.
집중하지 못하게 방해했던 요소들: 습관적으로 들어가는 sns앱, 구독하고 있는 앱들의 마케팅 카톡들(그로 인해 혹해서 들어갔던 시간들), 지금까지 오랫동안 아파서 금식하면서 터진 식욕+스트레스로 인한 당 충전에 대한 갈망 등이 있다.
이 요소들을 제거하기: sns앱 삭제, 마케팅 메세지 계속 오는 카톡 방 나가기(대부분 옷 브랜드 및 화장품 브랜드, 또는 구매를 유도하는 식품관련), 건강한 간식들 구매 및 땡길 때 그걸로 먹기(찾는 시간 및 갈망하는 시간 제거), 공부 할 때 핸드폰 밖에 두기(아예 하루종일 보지 않아도 괜찮음)
-완료!
밀도 있게 집중해서 공부하기: 사실 이 부분은 1번을 실행함으로써 이루어지는 것이긴 하지만 지금 내 상황에서는 시간을 더 내서 공부해야 한다. ->
1) 점심시간 활용하기.-지금까지는 점심시간을 충분히 즐겼다. 하지만 이제는 점심시간도 즐기는 것이 아닌 정말 밥만 먹고 다시 공부로 돌아와야 한다. (이거 쓰는 시간도 현재 점심시간임.)
2) 저녁시간도 마찬가지. 저녁 먹고 바로 들어와서 공부 및 복습하기 이 쉬는 시간들을 진도를 따라간다는 마음으로 내 시간으로 만들겠다는 마음으로 하자.
3) 공부하다가 집중력이 떨어지거나 몸이 힘들어지면 그때 잠깐 일어나서 해야하는 일들(집안일 또는 잠깐의 운동 및 스트레칭, 팸 소통) 하기
공부의 방향성 정하기: 기초부터 다질려니 현재 나가는 진도를 따라가지 못하게 된다. 이럴 때는 캠프의 진도를 같이 공부하면서 기초도 같이 다져나가야 한다.
현재 수준별 세션: 베이직 반 복습하고 문제풀기
라이브세션의 통계: 잘 듣고 궁금한점은 질문 및 구글링, AI활용해서 공부
지급된 통계 강의: 들으면서 공부
러닝머신 강의 듣기
지금까지의 진도에서 구멍난곳이 좀 많다보니 채워야 할 부분도 많은데 그래서 더더욱 방향성 정하기가 힘들었다. 어쨌든 기초를 막 완벽하려고 하지 말고 필요한 기초지식을 쌓으면서 현재 진도에 맞춰서 공부를 해야 할 것 같다.
+벨로그 작성할 때 그 표지 찾느라 시간도 쓰여진다. 사진 고르느라 시간 쓰지말고 그냥 출간하기!
+사실 질문하는게 갈수록 어려워진다. 다들 나 빼고 다 이해하고 잘하는 것 같애,, 하지만 비교하지 말기!!! 그리고,, 그냥 물어봐!! 뭐 어쩔거야 난 비전공자고 지금 완전 처음 배우는건데 그리고 나 전공도 이과도 아니라고,, 완전 딴세계거 배우는건데 첨부터 잘하면 난 이미 이거 다 그냥 싹쓸이 했겠지,,
야 기죽지말라구!!!!후우-후우- 후우- 해보자.
해보자 아자아자!!!
금일 베이직 수준별 강의 3회차:
들으면서 궁금했던 점들
Q. -100 = True 인 이유? :
그 파이선에서는 빈 값이 아니면 다 True였던 것 같음. 빈값이면 False이고. 근데 왜 -100이 트루인지 이해가 안 감->왜냐면 이쪽은 복습을 못했거든,, 암튼 찾아보니: 0이 아니면 다 True라고 함. 0외의 값은 다 True임.
Q. print에서 end=''의 의미:
end=''은 줄바꿈 없이 출력하는 것임. print()의 기본기능이 각 줄마다 개행(줄바꿈)되는 것이 있음.
파이선에서 print()함수는 단순히 데이터를 출력하는 것뿐 아니라 어떻게 출력할지도 조저할 수 있는 옵션은 제공한다. 그 중 하나가 end파라미터임.
-> end란: 출력한 마지막에 붙일 문자를 지정하는 것.
기본값은
=> 그래서 print()를 여러번(ex.반복문)쓰면 자동 줄바꿈이 되는것처럼 보임
하지만 end=''를 쓰게 되면 줄바꿈 대신 띄어쓰기 한 칸이 들어가서 줄바꿈이 아니라 한줄에 나란히 쓰게 된다.
Q. 제어문 공부하기(제어문 개념이 아직 정리 안된 상태였음):
break: 반복문을 즉시 종료. 만약 if문을 쓴 후에 그 값을 만족했을 때 break를 건다면, 만족한 즉시 멈춤. 출력값도 그 전의 값부터 만족한 값까지의 데이터를 출력함.
continue: 현재 반복을 건너뛰고 다음 반복으로 진행. 해당되는 현재의 값은 출력하지 않고 다음 반복으로 진행(다음 값부터는 다시 출력)
else: 반복문이 break 없이 정상적으로 완료되었을 때 실행되는 코드 블록
break&else문 예시)

%연산자는 나머지를 구하는 연산자이다. 2로 나누었을 때 나머지가 0이라면 그 숫자는 짝수란 소리.
-> numbers라는 리스트에서 짝수를 발견하면 브레이크, 즉 거기서 이 for반복문을 멈추라는 소리이다. 그래서 이 코드를 실행했을 때 출력값은: 짝수 발견: 10 이 될 것이다. else는 이미 앞에서 break가 되었기 때문에 실행되지 않는다. 만약에 numbers리스트안에 짝수가 없었다면(10이 아예 없었다면) else문이 실행되었을 것이다. 그래서 출력값은 짝수가 하나도 없어요! 가 될 것이다.
Q. sort()함수:
.sort()는 리스트 전용 함수이다. 원본값을 바꿔주며 반환값은 none이다-> 반환값이 none이라는 말은 음.. 예를 들어 list라는 리스트가 있다고 치자. 그 리스트의 값은.. 예를 들어 이런거다 list = [1,30,8,2,15,24,5] 여기서 list.sort()를 해준다. 그리고 이 값을 다른 변수에다 담아준다. ->
my_list = list.sort() 이렇게. 그리고 print(my_list)를 하게 되면 출력값이 정렬된 값이 나오는게 아니라 그냥 none이 나온다는 소리이다.
그래서 어떤 변수에 담아줘서 출력하기보다는 그 함수 자체에다가 .sort()를 써줘서 프린트 해버려야 함. ex) 위의 리스트를 갖다 쓰자면 - list.sort()를 해주고,(다른 변수에 값을 담지 말고) 그냥 print(list) 해버리면 정렬된 값이 나온다. 참 이것도 아이러니해,, 이걸 해석해보자면 그런거다. list자체를 정렬값으로 바꾼거니까 그 리스트를 print()로 출력했을 때 바뀐 값이 나오는거다.
원본만 바꾸는 이유는 용량측면 및 속도측면때문이라고 한다..(이 부분은 잘 모르겠듬 일단 넘어가~)
만약 다른 변수에 담아서 출력하려면 sorted란 함수가 있다.
sorted()함수: 이 함수는 정렬하고 싶은 변수를 ()안에다가 넣어서 사용한다. 얘는 리스트 함수는 아니고 파이선 내장 함수임. 그래서 .sorted()이렇게 사용하지 않음. 사용법을 보자면 위의 리스트 또 사용해보자면 이런거다. ->sorted(list) 이렇게 사용한다. 그리고 sorted()함수의 특징은 사본을 만든다는 것이다. 리스트 자체를 바꾸기 보다는 리스트의 사본을 만들어서 사용한다. 그래서 원본은 훼손시키지 않는다. 예시한번 봅시다
-> my_list = sorted(list)
print(my_list) 하면 정렬된 값이 나온다. 그리고 여기서 print(list)하면 정렬 되기 전의 원본 데이터값이 나온다.
+추가로 정렬함수의 기본값은 오름차순이다. 내림차순으로 정렬하려면 reverse=True를 추가해주면 된다. sort()함수, sorted()함수 둘 다 ()안에 작성해주면 됨!
Q.2차원 리스트 다루기
Q. 어떤 함수 사용할 때 꼭 total = 0의 값을 넣어줌.
일단 변수를 지정해주고, 그 변수에 할당 값을 넣어주는 것 같음.
-과제 중심으로 공부하기! 이론은 빠르게 훑고, 배운것을 자기만의 언어로 정리하는 것이 중요하다!🌟
-그날 배운 것은 꼭 그날 복습해야함🌟
,,,ㅠㅠㅠ하지만 하루가 너무 짧다는 점... 왜 하루가 이렇게 순식간에 지나가는건지 이해할 수가 없다.. 오늘복습은,, 조건문과 반복문이랑,,,, 아, 진짜,, 오늘 배운것중에서 궁금했던 점들 공부한것,, 그게 다인 듯,,
근데 오늘 일정 보니까 강의가 3개나 있었다.. 개인공부시간이 적을 수밖에 없었음. 그리고 오늘의 아쉬운 점은: 오늘 너무 늦게 일어나서 오전9시부터 10시까지의 시간에 공부를 온전히 하지 못했던 점이다. 모닝루틴을 좀 바꿔봐야겠다. 요즘에 계속 아침을 먹었었는데, 아침을 그냥 건너뛰고 그냥 두유한컵이랑 뭐 바나나, 아니면 아몬드 이정도로 먹어주고 아,, 토달볶있으니까 그냥 그거 데워서 먹고 공부 시작해야겠다.
그리고,, 이론을 빨리 넘어가고 문제를 집중해서 풀라고 하시는데,, 이론을 알아야 문제를 풀든말든 할텐데,,ㅠㅠㅠ 이론 공부하느라 시간 다가버림.. 하,,
약간 내 생각에는 베이직반 밑에 기초반 하나 더 만들었으면 좋겠다. 완전 기초부터 다시 배우게..
-enumerate()함수는 파이선 내장함수이며, 이터러블(반복 가능한 객체)한 객체에 사용할 수 있는 함수이다. 인덱스와 값을 같이 반환한다.
ex) 
여기서 마지막 print를 지우고

이걸 실행하면 출력값은

이렇게 나온다. 근데

위와 같이 코드를 작성하면:

결과값은 위와 같이 나온다.


저 변수안에 인덱스값과 리스트 안에 있는 값이 같이 나옴.
start=1은 인덱스 시작값을 지정하는 것이다. 만약 생략하면 원래대로 0부터 시작한다.