언어의 표준 프레임 워크 / API / 기능을 어떻게 배우나요? [닫은]


14

코딩하는 방법을 이해합니다. 나는 정기적으로 사용하는 언어의 기초를 극복하는 방법을 알고 있습니다. 나는 약간 위의 기본 정규 표현식을 작성하는 방법을 알고 데이터베이스와 대화하고 입력, 인쇄 출력을 처리 할 수 ​​있으며 파일을 처리 할 수 ​​있습니다. 소스 코드를 추출하는 기본 기능이 어느 정도 보장됩니다. 다소 복잡한 프로그램.

내 문제는 내가 충분하다고 느끼지 않는다는 것입니다. 나는 내 언어의 표준 라이브러리의 작은 부분 만 알고있는 것처럼 느끼고 적어도 그것을 통과 할 때까지 그것을 이해하기 전까지는 그것을 사용하여 직업을 구하려고 시도조차 할 권리가 없다. 나는 (커뮤니티 / 주니어 / whathaveyou) 대학에 다니지 않아서 친구들이 업계에서 일자리를 얻고 있지만, 여전히 가짜 또는 포즈를 취하고 있고 나는 충분하지 않다고 생각합니다.

코딩 할 수 있음을 보증하는 데 사용할 수있는 "충분한 지식"에 대한 적절한 마커가 있습니까? 적어도 FizzBuzz를 코딩 할 수 있다는 사실을 취해야합니까? 이러한 표준 라이브러리, 프레임 워크 및 / 또는 API를 비교적 쉽게 배울 수있는 방법은 무엇입니까? 나는 정기적으로 코딩하고 책을 읽지 만 지식은 여전히 ​​얕습니다.

도움!


3
더 많이 배울수록 당신이 아는 것이 얼마나 작은지를 깨닫게됩니다. 아주 좋은 질문은 +1입니다.
devnull

기억할만한 가치가 있는지 잘 모르겠습니다. 결국 검색 가능한 문서, 스마트 IDE 등이 있습니다. 중요한 것들, 기초 지식, 모든 휘발성 API를 외부에 유지하기 위해 두뇌를 활용하는 것이 훨씬 좋습니다.
SK-logic

I feel like I only know a small portion of the standard library of my language이 문장은 공식 C ++ 좌우명 이어야합니다 .
ZJR

답변:


8

내 추천 친구 :

이진 (0/1, 모르거나 알지 못함, 문맹 / 문해) 생각을 멈추고 퍼지 생각을 시작합니다. 우리 모두는 무언가를 어느 정도 알고 있습니다. 지식은 연속체이며 모든 사람은 가장 문맹 인 사람과 지식이 풍부하고 세련된 사람 사이에 배치됩니다. 당신은 일을 할 수 있지만, 당신의 수준과 그 아래에 있습니다. 이것이 규칙입니다. 두려워하지 마십시오. 프레임 워크의 모든 것을 배운 날을 기다리지 마십시오. 그날 IMHO는 오지 않을 것입니다. 20 년의 경험을 가진 개발자조차도 새로운 것을 배우기 위해 계속 읽고 있습니다. 프로그래밍은 본질적으로 너무 넓어서 모든 것을 다 잡아서는 안됩니다.

업무 환경에 뛰어 들어 두려워하지 마십시오. 우리 모두는 무언가를 할 수 없었던 시절을 보냈습니다. 그것은 범죄가 아닙니다. 그것은 우리 일의 일부입니다. 당신은 모른다, 당신은 배우고, 당신은 일을하려고 노력하고 그것을 완료합니다.

나는 당신이 지금 필요한 것은 더 많은 지식이 아니라고 생각합니다. 오히려 그것은 단순히 자신감입니다.

행운을 빕니다


나는 그것이 모든 퍼지 지식과 세부 사항에 대한 JIT 학습이라는 것을 알았습니다. 나는 기본 사항에 대한 이해가 부족하다는 것을 스스로 확신하는 방법을 모른다. 나는 정말로 중요한 것들이 완전히 빠져 있다고 걱정합니다.
Throwaway

2

나는 당신이 여기에 잘못된 질문을하고 있다고 생각하며, 당신이 나에게 약간의 부당한 심리학을 허용한다면, 그것은 당신이 약간의 자기 의심과 낮은 자신감에 시달리고 있기 때문이라고 생각합니다.

자신을 다른 사람들과 광범위하게 비교하지 마십시오

우선, 당신은 다른 프로그래머와 비교해 볼 수 없습니다. 지금 당장 볼 수있는 록 스타조차도 문제 (느슨 함, 또 다른 일을하는 방법, 태도 문제)가있을 가능성이 높으므로 비교할 것인지 걱정할 필요가 없습니다. 대신, 가능한 많은 멘토를 확보하고 가능한 모든 지식을 모으고 전문가를보고 모방하여 더 나아 져야합니다.

