본문 바로가기
728x90

전체 글767

[Python] 파이썬 연산자: Arithmetic operations 파이썬 연산자: Arithmetic operations 파이썬에서 계산할 때 사용하는 대표적인 연산자 종류로써 아래의 표에 나와있는 연산자는 기본적으로 알아야 하는 연산자이다. 수학적 표기 방법과 비슷하지만 일부는 다른 점도 있으니 유의해서 사용해야 한다. 연산자 표 아래에는 각 연산자 별 파이썬 코드 예제를 통해 연산자의 기능을 살펴볼 수 있다. Operator Operator Name x + y Addition x - y Subtraction x * y Multiplication x / y True division x // y Floor division x % y Modulus x ** y Exponentiation -x Negation 덧셈, 뺄셈, 곱셈은 기본적으로 알고 있는 친숙한 연산자이기에 .. 2021. 7. 11.
[HOO's Q&A] 어셈블리 언어는 시스템 프로그래밍할 때 자주 사용하는 언어인가요? Q: 어셈블리 언어는 시스템 프로그래밍할 때 자주 사용하는 언어인가요? 최근 IoT를 통한 무선 인터넷이 연결된 초소형 기기들 사용이 증가하고 다양한 분야에서 사용이 되다 보니 어셈블리 언어가 인기가 많아진 건 사실이다. 일부 통계 분석 전문 웹사이트에 따르면, 어셈블리 언어가 작년 14위에서 8위로 랭킹 순위가 급상승을 한 것만 보아도 과거에 비해 많은 사람들이 사용하고 있다고 볼 수 있다. 하지만 사실 어셈블리 언어를 전문적으로 사용하는 분야가 아니라면 사용하지 않기 때문에 자주 사용한다고 말하기도 애매하다. 임베디드 시스템 분야나 디바이스 드라이버 관련 시스템 개발 또는 어셈블리 언어의 큰 특징인 실행속도, 프로그램 크기, 모든 HW 시스템 개발 등이 필요한 특정 프로그램의 최적화 과정에서는 어셈블.. 2021. 7. 11.
[Python] 파이썬 버전 확인하는 방법: python, python --version 파이썬 버전 확인하기: python, python --version 파이썬에 오픈소스나 추가 패키지를 설치한다고 할 때 버전 확인을 해야 하는 경우가 종종 있다. 버전 확인을 제대로 하지 않고 추가 패키지를 설치하다가 고생하는 경우가 발생할 수 있기 때문에 간단하게 방법으로 파이썬 버전을 확인해 보는 것이 좋다. 특히 여러 개의 패키지를 사용하거나 연결되어있는 다양한 프로그램을 이용할 경우에는 특히나 하나의 잘못된 패키지 또는 프로그램 버전 설치로 인한 전체 세팅을 다시 해야 하는 골치 아픈 일이 생길 수 있기 때문이다. 필자도 급하게 프로그래밍을 마무리해서 제출해야 하는데 이런 일이 발생해서 욕이 나왔던 적이 있었다. CMD를 통한 python 버전 확인: python --version CMD에서 파이.. 2021. 7. 11.
[App Examples] 앱 페이지 연결과 이동하는 방법: 버튼을 활용한 페이지 연결, 이동 페이지 연결하기: 버튼을 활용한 페이지 연결 애플리케이션 개발에 있어서 페이지 이동은 기본적인 기능이다. 버튼을 통한 페이지 연결과 이동을 살펴보자. MainActivity.kt는 첫 번째 페이지를 의미한다. Page2.kt는 첫번째 페이지에서 버튼을 클릭하여 나오는 다음 페이지를 의미한다. import android.content.Intent import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super... 2021. 7. 11.
[Programming] Lexemes, Tokens Lexemes, Tokens Lexemes란? Lexemes이란 코드에 작성되고 사용되는 모든 문자열, 숫자, 기호 등을 의미한다. Tokens란? Tokens은 다양한 Lexemes에 대해서 카테고리로 묶어서 항목별로 분류해놓은 것을 의미한다. 아래의 예제를 통해 Lexemes와 Tokens에 관계에 대해서 살펴볼 수 있다. tNum = 5*num+20; Lexemes Tokens tNum identifier = equal sign 5 int literal * multiplication operator num identifier + addition operator 20 int literal ; semicolon 2021. 7. 10.
[Programming] Queue(큐): 선형 큐(Linear Queue), 원형 큐(Circular Queue) Queue(큐) Queue란? Queue(큐)는 Data Sturcutre(자료구조)의 한 종류로써 간단한 방식을 사용하지만 많이 사용되는 Data Sturcutre이다. 선입선출이라고 불리는 FIFO(First Input First Output) 방식을 사용하고 있기에 가장 먼저 들어온 데이터가 제일 먼저 내보내지는 방식을 보인다. 큐의 종류는 대표적으로 선형 큐와 원형 큐가 있으며, 두가지 방식 모두 FIFO 방식이지만 형태의 차이에 따른 기능적 차이가 있다. 따라서 상황에 따라서 선형 큐를 사용하는 것이 효율적일 수 있고 반대로 원형 큐를 사용하는 것이 프로그래밍에 효율적일 수 있다. Queue 용어 Queue를 프로그래밍에서 사용하기 위해서는 각 기능에 대한 용어가 어떤 것이 있는지 알아두는 것이.. 2021. 7. 8.
[HOO's Information] 무료로 프로그래밍 공부하는 방법: 고용노동부, 직업훈련 포털, 국민내일배움카드 무료로 프로그래밍 공부하는 방법: 고용노동부, 직업훈련 포털, 국민내일배움 카드 https://www.hrd.go.kr/hrdp/ma/pmmao/indexNew.do 직업훈련포털 HRD-Net 나에게 맞는 훈련과정은 어떤 것들이 있나요? 청년이 많이 찾는훈련과정은 어떤 것들이 있나요? 구직자가 많이 찾는훈련과정은 어떤 것들이 있나요? 재직자가 많이 찾는훈련과정은 어떤 것들이 www.hrd.go.kr 프로그래밍 공부를 혼자 하는 방법을 터득하거나 노력을 하지 않고는 꾸준히 지속하기가 어렵다. 또한 효율적인 공부 방법을 모르는 상태에서 혼자 프로그래밍 공부를 하기는 더더욱 어렵다. 물론 돈을 내고 학원에 가서 프로그래밍을 교육을 받을 순 있다. 최근에는 도대체 어디서 무엇을 들어야 할지 막막할 정도로 정말 .. 2021. 7. 6.
[Programming] 어셈블리 명령어(Assembly Instructions): SHL, SHR, SAL, SAR, ROL, ROR, RCL, RCR 어셈블리 명령어(Assembly Instructions): SHL, SHR, SAL, SAR, ROL, ROR, RCL, RCR 이번 포스트에서는 어셈블리 명령어 중에서도 bit의 이동(shift)을 통한 데이터 값의 변화를 주는 Instructions에 대해서 살펴보겠다. 표로 간략하게 각 Instructions의 기능을 알아보면 아래와 같다. SHL, Shift left 왼쪽으로 밀어(shift) 높은 bit를 내보내고 Carry Flag로 복사 낮은 bit쪽에 0을 더하여 채운다. SHR, Shift right 오른쪽으로 밀어 낮은 bit를 내보내고 Carry Flag로 복사 높은 bit 쪽에 0을 더하여 채운다. SAL, Shift arithmetic left SHL과 결과적으로 동일하다. 왼쪽으.. 2021. 7. 3.
[Programming] 어셈블리(Assembly) 용어 정리: EAX, EBX, ECX, ESI, EDI, ESP, EBP, INC, DEC, MOV 어셈블리(Assembly) D용어 정리: EAX, EBX, ECX, ESI, EDI, ESP, EBP, INC, DEC, MOV EAX, Extended Accumulator Register 산술 연산을 수행하며 결과값이 지정된 레지스터에 저장 ECX, Extended Counter Register 정해진 횟수에 맞춰 반복 작업 수행 ESI, Extended Source Index 복사된 데이터의 주소 저장 EDI, Extended Destination Index 데이터 복사시 목적지(Destination)에 대한 주소 저장 ESP, Extended Stack Stack의 끝 지점 주소, PUSH/POP, 4 Bytes EBP, Extended Base Pointer Stack의 시작 지점 주소, Sta.. 2021. 7. 3.
[Programming] FIFO Algorithm, FIFO와 QUEUE의 차이점 FIFO Algorithm FIFO란 First Input First Output의 줄임말로 한국에서는 선입선출로 알려져 있다. (필자는 FIFO라고 표현할 것이다.) FIFO는 말 그대로 제일 처음 입력된 데이터가 제일 처음으로 내보내진다라는 의미를 가지고 있다. 즉, 새로운 데이터가 저장되거나 입력되면 오래된 데이터를 내보내고 새로운 데이터가 저장되는 방식이 FIFO인 셈이다. FIFO에 대해서는 이번 포스트에서 처음 알게 된 BRO들도 있겠지만 사실 프로그래밍을 공부하다 보면 많이 접할 수 있는 기초 알고리즘 방식 중에 하나가 바로 FIFO이다. 그렇기에 어느 정도 BRO들이 대략적으로 FIFO에 대해서 알고 있지만 유의할 점이 있다. FIFO는 하나의 data structure가 아니라 data .. 2021. 6. 30.
[Programming] 어셈블리 코드 기본 세팅, assembly code settings 어셈블리 코드 기본 세팅 어셈블리 언어는 기계어보다 조금 더 High language에 속하는 언어이다. 그렇지만 일반적으로 사용하는 자바, 파이썬, C와 같은 High Level Language가 아닌 Low Level Language로써 기계어랑 똑같이 Low Level Language로 취급을 받는 언어이다. 어셈블리 언어를 사용해서 프로그래밍을 할때 기본적인 세팅 방법이 있다. C++에서 라이브러리와 메인 부분을 표시하듯이 어셈블리 코드에서도 기본적으로 포함해야될 기본 세팅 방식이 존재한다. 아래 코드는 어셈블리 언어를 기반으로 프로그래밍을 할때 사용할 수 있는 기본 세팅 방식이다. ;HOOAI .386 .model flat, stdcall .stack 4096 ExitProcess PROTO, .. 2021. 6. 27.
[HOO's Q&A] C++ 다음으로 어떤 프로그래밍 언어를 공부해야 할까요? Q: C++ 다음으로 어떤 프로그래밍 언어를 공부해야 할까요? 분야에 따라 사용하는 언어는 가지각색이다. 특히 4차 산업 시대에 들어서면서 다양한 분야에 SW가 활용되다 보니 분야와 상황에 맞는 프로그래밍 언어를 선택적으로 골라서 사용되고 있다. 물론 점차적으로 파이썬이 전반적인 분야에서 독식하는 형태를 보이는 건 사실이다. 워낙 사용하기가 편하다 보니 파이썬 언어 기반으로 사용하지 않던 분야에서도 파이썬을 기반으로 한 툴이 개발되고 있다. 프로그래밍 관련 학과 학부생이나 컴퓨터와 관련 없는 학부생이지만 전과를 하지 않고 프로그래밍을 배우는 학생들이 프로그래밍 언어에 대한 고민을 많이들 가진다. 위의 Bro도 C++ 언어를 학부때 배우고 자기 계발의 목적으로 다른 프로그래밍 언어를 공부하려고 한다고 필자.. 2021. 6. 19.
[HOO's Q&A] 컴퓨터공학과 학부 졸업 예정자인데 프로그래머랑 맞지 않는거 같아요. Q: 컴공과 학부 졸업 예정자인데 프로그래머랑 맞지 않는 거 같아요. 최근에는 초등학생들도 선택 수업에서 코딩을 배운다. 학교 수업에 없더라도 코딩 열풍으로 초등학생 자녀가 있다면 코딩 학원을 보내거나 과외를 시키는 경우가 많이 늘어나고 있다. 필자에게도 초등학생 프로그래밍 과외를 해줄 수 있냐는 문의가 자주 들어오는 편이다. 필자는 억지로 학원을 다니고 주입식 교육은 반대하지만 다양한 경험을 해봐야 한다는 건 인정하는 부분이다. 현재 컴퓨터 공학과 대학생이나 컴퓨터 공학 전공으로 대학교를 입학 예정인 학생들을 보면 지금의 초등학생들처럼 코딩 수업을 통해 프로그래밍에 대해서 경험을 해보지 못한 점이 안타깝다. 필자도 현재 학부생들처럼 프로그래밍을 경험하지 못하고 대학교에서 처음 접하게 되었기에 얼마나 경.. 2021. 6. 17.
[HOO's Q&A] 알고리즘 공부를 왜 해야 하나요? Q: 알고리즘 공부를 왜 해야 하나요? 프로그래밍 공부를 하거나 취업 준비하는 Bro들과 이야기를 나누다 보면 공통적으로 이야기하는 부분이 알고리즘이 어렵다는 것이다. 찬찬히 이야기를 나누다 보면 알고리즘이 어려운 이유는 알고리즘을 왜 공부해야 하는지 정확히 모르기 때문이다. 알고리즘 공부에 대한 필요성을 느끼지 못하다 보니 그다지 공부를 하기 싫게 느껴진다. 알고리즘을 모르고도 프로그래밍이 가능하다. 사실 알고리즘을 공부를 하지 않고도 프로그래밍을 할 수 있다. 특히 정형화된 프로그래밍일수록 사실 알고리즘을 모르고도 프로그램 개발을 하는데 당장의 지장은 없다. 실제로도 멘토링을 통해서 취업을 한 3년 차 이내 Bro들과 이직 멘토링을 하다 보면 알고리즘을 다 잊어버린 Bro들이 대부분이다. 솔직히 필자.. 2021. 6. 17.
[HOO's Q&A] 내년 졸업인데 취업 준비 어떻게 해야 할까요? Q: 컴퓨터 공학 전공으로 내년 졸업인데 취업 준비를 어떻게 해야 할까요? 프로그래머로 취업을 원하는 학부생의 경우 졸업이 다가오면 고민이 많아진다. 프로그래머라는 직업이 의외로 분야가 다양하고 각 분야에서 사용하는 언어, 툴, 프로그래밍 개발 방식 등이 다르다 보니, 어떻게 취업 준비를 해야 하는지 불안하고 조급해진다. 멘토링 과정에서 이 질문을 해준 Bro의 경우 자신이 가고자 하는 분야의 방향성은 정해졌지만 졸업이 다가오면서 불안함에 조급해서 뭐라도 더 해보고 싶은 마음이 컸다. #01 분야를 결정해라 앞서 이야기한바와 같이 질문을 한 Bro의 경우 자신이 일하고자 하는 분야가 정해진 친구였다. 자신의 어떤 분야에서 일을 할 것인지가 정해졌다면 그다음부터는 정하기가 수월하다. 왜냐하면 목표가 정해졌.. 2021. 6. 15.
[Java] UML Diagram이란? Unified Modeling Language Diagram UML이란? 프로그램 개발을 하다 보면 개발자 간의 소통의 수단으로 사용되는 것 중 하나가 UML Diagram이다. UML은 Unified Modeling Language의 줄임말로 한국말로는 통합 모델링 언어라고 부른다. Language라는 의미가 포함되었다는 것은 개발자 간의 생각을 공유하기 위한 수단으로 이용되는 것이라는 의미를 내포하고 있다. 그러니 UML 다이어그램은 개발한 코드에 대해서 생각의 공유가 쉽게 이루어지기 위한 시각적인 언어인 셈이다. UML Diagram의 종류와 표준 UML Diagram은 정말 다양한 종류가 존재한다. 수많은 종류와 방법 중에서 여러분의 팀이나 동료 개발자와 원하는 방식을 채택해서 사용하면 된다. U.. 2021. 6. 13.
[HOO's Q&A] MySQL과 SQL은 무슨 관계인가요? Q: MySQL과 SQL은 무슨 관계인가요? MySQL이 대중적으로 정말 많이 사용되는 툴이다 보니, MySQL과 SQL(Structured Query Language)를 동일시하거나 MySQL과 SQL에 대해서 혼란스러워하는 Bro들이 종종 있다. 두 개를 전혀 다른 툴로 이해하고 있거나, 마치 자바와 자바스크립트의 관계처럼 오해하기도 한다. 거두절미하고 얘기하자면 SQL은 Programming Language이고 MySQL은 Application, 필자가 그냥 통칭 부르는 툴이다. 필자는 여기서 뭐가 옳고 틀리고를 이야기하고 싶은 게 아니라 그만큼 MySQL를 많이 사용하기 때문에 DB 쪽 프로그래머뿐만 아니라 Web programmer라면 MySQL정도는 알고 있으면 정말 정말 좋다. SQL에 대해.. 2021. 6. 11.
[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.
728x90