본문 바로가기
728x90

Computer Science327

[Computer Vision] R-CNN vs Fast R-CNN vs YOLO R-CNN vs Fast R-CNN vs YOLO 포스트 난이도: HOO_Senior # Object detection algorithms 현재 기준으로 Object detection의 세 가지 주요 알고리즘을 뽑으라고 한다면 R-CNN, Fast R-CNN 그리고 YOLO를 말할 수 있다. 사실상 Object detection에 있어서 가장 많이 사용되고 있으며 그중에서도 개인적으로 가장 선호하는 YOLO의 경우는 v8 버전이 새롭게 나오면서 그동안의 문제점으로 이야기해 온 작은 사이즈의 그리드 구분이 점차적으로 해결되고 있다. 그럼에도 우리는 Object detection을 다룰 때 세 가지 알고리즘을 모두 다 고려하여 머신러닝을 돌리고 있다. 그 이유인즉슨 각 알고리즘의 장단점이 각기 다르기 때문이.. 2023. 10. 31.
[Error Codes] IndentationError: unexpected indent IndentationError: unexpected indent # IndentationError: unexpected indent Indentation error의 경우는 파이썬에서 종종 나타나는 에러로써 들여 쓰기를 잘못해서 나타나는 간단하지만 짜증 나는 에러이다. 파이썬은 다른 프로그래밍 언어들처럼 브래킷이라고 불리는 괄호를 함수마다 사용하지 않고 있기 때문에 들여 쓰기가 그 역할을 대신해주고 있다. 편리한 반면에 가끔씩 들여 쓰기가 잘못되어 있을 때 긴 코드를 하나하나 살펴야 돼서 귀찮기도 하다. 그래도 신경을 많이 써야 하는 에러와 달리 들여 쓰기만 고쳐주면 되기 때문에 간단하게 수정이 가능하다. 아래의 Figure 1을 보면 들여 쓰기 에러가 어떻게 나타나는지 알 수 있다. 해당 라인의 코드의.. 2023. 10. 29.
[Computer Vision] Data Augmentation (데이터 증강) Data Augmentation (데이터 증강) 포스트 난이도: HOO_Senior # Data augmentation이란 무엇인가요? 한국말로 데이터 증강이라고 불리는 Data augmentation은 쉽게 말해서 부족한 데이터 수를 반강제적으로 늘려주는 역할을 의미한다. 우리가 일반적으로 테스트 데이터가 부족하면 학습데이터에서 가져오지만 학습 데이터 자체가 부족해지면 결국 데이터를 더 수집하고 가공해줘야 한다. 이럴 때 데이터를 새롭게 수집하는 게 가장 기본적인 방법이지만 현실적으로 원시 데이터의 추가적인 수집과 가공 과정 자체가 어려울 수 있다. 이런 경우 우리는 Data augmentation 통해 데이터의 수를 마치 원래부터 많았던 것처럼 늘려주는 것이다. Data augmentation를 반강.. 2023. 10. 28.
[Data Science] 엑셀에서 데이터 분석하기 (Data Analysis on Excel) 엑셀에서 데이터 분석하기 (Data Analysis on Excel) 포스트 난이도: HOO_Middle # Data analysis 글쓴이 이전 세대의 데이터 분석가라면 당연히 엑셀을 다룰 줄 알아야 했고 엑셀만 잘 다뤄도 6 digits 연봉을 받을 수 있었다. 지금도 엑셀로 간단한 데이터 분석과 통계 작업이 가능하지만 워낙 파이썬이나 R과 같이 작업할 수 있는 방법들이 다양해지고 편리하게 제공되다 보니 엑셀이 점점 등한시되고 있다. 그럼에도 데이터를 다루는 데이터 관련 개발자뿐만 아니라 모델링을 하는 엔지니어라면 엑셀 데이터 분석 기능 정도는 기본적으로 잘 다룰 수 있어야 한다. 이 포스트를 읽는 브로들의 경우에는 이미 데이터 사이언스 분야에 대한 지식이 있다는 가정하에 기능적인 방법에 대해서만 간.. 2023. 10. 26.
[Computer Vision] 공개형 학습 데이터셋: 로보플로우 (Roboflow) 퍼블릭 학습 데이터셋: 로보플로우 (Roboflow) 포스트 난이도: HOO_Middle # 로보플로우(Roboflow) 욜로 (YOLO)를 다뤄본 적이 있는 브로라면 로보플로우 (Roboflow)에 대해서 많이 들어봤을 것이고 실제로 기본 예제로 제공해 주는 coco 라이브러리라든지 로보플로우에서 공개되어 있는 데이터셋을 사용해 본 적이 있을 것이다. 로보플로우는 컴퓨터 비전(Computer vision)의 개발과 데이터의 관리에 있어서 편리성을 제공해 주는 도구이자 하나의 데이터셋 플랫폼이다. 이미지 데이터 작업을 하는 데 있어서 기본적인 데이터셋을 제공해 줄 뿐만 아니라 라벨링 작업을 하는 것도 아이콘화된 도구들을 활용해서 쉽게 데이터 가공이 가능하다. 무엇보다 글쓴이가 좋아하는 부분은 사용할 개발.. 2023. 10. 25.
[AI & ML Examples] Computer Vision Calibration: Normalized Points 예제코드 Computer Vision Calibration: Normalized Points 예제코드 포스트 난이도: HOO_Senior # Example Code 이번 포스트에서는 Computer vision에서 Normalized points에 대한 값을 구하기 위해서 Calibration이 어떻게 이루어지는지 살펴볼 수 있다. 아래의 예제코드를 보면 2 dimensional과 3 dimensional에 해당하는 포인트 값들이 homogeneous과정을 거치고 svd를 통해서 Normalized point에 대한 "M" 값이 구해지는 과정을 볼 수 있다. 여기서 꼭 svd function 말고도 lstsq () funciton을 사용해서도 Normalized 된 M을 산출해 낼 수 있다. 또한 산출된 resi.. 2023. 10. 13.
[Data Science] 데이터 캘리브레이션 (Data Calibration) 데이터 캘리브레이션 (Data Calibration) 포스트 난이도: HOO_Middle # Data calibration 데이터 교정이라고도 불리는 Data calibration은 데이터를 다루는 대부분의 분야에서 한번 정도는 들어본 적이 있을 것이다. 캘리브레이션에 대한 의미를 찾아보면 "교정"이라는 뜻을 가지고 있고 하드웨어 쪽에서는 오차를 교정하는 과정을 캘리브레이션이라고 부르기도 한다. 데이터 사이언스 (Data science)에서도 결과를 교정한다는 점에서 비슷한 의미를 가졌지만 사실상 "표준화"에 더 가까운 의미를 가지고 있는 것이 데이터 사이언스에서의 캘리브레이션이다. 따라서 데이터 사이언티스트에게는 데이터를 어떻게 캘리브레이션에서 표준화하여 생성 및 수집해 내는지도 정말 중요한 요소 중에.. 2023. 10. 12.
[AI / Computer Vision] Singular Value Decomposition (SVD) Singular Value Decomposition (SVD) 포스트 난이도: HOO_Middle # Computer vision에서의 SVD Computer vision에서의 Singular Value Decomposition (SVD)는 결과를 산출해 내기 위한 기본적인 매트릭스 계산 방법이다. 눈으로 보이는 물체를 우리는 이미지나 영상으로 담아냈고 이것을 컴퓨터가 분석하거나 인지하게 만들기 위해서는 픽셀 단위로 살펴봐야 한다. 이때 엄청난 픽셀의 수를 계산하고 분석하는 데 있어 간단하게 만들어줄 수 있는 아주 기초적인 방법이 바로 SVD인 셈이다. 그래서 우리는 SVD를 통해서 Data reduction, Fast fourier transform, Tailored에서 발생되는 특정 문제들을 해결할 .. 2023. 10. 9.
[Error Codes] 홈브류 설치가 안될때, -bash: brew: command not found -bash: brew: command not found # 홈브류 설치 에러 글쓴이는 가격이 다소 비싸더라도 한국 제품을 이용하는 젊은 꼰대이기 때문에 개발자임에도 불구하고 윈도우 기반 삼성이나 엘지 제품만을 사용해 왔었다. 일을 하는 곳에서 개발용 노트북 (Laptop) 지원을 해주었고 약 2년째 맥북 프로를 사용하고 있지만 아직도 나에게 있어 애증의 관계이다. 아무튼 이번 포스트에서는 글쓴이도 겪었던 홈브류 설치 에러를 해결하는 방법에 대해서 공유해볼까 한다. 또한 오류에 대한 질문과 이에 대한 포스팅이 많아지는 관계로 "Error Codes"라는 별도의 카테고리를 만들었다. 이전 포스트와 앞으로의 에러 관련 포스트들은 해당 카테고리에서 확인할 수 있으니 참고하길 바란다. 추가로 카테고리명이 너무 촌.. 2023. 9. 24.
[AI / Computer Vision] 매트릭스(Matrix)가 컴퓨터 비전 (Computer vision)에서 중요한 이유 매트릭스(Matrix)가 컴퓨터 비전 (Computer vision)에서 중요한 이유 포스트 난이도: HOO_Middle # Computer vision이 빠르게 적용될 수 있었던 이유 Computerr vision (컴퓨터 비전)에 대한 역사는 의외로 오랫동안 연구와 개발이 지속적으로 이루어지고 있었다. 다만 우리가 현재 YOLO와 같이 AI (인공지능) 프로그램을 활용한 사물 인식 방법을 대중적으로 사용하기 시작한 시점은 얼마 되지 않았다. 짧은 시간에 인공지능을 활용한 컴퓨터 비전의 발전 속도가 빠르게 진행될 수 있었던 원인 중 하나는 이미 이전부터 이미지 센싱을 비롯하여 이미지를 데이터로 변환하여 어떻게 활용할 수 있을지에 대한 연구와 고민을 꾸준히 해왔기 때문이라고 본다. 그중에 대표적인 요소 .. 2023. 9. 10.
[Data Science] Soft System Methodology (연성체계 방법론) Soft System Methodology (연성체계 방법론) 포스트 난이도: HOO_Senior # Soft System Methodology (SSM) 한국에서는 연성체계 방법론이라고 불리는 Soft System Methodology (SSM)의 경우 문제점을 이해하고 분석해야 하는 과학 분야에서 많이 사용하는 기초 분석 방법론이다. 데이터 사이언스 (Data science)에서도 SSM이 필요한 이유는 사실상 공학과 과학을 모두 다루는 분야이기 때문이다. 데이터 사이언스에는 크게 데이터 분석, 엔지니어, 사이언스 등으로 나뉘는데, 데이터 사이언스의 경우 분석과 엔지니어링을 모두 포함한 상태에서 문제 원인과 앞으로 예측까지를 모두 해낼 수 있어야 하기에 SSM과 같은 방법론을 다룰 줄 알아야 한다. .. 2023. 9. 1.
[Data Science] 데이터 사이언스가 쓸모 없는 이유 데이터 사이언스가 쓸모없는 이유 포스트 난이도: HOO_Senior # 데이터 사이언스는 쓸모가 없다 글쓴이가 개인적인 견해를 가지고 하는 말이 아니라 데이터 사이언스, 통계, 모델링 시스템 등의 분야에 있는 과학자들이 하는 말 중에 하나가 데이터 사이언스는 쓸모가 없다는 말이다. 20세기 위대한 통계학자로 불린 영국의 조지 박스 (George E. P. Box)는 "데이터 기반 모델링 시스템은 다 쓸모가 없다, 다만 몇 개는 쓸만하다."라는 말을 남겼다. 데이터 사이언티스트인 글쓴이에게는 정말 충격적인 말이었기에 아직까지도 기억에 남고 아마 이 포스트를 보러 들어온 다른 데이터 사이언스 분야 컴퓨터쟁이들에게도 꽤 신선한 충격일 수 있다. # 데이터 기반 모델링은 현실이 될 수 없다. 솔직히 처음 글쓴이.. 2023. 8. 24.
[Data Science] 경기데이터드림: 경기도 AI 학습용 공공 데이터 칭찬해요! 경기데이터드림: 경기도 AI 학습용 공공 데이터 칭찬해요! # AI 학습용 공공데이터 데이터 사이언스 (Data science) 분야의 개발자를 꿈꾸는 학생들이나 데이터 분석을 통한 연구를 해야 하는 한국 박사생들에게 있어 학습용 데이터셋을 수집하고 가공하는 과정은 너무나도 귀찮고 힘들다. 라벨링 작업 자체나 데이터셋 파일을 만드는 것 자체가 귀찮은 건 어쩔 수 없다고 치지만 데이터 자체를 구하는 게 쉽지 않다. 회사에서 개발자의 경우에는 실무에서 경험을 쌓을 수 있다고는 하지만 개별적으로 본인 공부나 연습을 하고 싶은 개발자들도 무료 데이터셋을 찾아서 사용해 보는 게여간 쉽지 않은 일이다. 글쓴이를 포함하여 많은 데이터 사이언스 분야의 개발자들은 캐글 (Kaggle)이나 로보플로우 (Roboflow)처.. 2023. 8. 23.
[Python/VSCode/Macbook] ModuleNotFoundError: No module named ModuleNotFoundError: No module named 포스트 난이도: HOO_Junior # 모듈을 설치했는데도 에러가 발생하는 경우 Visual Studio Code에서 파이썬으로 코딩을 하려고 할 때 ModuleNotFoundError: No module named 라는 에러가 발생한다면, 모듈이 제대로 설치가 되었는지부터를 확인하는 것이 좋다. pip install을 통해서 모듈이 제대로 설치가 되었음에도 위와 같이 지속적으로 모듈을 찾을 수 없다는 메시지가 뜬다면 Python interpreter path가 제대로 지정되어 있지 않는 경우일 수 있으니 경로 지정만 해준다면 문제없이 모듈 사용이 가능하다. 이게 무슨 말이냐면 특정 폴더에 이미 각 모듈에 대한 정보가 설치되어 있지만 VS.. 2023. 8. 21.
[Blockchain] 토큰 없이 작동하는 허가형 블록체인 토큰 없이 작동하는 허가형 블록체인 포스트 난이도: HOO_Senior # Non-token Pulic blockchain 블록체인은 토큰, 즉 암호화 화폐 없이도 작동이 가능하다는 걸 알고 있다. 대표적으로 Permission이나 Private blockchain의 경우 암호화 화폐보다는 블록체인의 분산 원장 기능 자체를 집중하다 보니 별도의 토큰 거래가 이루어지지 않는다. 한마디로 Blockchain as a Service (BaaS)에 집중하여 토큰 거래 없는 블록체인 기능을 산업에 활용하는 방식인데, 한국이나 중국과 같이 가상화폐의 이슈가 사회적으로 있는 경우에는 블록체인 기반 가상화폐의 인식이 좋지 못해 블록체인을 활용하는 것에 부정적인 경우가 있다. 이러한 이유로 가상화폐를 제외한 블록체인 기.. 2023. 8. 16.
[Data Science / Colab] FileNotFoundError: 'config.yaml' does not exist FileNotFoundError: 'config.yaml' does not exist 포스트 난이도: HOO_Middle # FileNotFoundError: 'config.yaml' does not exist FileNotFoundError: 'config.yaml' does not exist 이런 에러 메시지가 나왔다는 것은 모델링 학습하는 과정에서 yaml 파일 경로를 찾지 못할 경우이다. 로컬 환경에서는 별도의 경로에 대한 변수를 지정해서 설정해 주지만 코랩이나 주피터와 같이 온라인에서 작업을 할 경우에는 경로 지정을 하지 않아도 알아서 찾아주기 때문에 특정 경로를 넣어주지 않는다. 하지만 이러한 에러가 발생한다면 경로를 입력해 줌으로써 간단하게 문제 해결이 가능하다. from ultralytic.. 2023. 8. 9.
[AI/Computer Vision] 커스텀 데이터셋으로 사물 분석하기 #01 (Object Detection by Custom Dataset) 커스텀 데이터셋으로 사물 분석하기 (Object Detection by Custom Dataset) 포스트 난이도: HOO_Senior # 커스텀 데이터셋 (Custom Dataset) 이전 포스트에서 코코 데이터셋을 활용해서 간단한 Obejct detection을 해보았다. 코코 데이터셋은 욜로에서 제공하는 기본 데이터셋으로써 욜로를 학습하는 데에도 활용되었던 데이터셋에 해당된다. 예를 들자면 우리가 파이썬을 사용한다고 가정했을 때 별도의 모듈 설치 없이도 기본적으로 사용이 가능한 기능들이 있는 것처럼 욜로를 사용하는 데 있어서도 코코 데이터셋으로 학습된 라벨링의 경우에는 이미지 디텍팅이 바로 가능하다. 아래의 링크를 참고하면 해당 포스트를 살펴볼 수 있다. https://whoishoo.tistory.. 2023. 8. 8.
[Data Science/Colab/Jupyter] 코랩, 주피터에서 압축 푸는 방법: torch, zipfile, patool 코랩, 주피터에서 압축 푸는 방법 포스트 난이도: HOO_Middle # 데이터 폴더 압축 풀기 vscode에서 작업을 해야 하는데 자꾸 사이드 프로젝트만 하면 코랩이나 주피터에서 하는 게 습관이 되어 버렸다. 그렇다 보니 실제 연구할 때에도 코랩을 같이 켜놓고 작업하는 습관이 생겨버렸다. 아무튼 이번 포스트에서는 학습시키고 테스트를 하기 위해서 데이터셋의 압축을 풀어줘야 하는데 이때 대표적으로 많이 사용하는 Unzip 방법 3가지에 대해서 살펴보도록 하자. 거두절미하고 그냥 냅다 사용하면 된다. # torch, !unzip 사실상 가장 많이 사용하는 방법 중 하나가 torch 모듈에서 unzip 기능을 사용하는 것이다. 데이터 분석 과정에서 어차피 파이토치를 사용할 거라면 굳이 다른 모듈을 사용할 필요.. 2023. 8. 3.
[Data Science/Colab] 코랩에서 압축 에러 발생할 경우 해결 방법: End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directo.. 코랩에서 압축 에러 발생할 경우 해결 방법: End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive. unzip: cannot find zipfile directory in one of # End-of-central-directory signature not found. Either this file is not a zipfile.. 2023. 8. 3.
[AI / Computer Vison / Object Detection] COCO Dataset으로 간단한 Object Detection 해보기 COCO dataset으로 간단한 object detection 해보기 포스트 난이도: HOO_Middle # COCO Dataset COCO는 Common objects in context의 줄임말로 YOLO와 같이 computer vision의 효율성 향상을 위해서 만들어진 오픈형 데이터셋이다. 쉽게 생각해서 Google의 Open images dataset을 생각하면 된다. 우리가 사용하고 있는 computer vision 모델들은 Train과 Test, 학습과 테스트 과정을 위해서 특정한 데이터셋이 필요하다. 이러한 데이터셋을 기본값으로 사용하고 있는 것이 바로 코코 (COCO)인 셈이다. 따라서 YOLO에서는 특정한 이미지를 가지고 라벨링 학습 없이도 코코 데이터셋에서 제공된 라벨링의 경우에는 .. 2023. 7. 27.
[AI / Computer Vision] YOLOv8 맛보기 후기 YOLOv8 맛보기 후기 포스트 난이도: HOO_Senior # 단일 이미지 분석으로 YOLOv8과 이전 버전 비교 결국 도저히 참을 수 없어서 빠르게 급한 일부터 끝내놓고 YOLOv8 맛을 한번 봐 보았다. 이번 페이퍼 작업을 빠르게 끝낸 뒤에 여유 있을 때 사이드 프로젝트에 들어가기 전에 미리 맛을 보기 위해 YOLOv8을 colab 기반에서 살펴보았다. 일단 거두절미하고 글쓴이 프사에 있는 사진은 아마 v5인가 v6인가 가물가물하지만 암튼 YOLO 이전 버전인 건 확실하다. 왜냐하면 데이터 분석하는 과정에서 답답해서 놀던 시기였기에 프로젝트 이후에 해당하니 얼추 맞는 것 같다. %pip install ultralytics import ultralytics ultralytics.checks() 우선 .. 2023. 7. 27.
[AI / Computer Vision] YOLOv8 (욜로v8) YOLOv8 (욜로v8) 포스트 난이도: HOO_Senior # 2023년 1월에 공식적으로 공개된 YOLOv8 이번에 글쓴이가 학회를 다녀오면서 가장 크게 느낀 점이 Computer vision (컴퓨터 비전)에 대한 연구 및 개발이 정말 놀라울 정도로 많이 차지하고 있었다는 것이다. 글쓴이가 처음 computer vision을 했던 시기는 (라떼는 말이야) open cv나 YOLO 완전 초창기 버전이 막 나와서 대박이라고 외쳤었는데 어느샌가 많은 개발자 브로들이 computer vision을 다루고 있어서 새삼스럽게 눈물이 살짝 고였다. 물론 분야나 학회마다 특성이 달라서 그럴 수도 있지만 인공지능 분야에 있어서도 컴퓨터 비전에 대한 활용이 매우 많아졌다. 심지어 최근에는 NLP(Natural Lan.. 2023. 7. 22.
[Web] 배경 이미지 크기 조정하기, background-size 배경 이미지 크기 조정하기, background-size 포스트 난이도: HOO_Middle # backgorund-size 링크를 통해서 배경 이미지를 가져온다면 사이즈마다 조정이 필요할 수 있다. 특히 원래 목적이 배경 이미지로 사용하기 위한 이미지가 아닌 로고와 같이 다른 용도의 이미지인 경우에는 사이즈 조정을 해줘야 그나마 봐줄만하다. 글쓴이처럼 웹 전문가가 아닌 이상 일일이 사이즈 조정이 귀찮기 때문에 cover나 contain 기능을 사용하면 쉽게 자동 조정이 된다. 그래도 나름 사이드 프로젝트 느낌도 나고 어쩌다가 웹을 건드려야할 때에는 왠지 모르게 신이 나는 건 글쓴이 또한 어쩔 수 없는 개발쟁이인가 보다. .bgimg { background-position: center; backgrou.. 2023. 7. 21.
[Blockchain] 인터넷과 블록체인 네트워크의 차이점 인터넷과 블록체인 네트워크의 차이점 포스트 난이도: HOO_Middle # 정보화 시대에서 데이터 경제 시대로의 전환 우리는 인터넷 (Internet)을 마치 하나의 고유명사처럼 당연하게 여기며 사용하고 있다. 그만큼 인터넷의 파워가 전 세계적으로 대단하며 새로운 하나의 패러다임이었다는 것을 증명하는 셈이다. 사실상 인터넷은 컴퓨터 네트워크 통신망 중에서도 인터넷 프로토콜 스위트를 기반으로 한 네트워크 통신망을 나타낸다. 마치 인터넷이 그저 하나의 동일한 네트워크인 것처럼 보이지만 인터넷이라고 불리는 방식을 통틀어서 우리는 인터넷이라고 부르는 것이다. 이러한 인터넷 방식은 전 세계적으로 데이터를 공유하는데 가장 큰 역할을 담당했고 지금도 데이터를 공유하는데 있어서 우리는 인터넷을 활용한다. 데이터와 정.. 2023. 7. 20.
[Data Science] 데이터 소유권이 왜 필요한가요? 데이터 소유권이 왜 필요한가요? # 데이터 소유권, Data Ownership 우리가 일반적으로 재산에 대한 권리라고 하면 유형의 물체에 대한 권리를 의미한다. 한마디로 눈에 보이는 물체에 대해서 소유권을 주장해 왔다면 4차 산업 시대가 도래하고 나서는 불과 몇 년 사이에 무형의 가치인 디지털 재산에 대해서 소유권을 주장하고 디지털 재화에 대해서 가치를 인정하고 있다. 이 포스트를 처음 작성했던 2020년도만 하더라도 데이터 소유권에 대해서 이제 막 관심을 가지던 시기였는데 3년 사이에 많은 사람들이 디지털 가치에 대해서 인정하고 받아들이는 걸 보고 있으면 데이터 사이언티스트로써 감회가 새로울 만큼 우리 사회는 가상의 가치에 대해서 이미 받아들이고 인정하고 있었다. 다시 본론으로 돌아와서 데이터 소유권은.. 2023. 7. 18.
[Computer Science] Full Stack SaaS Platform이란 Full Stack SaaS Platform이란 포스트 난이도: HOO_Middle # Software as a Service Platform Software as a Service (SaaS) platform은 소프트웨어로 구성된 서비스를 의미한다. 소프트웨어 서비스 중에서도 플랫폼 역할을 할 수 있는 인터넷이라고 불리는 네트워크 망을 통해서 서비스를 제공해 주는 형태이다. 그러면 마치 우리 로컬 컴퓨터에 설치되어 있는 응용 프로그램과 똑같은 게 아닌가라는 생각이 들 수가 있는데 가장 큰 차이점은 네트워크를 통해서 서비스가 제공되다는 점이다. 네트워크를 통해서 서비스가 제공되기 때문에 로컬에 설치되어 있는 응용 프로그램처럼 로컬 환경에 해당 서비스를 이용하는데 필요한 데이터를 별도로 저장할 필요가 없다.. 2023. 7. 7.
[Computer Science] 사물인터넷 (IoT)이 뭔가요? Q: IoT가 뭔가요? # Internet of Things, 사물인터넷 컴퓨터 공학을 전공으로 하고 있는 새내기 브로가 컴퓨터 분야에 대해서 질문을 하던 중에 물어봤던 질문이 바로 IoT가 뭐냐는 말이었다. Internet of things (IoT), 한국말로는 사물인터넷이라고 부르는데, 컴공과 브로라면 당연히 한 번쯤이라면 들어봤을 것이다. 사실 이 질문을 했던 브로 역시도 사물인터넷이 뭔지는 들어봤지만 이해가 잘 되지 않았기에 글쓴이에게 물어본 것이다. 사물인터넷은 쉽고 간단하게 말하자면 모든 사물에 초소형 컴퓨터 칩을 넣어서 인터넷으로 연결시킨다는 것을 의미한다. 우리가 컴퓨터에 사용하는 Central process unit (CPU)가 있다면 사물인터넷 각 디바이스에는 Micro-contro.. 2023. 7. 6.
[AI In Agriculture] 스마트팜에서 AI가 하는 역할이 무엇인가요?(How AI Is Transforming Agriculture) 스마트팜에서 AI가 하는 역할이 무엇인가요? Q: 스마트팜에서 AI가 하는 역할이 무엇인가요? # Smart farming, Smart agriculture이란? 국내에서는 스마트팜 (Smart farm)이라고 부르고 있지만 글로벌하게는 스마트 농업 (Smart agriculture)라고 불리고 있는 새로운 방식의 농업 시스템은 현재 전반적인 농업 프로세스의 변화를 주고 있다. 사실 5년 전까지만 해도 스마트 팜에 대한 전반적인 지식이나 기술이 부족하였고 국가 연구 단계일 뿐 실질적인 활용이 되는 사례는 많지 않았다. 하지만 4차 산업 시대와 더불어 SW 기술의 발달과 기후 변화와 코로나 바이러스로 인해 농업 분야의 생산량이 급격히 감소되는 영향으로 농업의 스마트화가 빠른 속도로 진행 중이다. 그렇다 보.. 2023. 7. 2.
[Computer Science] 첫 직장으로 SI 업체에 가지 말아야 하나요? 첫 직장으로 SI 업체에 가지 말아야 하나요? # System Integrator (SI) 업체란? System Integrator (SI)는 시스템에 대한 전반적인 개발, 유지 보수 또는 시스템 통합 개발 서비스를 제공하는 걸 의미한다. 대부분의 산업이 이를 줄여서 SI라고 부르며 유명 대기업 업체뿐만 아니라 SI 업무만 주요 사업으로 하는 많은 중소 IT 기업들이 있다. SI 기업은 전문적으로 특정 분야의 업무를 하기보다는 고객이 원하는 상품(시스템)에 따라서 개발 업무를 수행한다. 예를 들어서 은행에서 고객들이 사용할 금융 서비스 앱이나 웹페이지를 만드는 데 있어 개발자를 상시 채용하여 배치해 둘 수가 없다. 또한 개발자를 채용하더라도 개발자에 대한 업무 지시를 전문적으로 하려면 별도의 담당 부서를.. 2023. 6. 15.
[Computer Science] 주니어 개발자로 성장하기 위해서는 자기객관화가 되어야한다 주니어 개발자로 성장하기 위해서는 자기 객관화가 되어야 한다 # 자기 객관화와 메타인지 (Metacognition) 최근에 어떤 분야이든 일을 하는 데 있어서 성공하기 위해서는 메타인지 (Metacognition), 한국 말로는 상위인지가 되어야 한다는 말을 한다. 한마디로 내가 생각하는 관점에서 보다 고차원적인 생각을 하고 판단을 해야 한다는 말이고 오랜만에 한국에 왔더니 한국 개발자 브로들도 글쓴이에게 했던 말 중에 하나이다. 물론 메타인지까지가 되면 좋겠지만 주니어 개발자까지는 사실상 메타인지도 아닌 자기 객관화 정도만 잘 된다면 충분히 다음 단계인 미들급 개발자나 시니어급 개발자로 빠르게 성장할 수가 있다. # 주니어 개발자일 때 자기 객관화가 필요한 이유 정말 놀랍게도 미들급 개발자 정도가 되면.. 2023. 6. 14.
728x90