반응형

20201220

어제는 프로그램을 짜는데 해야 할 일 목록을 작성하고는 옆길로 샛다.

흔들리지 않고 즐거운 마음으로 처음부터 끝까지 몰입해서 프로그램을 완성시키는 방법은?

- 자고 일어났을 때처럼 깨끗해진 마음

- 최근에 입력된 자극, 단어 중 지금 목표와 관련이 적고 예전 관심사와 관련된 것,

당장 실행해야 하는 것은 아니지만 목표와 관련 있다고 유혹하는 것들을 처리하는 법,

우선 순위 정하고 미루는 법

- 코끼리를 생각하지 말아야 할 때 외우는 주문, 걱정거리나 잡념을 지우는 주문, 지금 실천하고 목표하는 것 되뇌기

- 프레임 좋은 습관 태도

- 지루한 그림과 글을 완성하는 힘, 태도, 마음가짐

- 목표와 그에 따른 하위 목표들 세우기

- 우선순위 정리, 정돈, 청소

- 코멘트, 주석과 실행 코드 번갈아 작성

- 주기적인 휴식, 충전, 동기부여, 자극, 명상

 

 


글을 완성하는 방법

https://m.hibrain.net/braincafe/cafes/1001/posts/321/articles/49701

대개 글쓰기를 싫어하는 미숙한 필자들은 일단 글쓰기를 시작해야 하는 단계가 되면 첫 문장을 시작하는 데에 상당한 어려움을 겪는다.

시행착오 전략에 따라 첫 문장을 쓰는 데에 많은 시간을 소비하는가 하면, 대번에 완벽한 초고를 써야 한다는 강박증으로 어려움을 겪기도 한다.

또 자료 수집이나 수집된 자료를 바탕으로 한 메모 없이 글을 써야 하기 때문에 순간순간 떠오르는 생각에만 의존해서 글을 쓸 수밖에 없다.

미숙한 필자들은 대개 글쓰기를 일련의 과정과 절차에 따라 수행하기보다는 글을 쓰는 데에 거의 시간을 들이지 않으면서 앉은 그 자리에서 떠오르는 생각을 중심으로 글을 완성해 버린다.

항상 시간에 쫓겨서 글쓰기를 시작하기 때문에 글을 꼼꼼히 고쳐 쓰는 경우가 거의 없으며 대개 초고가 그대로 제출본이 된다.

능숙한 필자의 쓰기 과정

- 글쓰기 과정 자체를 일련의 목표 지향적 활동으로 파악한다.

- 작업 구상 단계부터 자기 나름대로 목표 의식을 가지고 글의 핵심적 주제를 설정하고 이를 중심으로 사고의 흐름을 전개해 나간다.

- 일단 글쓰기의 주제와 방향이 잡히면 충분한 시간을 두고 일찌감치 글쓰기 과정에 착수하여 계획하기 단계에 많은 시간과 공을 들인다.

- 주제와 관련된 충분한 자료를 전략적으로 찾아서 읽고 이를 바탕으로 틈틈이 메모를 하고 개요를 작성한다.

- 머릿속에 있는 막연한 사고를 자료를 찾아서 읽어 나가는 과정을 통해서 더욱 구체화하는 것이다.

- 전략적인 사고를 하고 이를 바탕으로 글의 가닥을 잡아 나간다.

- 첫 문장을 어떻게 써야 할까를 고심하기보다는 고쳐 쓰기 단계를 염두에 두고 글에서 해야 할 이야기들의 내용을 중심으로 일단 초고 형태로 글을 쓴다.

- 글의 개요와 메모에 의지해서 글을 쓰기 때문에 글이 좀처럼 원래 목표했던 중심 생각에서 벗어나 엉뚱한 방향으로 나아가지 않는다.

- 능숙한 필자들은 계획하기 단계 못지않게 고쳐 쓰기 단계에 많은 시간을 들인다.

- 의미 구성 행위를 본질로 하는 글쓰기 능력은 단순히 의미를 문자 언어로 표현하고 전달하는 차원을 넘어서서 쏟아져 나오는 정보를 처리하고 이를 바탕으로 유용한 지식을 새롭게 창출해 내는 지식 생산 능력의 의미까지도 포함

