전체 글 46

리눅스 기본 명령어

오늘은 리눅스에서 공통적으로 사용되는 기본적인 명령어들에 대해서 적어보려고 한다. 특별히 리눅스 명령어는 컴퓨터와 관련된 직종에 종사하는 모든 사람들에게 기본이 되는 것이기 때문에 아주 중요하다고 할 수 있다. 1. 디렉토리 이동 $ cd /the/target/path change directory의 약자다. 이동을 하는 기본적인 수단이라고 생각하면 된다. 2. 현재 있는 디렉토리 $ pwd /where/I/am 3. 명령어 관련한 검색 man $ man 이 명령어는 알아두면 편한 것이, 혹시 어떤 명령어에 대해서 그 인자들을 모르거나 사용법을 좀 알고 싶을때, man을 이용해서 어떤 역할을 하는지 설명을 읽어볼 수 있다. 4. 파일 만들기 $ touch touch를 통해서 원하는 파일을 만들 수 있다...

Linux 2024.04.21

데이터 분석가가 되려면

데이터 분석가라는 직군에 대한 수요가 증가하고 있다. 이유는 데이터 산업에 대한 수요가 증가세에 있고, 그만큼 데이터가 모든 산업 전반에 전산화 작업이 진행되고 있으며 그 속도는 가속화될 여지만 있을 뿐 줄어들 전망은 희박하기 때문이다. 출처 : IDC 위의 그림에서 나타나듯이 데이터 분석가에 대한 수요는 앞으로도 증가할 것이고, 시장에서도 데이터를 분석해달라는 요구가 지속적으로 증가할 것으로 보인다. 데이터 분석가 직군의 전망이 좋다는 것을 알았다면, 어떻게 데이터 분석가가 될 수 있을까? 데이터 분석가 업무 데이터 분석가가 되기 위한 준비를 하기에 앞서서 먼저 데이터 분석가의 업무에 대해서 살펴보도록 하자. 1. 데이터 가공/수집 및 데이터 분석 2. 미래 예측 3. 솔루션 제공 4차 산업과 관련된 ..

Opinion 2024.04.04

[Python Error] - log 관리하는 법

프로그래밍을 하다보면 늘 error를 맞딱드리게 되는데 이를 해결하는 방법을 알아야 한다. 먼저, 필요한 것은 에러를 기록하고 관리하는 것인데 이를 로깅이라고 한다. 이를 위해 파이썬 자체에서 제공하는 logging API가 있다. 이를 활용해서 logging을 해볼 수 있다. import logging logging.basicConfig(format='%(levelname)s:%(message)s', level=logging.DEBUG, filelog="mylog.log", filemode="w") 위에서 보는 것을 설명해보자. format : log가 작성될때 시간과 메시지를 나타내는 포맷팅 방법이다. 다level : level은 log가 기록되는 차원을 말하는데, DEBUG, INFO 등이 있다. ..

python(파이썬) 2024.04.03

트럼프 vs 바이든 : 미국 동부에서 바라본 2024 미국 대선

유학생으로서 나는 미국의 대통령이 바이든이 되었으면 좋겠다는 생각을 많이 한다. 내 생각엔 사람이 참 자신의 처지나 입장에 따라 지지하는 사람이 달라지고, 사상도 달라질 수 있다는게 내 자신이 줏대가 없는 사람처럼 느껴지면서도 그냥 이런저런 핑계로 스스로를 합리화할 때가 많이 있다. 미국 대선은 누구의 승리로 끝이 날까? 이제 곧 2025년과 그 이후 4년간 미국이라는 거대한 나라와 세계의 역사를 이끌어갈 결정이 내려진다. 한국인으로서 우리는 누가 미국 대통령이 되길 바라야 할까? 트럼프? 바이든? 사람마다 입장차가 있기 때문에 바라보는 관점도 달라진다. 내가 사는 지역에는 대부분 히스패닉 계통의 사람들이 굉장히 많이 있다. 물론 백인/흑인들도 많이 있지만. 동양인들도 더러 보게 된다. 하지만 내가 미국..

Scribble 2024.04.03

인공지능 발전 전망에 대해서

글 시작 전에 아직 실력 부족한 CS 박사생임을 밝힌다. 그것도 학부 전공도 CS 출신이 아니라는 점도 밝힌다. 의료에 몸을 담다가 임상은 영 내 영역이 아닌 거 같다는 생각이 자꾸 드는 바람에 뛰쳐나와 여러 우여곡절 끝에 의료정보학을 석사로 하고, 전산과학(Computer Science)을 박사로 하게 되었다. 현재 인기가 좋고 전망이 좋다는 자연어처리를 연구하고 공부하고 있다. 특별히 과거에 조금이나마 연이 있던 의료쪽에 도움이 되고 분야의 융합에 조금이나마 도움이 되고자 의료 영역에서의 자연어처리 연구를 하고 있다. 요새 Nvidia 주가도 좋고, 인공지능과 연결고리가 있는 분야들이 높은 기대감과 함께 주식이 상승세에 놓이게 되는 것을 많이 보게 된다. 그럴만하다. 나는 이세돌이 알파고에게 진 것에..

