728x90 HOOAI750 [Programming] 2의 보수 계산하는 방법, Two's Complement 2의 보수 계산하는 방법, Two's Complement # 보수(Complements)를 사용하는 이유? Two's Complement는 한국에서 "2의 보수라고도 부른다. 여기서 말하는 보수는 반대로 세어가는 수라는 의미로 Computer Science에서 사용되는 단어이다. Two's Complement에서 Complement라는 단어는 보완하다 또는 덧붙이다 등과 같은 의미로 사용되는 단어이다. 단어의 의미에서 유추해 볼 수 있듯이 보수 즉 Complement는 이진법 계산에서 양수와 반대되는 값인 음수 값을 의미한다. 프로그래밍에서 보수와 같은 계산 방식이 필요한 이유는 연산 시스템의 이유가 있다. 컴퓨터는 우리가 쉽게 계산하듯이 덧셈, 뺄셈을 할 수가 없다. 덧셈을 기반으로 뺄셈이 이루어지기 .. 2021. 6. 11. [Programmer INFO] 신입 개발자가 취업할때 조심해야하는 경력 뻥튀기 사기 파견 업체 최근 한 Bro가 알려준 사실이다. 해당 Bro는 필자와 공부 및 진로의 방향성을 정하고 작년에 웹프로그래머 취업했다. 이 친구의 경우 학부 때 프로그래머 관련 학과가 아니다 보니 국비 지원 학원을 통해 웹 프로그래밍의 기본을 배울 수 있었다. 당시에 같이 학원을 다니던 동기 중에서 몇 명이 사기 파견 업체에서 피해를 보고 있다는 걸 필자를 통해 알려주었고 현재 공부를 같이하고 있는 Bro들에게도 알려줘야 되겠다는 생각이 들었다. 미꾸라지 한마리가 흙탕물을 흐리듯이 일부 업체에서 신입 개발자에게 반강제로 경력 뻥튀기를 시키고 프로그래머 필요한 업체에 파견을 보내는 경우가 있다. 사실 이러한 문제는 갑자기 생겨난 문제는 아니다. 이전부터 있어왔고 어쩌면 정보 공유가 더딘 과거에 더 많았을 수도 있다. 그런.. 2021. 6. 10. [Data Science] 데이터 사이언스란?, What is Data Science? 데이터 사이언스란? 데이터 사이언스(Data Science) 데이터 사이언스(Data Science)란 4차 산업 시대의 대표적인 프로그래밍 분야라고 볼 수 있다. 데이터 사이언스 분야의 확장은 결과적으로 데이터 경제 시대가 출현하게 된 원인 중 하나이다. 데이터 사이언스란 다양한 데이터로부터 목적 또는 목표에 따라서 원하는 정보를 찾아내는 통합된 분야이다. 데이터 중에서도 수집과 저장이 어려웠던 비정형 데이터도 프로그래밍을 통해 정형화하여 데이터화를 할 수 있다는 점에서 데이터 사이언스의 활용도는 정말 높다. 하지만 비정형 데이터를 어떤 기준과 알고리즘을 통해 수집과 저장 그리고 정제 과정을 거칠 것인지는 데이터 사이언티스트의 능력이기 때문에 데이터 자체를 연구 분석한다고 하여 데이터 사이언스라고 부르.. 2021. 6. 9. [Data Science] 파이토치(PyTorch)를 배워야 하는 이유 파이토치(PyTorch)를 배워야 하는 이유 딥러닝 프레임워크 파이토치 파이토치란 데이터에 대한 딥러닝 분석을 쉽게 할 수 있도록 제공하는 오픈소스 기반 딥러닝 프레임워크이다. Data Science 분야의 개발자로 프로그래밍을 하기 위해서 꼭 사용해야 하는 툴 중 하나가 딥러닝 프레임워크(Deep Learning Frameworks)인데 그중에 하나가 바로 파이토치(PyTorch)인 것이다. 딥러닝 프레임워크를 툴로써 제공하기 때문에 개발자는 보다 손쉽게 프로그래밍을 할 수 있다. 예를 들어 딥러닝 프레임워크는 요리사에게 재료 준비와 손질까지 된 환경을 제공해준다고 볼 수 있다. 텐서플로우와 파이토치 5년 전까지만 해도 데이터 사이언스에 대한 공부를 한다고 하면 텐서플로우를 꼭 알아야 했다. 구글에서 .. 2021. 6. 9. [Python Examples] While Loops(While문) - #01 While loops은 주어진 조건 내에서 반복적인 역할을 수행할 때 사용하는 기능이다. Python에서는 조건에 해당하는 별도의 괄호 없이 사용이 가능하며, 다만 마지막에 :으로 While loop의 조건을 표기해준다. #HOOAI a = 0 while a < 5: print("Hello") a = a + 1 위의 예제 코드처럼 while문에는 별도의 괄호를 포함하지 않는다. 또한 변수(Variables)에 대한 Type 표기도 하지 않는다. 다른 언어 기반으로만 개발하다가 파이썬을 하면 가끔 헷갈릴 수 있으니 당황하지 말자. 파이썬의 경우도 등호 표기법이 비슷하기 때문에 아래 예제와 같이 작성해도 똑같은 결과를 보여준다. #HOOAI a = 0 while a < 5: print("Hello") a +.. 2021. 5. 31. [Java] Servlet과 JSP란? -#02 저번 포스트에서 Java Servlet에 대해서 간단히 알아보았다. https://whoishoo.tistory.com/114 [Java에 빠지다] Servlet 과 JSP란? - #01 웹 프로그래밍 공부를 하다 보면 꼭 알아두어야 하는 개념 중 하나가 JSP이고 Java Servlet이다. 하지만 프로그래밍을 처음 공부하는 사람이라면 책만 보고 이해하기가 쉽지는 않다. 또한 비전공자 whoishoo.tistory.com 이번 포스트에서는 JSP에 대해서 알아보도록 하자. JSP란? JSP(Java Server Page)는 자바 언어를 기반으로 하는 Java Server Side Scripts에 해당한다. 한마디로 JSP로 웹 페이지가 동적인 작업을 수행하도록 도와주는 역할을 수행한다. 앞서 이야기를 .. 2021. 5. 26. [HOO's Q&A] 승무원에서 개발자가 될 수 있을까요? Q: 최근 코로나 때문에 승무원을 그만두고 고민하다가 개발자에 대해서 알아보고 있는데 비전공자이면서 승무원 출신인데 개발자로 취업이 가능할까요? 코로나 바이러스로 인하여 승무원을 그만두시거나 승무원 준비를 하시던 분들께서 개발자 쪽으로 오시는 경우가 많아지고 있다. 사실 승무원 출신인데 개발자가 될 수 있는지는 중요하지 않다. 승무원이 아니더라도 다양한 직종에 계시던 분들도 비전공자 개발자로 도전하고 성공한 케이스가 많기 때문이다. Bro들 중에서도 컴퓨터와 전혀 다른 학과에 있던 친구들이 필자의 꼬임에 넘어와 비전공자이지만 프로그래머로써 또는 프로그래밍 기획자로써 일을 하고 있다. 아직까지는 다행히도 비전공자 개발자 Bro들이 만족하며 생활하고 있어 필자는 살아있다. 승무원을 하다가 그만두고 프로그래밍.. 2021. 5. 25. [HOO's Q&A] 대학교 공부와 선택한 분야 공부가 다를때는 어떻게 하나요? Q: 대학교 공부와 선택한 분야 공부가 다를 때는 어떻게 하나요? Q: 학부 공부와 개인 프로젝트 중에서 무엇을 먼저 해야 할까요? 컴퓨터 관련 학과를 다니는 학부생 중에서도 졸업이 다가오는 3학년 또는 4학년 학부생들이 많이 물어보는 질문이다. 졸업이 다가옴에 따라 취업을 고민하는 학부생이나 대학원을 고민하는 학부생 모두 특정 분야에 집중해야 될 시기이다 보니 학부 공부와 분야별 개인 공부 사이에서 고민을 하게 된다. 또한 3학년에서 4학년 학부생이라면 어느 정도 프로그래밍에 대한 지식을 가지고 있으며, 자신이 가고자 하는 분야에 대한 방향성이 정해져 있다 보니 자신과 관련 없는 분야의 공부가 재미없어지기 마련이다. 특히 필자가 선택과 집중을 Bro들에게 강조하여 이야기를 나눠왔기에 일부 학부생 Bro.. 2021. 5. 25. [Java] Servlet 과 JSP란? - #01 웹 프로그래밍 공부를 하다 보면 꼭 알아두어야 하는 개념 중 하나가 JSP이고 Java Servlet이다. 하지만 프로그래밍을 처음 공부하는 사람이라면 책만 보고 이해하기가 쉽지는 않다. 또한 비전공자의 경우 JSP랑 Java Servlet를 사용하는 걸 학원에서 배우지만 이론적인 부분을 여유있게 공부하고 갈 시간이 없다 보니 이해를 하지 못해 응용이 힘든 경우도 있다. Bro 중에서도 JSP와 Java Servlet에 대한 정확한 이해가 되지 않는다고 하여 이번 포스트에서는 JSP와 Java Servlet에 대해서 이야기를 나누어 보려고 한다. Java Servlet이란? Java Servlet이란 자바 언어를 기반으로 웹 기반 프로그램에서 동적인 역할을 수행한다. 여기서 말하는 동적인 역할이란 우리가.. 2021. 5. 24. [Programming] Fundamental Law of Boolean Algebra 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. 5. 10. [Porgramming] BCD 8-4-2-1 weighted code, 6-3-1-1 weighted code weighted code는 Binary-coded-decimal의 한 종류이다. BCD(Binary-coded-decimal)는 우리가 흔히 사용하는 십진법 숫자를 이진법으로 표현하지만 방식은 십진법을 따른다. 435 -> 0100 0011 0101 BCD에 대한 간단한 예시를 들자면 435라는 숫자를 BCD로 표기할 때, 0100 0011 0101라고 나타낼 수 있다. 가중치 코드라고도 불리는 weighted code는 BCD 방식을 기반으로 하여 하나의 조건이 추가 된다. 이해하면 어렵지 않으니 한번 살펴보자. 8-4-2-1 weighted code(BCD) 8-4-2-1 weighted code는 숫자에 의미가 담겨 있다. BCD에서 십진법을 이진법으로 표기할 때 숫자 하나를 4개의 이진법 비트로 .. 2021. 5. 10. [Java Example Codes] Method overloading, 오버로딩 예제코드 package HOOAI; class OverloadTest { void test() { System.out.println("HOOAI"); } void test(int a) { System.out.println("a: " + a); } void test(int a, int b) { System.out.println("a: " + a + " b: " + b); } double test(double a) { System.out.println("double a: " + a); return a+a; } } class Overload { public static void main(String args[]) { OverloadTest ot = new OverloadTest(); double ttr; ot.test.. 2021. 3. 31. [HOO's Q&A] 클라우드 컴퓨팅 서비스를 왜 이용하나요?(Why do we use cloud computing services?) Q: 4차 산업 기술의 대표적인 기술 분야 중 하나로 클라우드 컴퓨팅 기술을 사용한다는 걸 알게 되었습니다. 그렇다면 클라우드 컴퓨팅 기술을 왜 사용하는 건가요? 4차 산업 시대는 데이터 경제 시대라고도 말할 정도로 데이터에 대한 중요성이 커졌다. 그렇다 보니 4차 산업의 대표적인 기술로 클라우드 컴퓨팅 서비스를 손꼽는다. 해당 질문을 남긴 Bro의 경우 클라우드 컴퓨팅 기술에 대한 이해를 하고 있지만 구체적으로 왜 꼭 사용해야 하는지에 대해서 물어봤다. 클라우드 컴퓨팅이라고 하면 수많은 데이터를 보관해주는 서버의 역할만 수행한다고 생각한다. 하지만 클라우드 컴퓨팅 기술을 의미하는 것이지 클라우드 컴퓨팅 서비스를 이용하는 목적이 되지는 않는다. 물론 클라우드 컴퓨팅 서비스를 사용하는 주요 목적은 서버와 .. 2021. 3. 21. [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. 이전 1 ··· 20 21 22 23 24 25 다음 728x90