- 표현 능력의 하나인 글쓰기 능력은 자신의 생각을 논리적인 언어로 정확하고 설득력 있게 전달할 수 있는 의사소통 능력일 뿐만 아니라 사고를 언어로 옮겨서 표현해 내는 고등 정신 기능을 바탕으로 하는 고차원적인 문제 해결 능력이라 할 수 있다.


리펙토링(일단 쓰고, 고쳐 쓰기)

프로그램 구조

- 입력. 변수 세팅

- 처리. 자동선택

- 출력. 다듬기

프로그램 작성 규칙

- 타인과 미래에 재활용하고 유지 보수할 자신을 위해

문법, 형식에 맞게 이쁘게 잘 짜자

- 꼼꼼하게 코멘트, 주석 달기

- 중간중간 오류 체크 추가

 

- 일단 즐겁게 프로그래밍하기, 과정과 일을 즐기기

- 넘어지는 것에 대한 두려움 없이 자신감 있게 시작하기

- 마주하는 수많은 오류와 난관은 당연한 것이므로 스트레스받지 말고 극복하기

- 원하는 것을 찾는 끈질긴 질문과 아이디어로 목표하는 기능 구현 달성하기

- 기능에 맞고 누가 봐도 보기 좋고 이쁜 디자인 찾기

1. 질문하고, 찾고, 선택하기 반복

2. 목표에 따른 하위 목표와 중간 결과물을 완성하는 성취감 반복

3. 모으고, 정리, 정돈, 청소, 비우고 버리기 반복


https://hoonihoon.tistory.com/entry/1-%EB%A6%AC%ED%8E%99%ED%86%A0%EB%A7%81%EC%9D%B4%EB%9E%80

 

1. 리펙토링이란?

- 소프트웨어를 보다 쉽게 이해할 수 있어야 하고, 동작 변화 없이 내부 구조를 변경하는 것.

2. 리펙토링의 목적?

- 프로그램을 빨리 작성할 수 있도록 도와준다.

- 코드 디자인을 개선해준다.

- Bad code -> Good code

3. Bad code 란?

같은 작업을 위해 더 많은 코드 사용, 중복이 많고 이해하기 어렵다.

유지 보수하기에도 어려운 코드.

4. 리펙토링은 언제 하는가?

틈틈이 계속, 기능 추가할 때, 버그 수정할 때, 코드 검토 시에.

5. 리펙토링을 할 수 없을 때는?

1) 디자인 실수가 있어 마음대로 리펙토링을 할 수 없을 때

2) 현재 설계된 구조가 보안 문제, 퍼포먼스 문제 등 중요사항으로 리펙토링을 기대할 수 없을 때.

3) 코드가 처음부터 작성하는 게 나을 정도로 엉망인 경우

4) 현재 코드가 작동하지 않을 경우

5) 마감일이 가까울 경우.

6. 리펙토링 할 나쁜 코드는 왜 발생하는가?

- Copy & paste에 의해 중복 코드 발생.

- 잘못된 변수명, 함수에서 발생. (일관성이 중요 add, register, put, create )

- 특정 클래스 내의 메서드가 동작을 하기 위해 다른 클래스에 있는 정보를 많이 필요로 한경우 ( 메서드를 이동한다.)

- 나쁜 주석

- 너무 긴 메서드, 파라미터

7. 어떤 식으로 리펙토링을 시작해야 되는가?

- 찾기 쉬운 것부터 한다.

- 측정할 수 있는 것 (주석, 긴 메서드, 거대한 클래스, 긴 매개변수)

- 메서드가 하는 일 설명, 블록이 하는일 설명

 


 

python 리펙토링

 

https://python-guide-kr.readthedocs.io/ko/latest/writing/style.html

코드 스타일 — The Hitchhiker's Guide to Python

명쾌한 코드 파이썬으로 어둠의 마법을 부릴 수 있다면, 가장 명쾌하고 간단한 방법을 추천합니다. 나쁜 예 def make_complex ( * args ): x , y = args return dict ( ** locals ()) 좋은 예 def make_complex ( x , y ): return { 'x' : x , 'y' : y } 위의 좋은 코드 예시에서 x와 y는 호출자로부터 직접 값을 받아와 곧바로 딕셔너리로 반환합니다. 이 함수를 쓰는 개발자들은 첫 줄과 마지막 줄을 읽는 것만으로 무엇을 하는 함수인지 정확히 알 수...