배우기 배우기

또한 더 나은 프로그래머와 학습자가되기위한 최선의 방법은 특정한 것을 배우거나 기억으로 이해하는 것이 아닙니다. IMO, rote 암기 학습의 가장 낮은 형태입니다. 입력-> 프로세스-> 출력의 중요한 "프로세싱"단계가없는 프로그램과 같습니다. 질문에서 언급 한 것과 같은 개념을 스스로 가르쳐라. 프로그래밍에 대한 폭 넓은 이해가 가장 가치있는 곳입니다. 익숙한 패러다임 내에서 새로운 언어를 배우는 것은 문제 해결 방법을 배우는 것과 비교하여 케이크 워크입니다.

그리고 지금, 당신보다 조금 나이가 많은 사람의 나쁜 조언에

내가 청년 시절에 저지른 가장 큰 실수 중 하나는 내가 충분하지 않다고 가정하고 내 시간과 재능이 그들의 시간과 돈을 가치가 없다고 가정하여 다른 사람들의 결정을 내렸다는 것입니다. 나는 당시에 있었을 지 모르지만 내 능력과 재능을 지속적으로 과소 평가했다. 이것은 큰 실수였습니다.

당신이 이해해야 할 것은 적당히 괜찮은 프로그래머조차도 일상적인 평균을내는 마법사처럼 보인다는 것입니다. 그들은 당신을 미워할 수도 있고, 항상 컴퓨터를 켜는 방법에 대해 지역 얼간이에게 물어봐야 할 수도 있지만, 사소하고 단순 해 보이지만, 자신이하는 일에 대한 통찰력과 이해력이 없기 때문에 불가능합니다. 그들에게.

사람들은 당신의 시간, 재능 및 에너지에 대해 당신을 지불 할 것입니다. 우리 업계에는 단순히 앉아 있고 기본 프로그램을 작성할 수 있기 때문에 단순히 살인을 저지르는 절대적으로 끔찍한 프로그래머가 충분합니다. 업적을 통해 자신감을 키우고, 말하기와 신체 언어를 연습하고, 모르는 것을 항상 찾아서 기술을 계속 익히고, 더 이해하기 위해 그런 것들을 향해 달려가십시오. 당신이 개발 한 기술.


2

"나는 충분히 알고있다"와 "나는이 직업에 좋다"는 완전히 다르다.

IMO "저는이 직업에 적합합니다"는 "기본을 알고 있으며, 무엇을 배우고 / 찾을 곳 / 누가 물어 / 누가 읽을 것인지-내 작업을 완료하기 위해"알고 있습니다.

(이것은 예를 들어 1-2 개월 동안 XML 파일로 쓰기 / 읽기를 필요로한다고해서 고용 할 것이라는 것을 의미하지는 않습니다. 나는 당신이 의미하는 바를 이해하기를 바랍니다.)

또한, 나는 어떤 프로그래머도 "나는 충분히 알고있다"고 말하지 않을 것입니다. (아마도 "일을 구하기에 충분하다", "부자가되기에 충분하다", "충분히 ..."이지만 "충분하지 않다":))

편집 : 내가 "기본"을 말할 때 나는 의미

  1. 프로그래밍 기본 사항 (비트, 바이트, 변수, 함수, 매개 변수, 루프, 조건, 재귀)
  2. 작업 할 프로그래밍 언어의 기본 사항 (프로그램 컴파일 방법, 프로그램 디버깅 방법, IDE 사용 방법, 키워드의 90 % 및 키워드의 작동 방식, 사용시기, 사용 방법, 변수 등) 유형; 언어에서 1부터 물건을 사용하는 방법; 가장 유용한 라이브러리; 오류 처리)
  3. "피로 1과 2를 연결하십시오":)

(아마도 직장에서 2-3 개의 언어를 사용해야합니다.)

나는 그들이 어떻게 작동하는지 볼 당신은 당신이, 당신이 그들로부터 배울보다 더 아는 사람들 작업, 작업 일을 배울 수있는 가장 좋은 방법입니다, 사이드, 작업에 다이빙에 동의 하지만, 그들은 당신처럼 시작 (또는 어쩌면 시작 지금보다 더 적은 지식으로).


XML 파일을 읽고 쓰는 데 한 달이 걸리지 않지만 여전히 하루가 걸릴 것이라고 생각합니다. "기본"에 대해 자세히 설명해 주시겠습니까? 기본 사항을 알지 못하기 때문에 이것이 실제로 내 질문의 주요 추력입니다. 나는 확실히 몇 가지 기본 사항을 알고 있지만 실제로 근본적인 격차가 빠져 있다고 걱정합니다.
Throwaway

