전체 글 179

알고리즘 - 빅오 표기법 (Big-O notation)

알고리즘에 관하여 공부하다 보면 효율성을 계산해야 할 때가 많습니다. 어떻게 짜야지 속도가 더 빠른가 이런 부분으로 계산하는 데 자주 사용되는 방법인 빅오 표기법에 대하여 설명하고자 합니다. 빅오 표기법(Big-O notation)출처 : https://www.amazon.com빅오(Big-O) 표기법은 알고리즘의 시간 복잡도나 공간 복잡도를 표현할 때 표기하는 방법입니다. 일반적으로 최악의 경우 성능을 평가합니다. 이를 통해 알고리즘이 얼마나 많은 시간 혹은 메모리를 사용할지를 나타냅니다. 빅오 표기법을 통하여 효율성을 비교하고 알고리즘의 성능이 어떻게 변하는지 예측할 수 있습니다.시간 복잡도(Time Complexity) - 알고리즘의 입력에 따른 작업을 완료하는데 소요되는 시간공간 복잡도(Space..

Linux (7) - 파일을 실행하고 종료하는 방법

그동안 콘솔로 작업을 하는 경우에 파일을 실행시키거나 여러 개의 업무가 있는 경우에 백그라운드로 실행하는 방식으로 업무를 진행하였습니다. 일반적으로는 상관이 없었으나 큰 파일을 작업하는 등 작업에서 자주 실행 중간에 끊깁니다. 해당 문제를 해결하는 방법을 알아보려고 합니다. 리눅스 프로그램 실행./example.sh./example.sh A우선 일반적으로 자신의 위치에서 파일명을 입력하면 실행됩니다. argument가 있는 경우에는 오른쪽에 추가하면됩니다.  백그라운드 실행./example.sh &백그라운드 프로세스는 사용자가 직접 간섭하지 않아도 뒤에서 실행하도록 하는 방법입니다. 주로 로그 처리, 시스템 모니터링 스케줄링 등 다양한 작업에서 사용됩니다. 일반적으로 터미널에서 프로그램을 실행시키면, 프..

컴퓨터/Linux 2024.09.01

Llama - 로컬에서 생성형 AI를 돌려보자 (GPT4ALL)

GPT를 사용할 때 모델은 MS의 데이터센터에 있고 해당 모델을 불러오는 방식으로 사용하였으나 로컬에서 생성형 AI를 돌리는 방법이 있다는 것을 발견하였고 여러 분야에서 응용이 가능할 것으로 보여 사용을 해보려고 합니다. LlamaLlama(Large Language Model Meta AI)는 Meta에서 개발한 대형 언어 모델로 자연어 처리와 생성 작업에서 우수한 성능을 발휘합니다. 여러 버전으로 출시되었으며 각 버전 모델의 크기와 성능이 다릅니다. Llama 모델은 오픈소스로 이루어져 있으며 7억 명이 넘는 사용자가 있는 경우에는 Meta와 협의 후 사용해야 합니다. Llama 3.1은 매개변수에 따라 8B, 70B, 405B로 세 가지 모델을 가지고 있으며 다음과 같은 특징을 가집니다.Llama ..

컴퓨터/기타 2024.08.27

Python (25) - 원주율(π)을 구해보자

우리가 도형에 대하여 계산이 필요한 경우 특히 원이나 포물선 등 곡선과 연관되면 원주율을 마주하게 됩니다. 파이썬에서 다양하게 원주율을 출력하는 방법들을 적어보려고 합니다. 1. 모듈을 이용하는 방법 (math, numpy)import mathv_pi = math.piprint(v_pi) #3.141592653589793import numpy as npv_pi = np.piprint(v_pi) #3.141592653589793먼저 파이썬에 있는 모듈을 이용하는 방법입니다. 두 모듈은 수학 관련으로 자주 사용되는 모듈로 π가 상수로 저장되어 있습니다. 일반적인 수치 계산에서 충분하게 사용할 수 있습니다. 2. 수학적 공식을 이용하는 방법2-1. 라이프니츠 급수 이용하는 방법이미지 출처 : 위키피디아π를 직..

컴퓨터/Python 2024.08.15

git (5) - 임시로 이력을 저장하자 (stash)

git을 이용하여 기존 작업을 하면서 여러 개의 브랜치를 왔다 갔다 하다 보면 파일이 overwritten 되었다는 오류가 발생합니다.error: Your local changes to the following files would be overwritten by checkout이런 경우에 commit을 하여 이력을 생성하거나 stash를 이용하여 임시로 이력을 저장해야 합니다. 임시로 파일 이력을 저장한다면 해당 오류를 해결할 수 있습니다. git stashgit stashgit stash는 파일의 변경 이력을 임시로 저장하는 명령어입니다. 개발하던중 다른 브랜치에 있는 버그를 고쳐야 하는 경우와 같이 작업이 여러 개가 필요한 경우 git stash를 이용하여 현재 변경한 모든 코드를 일시적으로 저장할..

컴퓨터/git 2024.08.05

시내버스 여행기 - 이천~김천 시내버스 국토종주 실패기