python-guide-kr.readthedocs.io

http://pythonstudy.xyz/python/article/511-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%BD%94%EB%94%A9-%EC%8A%A4%ED%83%80%EC%9D%BC

예제로 배우는 파이썬 프로그래밍 - 파이썬 코딩 스타일

파이썬 코딩 스타일 PEP 8 파이썬 코딩 스타일 Python Enhancement Proposal 8 (PEP 8)은 파이썬 코딩 스타일에 대한 가이드를 제시하고 있다. PEP 8은 2001년 귀도 반 로썸에 의해 처음 제안되었으며, python.org 의 PEP 링크에 자세히 소개되어 있다. 파이썬 프로그래머들은 일반적으로 이러한 PEP 8 코딩 스타일에 따라 프로그래밍을 하고 있는데, 이러한 일관된 코딩 스타일을 적용하는 것은 자신의 코드를 명료하게 할 뿐만 아니라 특히 다른 개발자 혹은 커뮤니...

pythonstudy.xyz

반응형
반응형

20201209

생각은 머리속 언어, 이미지, 소리, 경험에 의해 기억된 객체들, 등이 어우러져서 이루어 지는 듯.

그런데 꿈이나 생각속의 나와 객체들이 어떻게 자율적으로 반응하지?

통계적인 뉴런에 연결돼 있어서?

통계적 뉴런이기 때문에 제어하려면 평소 인풋 기억과 내면의 대화를 잘 관리해야 할 듯

평소에 자기 전 하루의 도전을 정리하고 질문하기

아침에 눈뜨면 어제 과거를 되돌아보고 반성하고 미래를 상상하며 대비하며 생각하기

머신러닝 뉴럴넷도 마찬가지 평가 함수가 질문이고, 학습 데이터를 인풋으로 기억(학습) 만들기.

이것들을 잘 이용해서 인공신경망을 제어하는 것

- 언어 모델이 어떻게 번역 분류 질의 등의 문제를 해결하는가?

- 다이내믹 프로그램을 자동으로 짜게 하려면?

- 핵심 기능 단순한 프로그램이 기능을 추가함에 따라 어떻게 복잡해지는가?


[출처] https://www.kakaobrain.com/blog/118

- 언어 모델이 어떻게 자연어 처리 문제들(번역, 요약, 분류, QnA 등)을 해결하는가?

pretrain -> embedding -> fine tuning

(추천 동영상입니다 음미하시면 꼭 자연어 처리에 한정되지 않고 머신러닝 문제들을 어떻게 해결하는지 프레임을 보실 수 있을 것 같습니다)

https://youtu.be/DaAObh3sGnQ


- 다이내믹 프로그래밍

[출처] https://new93helloworld.tistory.com/220

1 분할 정복 가능

2 작은 문제의 답을 큰 문제에 재활용(이전의 답을 재활용)

위의 동영상에도 이전에 학습한 문장을 벡터로 만들어 검색한다는 내용이 있는데..

https://youtu.be/FmXZG7D8nS4


- 복잡한 프로그램을 어떻게 단순화할지? 추상화, 객체지향(OOP)

https://youtu.be/NcvX9SzUlcs

https://youtu.be/vrhIxBWSJ04

https://youtu.be/eLSlhuwDqF8

5가지 클래스 설계의 원칙(SOLID)

https://www.fun-coding.org/PL&OOP2-1.html

 

파이썬과 객체지향 프로그래밍: 5가지 클래스 설계의 원칙 (S.O.L.I.D) - 잔재미코딩

초간단 연습1 1. SRP 원칙을 고려하여 다음 코드를 클래스로 만들어봅니다. - https://www.seeko.co.kr/zboard4/zboard.php?id=mainnews 웹페이지에서 타이틀과, 댓글 수를 가져오기 - 엑셀 파일로 만들기 생각해보

www.fun-coding.org

python 디자인 패턴

https://www.fun-coding.org/PL&OOP2-2.html

 

파이썬과 객체지향 프로그래밍: 디자인 패턴 - 잔재미코딩