1

당신은 좋은 태도를 가지고 있습니다! 성공의 기본 요소 중 하나는 결코 만족스럽지 않아야한다는 것입니다. 정착하지 마십시오. 절대 타협하지 마십시오. 즉, 정확하게 수행 하는 방법 을 식별 하는 것은 매우 어렵습니다 (예 : 작업 X를 수행하기위한 '모범 사례'를 아는 것은 누구나 자신의 의견을 가지고 있기 때문에 인터넷 검색만큼 간단하지 않습니다).

좋은 코드 를 식별 하는 방법 과 그에 대한 이론적 근거 ( 방법이유 ) 를 배우는 것이 가장 좋습니다 . 이를 위해 우리 분야의 유명 전문가 블로그를 읽는 것이 좋습니다. 오픈 소스 프로젝트에 기여하는 것도 깊은 목표를 달성하는 한 가지 방법이지만 현재 진행중인 다른 사람들로부터 배울 수있는 기회를 제공합니다 .


감사. 나는 그러한 찬양을 듣는 데 얼마나 필요한지 깨달았다 고 생각하지 않습니다.
Throwaway

0

나는 우리 대부분이 그 상황에서 조만간 경력에 있다고 생각합니다. 그리고 새로운 언어를 선택할 때마다 모든 언어가 다시 시작됩니다. 그래서 저의 첫 번째 조언은 절망하지 마십시오. 당신은 혼자가 아닙니다. 그리고 : 당신이 자기 자신을 반영한다는 사실에 대해서만 생각하는 것보다 낫습니다. 옛 속담을 기억하십시오 : 바보들이 천사들이 밟는 것을 두려워하는 곳으로 돌진합니다.

오늘날 대부분의 언어에는 단일 개인이 마음으로 완전히 알기에는 너무 큰 표준 라이브러리가 있습니다. 프레임 워크와 API를 맨 위에 추가하면 모든 것을 알 수는 없습니다. 할 수있는 최선의 방법은 기본 사항을 알고 더 자세한 정보를 얻을 수있는 곳을 찾는 것입니다. 경험이 쌓이면 더 나아질 것이므로 가장 좋은 조언은 아마도 물건을 사용하십시오!

단일 "정확한"마커는 없습니다. 그것은 모두 환경에 달려 있습니다. 한 회사 / 프로젝트에 완벽하게 충분한 것은 다른 회사 / 프로젝트에 적합하지 않을 수 있습니다. 당신이 할 수있는 것을 실제로 할 수 있다면, 나는 당신을 다소 괜찮은 중학교로 분류 할 것입니다.


[위의 @ e-MEE의 의견에 대한 내 의견의 복사 / 붙여 넣기] XML 파일을 읽고 쓰는 데 한 달이 걸리지 않지만 여전히 하루가 걸릴 것이라고 생각합니다. "기본"에 대해 자세히 설명해 주시겠습니까? 기본 사항을 알지 못하기 때문에 이것이 실제로 내 질문의 주요 추력입니다. 나는 확실히 몇 가지 기본 사항을 알고 있지만 실제로 근본적인 격차가 빠져 있다고 걱정합니다.
Throwaway

0

질문에 쓴 내용을 바탕으로 실제로 코딩 할 수 있으며 기술과 지식을 기꺼이 향상시킬 수 있습니다.

모든 직업에서 모든 사람은 초보자로서 시작하여 경험을 쌓아야합니다.

당신의 성장 속도는 당신에게 달려 있습니다. 모두가 다른 속도로 자랍니다. 유일하게 중요한 것은 당신이 지금 너무 많이 묻지 않는 것입니다.

아직 이해하지 못한다고 생각하더라도 걱정하지 마십시오. 곧 당신은 사진을 얻을 수있을 것입니다.

가능한 빨리 업계에서 일을 시작하고 싶을 수도 있습니다. 이미 코딩 할 수 있으므로 이미 작업을 시작할 수 있습니다. 이론이 충분하지 않기 때문에 연습하고 실제 문제를 해결해야합니다.

라이브러리 코드 지식 문제는 계속 연구하고 문서를 읽고 사용하는 한 시간이 걸립니다. 이와 같은 사이트는 매우 유용하며 관련 질문에 적극적으로 질문하고 답변하면 더 빨리 배울 수 있습니다.

개인적인 조언 : 스파게티 코드를 작성하는 많은 사람들로부터 눈에 띄고 프로그래머를 부르고 싶다면 모범 사례를 배우십시오. 배우거나 코딩하는 언어 나 라이브러리는 중요하지 않으며 모범 사례를 배우십시오. 이를 통해 많은 시간, 버그, 결함, 두통을 줄일 수 있으며 더 나은 프로그래머를 느끼는 데 도움이됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.