본문 바로가기

개발

벌써 2021년?

반응형

벌써 2021년?

 

2020년은 2019년보다 더 빠르게 지나간 것 같습니다. 많은 일들이 있었지만 가장 생산력 있는 해였습니다.

아무리 블로그 글은 안 올려도 회고글은 항상 올렸기에 2020년에도 한 해를 회고해보려고 합니다.

SW마에스트로 합격

SW마에스트로가 뭔지 알고만 있었는데, 주변 지인을 통해 11기 모집한다는 소식을 듣고 지원해봤습니다. 매우 감사하게도 11기에 최종 합격했습니다! 🎉

 

합격 당시 메일

SW마에스트로는 오프라인 행사로 이루어져 있었으나... 코로나로 인해 대부분 행사가 온라인으로 바뀌었고 프로젝트 또한 온라인으로 진행하게 되었습니다. 사람들은 많이 못 만난 건 아쉽지만 고등학생이기 때문에 편하게 참여하기는 했습니다 😀

 

코딩 테스트 또한 오프라인 테스트에서 온라인 코테 2번으로 변경되었습니다. 10기에서는 모든 문제가 알고리즘이었다고 들었는데 올해는 알고리즘, SQL, 웹 분야가 나왔습니다.

PS를 못하는 제 기준에서 알고리즘 난이도는 적당한 편이었고 SQL, 웹은 이쪽 분야를 하신다면 쉽게 푸실 수 있는? 난이도였습니다.

새로 접한 인프라의 세계

SW마에스트로를 프로젝트를 하면서 AWS를 사용하게 되었습니다.

프로젝트에 MSA를 적용하여 서버를 나눠보기도 했으며, Route53으로 도메인을 구입, 연결해보고 CloudFront를 통해 CDN을 적용해보기도 했습니다. (현재는 서버가 날아가서 사진이 없네요...)

 

AWS에서 더 나아가 인프라 스택을 관심 갖게 되면서 개인 서버를 좀 더 손봐줬습니다.

Prometheus와 Grafana를 이용하여 모니터링 시스템을 구축해봤습니다.

 

Grafana

또한 좋은 기회를 얻게 되어 Naver Cloud Platform을 사용해봤습니다. Ncloud 이야기는 나중에 더 풀어보겠습니다.

잊혀진 수프트?

수프트는 교내 전용 CBT 플랫폼입니다. 2019년에는 관리자만 문제를 낼 수 있었고, 2020년에는 재학생 누구나 낼 수 있게 변경하였습니다.

 

문제 등록하기

놀랍게도(❗) 2020년에 업데이트된 내용은 이게 끝입니다

Figma를 사용하면서 새로운 디자인 안을 만들어보기도 하고 정답 제출 방식 개선, 랭킹 도입 등 기획한 아이디어는 많았으나 개발하지는 못했습니다. 1월 할 일이 벌써 정해졌네요 😅

 

언제까지 준비중?

또한 수요성에 대한 문제가 생겼습니다. 시험 기간에만 쓰인다는 문제가 있고, 등록된 문제가 없으면 문제를 만들어야 하는 번거로움. 그럼 굳이 써야 되나? 싶은 문제들이 생겼습니다. 이 역시 1월에 해결해보도록 합시다.

 

하지만, 기능적인 업데이트가 없었지 기술적으로는 큰 업데이트가 있었습니다.

수프트 백엔드를 Express.js와 함께 쓰던 REST API에서 GraphQL로 리팩토링을 진행했습니다.

 

Commit History

daily-boj

지인들과 백준 스터디를 시작하였습니다. solved.ac 브론즈 ~ 골드(그 이상) 문제를 매일 풀며 코드를 공유하고 새로운 문제를 뽑는 시간을 가졌습니다. 덕분에 자연스럽게 1일 1커밋을 하기도 하였습니다.

 

1일 1커밋

하지만 아쉽게도 지금은 죽어버린 방이 되었고.. 1일 1커밋도 자연스럽게 끝났습니다.

🦀Rust도 해봤어요!

올해 초, 끄투닷컴 단어 데이터베이스 작업을 위해 나무위키 크롤링이 필요했습니다. 마침 Rust에 관심이 있었던 시기라 Rust를 이용하여 크롤러를 만들었습니다. unhtml를 이용하여 쉽게 크롤링할 수 있었습니다.

 

#[derive(Debug)]
#[derive(FromHtml)]
#[html(selector = ".wiki-heading")]
struct Data {
    #[html(selector = "span", attr = "inner")]
    track_name: Vec<String>
}

 

이후, CSV 파일로 저장하는 작업까지 해주었습니다.

 

pub fn save_csv(filename: String, vec: Vec<String>) -> Result<(), Box<dyn Error>> {
    let file = File::create(format!("{}.csv", filename))
        .expect("파일 생성 중 오류가 발생하였습니다.");
    let mut wtr = Writer::from_writer(file);

    for url in vec.iter() {
        wtr.write_record(&[url])?;
    }

    wtr.flush()?;

    Ok(())
}

 

https://github.com/SkyLightQP/namu2csv

 

SkyLightQP/namu2csv

A namuwiki crawler that converts header to csv file for kartrider wiki - SkyLightQP/namu2csv

github.com

개인 홈페이지 디자인

가장 최근에 작업했습니다. 개인 홈페이지 디자인을 현재 프로필 색깔코드를 기반으로 새롭게 변경하였습니다.

2020년 작업한 것 중에 가장 예쁘게 나온 프로젝트인 거 같습니다! 🎨

 

skylightqp.kr

https://skylightqp.kr 로 가시면 직접 만나보실 수 있습니다.


아무튼, 여러 가지 일들이 많았지만 시간도 빨리 간 2020년이었던 거 같습니다.

모두 새해 복 많이 받으세요!

 

반응형