간단히 개념만! 어떤 객체는 하나만 만들면 되는 객체가 있음 - 예: 데이터베이스를 연결하고, 데이터베이스를 제어하는 인터페이스 객체 보통 프로그램은 여러 파일로 구현합니다. 각 파일에서

www.fun-coding.org


반응형
반응형

실전(Kaggle, Dacon)으로 배우는 머신러닝

- Python, 머신러닝 초보 책이나 강좌에서 너무 많이 시간을 보내지 마세요. 바로 실전에서 배우세요.

- 좋은 강좌나 코드를 보면서 따라 해보세요.(따라 하는데도 문제가 발생합니다. 좌절하지 마세요.)

- Python, Tensorflow, Torch 등은 도구입니다. 간단한 사용법을 아신다면 많이 사용해보세요. 저절로 익혀집니다.

- 빨리 익숙해지고 배워야 할 것은 언제나 문제가 발생한다는 것과 그 문제에 좌절하지 않고 해결책을 찾아내는 방법입니다.

아무리 많이 준비를 하고 시작해도 실전에서는 문제가 발생합니다.

물론 많이 준비하시면 오류와 시행착오를 줄일 수 있겠죠.

배우는 동안은 별로 문제가 없겠죠?

실전에 어떤 문제가 발생하지도 모르면서 언제까지나 준비만 하실 건가요?

- 우린 답을 찾을 것이다.(인터스텔라)

구글 Colab 소개 및 기본 사용법 꿀팁 정리

캐글 (Kaggle) 소개 - 데이터 과학 (머신러닝) 실전 예제 / 캐글 - 타이타닉 생존자 예측하기

듣기 좋은 여성분 목소리에 깔끔하고 따라 하기 쉬운 강의 (단점은 유료 강좌로 옮기신 뒤 삭제된 동영상이 많네요..)

데이콘 Playlist


구글 Colab 소개 및 기본 사용법 꿀팁 정리

https://youtu.be/v19SzGMOd2c

 

캐글 (Kaggle) 소개 - 데이터 과학 (머신러닝) 실전 예제

https://www.youtube.com/watch?v=9GWb9yNcsvc&list=PLVNY1HnUlO25B-8Gwn1mS35SD0yMHh147

 

듣기 좋은 여성분 목소리에 깔끔하고 따라 하기 쉬운 강의(단점은 유료 강좌로 옮기신 뒤 삭제된 동영상이 많네요..)

https://www.youtube.com/c/todaycode/playlists

 

todaycode오늘코드

공공데이터 분석 데이터 시각화 캐글을 통한 머신러닝/딥러닝 튜토리얼 Pandas, Numpy, Scipy, scikit-learn, TensorFlow, Keras, Jupyter, Colaboratory

www.youtube.com

 

데이콘 Playlist

https://www.youtube.com/channel/UCo1vJRg2ANyaVHV1A98MQNA/playlists

 

데이콘

© 2020 Google LLC CEO: 선다 피차이 주소: 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA. 전화: 080-822-1450(무료)

www.youtube.com

 

반응형
반응형

어제는 간단한 프로그램인데도 유튜브 동영상을 보면서 따라 하는데 오류와 넘어야 하는 난관과 극복해야 하는 문제점이 생겼다.

잘 만든 프로그램에는 간단해 보여도 눈에 보이지 않는 최적화를 위해 고심한 노력이 담겨있다.

Dacon, kaggle 문제풀이 또한 그러하다.

프로그래밍 실력을 키우기 위해 간단한 프로그램이나 프로젝트부터 따라 하기가 필요하다.

익숙해지거나 이해한 후에야 내 나름의 응용이 가능한 것 같다.

웹툰 만화가들도 틈틈이 따라 그리며 연습한다고 했다.

남을 보고 따라 한다는 것은 좋은 배움의 한 가지 방법인 것 같다.

또 한 가지 단계 단계 매듭지을 수 있는 성과들을 목표로 노력하는 것이 가시적이고 달성 여부를 쉽게 알 수 있고 뭔가 남길 수 있어서 좋다.


코딩 배우기 후기 관련

https://youtu.be/ufupPuN8VVw

 

웹툰 작가 따라 그리기 관련

