티스토리 뷰
아직 5월이지만 나름의 성과가 있어서 미리 상반기 결과를 써야겠다.
정보처리기사
작년에 정처기 필기만 따놓고 미루고 미루던 실기를 드디어 땄다.
필기는 이기쥬히 기출문제 정리만 보고가서 어렵지않게 딸 수 있었는데,
실기는 기출문제랑 똑같이 안나올거 같아서 책 전체를 다 봐야한다는 압박감에 공부하기가 너무너무너무 귀찮았다.
그래도 정처기가 있으면 조금이나마 비전공자를 바라보는 시선이 달라질거 같아서 (우대사항에 써있는데가 은근 있다.)
올해는 무조건 따자고 생각했다.
알고리즘만 책 한번 문제만 쭉 다 풀어보고, 2018~2013 기출문제랑 어떤 블로그에 있는 신기술 정리 요약만 본 채
시험장으로 향했는데, 대부분의 자격증 시험이 그렇듯 문제은행식이었다.
덕분에 기출문제로 풀었던 문제와 답이 그대로 나와서 큰 어려움없이 딸 수 있었다.
안드로이드 어플 출시
때는 바야흐로 대광고 시대...
이 흐름에 맞춰 나도 광고로 치킨 값 정도는 벌어보고 싶었다.
유튜브, 블로그 등 광고 수익 창출할 플랫폼은 많았지만, 일단은 개발 스펙트럼도 넓힐겸 어플 개발을 시도해봤다.
네이티브는 배우는 시간도 있기에 오래걸릴거 같아서 기존에 하던 웹 개발로 어플을 만들 수 있는 코르도바를 선택했다.
https://jjjayyy.tistory.com/59?category=810360
비록 어플이 플레이스토어에서 금방 내려지긴 했지만, (어플이 유해한게 아니라 타노스가 유해한 겁니다!!!)
핫한 하이브리드 앱도 만져보고 여러모로 경험의 폭을 넓힐 수는 있었다.
하지만 본래의 목적이었던 광고 수익은 내지 못했다...
오히려 블로그에 달아둔 광고 수익이 코딱지만큼 나와서 그거 신기해하는 중이다.
현재는 패스트캠퍼스에서 안드로이드 강의를 온라인으로 듣고 있다.
상반기가 끝나기 전까지 네이티브로 어플 하나 만들어서 수금하러 떠나야겠다.
어플 개발은 앞으로도 한달이내로 끝낼 수 있는 사이즈로 진행할 예정이다.
이유는
1) 어플의 목적이 스킬업이 아닌 비지니스이기도 하고,
2) 빠르게 변하는 세상에서 트렌드에 맞는 어플을 빠르게 만들어 미리 선점해야 한다고 생각하며,
3) 여러 어플을 만들어 성과의 가능성을 늘려나가고 싶기도 하고,
4) 오랜 시간을 들여 만든 결과물의 성과가 미미하면 현타가 씨게 올거 같아서
정도가 있다.
개발 스킬은 공부로! 비지니스 스킬은 어플로!
리팩토링
SM으로 파견나와서 쇼핑몰 운영을 맡고 있다. (사실 운영반 개발반이라 SIM인듯 싶다...)
다른 프로젝트는 안가봐서 모르겠지만 지금 있는 곳의 코드는 정말 나의 방과 같다.
어지럽게 너저분하지만 주인인 나는 정말 잘 찾을 수 있는 그런 코드다.
그래서 그런지 꼼꼼하게 사무작업을 잘한다면 개발을 잘 몰라도 충분히 소화할 수 있지 않을까 싶다.
같은 기능이 쓰이는 곳만 잘 파악해서 복붙만 잘하면 되니깐...
개인적으로 같은 기능이 쓰이는 곳까지 꼼꼼하게 찾아가며 기능을 추가하는 것은 안좋다고 생각한다.
사무직으로 있을땐 정말 좋은 습관이었는데, 객체지향 언어인 자바로 굳이 그래야할까 싶다.
그래서 타노스가 인피니티 스톤을 모으듯 흩어진 동일한 기능들을 하나로 모으는 작업을 하고 있다.
'객체지향과 디자인패턴'이라는 책을 읽고 인터페이스와 상속에 대해 다시 생각해보는 계기가 되었는데,
적용과 활용이 아직 쉽지 않다.
하나의 책임이란 어떤 것일까...
인터페이스로 빼고 클래스로 나누면 클래스가 더 늘어나서 복잡해지는게 아닐까...
국비과정에서 배운 MVC 모델에서 필요한건 해당 Controller와 Service에 넣어서 관리하면 되는데,
되려 더 쪼개면서 헷갈리는게 아닐까...
하는 생각으로 아직은 작은 부분부터 시도하고 있는 중이다.
추가로 비지니스 로직도 관리하기 쉽게 합치는 중이다.
SQL과 JAVA 그리고 JS 모두 로직을 구현할 수 있어서 그런지 여기저기 로직이 흩어져있다.
1
2
3
4
5
|
CASE
WHEN STATUS_A = '1' AND STATUS_B = '1' THEN '성공'
WHEN STATUS_A = '1' AND STATUS_B = '2' THEN '처리중'
ELSE '실패'
END
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
|
가령 이런 CASE문이 쿼리마다 흩어져 있어서 한번 수정 요청이 들어오면 엄청난 꼼꼼함을 발휘해야했다.
(그래도 놓치게 되어있다... 하지만 이건 내가 실수한게 아니라 코드가 실수하도록 만든거라 생각하며 편안해진다.)
그래서 이 부분을 자바에서 처리할 수 있도록 클래스를 하나 만들어서 처리했다.
앞으로 다른 곳에 꼼꼼함을 투자할 수 있고 실수도 줄일 수 있을 것이라고 생각한다.
객체지향스럽게 만들 수 있는 부분이 아직도 많기 때문에, 디자인패턴 연습의 발판으로 삼아야겠다.
+ 비지니스 로직을 어느 계층에 구현할까 하는 고민 글들이 okky에 많이 올라와있었다.
여러 의견들이 많았는데, 여러 글들을 읽고 내린 결론은 유연하게 활용 가능한 자바에서 로직을 처리하도록 해야겠다는 것이다. JPA를 활용해서 ORM을 많이 사용하는 것 같고, 자바에서 처리하는 것과 SQL에서 처리하는 것의 성능 차이가 크지 않다는 의견도 있어서 일단은 모든 로직을 자바로 모으는 작업을 해나가야겠다.
TDD
4월에는 우아한 테크세미나에 참석했다.
자바지기로 활동하시는 '박재성'님의 강의였고, 주제는 'TDD와 리팩토링을 통한 의식적인 연습'이었다.
세미나에 참석하게 된 계기는 TDD를 인터넷에서 띄엄띄엄 보긴 했지만 제대로 써먹고 있지 않았고,
'리팩토링 또한 무조건적으로 코드를 짧게 만드는 것이 좋은 코드일까?' 라는 생각이 들어서 방향성을 잡기 위해서였다.
토이프로젝트를 만들며 (정량적인 결과물을 보며 셀프 피드백이 가능한 로또, 경주 등의 작은 게임이면 더 좋다!)
작은 것에서부터 스텝바이스텝으로 연습해 나가는 것이 좋다고 하셨다.
무작정 실무에서 적용하려 했어서 눈앞이 깜깜했던 나한텐 적절한 답이었다고 생각한다.
하지만 그래도 실무에서 써먹으려고 노력중이다. (똥고집...)
단위테스트부터 실천하고 있긴한데, 막상 급한 이슈가 생기면 TDD고 뭐고 일단 선구현 후테스트를 돌린다.
주제의 제목답게 의식적으로 써먹는 연습을 해야하지 않을까 싶다.
https://book.naver.com/bookdb/book_detail.nhn?bid=5441199
리팩토링의 기준은 소트웍스 앤솔러지의 객체지향과 생활체조 9단계 훈련 지침을 따르는 것이 좋아보였다.
TDD와 리팩토링에 대한 것만 해도 영양가 있었다고 생각하는데, 또 하나 영양가가 있었던 멘트가 있었다.
'너라면 어떻게 할 것 같아?'
리더로서, TDD 환경을 구축하는 과정에서 팀원과의 면담 시 활용하는 화법이었는데,
인간관계에서도 유용할 것 같았다.
무작정 방식을 강요하기보다는 이미 답을 가지고 있는 상대방과 나의 답을 맞춰나가는 식으로 대화를 풀면 조금 더
유연한 커뮤니케이션이 되지 않을까 생각한다.
코딩의 유연함을 기르러 갔다가 대화의 유연함까지 향상 시킬 수 있는 유연한 시간이었다.
https://jojoldu.tistory.com/412
해당 강의를 보고 일급 컬렉션의 사용에 어려움이 있었는데, 해당 개념을 예제로 쉽게 설명한 글이 있어서 추가!
기초 지식 및 학습
자바를 처음 학습할 때, 상속과 인터페이스 그리고 생성자 등등 아무것도 모를 때에는 그저 뜬구름들이었던 것 같다.
이런게 있구나... 하고 머리는 알지만 정작 개발하면서 이걸 활용하지는 않았던 것 같다.
하지만 요즘 책을 읽고 인터넷의 여러 글들을 보다보니 이런 기초적인 것들을 자유자재로 활용할수록 OOP에 조금 더
가까워질 수 있을거란 생각이 든다.
JAVA는 그렇다치고 운영체제, 네트워크 등 기본적인 컴공과목들에 대해서도 어느정도 기반을 닦아야겠단 생각이 든다.
나름의 커리큘럼은 세워뒀는데, 괜찮은 방법인지는 모르겠다.
'월간 미생' 카테고리의 다른 글
2021 상반기 회고 (1~6월) (0) | 2021.08.04 |
---|---|
2020 상반기 회고 (1~6월) (2) | 2020.11.22 |
2019 하반기 회고 (7~12월) (0) | 2020.01.11 |
- Total
- Today
- Yesterday
- K번째수
- 프로그래머스
- codility
- 타겟 넘버
- 안드로이드 스튜디오
- API
- 기능개발
- 쇠막대기
- 예매 알림
- 텔레그램
- 카카오인턴
- Spring
- 124 나라의 숫자
- 다음 맵 api
- 더 나은 내일
- 맵 api
- 완주하지 못한 선수
- 자바
- 객체지향과 디자인패턴
- 문자열 내 마음대로 정렬하기
- 노션트렐로광고X
- 스프링 부트
- cgv
- 파이팅코리아
- 알고리즘
- AWS
- 최솟값
- json
- java
- FrogJmp
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |