728x90 전체 글738 [HOO's Q&A] 코딩이 막혔을때 어떻게 해야 할까요? Q: 과제에서 요구하는 내용을 이해하고 필요한 라이브러리와 functions를 사용했는데 에러가 떠서 막막할 때 어떻게 해야 할까요? 프로그래밍을 공부하다보면 정말 자주 겪는 상황이다. 솔직히 처음부터 어떻게 다가가야 할지 모를 경우에는 Flowcharts를 그려보기도 하고, Example codes를 참고하여 비슷한 코드 형태를 참고하면 된다. 하지만 분명 하라는대로 다 했는데 에러가 뜨고 뭐가 문제인지 모르는 경우가 생길 수 있다. 특히 C와 C++를 공부하는 학부생에게 자주 발생하는 문제이다. 일단 IDE도 친절하지 않는 IDE를 사용하다 보니 뭐가 문제인지를 정확하게 알려주지 않는다. 한마디로 틀렸다고는 하는데 도대체 뭐가 틀렸는지를 알려주지 않는 것이다. 물론 이러한 과정을 겪는게 나쁜 일은 아.. 2021. 3. 16. [HOO's Q&A] 개발자 수습기간은 뭔가요? Q: 개발자 수습기간은 뭔가요? 미국 대학교에서는 학기가 시작하고 첫 주에서 2주가량은 수업을 변경할 수 있는 기간을 준다. 수업 자체가 맞지 않을 수도 있고 교수님의 수업 방식이 맞지 않을 수도 있기 때문이다. 개발자 또한 마찬가지이다. 새로 간 직장과 맞는지를 살펴보는 기간이 바로 개발자 수습기간이다. 신입, 경력 모두 갖는 수습기간 개발자의 수습기간은 신입만 해당되는 것이 아니다. 경력직일지라도 새로운 회사와 담당 업무에 적응할 시간을 주는데, 이게 바로 수습기간이다. 다만 회사 내규에 따라서 신입과 경력직의 수습기간은 다를 수 있다. 개발자의 평균 수습기간 국내의 경우 Bro들의 이야기를 들어본 바로는 평균적으로 3개월의 수습기간을 갖는다. 하지만 해외의 경우 회사마다 차이가 다소 있다. 규정에 .. 2021. 3. 10. [HOO's Q&A] 알고리즘이 뭔가요? Q: 알고리즘이 뭔가요? 알고리즘에 대해서 많이 들어보지만, 알고리즘에 대해서 명확히 모를 수 있다. 처음 컴퓨터 공학과를 가서 프로그래밍을 접한 학생의 경우 알고리즘에 대해서 이해하기 전에 수많은 프로그래밍 과제로 몸이 먼저 알고리즘에 대해서 익히게 된다. 프로그래밍에 분야에서 알고리즘에 대한 definition을 살펴보면, 문제 해결 및 결괏값 산출을 위한 단계적 절차라는 의미를 가지고 있다. 프로그래밍의 알고리즘이라고 하면 어렵게 느껴지니, 산수 과정을 통해 알고리즘에 대해 이해해보자. 예를 들어 1+2+3=6 이라는 계산식이 있다고 가정하자. 1+2+3이라는 식을 본다면, 자연스럽게 각 숫자들을 더하여 6이라는 결괏값이 산출되는 걸 알고 있다. 초등학교 때부터 단련해온 덧셈은 눈으로만 봐도 자연스.. 2021. 3. 7. [Programming] IoT(사물 인터넷)과 4차 산업 기술 간의 연관성 Q: IoT란 무엇인가요? 필자에게 많이 물어보고 답하는 내용 중에 하나가 IoT 기술에 대한 내용이다. 특히 이번에 COVID-19으로 한국에 있을 시간이 길어짐에 따라 한국 Bro들과 많이 나눈 내용 중에 하나도 IoT이다. 필자는 당연하게 IoT에 대한 최소한의 내용 포스팅을 했다고 생각했지만, 만나서 직접 얘기만 많이 했지 정작 포스팅이 없는 걸 보고 놀랐다. 늦었지만 IoT에 대한 이야기를 나눠보려고 한다. 4차 산업의 대표적인 기술 중 하나인 IoT 한국에서는 IoT보다는 사물인터넷으로 많이 알려져 있다. 사실 IoT를 직번역한 것이 바로 사물인터넷이다. IoT란 Internet of Things로써 물리적인 요소(사물)들이 인터넷으로 연결된다는 의미를 가지고 있다. 인터넷으로 연결할 필요가 .. 2021. 2. 28. [HOO's Q&A] 토목공학과/건축공학과인데 IoT를 배워야 할까요? Q: 토목공학과인데 IoT에 대한 공부가 필요할까요? 미팅 중간에 시간이 비어 오랜만에 친한 Bro를 만났다. 만났을 당시에는 Bro의 진로 방향성을 심도 있게 이야기를 나누게 될지 몰랐다. 미리 알았다면 커피를 얻어먹었어야 했다. 필자는 이야기를 나눈 Bro가 전기전자공학과 학생으로 알고 있었기에 IoT에 대한 내용을 알려주려고 했다. 하지만 알고 보니 전기전자공학과가 아닌 토목공학과이었다. 그럼에도 불구하고 IoT에 대한 이야기를 꺼냈을 때 토목공학과 Bro는 관심이 많았다. 토목공학과와 IoT 사실 필자는 AI programming을 하는 컴퓨터쟁이로써 다른 분야에 대한 지식이나 경험이 부족하다. 모르는 내용에 대해서 왈가왈부해봤자 상대방에게 도움이 되지 않을뿐더러 우스운 사람이 될 뿐이기에 Bro.. 2021. 2. 26. [HOO's Q&A] 코딩을 배워두면 좋을까요? Q: 나중에 먹고살려면 코딩이라도 배워야 하지 않나요? 4차 산업 시대와 프로그래머 4차 산업 시대로 인해 프로그래머의 영역은 넓고 많아졌다. 모든 사물들이 인터넷으로 연결되는 사회이다 보니 어떤 분야든 개발자를 필요로 하는 시대가 된 것이다. 4차 산업 시대가 시작된지 불과 10년도 되지 않았지만 이미 다양한 분야에서 4차 산업 기술을 활용하고 있다. 최근에 한 Bro에게 "코딩을 배워볼까"라는 말을 들었다. 프로그램과 전혀 상관없는 분야에서 일을 하고 있던 Bro였기에 전혀 생각지도 못한 말이었다. 한국에서도 프로그래머와 프로그래밍에 대한 시각이 변화했다는 걸 느낄 수 있었다. 프로그래밍 = 노력 + 적성 필자가 Freshman때 작가 인터뷰 및 토론회에 참석한 적 있는데, 그때 해당 작가가 했던 말.. 2021. 2. 24. [Programming] Gray code 진법 변환에 대해서 배우는 내용 중에 하나가 Gray code이다. Gray code는 0과 1로 구성된 2진법에서 변환된 코드이다. 십진법의 경우 이진법 변환뒤에 Gray code로 변환이 가능하고 다른 진법도 마찬가지로 2진법으로 변환 뒤에 Gray code로 변환할 수 있다. Gray code를 사용하는 이유에 대해서 간략하게 살펴보자면, Gray code를 사용함으로써 데이터 송수신 과정에서의 변경 사항을 파악하기 용이하다. 따라서 데이터 자체가 변경되었다는 걸 발견할 뿐만 아니라 시스템 에러도 찾기 수월하다. Gray code가 어떤식으로 변환되어 구성되는지 살펴보면 더욱 이해가 쉬울 것이다. 위의 그림 예제를 살펴보자. 1001이라는 binary number가 있다고 가정했을때 Gray cod.. 2021. 2. 22. [Programming] Fundamental law of Boolean algebra Operation Involving 1 and 0 (A'B+C)1 = A'B+C Idempotent Laws AB+C'+AB+C' = AB+C' Involution Law ((AB'+A'C')')' = AB'+A'C' Laws of Complementarity (A'B+C'D)(A'B+C'D)' = 0 1st Distributive Law A'B(C+D') = A'BC+A'BD' 2nd Distributive Law A'B+C'D = (A'B+C')(A'B+D) DeMorgan's Theorem (A'+C')' = AC' 2021. 2. 22. [HOO's Q&A] 3년차 프로그래머 이력서 쓰는 방법 - 분야의 정확성 Q: 프로그래머로 이력서를 작성할 때 팁 같은 게 있을까요? 신입 개발자와 다른 3년차 개발자 사실 신입 개발자는 이력서를 작성하는 게 쉽다. 신입 개발자가 이력서 쓰는게 어렵다고 말하는 건 이력서를 처음 써보기 때문에 어떻게 써야 하는지를 모르거나 이력서에 쓸 내용이 많지 않기 때문에 이력서에서 차별성을 나타내고 싶기 때문에 고민이 많은 것이다. 물론 신입 개발자인데 쓸 내용이 많으면 좋지만 기업 입장에서도 신입 개발자에게 많은 걸 요구하지 않는다. 왜냐하면 신입이기 때문이다. 3년차 개발자는 경력직이다. 하지만 3년 차에서 5년 차 개발자이고 이직을 고민 중이라면 상황은 달라진다. 물론 3년차 개발자도 신입 개발자에 속했었다. 하지만 시대가 변함에 따라 프로그래밍을 익힐 수 있는 방법이 다양해졌고 프.. 2021. 2. 21. [Programming] 이진법 십진법 변환 (Binary to Decimal) 이진법을 십진법을 다루는건 프로그래밍에서 기본이자 공통적으로 알고 있어야 되는 개념이기에 확실히 알아두고 가야 한다. 진법 변환을 알아야 되는 간단하면서 중요한 이유는 컴퓨터 언어 체계가 이진법이기 때문이다. 진법 계산을 잘해야하는게 중요하진 않지만, 각각의 진법이 어떤식으로 변환되어 적용되는지를 확실하게 알아야지 코딩 과정에서 응용해서 사용할 수 있다. 따라서 개념에 대한 이해를 확실히 해야 하는데, 한번만 확실히 알아두면 어렵지 않기 때문에 걱정하지 않고 찬찬히 따라하면 된다. 대표적으로 제일 많이 사용되는 진법은 2진법, 8진법, 10진법, 16진법이다. 이번 포스트에서는 2진법을 10진법으로 변환되는 방법에 대해서 살펴볼 것이다. 우선 간단한 예시를 살펴보자. Binary == Decimal 11.. 2021. 2. 21. [Data Science] 캐글(Kaggle)을 해야하는 이유 www.kaggle.com/ Kaggle: Your Machine Learning and Data Science Community Kaggle is the world’s largest data science community with powerful tools and resources to help you achieve your data science goals. www.kaggle.com 캐글은 Data Science 분야나 ML(Machine Learning) 개발자에 특화된 커뮤니티 사이트이다. 마치 깃허브가 구글이라면 캐글은 유튜브 같은 느낌이 든다. whoishoo.tistory.com/22 [Kaggle에 빠지다] 캐글(Kaggle)이란? 캐글(Kaggle)이란? Good morning yal.. 2021. 2. 13. [Programming] The Infinite Hotel 2 - #n+1, #2n, #prime numbers www.youtube.com/watch?v=Uj3_KqkI9Zo 저번 포스트에서는 The Infinite Hotel에 대한 기본 컨셉에 대해서 살펴보았다. 이번 포스트에서는 The Infinite Hotel를 활용하여 Infinite numbers를 어떻게 다루는지에 대해서 살펴볼 예정이다. 저번 포스트가 맛보기이었다면 이제는 본격적인 The Infinite Hotel에 대해서 알아보도록 하자. whoishoo.tistory.com/89 [Programming] The Infinite Hotel www.youtube.com/watch?v=faQBrAQ87l4 The Infinite Hotel이란, 끝을 알 수 없는 결과에 대한 프로그래밍 알고리즘 구현을 어떻게 해야 할지 알 수 있는 기본적이 개념이다. .. 2021. 2. 9. [Programming] The Infinite Hotel www.youtube.com/watch?v=faQBrAQ87l4 The Infinite Hotel이란, 끝을 알 수 없는 결과에 대한 프로그래밍 알고리즘 구현을 어떻게 해야 할지 알 수 있는 기본적이 개념이다. 위의 영상은 The Infinite Hotel에 대해서 간략하게 살펴볼 수 있는 영상이기에 영어를 잘한다면 포스트 읽기 전에 보고 오고 영어가 부족하다면 포스트를 읽고 나서 보면 The Infinite Hotel에 대한 내용을 이해하는데 도움이 될 것이다. What is the infinite hotel? The Infinite Hotel은 힐버트가 고안한 프로그래밍 알고리즘 개념이다. 필자가 여기서 수학적 개념이 아닌 프로그래밍 알고리즘 개념이라고 소개하는 이유는 The Infinite Hote.. 2021. 2. 9. [Java Examples] println으로 출력하기 - #System.out.println() C++의 cout이 있다면 자바에는 sout이 있다. sout이란 System.out.println()의 줄임말로써 실제로 자바 코딩에서 사용된다. 다른 언어에서도 단축키가 있지만 필자가 느끼기에 유독 자바는 줄임말을 통한 단축키를 많이 쓴다. 자바 프로그래밍은 한다면 기본적인 단축키는 알아둬야 당신의 퇴근이 빨라진다. System.out.println()을 매번 작성해서 쓰기 번거로우니, sout + Tab 키를 통해서 System.out.println()를 자동으로 작성해준다. 한마디로 System.out.println()의 단축키라고 생각하면 된다. //HOOAI class Example{ //your program begins with a call to main() public static voi.. 2021. 2. 2. [Python Examples] Random 함수로 실수 구하기: #random.random(), #random.uniform() 파이썬에서 Random 함수를 통해서 랜덤 숫자를 산출하는데 float 단위(소수단위)의 숫자도 랜덤 함수를 통해 산출할 수 있다. 다른 말로는 실수를 구할 수 있다. #HOOAI import random x = random.random() print("Random float number 0.1 to 1: ", x) print("Random float number 0.1 to 1: ", random.random()) print("Random float number 0 to 1: ", random.uniform(0, 1)) print("Random float number 0 to 10: ", random.uniform(0, 10)) print("Random float number 10 to 100: ", .. 2021. 2. 2. [Data Science] Reinforcement Learning(강화학습) Q: 머신러닝 강화 학습이 뭔가요? "머신러닝의 종류"라는 포스트에서 Supervised와 Unsupervised에 차이점에 대해서 살펴보았다. Reinforcement Learning이란? Reinforcement Learning을 직역한 것이 바로 강화 학습이다. 참고로 Reinforcement Learning은 RL이라고 줄여서 표현된다는 점을 알고 있으면 좋다. (Machine Learning은 ML이다.) 필자도 Reinforcement Learning를 RL이라고 포스트에서 줄여서 작성할 것이다. RL의 한국어 직역 표현인 강화 학습이라는 표현이 다소 생소할 수도 있는데, 응용학습이라고 이해하면 보다 더 쉽게 머릿속에 남을 것이다. RL은 머신러닝을 통해 컴퓨터를 학습시키는 방법 중에 하나로써.. 2021. 2. 1. [Programming 질문] Injective, Surjective, Bijective Injective, Surjective, Bijective 이해가 잘 되지 않아요. Injective, Surjective, Bijective란 컴퓨터 공학 학부생이라면 Discrete Mathematics나 Calculus에서 배우는 Functions이다. 전공자라면 기본적으로 배우는 함수이기 때문에 알고 있지만 오랜만에 들어보거나 실제로 활용하려고 하면 헷갈리는 부분이 생기기 마련이다. 예를 들어 수학적 관점에서의 Injective, Surjective, Bijective functions들에 대한 문제 해결은 쉬울 수 있지만 이것을 프로그래밍 언어로 적용해서 infinite 값에 결괏값을 산출하기 위한 코딩을 한다면 "Wow"라는 생각이 든다. 한마디로 Functions들에 대해 알고는 있지만 명확.. 2021. 1. 28. [Data Science] 딥러닝 레이어(Deep Learning Layers) Q: 딥러닝 할 때 레이어라는 표현을 쓰잖아요 input layer 층이라던가 그 레이어를 뭐라고 생각하는 게 좋을까요? 처음 보거나 이해하기가 어렵다면 사전적 의미를 찾아보는 방법이 정말 좋다. 사전적 의미를 찾는 게 별거 아닌 것 같지만 의미를 파악하고 알고자 하는 내용을 살펴본다면 머릿속에서 자연스럽게 정리가 되기 때문에 개인적으로 좋은 방법이라고 생각한다. 딥러닝 레이어란? 레이어(Layers)란 사전적 의미에서 "층"을 의미한다. 딥러닝에서 레이어는 단계를 의미하는 층이라고도 볼 수 있지만 겹겹이 쌓은 양파를 생각하면 이해하기 쉽다. 양파가 여러겹으로 둘러싸여 있는 것처럼 딥러닝(Deep Learning)에서 말하는 레이어는 이와 비슷하다. 딥러닝은 수많은 변수들을 다양한 알고리즘을 통해 병렬 .. 2021. 1. 25. [파이썬 예제코드] tkinter를 활용한 폴더 선택하기 tkinter를 활용한 폴더 선택하기 #HOOAI import tkinter from tkinter import filedialog root = tkinter.Tk() root.withdraw() dirPath = filedialog.askdirectory(parent=root, initialdir="/", title='폴더를 선택해주세요.') 코드 설명 프로그램 사용자가 폴더를 선택할 수 있도록 시각적으로 표현될 수 있게 해주는 코드입니다. tkinter 패키를 활용하여 구현할 수 있으며, 폴더 선택 창의 제목 또한 변경이 가능합니다. 예제 코드를 활용하는 방법!! 1. 예제 코드를 보고 직접 컴파일을 해보세요. 예제 코드를 보기만 해도 좋지만, 각 기능이 어떤 역할을 하며 어떻게 결과 값이 산출되는지.. 2021. 1. 20. [파이썬 질문] 파이참에서 %matplotlib inline 안될때 파이참을 통해서 간단한 프로그램을 개발하고 있는데 %matplotlib inline이라는 코드가 있습니다. 문제는 해당 코드가 인식이 되지 않고 에러가 나오는데 왜 그런 건가요? %matplotlib inline는 무슨 의미인가요? 파이썬 언어를 기반으로 프로그래밍을 배우다보면 자주 볼 수 있는 코드가 %matplotlib inline이다. 거두절미하고 Matplotlib은 데이터 시각화를 하기 위한 패키지이다. 구현하고자하는 프로그램을 시각적으로 보여주는 기능을 하는데 예를 들어서 데이터를 시각적으로 보이기 위해 차트나 수치를 화면 창으로 표현주는 역할을 한다. 그렇다보니 인공지능 프로그래밍에서는 자주 사용하게 되는 패키지라고 볼 수 있다. 다시 본론으로 돌아와서 Bro가 질문한 파이참에서 %matpl.. 2021. 1. 17. [Python] open cv란? 인공지능이라고 한다면 컴퓨터가 사람처럼 생각하고 자율적인 사고판단하에 결괏값이 산출되기를 원한다. 컴퓨터가 현실의 사물을 판단하기 위해서는 컴퓨터를 위한 눈이 필요한데, open cv 라이브러리는 컴퓨터가 사물을 인식할 수 있도록 도와준다. open cv 라이브러리가 개발된 목적은 실시간으로 컴퓨터 비전을 목적으로 한 프로그래밍이었지만 안정화와 대중화를 통해 open cv는 다양한 이미지나 영상을 판단하고 원하는 목적으로 결과값을 산출할 수 있도록 도와준다. 인텔 주도하에 개발이 이루어졌지만 제일 중요한 점은 무료로 사용이 가능하다는 것이다. 너무나도 감사하게 무료로 사용할 수 있는 BSD 라이선스이었기 때문에 open cv 개발자와 원저작자에게 감사할 따름이다. 여기서 유의할 점은 open cv에 대한.. 2021. 1. 15. 데이터 경제 시대란? Q: 4차 산업 시대 도래로 데이터 경제 시대로 전환된다고 하는데 무슨 말인가요? 불과 4년 전까지만 해도 4차 산업 기술에 대한 관심이 뜨거웠다. 4차 산업 시대가 도래함으로써 4차 산업 기술이 미치는 사회적 영향력에 대해서 포스팅을 하거나 잡지사와 인터뷰를 했던 게 어제인 것 같다. 특정 출판사에서 블록체인에 대한 책을 써보면 어떠냐고 이메일이 왔었던 게 불과 3년도 안되었다. "라떼(는 말이야)" 얘기를 꺼내는 시점에서 필자도 나이가 들고 꼰대화가 되어 간다는 걸 느끼지만 정말로 4차 산업 기술은 순식간에 다양한 분야에 적용되어 사용되어지고 있다. 4차산업시대와 데이터 경제 4차 산업 기술에 해당하는 대표적인 기술로는 클라우드 컴퓨팅, 인공지능, 빅데이터, 블록체인, IoT 등이 있다. 물론 드론이.. 2020. 12. 10. [Q&A] 1년차 개발자인데 백엔드 개발자로 가고 싶습니다. 1년 차 프론트엔드 개발자인데 백엔드 개발자로 가고 싶습니다. 방명록을 통해 질문을 주신 내용이다. 프로그래머로 회사에 들어가기 전에는 이런 생각을 하는 친구들이 꽤 있다. "회사 가서 내가 맞는 분야를 공부하면 되지." "힘들지만 일하면서 내가 틈틈이 공부하면 될 거야." 시니어 개발자분들 중에서도 "일하는 게 다 실질적인 경험이고 실력이야."라는 말을 하신다. 그러다 보니, 이 말만 믿고 직장에 들어가서 일과 공부를 같이할 생각이라면 쉽지 않다. 한마디로 프론트엔드 개발자로 일을 하면서 백엔드 개발자로 이직을 한다는 건 현실적으로 쉽지 않은 일이다. 물론, 기업에서 프로그래머 인력이 부족한 경우는 간단한 업무에 한해서 프론트엔드 개발자인데 백엔드 개발 업무를 지원할 수도 있고, 반대로 백엔드 개발자인.. 2020. 10. 29. [Programming] Logical equivalence examples 1. p·1=p 11. p+(p·q) = p 2. p+1 = 1 12. p+¬p = 1 3. p+p = p 13. p+0 = p 4. ¬(¬p) = p 14. p·p = p 5. p+q = q+p 15. p·q = q·p 6. (p+q)+r = p+(q+r) 16. (p·q)·r = p·(q·r) 7. p+(q·r) = (p+q) 17. p·(q+r) = (p·q)+(p·r) 8. ¬(p+q) = ¬p·¬q 18. ¬(p·q) = ¬p+¬q 9. ¬(p+q+r) = ¬p·¬q·¬r 19. p·(p+q) = p 10.(p·q·r) = ¬p+¬q+¬r 20. p·¬p = 0 [Programming] Logical Equivalences 논리에 대한 부분을 기호로 표시하는 방법이 바로 Logical equiv.. 2020. 10. 15. [Programming] Propositional Logic Propositional Logic은 한국말로 명제 논리라고 부른다. 필자는 명제 논리라는 용어를 보고는 도저히 이해가 가지 않기 때문에 Propositional logic 원래 용어를 가지고 설명하겠다. Propositional logic은 내용에 대해서 true인지 false인지를 확인하는 과정이자 기호로 표기하는 방법을 의미한다. "미국남부형은 매력적이다"라는 문장이 있을 때 사실이기 때문에 true에 해당된다. "1+1 = 2" 라는 것도 사실이기 때문에 true에 해당한다. 이러한 문장이나 내용에 대한 논리의 참 거짓을 Propositional logic에서 Logic operations들을 활용해 표기한다. Logic operations Negation NOT ¬p, p' Conjunction.. 2020. 10. 15. [Programming] Logical Equivalences 논리에 대한 부분을 기호로 표시하는 방법이 바로 Logical equivalences이다. 명제에 대한 논리가 맞는지를 확인할 수 있으며, 참과 거짓 둘로 구분하여 결과 값을 산출할 수 있다. ≡ Logical equivalences에서 사용하는 부등호는 ≡이다. ≡는 논리적 항등식, =는 수학적 항등식이기 때문에 ≡를 사용하는 게 맞지만 공부할 때나 다른 사람과 소통만 된다면 사실 =를 사용해도 무방하다. ≡를 키보드에서 작성하기 매우 귀찮기 때문에 =를 실제로도 교수님들도 사용하는데 굳이 "저건 정확하지 않아요! 불편해요!"이라고 한다면 ≡를 사용하면 된다. 아무튼 필자는 미리 서로 이해만 된다면 둘다 상관없다고 본다. 프로그래밍만 잘하면 될 뿐. ¬ Logical equivalences에서는 NOT.. 2020. 10. 15. [Q&A Programming] 신입 개발자의 취업 분야(2) 비전공자가 신입 개발자로서 취업할 수 있는 분야는 어떤 게 있을까요? 저번 "신입 개발자의 취업분야(1)" 포스트에서 왜 지금의 신입 개발자들은 어느 정도의 분야에 대한 지식과 선택이 필요한지에 대해서 알아보았다. 그렇다면 실제로 신입 개발자가 취업할 수 있는 프로그래밍 분야는 어떤 것이 있을까? 질문을 해주신 Kim님의 경우 비전공자이지만 프로그래밍을 공부하고 개발자로서 취업 준비를 하고 계신 분이다. 따라서 신입 개발자 중에서도 비전공자가 국내에서 취업할 수 있는 분야에 대해서 살펴보았다. 필자는 현재 실제로 어떤 분야에서 비전공자 신입 개발자를 뽑고 있는지를 살펴봄으로써 실질적으로 질문한 Bro에게 도움을 주고 싶었다. 왜냐하면 비전공자이면서 신입으로 프로그래밍 직장을 알아본다는 것은 다양한 Bro.. 2020. 10. 8. [Programming] Axiomatic Semantics examples Axiomatic semantics에 대해서 이해가 되지 않는데 예제를 주실 수 있나요? Axiomatic semantics는 Denotational semantics의 한 종류이다. [Programming] Denotational semantics examples Denotational semantics(표시적 의미론) 예제를 보여주실 수 있으신가요? Denotational semantics(표시적 의미론)이란 컴퓨터 언어에서 계산식 또는 수학적 메커니즘을 개발자가 이해할 수 있는 방식으로 표�� whoishoo.tistory.com Axiomatic semantics 또한 프로그램에서 특정 logic이 어떤 식으로 작동하고 값이 산출되는지를 확인하기 위해서 사용된다. 한마디로 Axiomatic sem.. 2020. 10. 8. [Programming] Denotational semantics examples Denotational semantics(표시적 의미론) 예제를 보여주실 수 있으신가요? Denotational semantics(표시적 의미론)이란 컴퓨터 언어에서 계산식 또는 수학적 메커니즘을 개발자가 이해할 수 있는 방식으로 표시한 것이다. 한마디로 프로그래밍에 있는 계산식을 Denotational semantics 방식의 문자로 표현했다고 보면 된다. 위의 문법은 Denotational semantics를 이해하고자 만든 example이다. Grammar와 Semantics를 통해 주어진 값을 어떻게 산출해야 할지 알 수 있다. 예를 들어, "cab"를 구한다고 가정해보자. 왼쪽부터 풀어주기 때문에 "cab"에서는 c의 값을 먼저 구해준다. c의 값을 구하면 c와 a는 'a'에서 c는 가 되고 '.. 2020. 10. 8. [Q&A Programming] AI 프로그래머가 되고 싶은데 다방면에서 공부하는게 맞을까요? AI programmer가 되고 싶은 학부생입니다. 이것저것 알면 좋을까 해서 기계공학을 부전공으로 신청하고 전기전자공학 수업도 청강하고 있습니다. 최근에는 보안 쪽 수업도 들으면서 다양한 경험을 쌓고 있는데 잘하고 있는 건가요? 오랜만에 만난 Bro한테 들은 충격적인 말이다. 이 친구가 20살때 만났을 때는 프로그래밍에 대한 고집이 있었기에 구체적인 조언을 해줄 수가 없었다. 다른 직업도 마찬가지겠지만 프로그래머는 소통과 협업이 중요한 직업이기에 다른 사람의 지식을 수용하고 흡수할 수 있는 능력을 가져야 한다. 하지만 고집만 강한 사람은 누가 이야기를 해줘도 변함이 없기 때문에 솔직히 알아서 하겠지라는 마음으로 오랜만에 만난 Bro였다. 다행스럽게도 몇년 만에 만난 이 친구는 다소 변화되어 있었다. 하.. 2020. 10. 5. 이전 1 ··· 20 21 22 23 24 25 다음 728x90