https://github.com/dev-chch/toy-k-job-finder/tree/main
GitHub - dev-chch/toy-k-job-finder: 사람인, 잡코리아, 인디드, 인크루트 구직 크롤링 토이 프로젝트
사람인, 잡코리아, 인디드, 인크루트 구직 크롤링 토이 프로젝트. Contribute to dev-chch/toy-k-job-finder development by creating an account on GitHub.
github.com
문법 후다닥 공부하고
니꼴라스 강의 보고 golang은 일자리가 몇 개나 되나..
하며 찾아보다가
여기저기 홈페이지 돌아다니는 게 너무 귀찮아서 도전해보게 되었다.
https://nomadcoders.co/go-for-beginners/lobby
쉽고 빠른 Go 시작하기 – 노마드 코더 Nomad Coders
Go for Beginners
nomadcoders.co
니꼬쌤 갓갓!
하다보니 이게 참..
다시금 느끼지만 뭔가 열정을 느끼고 있을 때
쉬지 않고 겁나게 몰아부쳐서 한 번에 뚝-딱 하고 있는 힘껏 노를 저어줘야 된다.
안 그러면 끝에 가서 밍기적 거리게 되더라..
사용한 프레임은 Echo를 사용했다.
에코 + 템플릿을 사용해서
나름의 컨트롤러(?)와 뷰를 구현해보려고 했다.
아마 고수분들이 보시면 매우 우스울 정도의 수준이지 않을까 싶다.
잘하시는 분들은 함수 하나 사용하는데 들어가는 비용까지 고려해서 작성하시던데..
파일 트리구조는 위와 같다.
php, wordpress로만 하고 정확히 mvc로 나눠져있는 spring은 찍먹만 해봤기 때문에
구조가 개판일 수도 있다.
근데 뭐..
관리 편하면 됐지..
예전에 파이썬으로 크롤링 관련 프로그램을 만들어봤었는데
그때보다 속도도 압도적이고
무엇보다 코드가 알아서 차곡차곡 정리되는 게 너무 좋았다.
속도 하나 때문에라도 파이썬은 만지기가 너무 싫었는데..
golang은 속도 걱정은 하나도 안되더라
진짜 좋았다.
파이썬이 역사가 길어서
라이브러리가 많고, 그게 또 대단한 수준이긴 하지만서도
golang 시간이 지나면 해결되.. 될까?
작성하면서 라이브러리가 부족하다고 느꼈던 지점은
1000 -> 1,000 으로 만들 때였다.
php 같은 경우는 내장함수에서 number_format 함수를 사용하면
1000이 1,000으로 뚝-딱 나오는데
golang 같은 경우는
func NumberFormat(n int64) string {
in := strconv.FormatInt(n, 10)
numOfDigits := len(in)
if n < 0 {
numOfDigits-- // First character is the - sign (not a digit)
}
numOfCommas := (numOfDigits - 1) / 3
out := make([]byte, len(in)+numOfCommas)
if n < 0 {
in, out[0] = in[1:], '-'
}
for i, j, k := len(in)-1, len(out)-1, 0; ; i, j = i-1, j-1 {
out[j] = in[i]
if i == 0 {
return string(out)
}
if k++; k == 3 {
j, k = j-1, 0
out[j] = ','
}
}
}
이런 식으로 작성해줘야 했다.
사실 이것도 스택오버플로우 형님들의
손때가 묻은 코드..
그럼에도
서버를 api로 만들기에 정말정말정말
간단하고 가볍고
훌륭하다고 생각한다.
아직 구조체, 매서드 같은게 익숙하지 않아서
고급지게 코드를 못짜겠는데
더 공부해야지..
빌드하면 exe 파일로 나온다.
이거 실행만 하면 뚝-딱
실행 후 주소에 localhost:8080으로 하면
동작하는 걸 확인해볼 수 있다.
미완성에 가까운 완성이긴 하지만
첫 술에 배부를 생각말고 차근차근..
다음은 gin 써봐야겠다.
어쩌면 화딱지 나지만 다시 파이썬으로 연습해볼지도 모르겠고..
'공부공부 > 고' 카테고리의 다른 글
golang의 Public, Private (0) | 2022.05.09 |
---|---|
golang 구조체 전달 (0) | 2022.05.09 |
golang echo stylesheet 불러오기 (0) | 2022.05.08 |
golang echo 템플릿 사용기 (0) | 2022.05.08 |
golang으로 만든 구글의 10가지 오픈 프로젝트 (0) | 2020.11.03 |