2달 전만 해도 나는 개발자의 꿈을 가지고만 있던
평범한 직장인이었다.
모종의 이유로 퇴사하게 되었고, 예전에 하지 못했던 일들을 하나씩 해보려고 하는데
국비 지원으로 공부할 수 있는 곳을 찾아보다가
스파르타 코딩 클럽을 알게 되었고 덕분에 지금 코딩에 입문해서 하나하나씩 배워나가는 중이다 ....
실은 첫주차인데도 생각보다 어려워서 이해가 쉽지 않았다.
데이터 분석을 위해 파이썬을 배우고 있고
앱 개발을 위해 자바스크립트를 배우고 있다.
이번주에 가장 크게 느낀 점은,
자발, 자율적인 학습이 정말 중요하다는 점이다.
코딩의 시작은 문제의 인식이고 그 문제를 해결하기 위해서 어떻게 해야할지 생각하면서
해야한다고 생각한다.
그러기 위해서는 내 생각을 구체화해서 구글 유튜브 등의 검색 엔진을 통해 검색할 수 있도록
빠르게 준비를 해야한다고 생각한다.
무튼 잡설이 길었고...
데이터 분석에서는
변수와 요소들의 상관관계라는 기초 중의 기초부터
기본적인 데이터 가공 방법,
상관관계 분석,
엑셀의 한계와 파이썬을 배워야하는 이유 등을 배웠고
데이터 분석에서는 구글 Colab을 주로 이용하여 수업을 진행하였다.
그리고
# 두 개의 변수를 선언 후 곱하기(*) 연산 수행
a = 5
b = 7
a * b
이런 식으로 아주 기초적인 변수부터 시작해서
자료에는 정수형/실수형/문자형/리스트 등이 있다고 배웠다.
그리고 조건문과 반복문에 대해서 깊게 공부하였다.
for i in range(0, 5): # 맨 끝에 :(콜론)을 사용하였다.
print(i,'번 반복할게요~') # print 앞에 들여쓰기를 해주었다.
list1 = [1, 2, 3, 4, 5]
list2 = ['a', 'b', 'c', 'd', 'e']
for element in list1: print(element)
1
2
3
4
5
이런 식으로 배워나갔다.
그리고 비교 연산자에 대해서도 공부하였다.
이 부분은 크게 어렵지는 않았다.
조건문에 대해서도 공부해보았는데, 조건문이 생각보다 어려웠지만 재미 있었다.
If, elif, else 등으로 조건을 설정하고 출력해보는 연습은 상당히 재미 있었다.
그리고 본격적으로 함수에 대해서 공부하기 시작했다.
함수의 기본 구조는 반복하면서 숙달해야할 것 같다는 생각이 많이 들었다.
이 외에도 예외처리라던지 판다스와 데이터프레임에 대해서 공부했다.
웹과 웹스크래핑 패키지부터는 좀 어려운 이야기로 다가왔다.
이 부분도 반복 숙달이 필요하다.
크롤링에 대해서 공부하고 실제로 사이트에서 자료를 스크래핑 해보는 실습을 했다.
그리고 앱개발을 위해서 배운 자바스크립트에 대해서도 언급해보자면
자바스크립트에 대한 기초와 공부하기 위한 준비들을 같이 진행하였고,
예전에 독학할 때 어려움을 느꼈던 플랫폼이나 방향성에 대해서 확실히 짚고 넘어갈 수 있어서 좋았다.
파이썬과 자바스크립트를 같이 공부하면서 느꼈던건 둘이 비슷하면서도 많이 달라서
생각보다 연습하면서 손이 꼬이기도 하였다.
예를 들자면 크롬 콘솔 창의 엔터키와 구글 Colab의 엔터키가 달라서 줄을 띄어야할 때나 실행해야할 때 상당히 버벅거리게 되었다
let으로 변수를 선언하는 것과 const로 변수를 선언할 때 차이부터 시작해서
리스트(배열) & 딕셔너리(객체)의 차이에 대해서도 공부했고 개인적으로 이 부분이 상당히 흥미로웠다.
names = [{'name':'bob','age':20},{'name':'carry','age':38}]
// names[0]['name']의 값은? 'bob'
// names[1]['name']의 값은? 'carry'
new_name = {'name':'john','age':7}
names.push(new_name)
이런 식으로 리스트와 딕셔너리를 합치는 응용과 딕셔너리의 자주 쓰는 두가지 표현 방법을 배웠다.
그리고 자바스크립트 기본 제공함수에 대해서도 배웠고
기본적인 형태에 대해서는 많이 익숙해졌다. 처음에는 영타에 익숙하지 않아서 시간이 많이 걸렸지만
지금은 그래도 일주일 만에 나름(?) 빨라져서 좋다
그리고 배열에서 숫자들을 더한다던지 특정 원소 갯수를 구한다던지
지정한 값 사이에 있는 요소들의 이름만 출력한다던지 등등을 배웠다.
그리고 기본적인 틀을 다 배우고 난 후에
최신 방식으로 fuction() 이 부분을 생략하고 arrow를 이용하는 방식까지 배우게 되었다.
그 와중에서 어려웠던 부분은 비구조 할당에 대한 것과 map 함수에 대한 내용이다.
그 내용을 가져와보자면
리스트(배열)를 순회하여 값을 꺼내 확인할 땐 다음과 같이 for 반복문을 사용했습니다.
이를 위해 리스트의 길이 값을 알아야 했습니다. map은 리스트의 길이값을 몰라도 되며, for와는 반대로 리스트안에서 몇 번째에 있는 값인지 순서를 알려줍니다.
라는 말이 잘 이해가 안되었다.
let numbers = [1,2,3,4,5,6,7];
numbers.map((value,i) => {
console.log(value,i)
})
이 부분이
numbers.map(function(value,i) {
console.log(value,i)
})
와 같다는 점이랑 i가 순서를 의미한다는 것을 배우고 넘어갔다.
실은 아직도 정확하게 작동하는 원리는 잘 모르겠지만 더 익숙해지려고 노력해야겠다.
'코딩이야기 > 퇴사자 이민재의 개발일지' 카테고리의 다른 글
레시피 정리 사이트 작업일지(1,2,3일차) (0) | 2022.12.28 |
---|---|
[저장용] 내가 쓰려고 모아둔 vsCode 익스텐션/확장팩 모음 (0) | 2022.10.25 |
현재까지 공부한 내용들 점검 및 향후 공부 계획 (0) | 2022.10.24 |
[java] 정수를 입력 받아 그 약수들을 오름차순으로 담은 배열을 return하면서 생긴 시행착오 및... 기록 (0) | 2022.10.07 |