티스토리 뷰
오늘은 아침에 체했는지 상태가 너무 안 좋았다. 그래도 오후가 된 지금은 상태가 훨씬 좋아졌다.
출근길에 OKKY글을 조금 읽고 아이티 커뮤니티 분들과 이후 채팅하다가 쓰러져서 왔다.
조금 더 건강관리에 신경써야 할 거 같다.
오늘은 주간회의가 있는 날이어서 지난 주 동안 한 일들을 정리했다.
이후 회의에서 책임님. 이제는 팀장님이 업무 보고를 내가 하는 파트까지 해주셔서 패스하고 stt 앱이 오늘 성공해서 입사한지 7일만에 성과가 나왔다고 박수 받았다. 사수님이 거의 다 하신 거 같아서...(안드로이드를 너무 못하는 거 같다.) 그래서 급 부담스러웠지만 그래도 결과가 나와서 너무 신났고 안드로이드 공부를 더 해야할 거 같다.
지난 주 금요일에 기껏 구현해둔게 vm 상에서 돌아가지 않아서 실망했다가 테스팅 폰에서 돌아가서 신났다.
음성 인식 어플이라서 됐을 때의 기쁨을 텍스트화할 수 있다 신난다.
https://berkbach.com/creating-an-android-google-stt-application-4cea24ee97af
맨 처음 찾은 위의 링크로 구현했다.
안드로이드 구조는 대략적으로 알아냈지만 아직 딥하게 이해는 어려워서 앞으로 약 3주간 audio 녹음과 STT를 안드로이드에서 구현하고 코드를 정확히 이해하는 작업을 하려고 한다. 뭐를 해야할지 손에 잡혀서 그래도 다행이다.
코드를 이해한다 함은
1. 코드가 back단에서 돌아가는 원리와 메모리 구조 체킹
2. 코드의 flow 이해 > 이 코드가 왜 여기서 나왔지?
인데 뭐 궁극적으로는 이거지만 일단 단기 목표는 수정할 수 있는 정도로 구현이 되면 좋겠다.
그리고 오늘부터 연구노트 작성에 들어가야 하는데 2일에 한번이면 일주일에 약 2번이다.
왜 이 연구를 했는지 이 연구의 기대효과는 무엇인지 위주로 작성할 예정이고 레퍼런스를 찾아봐야겠다.
연구가 연구로만 남지 않도록 실용화를 위해서 노력하는 것이 중요할 거 같다.
현재 이 자료를 읽고 있는데 재미있다.
https://m.blog.naver.com/euleekwon/221557899873
자료에서 나온 에폭은
https://jonhyuk0922.tistory.com/129
여기서 설명이 잘 되어 있는데
1. 에폭(epoch)
: One Epoch is when an ENTIRE dataset is passed forward and backward through the neural network only ONCE
(한 번의 epoch는 인공 신경망에서 전체 데이터 셋에 대해 forward pass/backward pass 과정을 거친 것을 말함. 즉, 전체 데이터 셋에 대해 한 번 학습을 완료한 상태)
역전파 알고리즘(backpropagation algorithm)은 입력부터 출력까지의 각 계층 weight 계산을 해주는 순방향 패스와, 거슬러 올라가며 다시 한번 계산하여 기존 weight를 수정하는 역방향 패스로 나뉩니다. 이 때 1 epoch은 순방향 + 역방향 한번을 포함한 의미입니다.
+ 적절한 epoch을 설정해야 underfitting 과 overfitting을 방지할 수 있습니다. epoch이 너무 크다면 overfitting 이, 너무 작다면 underfitting이 발생할 수 있습니다.
지속적으로 찾게 되는 용어 중 하나가 배치이다. 일괄 처리인데 외워야겠다. 암튼 대충 순차적으로 처리하겠다는 거다.
공식 문서를 읽어봐야할 거 같다.
https://cloud.google.com/speech-to-text/docs/basics?hl=ko
사수님과의 회의에서 나온 주이슈는
1. 중간에 구글에 오디오 데이터 전송시에 퍼미션이 넘어간다. > 퍼미션 충돌 해결
2. 보안이슈 - 고객사 클레임 구글 쪽에 회의 내용이 넘어갈 수 있다. > 직접 딥러닝으로 솔루션 개발
현재 당장 해결할 문제는 다음 주까지 녹음 기능 구현으로 아래의 내용을 참고해서 학습예정
Do it! 안드로이드 앱 프로그래밍에서
둘째 마당 | 안드로이드 완벽 가이드
13 멀티미디어 다루기
오디오 녹음하여 저장하기
를 보면서 오디오 녹음부분부터 구현해봐야겠다.
오늘 주간회의와 업무 보고를 하다가 느낀 건데 확실히 아는 용어가 많으면 친숙하게 느껴지고 '한번 해볼 수 있을 거 같은데'라는 생각이 쉽게 든다. 그런데 개발에서는 상당히 한번 해볼 수 있을 거 같은데. 라는 느낌이 중요한 거 같다.
특히 다른 쪽은 모르겠지만 나는 수학교육학과를 지망할 만큼 수학을 좋아했었고 이후 컴퓨터공학과를 다니다 보안을 공부한 케이스인데 보안을 공부하면서도 구글에서 gcp교육을 받으면서 머신러닝(텐서) 클라우드(쿠버네티스)를 공부했다. 또한 신기술에 워낙 관심이 많아서 인공지능 미니랩, 세미나, 해커톤을 많이 다녔다. 이후 졸업하고 포스코에서 포스텍 교수님들과 함께 인공지능, 빅데이터를 공부해서. 수학, 컴공, 보안, 인공지능, 클라우드, 빅데이터를 모두 건들여 본 말 그대로 좋게 말하면 만능, 나쁘게 말하면 잡탕밥이 되었다. 이건 진짜 내가 어떻게 쓰냐에 따라 장단점이 될 거 같은데 내가 생각하기로는 나에겐 극명한 장점으로 작용할 거 같다.
1. 일단 용어에 노출 되어 있어서 그래도 아는 놈이니 덜 쫄고 들어갈 수 있음.
2. 다른 pre 경력자들과 일할 때 알아 들을 수 있음. > 프로젝트 이해도 증가
> 적어도 프로젝트 요구사항에 대해서 처음 들어도 질문 던지고 확인시 맞는 케이스 98프로, 그리고 질문을 던질 수 있다는 건 대략적으로 이해했다는 거다. 또한 프로젝트에 대해서 대충 플로우를 그릴 수 있는 점도 좋은 거 같다.
3. 이전 프로젝트에서 쓰던 자료나 코드를 가져올 수 있음.
등등의 장점이 있다.
면접 때도 그래서 인지 별별 기업들에서 다 오퍼가 들어왔다.
보안, 클라우드, 품질보증, 인공지능, 앱개발, 챗봇 개발, 자연어 처리..... 아무튼 진짜 골라먹는 재미가 있다.
베스킨라빈스 같은 개발자다.
https://okky.kr/article/1136354
출근 길에 읽은 이 아티클에서 가져와보자면
개발이 왜 어려울까요?
그리고 경력들은 왜 꾸역꾸역 일하면서 먹고 살 수 있을까요?
개발이 어려운 이유는 일단 눈에 보이지 않는 다는 겁니다.
개발자가 경험하지 못한 것을 개발하게 될 때, 일단 뇌에 부하가 상당히 많이 걸리게 되죠.
이렇게 뇌에 부하가 많이 걸린 상태에서 멍하니 모니터만 보다가 시간을 시간대로 품질은 품질대로 망가지는 경우가 많습니다.
고참들은 예전에 어찌 되었건, 프로젝트가 망했든 성공했든 경험으로 인해서 다음 비슷한 프로젝트에서 학습 커브가 급격하게 올라가게 됩니다.
경험이 없는 초급자나 새로운 프로젝트를 접하는 기술 없는 중,고급 개발자들도 이 때 많이 힘들어 하죠.
일단 개발을 잘 하려면 머리 즉 뇌에 부담을 최소화 시켜줘야 합니다.
보이지 않는 상상 속의 저 너머를 계속 뇌가 연산을 하다 보면 막상 코드는 진도가 나가질 않아요.
이걸 해결하기 위해서 즉 뇌에 쉬는 시간을 주고 뭔가 상상이 아닌 실체를 보면서 쉽게 연산 시키려면 노트로 습작을 해야 합니다.
즉, 뇌가 상상해서 연산해야 할 부분을 노트를 보고 즉시 개념과 실체에 즉시 접근해서 뇌의 연산 부담을 줄이고 뇌가 코드를 생산하는데 집중할 수 있도록 해야 합니다.
노트 필기는 즉시 적인 뇌의 연산을 줄이는 역할도 있지만 어제 또는 일주일 전에 개념을 정립하거나 설계 했던 부분을 노트를 보고 마치 C에서 메모리를 보고 데이터에 즉시 접근하듯 우리 머리 속의 기억에 바로 접근이 가능 합니다.
한 달 혹은 두 달 정도 되는 프로젝트는 별 도움이 안 될수 도 있지만 4개월만 넘어가도 슬슬 뇌가 포화 상태가 되어서 한 달 전, 일주일 전 기억이 잘 생각이 안 되고 이걸 계속 뇌에서 생각을 하면서 개발을 하게 된다면 뇌는 코드 생산보다 기억 유추 및 개발의 실체화 쪽에 연산 프로세스가 집중되게 됩니다.
간단한 개념 --> 개념의 설계 --> 설계를 기반한 UI 및 DB 드래프트 설계 --> 다시 요구사항 분석 --> UI 반영 --> 설계 확장 및 수정 --> DB 설계 확장 및 수정 --> DB 정규화 및 역정규화 과정을 계속해서 반복하는 것이 개발인데 이걸 머리 속에 모아두고 있다면 개발이 아니라 대학교 학과 과제라고 봅니다.
머리를 비우고 설계를 할 때 설계에 집중할 수 있도록 노트하고 그 노트를 기반으로 UI 및 DB설계를 먼저 노트하세요.
코드 및 DB를 구성하는 것은 노트를 보면서 타이핑 할 수 있도록 노트를 할 수 있다면 개발자의 수준이 중급은 된다는 겁니다.
프로젝트 하나 끝날 때 마다 노트 2~3권 정도를 생산 할 수 있다면 금방 초급, 중급 떼고 고급으로 갈 수 있다고 봅니다.
아무튼 꽤나 유용한 글이다. 공감간다.
그러니까 어렵다면 서서히 젖어들게 만들어야한다. 뇌에서는 익숙하지 않을 걸 특히 나이가 들수록 튕겨내려고 노력할테니까. 어렵더라도 계속 새로운 걸 시도해야한다. 나는 내가 그랬으면 좋겠다.
오늘의 흥미로운 글
https://scienceon.kisti.re.kr/srch/selectPORSrchTrend.do?cn=GTB2018003701&dbt=AGT
'신입일기(웹툰예정)' 카테고리의 다른 글
1/12 업무일지 + TIL (0) | 2022.01.12 |
---|---|
1/11 TIL (0) | 2022.01.11 |
1/7 업무 일지 (0) | 2022.01.07 |
1/6 업무일지 (0) | 2022.01.06 |
1/5 업무일지 TIL (0) | 2022.01.05 |
- Total
- Today
- Yesterday
- 김정주이사
- 포스코 #데이터사이언스 #데이터분석
- IT뉴스브리핑
- 빅데이터분석 #데이터분석실무 #포스코빅데이터아카데미
- 종만북
- CBDC
- 식별자오류
- 크래프톤
- 20대대통령
- 테크스펙
- 개발자일기
- 자연어처리 #TIL
- 인공지능윤리성
- 인공지능투명성
- 유엔여성기구성평등센터
- 신은영대표
- 뱅샐
- IT주식
- 2과목 소프트웨어 개발
- 대혐오시대
- 주가반영
- 신입개발자일기
- sap코리아
- 주가부양책
- 빅데이터 #데이터분석
- 데이터분석실무 #포스코빅데이터아카데미
- 여성대표
- 극단적선택
- 신입일기
- 신은영
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |