분류 전체보기 73

[길벗 개발자 리뷰어] 고객 니즈가 보이는 데이터 분석 with 파이썬

개발자가 되고 싶다고 생각했을 때 상상했던 개발자는 인터넷에 있는 무한한 정보들을 타라라타락 코드 몇 줄로 샤라라라락 보기 좋게 만들어내는 그런 개발자였다. 우주의 먼지처럼 부유하는 데이터들을 노가다 아닌 방법으로, 매우 적은 노동력으로, 수많은 보이지 않는 손과 함께하는 것처럼 순식간에 데이터를 연결짓고 의미를 찾아내는 그런 개발자. 하지만 나는 프론트엔드 개발자가 되었고, 데이터 분석과는 거리가 먼 코드를 작성한다. 얼마 전 오픈데이터 행사에 참여해 데이터 크롤링과 분류 작업을 함께 했다. 그때 엄청 많은 데이터를 일일이 수정하고 복붙하면서 큰 현타를 느꼈다. 올해는 파이썬을 꼭 배우고 말겠다고 다짐했다. 프론트엔드 개발자인 내가 이 책을 읽고 리뷰를 쓰는 이유다. 또, 최근에 공공데이터 분석을 통해..

카테고리 없음 2024.05.22

실업급여와 인간이 살아가는 데 필요한 것

7월 12일, 국민의힘과 정부가 현재 최저임금의 80%인 실업급여 하한액을 낮추거나 아예 없애는 방안을 검토하겠다고 발표했다. 개인적인 의견으로는 악용하는 사람이 문제라면 악용할 소지를 줄일 수 있게 제도를 촘촘하게 보완하는 게 정상적인 사고방식일 텐데 아예 제도를 없애버리겠다고 하니 황당하다. 논리적인 비약일 수 있겠지만, 현재에도 법률의 빈틈을 노려 사법제도를 악용하는 사람들이 있는데 그럼 사법제도를 없애겠다고 주장할 것인가? 이 방안이 통과된다면 다른 복지제도들도 악용하는 사람들 때문에 다 없애겠다고 주장할까 봐 겁난다. 나도 실업급여의 혜택을 받은 적 있다. 1년간 퍼블리셔로 일하다 프론트엔드 개발자로 전직하기 위해 퇴사하고 혼자 공부하면서 6개월 만에 일하면서 번 돈을 다 썼다. 안그래도 이대로..

카테고리 없음 2023.07.17

신입 FE 개발자의 상반기 회고

신입 프론트엔드 개발자로 4개월을 보내며 🧶 든 생각 타래 😂 경험한 프론트엔드 일의 기쁨과 슬픔 📚 경험한 것과 배운 것 🧐 고민한 커리어 정체성 🪡 다짐하는 하반기 목표에 대해 적어보았습니다. 🧶 상반기 생각 타래  취업 과정 중 가장 큰 행운은 작년 12월, 프로그래머스에서 운영하는 KDT 과정을 수료하고, 2달 동안 한 회사의 채용 전형을 진행했다. 운이 좋게도 유일하게 지원했던 그 회사에 합격해서 올해 3월부터 에듀테크 스타트업에 신입 프론트엔드 개발자로 일하게 됐다. 신입은 여러 군데 지원해봐야 한다는 말을 많이 들었지만, 일하고 싶다는 생각이 드는 회사를 더 이상 찾을 수가 없었다. 지금 다니는 회사는 전형을 진행할수록, 회사를 알아볼수록 점점 더 '여기서 일하고 싶다'는 생각이 드는 회사..

회고 2022.07.04

[DAY 17] 클린 코드 TIL - 10장. 클래스

🔖 오늘 읽은 범위 : 10장, 클래스 (p.179 ~ p.191) 😀 책에서 기억하고 싶은 내용 큰 함수를 작은 함수 여럿으로 쪼개라. 몇몇 함수가 몇몇 변수만 사용한다면 독자적인 클래스로 분리해라. 변경하기 쉬운 클래스 깨끗한 시스템은 클래스를 체계적으로 정리해 변경에 수반하는 위험을 낮춘다. 개방 폐쇄 원칙Open-Closed Principle 클래스는 확장에 개방적이고 수정에 폐쇄적이어야 한다. 새 기능을 수정하거나 기존 기능을 변경할 때 건드릴 코드가 최소인 시스템 구조가 바람직하다. 이상적인 시스템이라면 새 기능을 추가할 때 시스템을 확장할 뿐 기존 코드를 변경하지는 않는다. 시스템의 결합도를 낮추면 유연성과 재사용성도 높아진다. 시스템 요소가 서로 잘 격리되어 있으면 각 요소를 이해하기 더 ..

클린코드 2022.02.10

[DAY 16] 클린 코드 TIL - 10장. 클래스

🔖 오늘 읽은 범위 : 10장, 클래스 (p.170 ~ p.178) 😀 책에서 기억하고 싶은 내용 클래스 체계 정적 공개 상수 → 정적 비공개 변수 → 비공개 인스턴스 변수 → 공개 함수 → 비공개 함수 공개 변수가 필요한 경우는 거의 없다. 추상화 단계가 순차적으로 내려간다. 프로그램은 신문기사처럼 읽힌다. 캡슐화를 풀어주는 결정은 언제나 최후의 수단이다. 같은 패키지 안에서 테스트 코드가 함수를 호출하거나 변수를 사용해야 한다면 그 함수나 변수를 protected로 선언하거나 패키지 전체로 공개한다. 하지만 그 전에 비공개 상태를 유지할 온갖 방법을 강구한다. 클래스는 작아야 한다. 작명은 클래스 크기를 줄이는 첫 번째 관문이다. 간결한 이름이 떠오르지 않는다면 클래스 크기가 너무 큰 것이다. 클래스..

클린코드 2022.02.08

[DAY 15] 클린 코드 TIL - 9장. 단위 테스트

🔖 오늘 읽은 범위 : 9장, 단위 테스트 (p.158 ~ p.169) 😀 책에서 기억하고 싶은 내용 테스트 코드에서 가독성을 높이려면, 명료성, 단순성, 풍부한 표현력이 필요하다. 테스트 코드는 최소의 표현으로 많은 것을 나타내야 한다. 테스트 API 코드에 적용하는 표준은 실제 코드에 적용하는 표준과 다르다. 단순하고, 간결하고, 표현력이 풍부해야 하지만, 실제 코드만큼 효율적일 필요는 없다. StringBuffer를 피해라. assert문 개수를 줄여라. 테스트 함수마다 한 개념만 테스트하라. F.I.R.S.T 규칙 Fast: 테스트는 빨라야 한다. 테스트가 느리면 자주 돌릴 엄두를 못 낸다. Independent: 각 테스트는 서로 의존하면 안 된다. 각 테스트는 독립적으로, 그리고 어떤 순서로 ..

클린코드 2022.02.07

[DAY 14] 클린 코드 TIL - 9장. 단위 테스트

🔖 오늘 읽은 범위 : 9장, 단위 테스트 (p.154 ~ p.157) 😀 책에서 기억하고 싶은 내용 TDD 법칙 세가지 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다. 테스트 코드는 실제 코드 못지 않게 중요하다. 코드에 유연성, 유지 보수성, 재사용성을 제공하는 버팀목이 바로 단위 테스트다. 테스트 코드가 지저분하면 코드를 변경하는 능력이 떨어지며 코드 구조를 개선하는 능력도 떨어진다. 🤔 오늘 읽은 소감은? 테스트 주도로 개발하는 것이 왜 중요한지 생각해볼 수 있었다. 코드를 작성하면서도 확신을 가지지 못할 때가 많았는데 테스트 주도 개발 방..

클린코드 2022.02.06

[DAY 13] 클린 코드 TIL - 7장. 오류 처리

🔖 오늘 읽은 범위 : 7장, 오류 처리 (p.138 ~ p.142) 😀 책에서 기억하고 싶은 내용 null을 반환하지 마라 사용하려는 외부 API가 null을 반환한다면 감싸기 메서드를 구현해 예외를 던지거나 특수 사례 객체를 반환하는 방식을 고려한다. 메서드에서 null을 반환하는 방식도 나쁘지만 메서드로 null을 전달하는 방식은 더 나쁘다. 대다수 프로그래밍 언어는 호출자가 실수로 넘기는 null을 적절히 처리하는 방법이 없다. 그렇다면 애초에 null을 넘기지 못하도록 금지하는 정책이 합리적이다. 오류 처리를 프로그램 논리와 분리해 독자적인 사안으로 고려하면 튼튼하고 깨끗한 코드를 작성할 수 있다. 오류 처리를 프로그램 논리와 분리하면 독립적인 추론이 가능해지며 코드 유지보수성도 크게 높아진다...

클린코드 2022.02.04

[DAY 12] 클린 코드 TIL - 7장. 오류 처리

🔖 오늘 읽은 범위 : 7장, 오류 처리 (p.130 ~ p.137) 😀 책에서 기억하고 싶은 내용 오류가 발생하면 예외를 던지는 편이 낫다. Try-Catch-Finally 문부터 작성하라 강제로 예외를 일으키는 테스트 케이스를 작성한 후 테스트를 통과하게 코드를 작성하는 방법을 권장한다. 미확인 예외를 사용하라 오류 메시지에 정보를 담아 예외와 함께 던져라 외부 API를 사용할 때는 감싸기 기법이 최선이다. 외부 API를 감싸면 외부 라이브러리와 프로그램 사이에서 의존성이 크게 줄어든다. 🤔 오늘 읽은 소감은? 로직과 에러 처리하는 코드를 분리해야겠다. 일일이 에러를 정의해주는 것보다는 try catch 문을 이용해 에러 처리를 해야겠다. 예외 처리하는 법을 연습해봐야겠다. 🧐 궁금한 내용이 있거나,..

클린코드 2022.02.02

[DAY 11] 클린 코드 TIL - 6장. 객체와 자료구조

🔖 오늘 읽은 범위 : 6장, 객체와 자료 구조 (p.118 ~ p.128) 😀 책에서 기억하고 싶은 내용 변수를 비공개로 정의하는 이유는 남들이 변수에 의존하지 않게 만들고 싶어서다. 구현을 감추려면 추상화가 필요하다. 변수 사이에 함수라는 계층을 넣는다고 구현이 저절로 감춰지지는 않는다. getter와 setter 함수로 변수를 다룬다고 클래스가 되지는 않는다. 추상 인터페이스를 제공해 사용자가 구현을 모른 채 자료의 핵심을 조작할 수 있어야 진정한 의미의 클래스다. 자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 편이 좋다. 개발자는 객체가 포함하는 자료를 표현할 가장 좋은 방법을 심각하게 고민해야 한다. 객체와 자료 구조의 차이 객체는 동작을 공개하고 자료를 숨긴다. 그래서 기존 동작을 ..

클린코드 2022.02.01