직장에서 방학이 되었고 힐링하면서 주변 경치를 둘러보고 싶어 시내버스만으로 여행을 갔다 왔습니다. 현재 저는 이천에서 거주 중이며 이에 따라 이천에서 출발하려고 합니다. 버스노선 요약출발일시 : 2024년 7월 28일 (일)노선경로탑승시간도착시간용인 103마장면사무소 - 지산리조트 입구 경희마트06:33 06:42용인 101청강문화산업대학교 - 백암터미널07:5508:07용인 10-1백암터미널 - 죽산시외버스터미널08:2008:50안성 37죽산시외버스터미널 - 죽산삼거리08:5508:58안성 17죽산삼거리 - 광혜원09:4410:00진천 790(농어촌)광혜원 공영버스터미널 - 진천군청10:28 10:57청주 711신양4차 - 청주성모병원11:1711:59청주 712청주성모병원 - 분평우체국12:0612:..

Windows - KMODE_EXCEPTION_NOT_HANDLED 해결

회사에서 컴퓨터가 고장 났다고 연락이 와서 확인을 해봤더니 다음과 같은 오류가 나왔습니다.KMODE_EXCEPTION_NOT_HANDLEDkmode_exceptoion_not_handle 에러는 커널 모드 프로그램이 예외를 발생하였으나 처리하지 못한 경우 블루스크린으로서 발생합니다. 해당 오류는 드라이버, 하드웨어, 손상된 시스템 파일등 다양한 이유로 발생합니다. 컴퓨터 프로그램 간의 충돌로 일어나는 경우도 있고 악성코드 등으로 필요한 파일의 훼손 등으로 발생할 수도 있습니다. 또한 램 연결 과정에서의 오류로 발생하는 것도 확인하였습니다.  해결 방법오류 원인이 원인인 만큼 제 방법이 100% 대응한다고 볼 수 없을 것 같습니다. 수리 대상 컴퓨터는 바이러스 감염으로 오류가 발생하였고, 시작 프로그램이나..

컴퓨터/Windows 2024.07.27

일상 - 4년 넘게 사용중인 아이폰 12 미니 리뷰

제가 스마트폰을 살 때 원하는 기준이 간단하지만, 만족하는 스마트폰이 거의 없었습니다. 아이폰7을 5년 정도 사용하다가 망가졌습니다. 당시 스마트폰을 바꾸기 위해 선택한 기준은 다음과 같습니다.작은 사이즈의 스마트폰일 것플래그십 시리즈일 것아래 두 가지의 이유로 스마트폰을 바꾸었습니다. 2020년 기준으로 최신 폰인 아이폰12 미니로 바꾸었습니다.  Mini 한 사이즈 및 사양먼저 제가 사용하는 아이폰 12 미니의 사양은 다음과 같습니다.프로세서APPLE A14 RAM4GB용량64GB, 128GB, 256GB디스플레이5.4인치 2340 x 1080카메라전면 : 1200만 화소(후면)기본 : 1200만 화소, OIS지원 26mm~35mm광각 : 1200만 화소, OIS지원 120도배터리리튬 이온 2,227..

일상 2024.07.13

git (4) - commit 혹은 push된 내용을 되돌려 보자(reset, revert)

git를 이용하여 형상 관리를 하던 중 업체 측에서 소스코드를 날려 push 상태를 이전으로 돌려야 한 적이 있습니다. 이런 상황을 해결하기 위한 방법을 알아보겠습니다. 본격적인 설명에 앞서 간단하게 설명하면 다음과 같습니다.reset : 이전 시점의 commit 내역으로 branch를 되돌린다.revert : 과거로 가겠다는 이력을 남기고 commit 내역으로 돌아간다. Reset#git reset#특정 commit 상태로 HEAD이동한다. commit 하기 전 상태로 돌린다.git reset --soft [commit hash]#특정 commit 상태로 HEAD와 인덱스를 이동한다. 파일은 수정한 상태로 남는다git reset --mixed [commit hash] #특정 coomit 상태로 이전 상..

컴퓨터/git 2024.07.11

일상 - 정보처리기사 자격증 합격후기 (전공자&직장인 시점)

그동안 직장에 적응한다는 핑계로 제대로 공부를 안 하다 여러 번 낙방을 하게 되었습니다. 그리하여 마지막 시험의 시간이 되었습니다. 퇴근 후 매일 공부하여 자격증을 취득하였습니다.※ 시작하기 전 저는 전공자이며 해당 업무를 수행하고 있는 직장인입니다. 필기우선 필기에 합격한 지 오래되어 마이페이지로 나오지 않네요. 그래도 시험면제에서 나와 공유합니다. 2022년에 필기를 취득했고 필기시험 당시에는 CBT가 아니라 종이로 시험을 쳤습니다. 제가 시험을 공부한 방법이 종이 시험과 달라 제가 취득했던 방법이 조금 다를 수 있다고 생각합니다.필기의 과목은 다음과 같습니다.소프트웨어 설계소프트웨어 개발데이터베이스 구축프로그래밍 언어 활용정보시스템 구축 관리필기 과목 같은 경우에는 데이터베이스 구축과 프로그래밍 언..

일상 2024.06.29