[컴과] 프로그래밍 언어: 정의, 동작원리, 언어 패러다임, 종류, 구성요소
프로그래밍 언어란 프로그램은 컴퓨터의 명령어를 나열한 것이며, 프로그래밍 언어는 프로그램을 만드는 언어이다. 컴퓨터가 특정한 일을 수행할 수 있도록 컴퓨터와 소통하는 언어이다. 처음에는 컴퓨터가 이해할 수 있는 기계어로 시작되었지만, 점차 사용자가 쉽게 작성할 수 있도록 사용자 친화적인 언어가 탄생하게 되었다. 이러한 배경을 바탕으로 다시 정의하면, 프로그래밍 언어는 컴퓨터가 수행할 수 있고 동시에 사람이 읽을 수 있는 계산이라 할 수 있다. 프로그래밍 언어의 동작 원리 컴퓨터에게 일을 시키려면, 컴퓨터가 이해할 수 있는 언어인 기계어로 명령해야 한다. 기계어는 이진수 형태로 되어있는데, 이진수란 0과 1로 이루어진 것이다. 사람이 직접 0과 1로만 프로그램을 만들 수 없어, 어셈블리어가 등장하게 되었다..
2022. 11. 12.
[책리뷰] 플랫폼 레볼루션 - 4차 산업혁명 시대를 지배할 플랫폼 비즈니스의 모든 것
4차 산업혁명이라고 하면 인공지능, 클라우드 컴퓨팅, 빅데이터 등의 기술만 떠오르기 마련이지만, 그 기술을 비즈니스 모델로 구현하는 것은 플랫폼의 힘이라는 생각이 든다. 이 책은 B기업 PM의 추천 도서 중 하나였고, 플랫폼의 생태계에 대해 이해하기 위해 책을 읽게 되었다. 이 책은 플랫폼 정의부터 시작하여 아키텍처, 파괴적 혁신, 론칭, 수익창출, 개방성, 거버넌스, 경영지표, 경영전략, 규제정책 등에 대해 깊이 있는 내용을 다루고 있다. 플랫폼에 관련된 모든 것이라는 생각이 들 정도로 교과서 느낌의 책이었다. 아래는 책의 일부 내용을 발췌하여 읽기 편하게 다듬었다. 플랫폼은 외부 생산자와 소비자가 상호작용을 하면서 가치를 창출할 수 있게 해 주는 것에 기반을 둔 비즈니스이다. 사용자들끼리 꼭 맞는 상..
2022. 11. 10.
[책리뷰] IT 사용 설명서 - 5G부터 메타버스까지, 일상을 바꾸는 IT 상식
서점에서 IT관련 책을 찾다가 이 책을 발견했다. 표지에 쓰여있는 5G, 메타버스 등은 익숙한 용어들이지만, 정확히 어떤 뜻이고 우리 생활에서 어떻게 사용되는지는 잘 모르고 있었다. 책을 처음 접할 때는 IT 관련 용어 정리 정도로만 생각했었는데, 그보다 더 다양하고 깊은 내용이었다. 실생활에서 사용하는 간편결제, 스트리밍서비스 등 IT서비스들을 비롯하여 메타버스, 암호화폐, 클라우드, 전기차 등 다양한 분야의 사례를 소개하고 있다. 어떤 파트에는 비즈니스 모델도 소개하고 있어서 특정 도메인을 이해하는 데 도움이 되었다. 아래는 인상적인 부분을 발췌하여 일부 수정하였다. 이커머스는 오프라인보다 편리함을 제공하고, 기술혁신을 통해 고객 경험을 제공한다. 2000년대는 저렴한 가격, 2010년대는 편리한 검..
2022. 11. 10.
[책리뷰] 비전공자도 이해할 수 있는 AI 지식
신간도서와 베스트셀러를 보기 위해 서점에 방문했다가, 이 책을 알게 되었다. 나는 업무를 하면서 검색, 챗봇, 추천을 담당해봤던 적은 있다. 하지만 늘 업무의 겉만 알고 있다는 느낌이 들었고, 원리가 무엇인지 궁금했었다. 이 책은 인공지능, 알파고, 자율주행, 검색엔진, 스마트 스피커, 기계번역, 챗봇, 내비게이션, 추천 알고리즘이라는 9가지의 카테고리로 인공지능을 설명한다. 아래는 검색, 챗봇, 추천 관련 내용 중 일부이다. 쿼리에 딱 맞는 문서를 찾기 위해 유사도 점수를 사용한다. 쿼리가 문서 어디쯤에 위치하는가, 단어와 단어 사이의 간격은 어떠한가(근접도), 문서에 단어가 많이 출현하고 다른 문서에는 적게 출현하는가(TF-IDF 알고리즘)를 고려하여 점수를 매긴다. 챗봇은 문장 유사도 판별 알고리즘..
2022. 11. 6.
[책리뷰] Data-driven UX
이 책은 지인을 통해 알게 되었고, 서점에서도 강렬한 표지와 제목에 시선을 빼앗겼다. 이 책은 뷰저블을 만든 포그리트에서 출판한 책이다. 뷰저블은 요즘 많은 회사에서 사용하고 있다고 들었지만, 나는 Google Analytics만 사용해봤기 때문에 뷰저블을 다뤄보지 못한 아쉬움이 있었다. 책을 통해 데이터를 배울 수도 있고, 간접적으로 뷰저블을 접할 수 있다는 점에서 일석이조였다. 이 책은 데이터 분석 프로세스, 용어, 행동 분석 방법, 리포트 작성방법까지 어떤 데이터를 확인해야하고, 어떤 식으로 해석할 수 있으며, 어떻게 공유해야하는지 소개한다. 아래는 책의 내용 중 일부이다. 사용성이 상향 평준화되면서, 사용성을 넘어 새로운 가치를 창출해야 한다. 완벽한 서비스를 출시하는 데 시간을 들이기보다는, 불..
2022. 11. 6.
[책리뷰] 그림으로 이해하는 AWS 구조와 기술 - AWS, 쉽고 재미있게 시작하자!
예전에 프로젝트를 하다가 개발자분이 "그거 S3에 올려드리면 되죠?" 라고 말씀하시는 것을 들었다. S3를 검색하다보니, 아마존의 클라우드 컴퓨팅 서비스 중 하나라는 것을 알 수 있었다. 조금 더 알아보다가 이 책을 알게 되었고, 마침 익숙한 서비스가 아마존에서 제공하는 AWS(Amazon Web Service) 였기 때문에 읽게 되었다. 그리고 280쪽이고, 그림이 많아서 읽기가 편하다. 책은 EC2, S3, VPC, RDS를 비롯한 아마존의 AWS 서비스에 대해 소개하고 있다. 더불어 이를 이해하기 위한 기초 지식을 설명해주고 있고, 이 부분이 가장 도움이 많이 되었다. 아래는 책의 내용 중 일부이며, 읽기 편한 문장으로 다듬었다. 클라우드 컴퓨팅은 가상화 기술, 분산처리 기술을 이용하여 서버와 인프..
2022. 11. 5.
[컴과] JSP 프로그래밍: 개요, 동작원리, 구성요소, 쿠키, 세션, 자바빈, 데이터베이스 연결, DAO/DTO
웹의 구성 요소 웹은 위 그림과 같이 네 가지 요소로 구성된다. 1. 웹 브라우저(클라이언트)는 서버에 요청을 보내고 응답 결과를 출력한다. 2. 웹 서버는 클라이언트의 요청을 처리하고 결과를 전달한다. 클라이언트가 요청한 웹 문서를 찾아서 전달하는 역할 외에도 인증 처리, 문제가 있으면 정해진 코드로 응답 등도 수행한다. 3. 웹 애플리케이션 서버(WAS)는 서버의 성능 개선을 위해 웹서버의 기능을 분리한 것으로, 동적 페이지를 만들거나 비즈니스 로직(결과 만들기)을 처리한다. (엄밀히는 비즈니스 로직을 처리하는 것이 웹 컨테이너이며, 웹 컨테이너에 보안처리, 장애처리 등이 추가되면 웹 애플리케이션이라고 한다) 4. 데이터베이스는 웹 서비스 수행에 필요한 데이터를 저장하고 제공한다. Apache Tom..
2022. 11. 3.