기본 콘텐츠로 건너뛰기

[링크] 프로그래밍과 이론, 어떻게 생각하세요? - 링크 및 정리

[SW기술] 프로그래밍과 이론, 어떻게 생각하세요?


#공감댓글
  • 기술레벨커뮤니티레벨오리선생™ 17-08-11 19:40
  • 제가 부하직원에게 이렇게 요구합니다.

    이 부분은 당신처럼 작성하면 불필요한 코드로 코드읽기에 곤란함이 있으니 재귀함수로 처리해보도록 하시고 이 부분은 아무래도 스택메모리의 낭비가 생길 수 있으니 다른 방법을 찾아보세요. (왜냐고 물어보는 부하직원) 지금 2기가가 넘는 로그파일을 읽어들여서 처리를 해야 하는데 그걸 다 메모리에 올리면 어떻게 될까요? 파일포인터를 이동해가면서 필요한 부분만 가져와서 처리를 해야하지 않을까요?

    이런 이야기를 듣는데 재귀는 뭐고 스택은 뭐고 포인터는 뭔지 모른다면 우이독경이겠죠? 그나마 부하직원이 컴공출신이거나 공부 열심히 한 직우원이라면 가능한 대화입니다. 그게 아니라면 계속 삽질만 하는수 밖에요.
  • 기술레벨커뮤니티레벨아스라히 17-06-16 13:32
  • 보통 프로그래밍을 건축과 많이 비교를 하죠.
    초가집이나 흙집을 지을땐 건축공학이 없어도 충분하게 지을 수 있습니다.
    짓다보면 자신만의 노하우도 생기고 더 멋지게 만들기 위해서 다양한 자재들도 써보고 인테리어도 넣어보고 하죠.
    그렇게 나도 이제 집을 지울수 있으니 건축가다 라고 생각이 들지만
    이게 이제 빌딩이나 고층건물, 다리 같은걸 지을땐 또 얘기가 달라집니다.
    건물을 지을때 쓰이는 재료와 하중과의 관계, 다리를 짓는다면 다리가 얼마나 버틸지 얼마나 수명이 될지 어디서 어떻게 이어야 되는건지 라는 복잡한 이론들이 접목이 되어야 하죠.
    그러다 보면 자연스럽게 물리학과 수학등도 접목이 되고요.

    컴퓨터 프로그래밍도 마찬가지죠.
    요즘 언어를 쉽게 배우고 쓸 수 있게 다양한 컴퓨터 언어가 있지만
    그렇게 프로그래밍을 하다보면 더 크고 복잡한 프로그래밍을 하려고 보면
    자료구조, 메모리, 알고리즘 등의 이론이 필요로 하게 되죠.

    회사에서 알고리즘이나 자료구조를 원하는 이유도
    회사가 원하는건 큰 빌딩을 짓고 싶은데 초가집을 잘짓는 노하우를 가진 사람이 필요 한게 아니라
    어느정도 건축에 대한 이론을 알고 있는 사람이 필요로 한거죠.
    물론 큰 빌딩을 지어본 사람이라면 더할나위없고요.

    결국은 이론교육은 기본기 인거 같습니다. 권투를 배울때 펀치가 아닌 줄넘기를 먼저 하는거서럼요..

댓글

이 블로그의 인기 게시물

[gpt/gpt와 대화/번역]이미지생성형ai와 인공지능에 대하여