https://youtu.be/oe5yNe2bh9Q

 

조코딩

https://www.youtube.com/channel/UCQNE2JmbasNYbjGAcuBiRRg

 

조코딩 JoCoding

누구나 배울 수 있는 쉬운 코딩 채널을 만들어가는 조코딩입니다. 프로그래밍에 대해 아무것도 모르더라도 개발이 가능하도록 기초부터 차근차근 쉽게 설명해드립니다. 또한, 단순히 코딩 지식

www.youtube.com

 

나도코딩

https://www.youtube.com/channel/UC7iAOLiALt2rtMVAWWl4pnw

 

나도코딩

코딩, 쉽고 재미있게 "무료"로 배우세요

www.youtube.com

 

생활코딩

https://www.youtube.com/user/egoing2

 

생활코딩

일반인에게 프로그래밍을 알려주는 온라인/오프라인 활동 입니다.

www.youtube.com

노마드 코더

https://nomadcoders.co/

 

노마드 코더 Nomad Coders

코딩은 진짜를 만들어보는거야!. 실제 구현되어 있는 서비스를 한땀 한땀 따라 만들면서 코딩을 배우세요!

nomadcoders.co

 

어제 따라 한 프로그램

https://youtu.be/gMRee2srpe8

 

Dacon 심리성향예측 배울만한 공유 코드

https://dacon.io/competitions/official/235647/codeshare/1789?page=1&dtype=recent&ptype=pub

 

심리 성향 예측 AI 경진대회

출처 : DACON - Data Science Competition

dacon.io

 


 

반응형
반응형

글을 어떤 순서와 구조로 써야 하는지 프로그램을 개발할 때 어떤 순서로 하는지 배웠지만

배우는 것과 배운 것을 실천하는 것은 조금 달라서

직접 실행해보지 않으면 정확히 이해했다고 보기 힘든 것 같다.(연애를 글로 배웠냐는 말도 있지 않는가)

어제는 프로그래밍 하는데 구조 짜기를 대충 건너뛰고 재빨리 욕심내서 디테일한 코딩을 하고 있었다.

항상 이렇게 하다 보니까 일의 순서가 뒤죽박죽되고 금방 지치게 되었다.

결과물 또한 지저분하고 복잡해졌고 한 단계씩 마무리되지 못하고 쌓였다.

왜 이렇게 되었나? 메타인지 부족인가...

아래 동영상에 알아차림으로 자신의 긴장상태를 조절하고 스트레스에서 벗어난다고 표현했는데...

여기서 알아차림 또한 뇌의 운영을 관리하는 메타인지라고 봐도 좋지 않을까.

dayspring 생각

 


집중할 때마다 잡생각이 나는 이유 | #수능금지곡, #귀벌레현상

youtu.be/alynxmobfvA

집중할 때마다 잡생각이 나는 이유 | #수능금지곡, #귀벌레현상

 

원인

0:34 귀벌레현상이란?

1:23 주요 원인 - 높은 긴장, 스트레스 해결 방법 - 각성 수준 조절

2:51 음악을 이용한 각성 수준 조절 (빠른 비트는 각성 ↑, 느린 비트는 각성 ↓)

3:19 움직여서 주의 환기 (좌뇌가 과부하 된 경우, 우뇌를 활성화시키기 위해)

4:28 알아차림 - 시험 같은 움직임이 제한적인 상황일 때 (예: 명상)

 


 

쉽게 블로그 #글쓰기 => https://blog.naver.com/sfex/221980309283

다시 한번 '쉽게 블로그 글쓰기'를 요약하면

1.글을 쓰는 데도 순서가 있다

1) 주제 결정하기

2) 글감 찾기

3) 문단 나누기

4) 작성하기

5) 고쳐쓰기

2.글의 형식

1) 머리말-본문-맺음말: 설명문

2) 서론-본론-결론: 논설문

3) 기-승-전-결: 소설, 시나리오

3.실용적인 글의 3단계 구조

1) 배경-목적, 취지, 의도 따위(why, purpose, information)

2) 내용-메시지, 핵심, 전하려는 용건, 줄거리 따위(message, story, outline)

3) 의견-소감, 생각, 느낌 따위(thought, opinion)

 


 

 

반응형

+ Recent posts