Opinion 2024.04.02

리눅스/윈도우에서 PATH(경로) 설정하는 법

프로그래밍을 시작하다보면 어디선가 굉장히 낯선 용어가 등장할 때가 많이 있다. 바로 PATH라는 것인데, 이것을 설정하라고 혹은 설정하지 않았다는 둥 이런저런 혼란을 야기하는 알쏭달쏭한 용어다. 이번 포스팅에서는 PATH의 정의를 알아보고, 특별히 LINUX에서 PATH를 설정하는 방법에 대해서 알아보고, 추가적으로 WINDOWS에서도 PATH를 설정하는 법을 간단하게 알아보도록 하자. **만일 그냥 사용법만 알고 싶다면 아래로 스크롤 하세요!** PATH의 역할 및 기능 PATH라는 것은 한국어로 번역하면 "경로"라고 한다. PATH는 시스템 환경변수 중 하나다. 차근차근 설명해보도록 하자. 먼저, 변수라고 하는 것은 저장되어 있는 값이라는 것이고, 시스템 환경변수라고 할때에는 시스템 전체에서, 특별히..

Linux 2024.04.02

[알고리즘] - Dynamic Programming (DP)

오늘은 알고리즘 중에서 중요한 DP에 대해서 알아보도록 하자. 정의 DP란 memory table를 활용한 재귀 연산이라고 할 수 있다. 그렇다면 재귀 연산이란 무엇일까? Recursive Operation이라고도 하는데, 이 알고리즘은 반복하여 계산하는 것과 같다. 이전 포스팅의 Divide and Conquer를 생각해보면, 거기서도 재귀를 사용했었다. 그렇다면 재귀 연산의 간단한 예시를 보도록 하자. 피보나치 수열은 다음과 같이 정의된다. $A_{n+2} = A_{n+1} + A_{n}$ where $A_1 = 1, A_2 = 1$ 그렇다면 $A(n)$을 구하는데 어떻게 알고리즘을 설계할까? 바로 재귀를 이용해 다음과 같이 설계한다. Fib(n) if n == 1 or n == 2 : return ..

[알고리즘] - Divide and Conquer

오늘은 알고리즘에서 말하는 divide and conquer 개념에 대해서 알아보자. Dynamic Programming을 들어가기 앞서서 알아두어야 할 문제해결 방법론이다. Divide and Conquer란 무엇인가? 바로, 주어진 문제를 여러 개의 단위로 쪼개서 해결한 뒤 해결된 것들을 합쳐서 최종적인 output을 낸다는 아이디어다. 그렇다면 여기서 해야 할 것은 무언인가? 바로, 독립적으로 해결 가능한 subproblem을 정의하고 optimal substructure를 정의하는 것이다. 독립적으로 해결 가능한 subproblem이라 함은 주어진 문제를 쪼갰을 때, 그 쪼갠 두 문제가 서로 독립적이어야 한다는 것이다. 그래야 서로 영향을 주지 않고, 두 문제 모두 해결하여 그 output을 합쳤..

[알고리즘] - Big O (O) notation의 의미

오늘은 간단히 컴퓨터 과학 분야에서 흔히 사용되는 Big O notation의 의미를 얘기해보고자 한다. Big O notation이 사용되는 대상은 알고리즘에 대한 것이다. 어떤 알고리즘의 복잡도(complexity)가 얼마나 되느냐고 묻는 것과 같다. 조금 더 세분화해서 들어가면 복잡도는 1) 계산 복잡도, 2) 저장 복잡도로 얘기가 되기도 한다. 하지만 여기서는 그냥 계산 복잡도를 얘기하도록 하겠다. 어차피 계산 방식은 같기 때문에 Big O가 어떻게 계산되는지 알면 세분화된 내용들은 자동적으로 이해된다. Big O notation은 알고리즘의 복잡도를 설명할 때 사용되는 방식인데, 일단 2가지 방식으로 설명해보련다. 첫번째는 쉬운 방법으로 이해하면, Big O notation은 일종의 어림잡은 복..

arch linux 업데이트 하는 방법 / arch linux 업데이트 명령어

오늘은 내가 개인적으로 데스크탑 환경으로 이용하고 있는 arch linux에 대해서 짧게 글을 적어보련다. Linux 컴퓨터는 때때로 업데이트를 해주는게 좋다. 물론 어떤 배포판이냐에 따라 조금 사정이 달라질 수 있지만, 대부분은 업데이트를 할 것을 권고하고 있다. 가장 잘 알려진 배포판인 Ubuntu인 경우 apt라는 명령어를 통해서 업데이트를 한다. 아래처럼 Ubuntu에서 업데이트 및 업그레이드 할 경우 sudo apt-get update sudo apt upgrade​ 좀 짜잘한 부분이긴한데 알아두면 좋은 게 apt는 앱 패키지 관리자이다. 이 프로그램을 통해서 시스템에 설치되어 있는 여러 라이브러리들을 가장 최신 버전을 업데이트 해주고, 실제 updgrade 명령어를 통해서 업데이트된 버전을 설..

Linux 2024.01.01