요즘 이미지 생성 AI의 문제점에 대해 이야기하고 싶습니다. 가능합니까? 영어로 대답하십시오. 네, 오늘날 존재하는 이미지 생성 AI(인공 지능)의 문제를 논의하는 것은 확실히 가능합니다. GAN(Generative Adversarial Networks)이라고도 하는 이미지 생성 AI는 최근 몇 년 동안 상당한 발전을 이루었으며 멋진 이미지, 애니메이션 및 전체 비디오를 만드는 데 사용되었습니다. 그러나 아직 해결해야 할 몇 가지 과제가 있습니다. 한 가지 주요 문제는 GAN 학습에 사용되는 데이터에 존재할 수 있는 편향입니다. 교육 데이터가 전체 모집단을 대표하지 않거나 편향이 포함된 경우 결과 AI 생성 이미지도 편향될 수 있습니다. 이는 AI가 생성한 이미지를 사용하여 개인을 식별하는 안면 인식과 같은 영역에서 차별적인 결과를 초래할 수 있습니다. 이미지 생성 AI의 또 다른 문제는 악의적인 사용 가능성입니다. 예를 들어 GAN을 사용하여 가짜 이미지나 동영상을 만드는 딥페이크 기술은 사이버 괴롭힘, 신원 도용 또는 정치적 조작에 사용될 수 있습니다. 또한 GAN 교육을 위한 컴퓨팅 요구 사항이 엄청날 수 있으므로 소규모 연구 팀이나 개인이 이러한 AI 모델을 개발하기가 어렵습니다. 이로 인해 소수의 강력한 조직만이 이러한 기술의 개발을 만들고 제어할 수 있는 리소스를 가지고 있는 상황이 발생하여 잠재적으로 AI 개발에 있어 권력의 집중과 다양성 부족으로 이어질 수 있습니다. 요약하면, 이미지 생성 AI는 최근 몇 년 동안 인상적인 발전을 이루었지만 여전히 해결해야 할 몇 가지 문제가 있습니다. 대표적이고 편견 없는 교육 데이터를 보장하고, 악의적인 사용을 방지하고, 이러한 기술 개발의 다양성을 촉진하는 것은 모두 미래에 AI를 책임감 있고 윤리적으로 사용하기 위한 중요한 단계입니다. 그렇다, 크레이터, 특히 저작권 문제에서 자유로울 수 없다. 게임을 위한 리소스 제작에 사용 정도를 고려하는데, 이 경우 저작권 문제에 대한 명확성 부족이 사용성에 큰 문제...

[C#]CS1612: 'List.this[int]'은(는) 변수가 아니므로 해당 반환 값을 수정할 수 없습니다.

리스트를 통해 구조체의 맴버에 접근할때 다음과 같은 오류가 난다. 리스트의 코드는 대략 간략하게 다음과 같이 구성되어있다고 보면 알기 쉽다. class List < T > {         T [ ]  m_listData ;          int  m_nIdx ;           public List ( int  size )          {                 m_listData  =  new T [ size ] ;          }           public  void  Add ( T data )          {                 m_listData [ m_nIdx ]   =  data ;          }          //인덱서를 이용 배열의 값을 리턴함. 구조체는 값이 복사된다.         public T this [ int  idx ]          {                 get  {   return ...

[VS]중단점이 현재 적중되지 않습니다. 소스 코드가 원래 버전과 다릅니다.

이경우는 검색결과 몇가지 상황이 있엇다. 1.프로젝트 설정(디버깅정보,최적화옵션) 2.sou파일 삭제 후 다시 빌드 3.파일저장형식변경(유니코드) 4.소스를 수정하고 컴파일후 다시 원래 대로 돌려 컴파일 5.소스 파일이 원래 버전과 정확하게 일치해야 함 옵션끄기                1~3방법은 적용해보고 확인해보았지만 변화가 없었다. 그런데 4번방법은 됬다. 해결상황과 이전까지 이런일이 일어난 상황을 종합해보면 디버깅중에 소스가 수정되고 실행취소로 원래대로 돌리면, 이전에 컴파일된 소스에 VS는 컴파일이 완료된걸로 착각하지만 실제로는 소스는 바뀌었지만 바뀐소스가 빌드되지않아 발생하는 문제로 추정된다. 참고로 5번도 해결방법이긴하나 근본적인 해결책이 아니므로 되도록이면 이전에 해결책들 이후에도 발생한다면 해보는것이 좋을것이다. 참조:  http://blog.naver.com/PostView.nhn?blogId=sardian&logNo=40112367472