HomeMy HighlightsDiscover
Sign up
thinkHole

thinkHole

@thinkhole

Ask AI Clone

Republic of Korea

Joined Mar 3, 2024

0

Following

0

Followers

9

pages

166

highlights

9

views
M
W
F
Mar
Apr
May
Jun
All/Weekly/Yearly
Total Days:
Total Weeks:
3-Days 📚
0-Weeks 📚
Tags
Domains
www.dogdrip.net 3
wikidocs.net 2
arca.live 1
hl1itj.tistory.com 1
oauth.gfn.co.kr 1
www.q-net.or.kr 1

Atomic Graph

Highlights
Favorite
Kindle
Video
Bookmarks
Hatches
Posts

Sign in to GFN

oauth.gfn.co.kr/auth/realms/GFN/protocol/openid-connect/auth?client_id=gfn-front&redirect_uri=https%3A%2F%2Fgfn.co.kr%2Fapp%2Fko%2Ftariff%2F&state=f913bb4d-436f-4e75-8b4c-fe248224dd07&response_mode=fragment&response_type=code&scope=openid&nonce=aa2ef93e-6e26-4a13-903e-93b11105afe2&ui_locales=ko&code_challenge=fsyjydumm9ufJ0AdO_O5bt4f4DQPhBRM-E9GAxTgaWA&code_challenge_method=S256

Apr 25, 2025

혹시 딥러닝 무료강의 좋은거 추천가능하신가영 - 코딩 채널

arca.live/b/programmer/72791430?before=2023-03-29T05%3A26%3A53Z

Mar 7, 2024

4

취업하려면 역량이 어느정도 돼야함? - DogDrip.Net 개드립

www.dogdrip.net/computer/522590644?sort_index=popular&page=7&category=180739712

Mar 6, 2024

10

기초 OS 지식 배우려면 어떤 책 보면 좋을까? - DogDrip.Net 개드립

www.dogdrip.net/computer/523920543?sort_index=popular&page=7&category=180739712

Mar 6, 2024

14

혹시 신입 개발자들이 있다면 보면 좋을듯 - DogDrip.Net 개드립

www.dogdrip.net/computer/524460057?sort_index=popular&page=6&category=180739712

Mar 6, 2024

28

소프트웨어 개발자 되기는 왜 어려운가?

hl1itj.tistory.com/m/136

Mar 6, 2024

56

정보처리기사 - 국가자격 종목별 상세정보 | Q-net

www.q-net.or.kr/crf005.do?id=crf00505&gSite=Q&gId=

Mar 6, 2024

7

02. 점프테이블(jump-table, branch-table)을 이용한 if-else 처리

wikidocs.net/218744

Mar 3, 2024

321

01. 에러처리

wikidocs.net/218742

Mar 3, 2024

15

1

소프트웨어 개발자 되기는 왜 어려운가?

URL
https://hl1itj.tistory.com/m/136

Highlights & Notes

개발자들이 성장하면서 겪는 어려움을 적은 글

왜 모두가 소프트웨어를 배워야 하는가?

개발자가 되어야 한다는 뜻은 전혀 아니다.

소프트웨어 개발자가 되는 것은 어떻게 다른가?

현실화하려는 가치를 코딩이라는 도구로 구현하는 사람

프로그래머와 개발자는 어떻게 다른가?

프로그래머는 프로그램을 어떤 이유에서든 짜는 사람

개발자는 고객이 있는, 즉 의식적으로 사용자를 고려하면서 프로그램을 짜는 사람

개발자가 밟는 발전 단계를 이야기하고자 한다.

내 경험에 의하면 많은 개발자들이 겪었을 단계

소프트웨어를 배울 때 겪는 어려움을 5단계

1 단계

첫 번째 어려움은 소위 말하는 Computational Thinking 그 자체

논리적 절차적

두 번째 어려움은 프로그래밍 언어 그 자체

1 단계의 어려움은 소프트웨어를 배우려는 자발적 동기가 없거나 부족한 학생들에게는 너무 큰 문제

쉬운 문제들을 많이 풀어보는 것으로 극복

2 단계

첫번째 어려움은 데이터에 대한 이해

프로그램을 만드는 사람은 그 각각을, 또 그 각각 데이터의 다시 세부적인 내용들을 모두 독립적으로 드러나게 선언하고, 처리해야 한다.

두 번째 어려움

데이터 타입의 다양성과 그 데이터를 처리를 위한 구조적 표현 방식을 개념적으로 이해하는 일

여기에는 (C언어의) 포인터, 다양한 자료구조, 객체 지향언어의 객체라는 개념 등이 포함된다.

프레임워크의 이해

첫 번째 어려움은 이전에 자동으로 된다고 믿었던 것들이 원래부터 존재하는 것이 아니었다는 것을 깨닫고, 그런 것이 없는 영역의 경우, 개발자 자신이 그것을 만들어야 했었다는 점을 수용하는 것이다.

프레임워크들을 사용할 때, 그 동작이 생각보다 정교해서 적어도 한 번은 내부의 디테일을 따져봐야 한다는 점이다.

이용해 보는 과정에서, 각  API, 함수, 기능들의 동작, 리턴값, 자료의 전달, 에러메시지 등 매뉴얼에 나와있는 내용들을 속속들이 이해해야 한다.

누가 만들어도 그렇게 만들었어야 했구나 라는 점을 깨닫는 과정을 경험하는 것

이 과정을 어설프게 넘어가면 품질이 낮은 프로그램을 생산하게 된다.

코드 리뷰와 같은 개발 프랙티스를 같이 배워야 한다.

중간 정산 1

'당연하다고 생각했던 것들'이 더 이상 당연한 것이 아니고, '자동으로 된다고 믿었던 것들'이 누군가에 의해 만들어진 것이라는 것을 이해하고 있다고 볼 수 있다.

개발자로서 일단 늠름하게 일을 할 수 있는 수준

4 단계

첫 번째 어려움은 알고리즘 그 자체

제한적 자원인 컴퓨팅 파워와 메모리를 아끼기 위한 수학적, 논리적 절차

'학습 의지'가 필요한 부분

두 번째 어려움

패턴의 문제

문제는 패턴을 경험없이 사용하는 것

Concurrency 라는 것의 본질은 위에서 극복한 1 단계 2 단계의 문제가 현실에서는 동시에, 다른 코드로, 같은 데이터에 대하여 벌어진다는 것이다.

동시성, 병렬성, Critical Section, Atomic Operation, Lock 등에 관한 설명, 동기화/데드락회피 방법

대부분 학생은 그것이 왜 문제인지도 모를 가능성이 높고

경험적으로 이런 문제를 이해하는 과정

경험을 바탕으로 예전에 풀려고 했던 (또는 풀기까지 했던) 연습 문제가 왜 문제인지를 이해하는 과정

개발자라면 이 부분에 대한 경험적 이해가 반드시 필요하다.

중간정산 2

'만렙' 개발자라고 부르고 싶다.

5 단계

데이터의 문제

2 단계 어려움과 전혀 다르다.

세상의 모든 문제의 본질과 그 문제의 해결책이 데이터에서 기인한다는 것을 이해하는 것

빅데이터, 머신 러닝

소프트웨어가 만들어내는 가치의 원천과 결과가 모두 데이터

이전의 1,2,3,4 단계와는 달리 이제 소프트웨어의 영역을 넘어서는 뭔가가 필요하다는데 기인한다.

문사철/예술, 경제/경영, 수학/과학 등