본문 바로가기

IT122

리눅스에서 git diff를 GUI로 보는 법 - vscode, tkdiff, meld 사용법 github에서 개발을 하다 보면 diff를 봐야 하는 경우가 자주 있습니다. 거의 항상 diff는 확인하는데, vscode가 가장 많이 쓰이지만 눈에 보이는 측면에서는 조금 안 좋은 경우가 있습니다. 오늘은 git diff를 보는 방법 중 vscode, tkdiff, meld의 세 가지 GUI 툴을 이용해서 볼 수 있는 방법을 알아보겠습니다. Table Of Contents gitconfig를 이용하는 법 한 줄 명령으로 GUI diff 보는 법 vscode에서 git diff 보는 법 결론 gitconfig를 이용하는 법 리눅스에서 git diff를 GUI로 보는 방법은 여러 가지가 있습니다. 여기서는 tkdiff와 meld를 사용하는 방법에 대해 설명하겠습니다. tkdiff를 사용하는 방법 먼저, .. 2024. 2. 21.
우분투 Linux에서 meld 설치하기 리눅스에서는 diff 툴 중 meld라는 gui 툴을 종종 사용합니다. meld에 대해 간략히 알아보고 우분투에서 meld를 설치하는 법에 대해서 알아보겠습니다. Table Of Contents meld란? 우분투에서 meld 설치하기 meld란? Meld는 파일, 디렉토리, 버전 제어 프로젝트를 비교하는 데 도움이 되는 시각적인 diff 및 merge 도구입니다. 주요 기능은 다음과 같습니다. 파일 및 디렉토리 비교: 두 개 또는 세 개의 파일 또는 디렉토리를 비교할 수 있습니다. 버전 제어 시스템 지원: 많은 인기 있는 버전 제어 시스템을 지원합니다. 코드 리뷰 및 패치 이해: 코드 변경 사항을 검토하고 패치를 이해하는 데 도움이 됩니다. 폴더 비교: 폴더 간에 누락되거나 수정된 파일을 식별하고 관리.. 2024. 2. 21.
python(파이썬) DBMS 접근하기 - pyodbc 설치 및 사용법, 접속 및 SQL 수행 파이썬을 이용해서 DBMS에 접근하는 편리한 인터페이스 중 pyodbc라는 라이브러리가 있습니다. 오늘은 이 pyodbc에 대해서 알아보도록 하겠습니다. Table Of Contents 1. pyodbc란? 2. pyodbc 설치방법 3. pyodbc로 DBMS 연결하기 1. pyodbc 패키지를 import합니다. 2. 연결에 필요한 자격 증명을 변수로 생성합니다. 3. 문자열을 서로 연결하여 사용하여 연결 문자열(connection string) 변수를 생성합니다. 4. pyodbc.connect 함수를 사용하여 SQL 데이터베이스에 연결합니다. 4. SQL 실행하기 1. SQL 쿼리 문자열을 위한 변수를 생성합니다. 2. cursor.execute를 사용하여 데이터베이스에 대한 쿼리에서 result.. 2024. 2. 20.
Google 스프레드시트의 프로젝트 일정(WBS) 작성하기 - ProjectSheet planning 확장프로그램 사용법 다양한 프로젝트를 할 때 일정을 잡기 마련입니다. 일정을 잡을 때 WBS(Work Breakdown Structure)와 Gantt 차트를 많이 사용합니다. 그런데, 요즘은 구글 스프레드 시트도 많이 사용중이라, 구글 스프레드시트에서 간단하게 간트차트를 보고 WBS를 작성할 수 없을까 하다가 알게 된 확장 프로그램입니다. 매우 간편하게 사용할 수 있어서 소개해 드립니다. Table Of Contents 프로젝트 시트 플래닝(ProjectSheet planning) 이란? 확장 프로그램 설치 및 사용 ProjectSheet planning 기본 기능소개 작업 분석 구조(WBS) 만들기 일정 만들기 간트 차트 표시 진행률 추적 프로젝트 시트 플래닝의 Free 버전과 Pro 버전 차이 프로젝트 시트 플래닝(P.. 2024. 2. 20.
DBMS 성능 테스트 모델 TPC-C의 성능 측정 기준 및 방법 - NoSQL, RDBMS DBMS와 NoSQL의 성능을 비교해보고자 TPC-C 성능테스트를 진행중입니다. 그런데, 테스트를 수행하고 나니, 성능측정 결과를 어떻게 해석해야할지 모르겠습니다. 오늘은 TPC-C의 성능 측정 메트릭에 대해서 알아보고 무엇을 기준으로 해야하는지 알아보겠습니다. Table Of ContentsTPC-C에 대한 사전지식성능 측정 결과 분석을 위한 기본 자료 용어 정의에뮬레이트된 사용자의 트랜잭션 속도처리량 계산하기 - Computation of Throughput Rating TPC-C에 대한 사전지식 먼저 TPC-C에 대해서 지식이 없는 분은 다음 링크에서 TPC-C에 대한 사전 지식을 익히고 오시는 것이 좋습니다. 그래야 이해가 가능할 것 같습니다. DBMS 성능 테스트 모델 TPC-C에 대해서 성능 .. 2024. 2. 19.
DBMS 성능 테스트 모델 TPC-C에 대해서 - Altibase, Mariadb, MySQL, Oracle, NoSQL 등 트랜잭션 처리 성능 위원회(TPC)는 트랜잭션 처리 시스템의 성능과 가격 대비 성능을 측정하는 벤치마크 시리즈 중 세 번째 벤치마크 입니다. 오늘은 TPC-C의 개요에 대해서 알아보고 어떤 것인지 그리고 스펙 문서 공유 및 링크도 정리해 보았습니다. Table Of Contents TPC-C 벤치마크 개요 - 주문 입력 벤치마크 벤치마크 모델(The Benchmark Model) 시나리오 OLTP 기능 및 복잡도 - More OLTP Features and Complexity 성능 측정 - A Measure of Business Throughput TPC-C 스펙 문서 다운로드 TPC-C 벤치마크 개요 - 주문 입력 벤치마크 TPC의 첫 번째 벤치마크인 TPC-A와 마찬가지로 새로운 TPC 벤치마크 C,.. 2024. 2. 19.
python으로 Altibase DBMS 성능 테스트 하기 - py-tpcc로 altibase tpcc 테스트하는 법 일반 dbms를 사용중인데, 성능이 문제가 되는 경우가 발생하였습니다. 그런데, NoSQL 종류의 DBMS들과 비교를 해 보고 싶어서 온라인 OLTP 트랜잭션 성능을 측정하는 tpcc 테스트를 통해 비교하고 싶었습니다. 그런데, NoSQL류와 mariaDB나 altibase와 같은 일반 DBMS를 비교할 수 있는 것을 찾아보다가 py-tpcc를 알게되었습니다. 오늘은 py-tpcc로 altibase dbms의 성능을 측정하는 방법을 알아보겠습니다. Table Of Contents py-tpcc란? py-tpcc로 Altibase 성능 측정을 위한 사전 준비 Altibase 성능 측정을 위한 py-tpcc 소스코드 다운로드 py-tpcc로 Altibase 성능 테스트 pytppc로 altibase 테스트 .. 2024. 2. 16.
구글(Google) AI 제미나이(Gemini) 사용기 - 바드에서 바뀌었어요 오늘은 구글에서 내놓은 AI인 바드의 후속작인 제미나이에 대해서 알아보려고 합니다. 제미나이는 구글에서 멀티모달이 가능한 생성형 AI로 많은 홍보를 하였습니다. 하지만, 여전히 챗지피티(chatGPT)에 밀려서 인기를 끌고 있지는 못한 것 같습니다. Table Of Contents 구글 바드(Bard) VS 챗지피티(chatGPT) 제미나이(Gemini)의 특징 제미나이(Gemini)에게 멀티모달 질문하기 구글 바드(Bard) VS 챗지피티(chatGPT) 사실 저도 이전에 구글의 바드를 사용해 보고 챗지피티와 구글 바드를 비교해 보았는데, 이전 버전은 확실히 챗지피티의 "승"이었습니다. 저는 개발을 하고 있어서 개발 문제를 동일하게 챗지피티와 구글 바드에게 시켰는데, 챗지피티만 정답을 내 주었고, 바드.. 2024. 2. 15.
python으로 NoSQL tpcc 성능 테스트 하는 법- OLTP, TPC-C mongodb는 database는 아니지만, tpcc와 유사한 애플리케이션을 동작할 수 있습니다. 그래서, 이를 테스트해보기 위해 py-tpcc라는 python 오픈소스 코드를 사용해서 OLTP() 성능을 비교해 볼 수 있습니다.Table Of ContentsOLTP 란?TPCC 란?py-tpcc 오픈소스py-tpcc 몽고디비(MongoDB) 테스트OLTP 란?OLTP는 "Online Transaction Processing"의 약어입니다. 이는 데이터베이스 관리 시스템의 한 유형으로, 대량의 짧고 빠른 트랜잭션을 처리하는 데 최적화되어 있습니다. 이러한 트랜잭션은 일반적으로 데이터베이스의 작은 부분에만 영향을 미치며, 각 트랜잭션은 독립적으로 실행됩니다. OLTP 시스템은 일반적으로 실시간 비즈니스 트.. 2024. 2. 14.
파이썬 가상환경(venv)이란?- 생성, 활성화, 비활성화, 삭제하는 방법 venv는 파이썬의 가상 환경을 생성하고 관리하는 모듈입니다. 가상 환경은 특정 프로젝트에 필요한 파이썬 버전과 패키지를 격리된 환경에서 관리할 수 있게 해줍니다. 이를 통해 서로 다른 프로젝트에서 서로 다른 파이썬 버전이나 패키지를 사용할 수 있습니다. Table Of Contents 가상 환경 생성 가상 환경 활성화 및 비 활성화 가상 환경 삭제 가상 환경 생성 파이썬의 가상환경은 3버전 이상에서는 기본으로 설치되어있으므로 바로 사용할 수 있습니다. 가상 환경을 생성하기 위해서는 아래 명령을 수행하면 됩니다. ubuntu@instance-20230810-1409:~$ python3 -m venv /path/to/new/virtual/environment 위의 명령어를 실행하면 지정한 경로에 새로운 가.. 2024. 2. 13.
Anaconda를 우분투 리눅스(ubuntu linux)에서 삭제하는 방법 python 가상환경 구성을 위해 Anaconda를 사용했었습니다. 패키지 관리가 편리하다고 생각했었는데요, 이제는 그냥 docker에 관리를 하는 것이 낫겠다고 생각하여 Anaconda를 삭제하게 되었습니다. 오늘은 Anaconda를 우분투 리눅스에서 삭제하는 방법을 알아보도록 하겠습니다. Table Of Contents 1. anaconda-clean 설치 2. anaconda-clean으로 삭제하기 3. bashrc 수정하기 1. anaconda-clean 설치 Anaconda를 삭제하는 것은 anaconda-clean을 설치후 해당 명령어로 삭제하게 됩니다. 먼저 conda install을 이용해서 anaconda-clean을 설치합니다. 중간에 Proceed를 물어보면 y를 누르고 엔터를입력합니.. 2024. 2. 13.
GDB로 파이썬 buffer overflow detected(segmentation fault) 디버깅 하는 방법 파이썬 코드를 작성 중에 buffer overflow로 core dump가 발생합니다. 파이썬에서 발생하는 문제 같지는 않고, 사용중인 ODBC 라이브러리에서 문제가 발생하는 것으로 보입니다. 오늘은 파이썬에서 C/C++ 라이브러리를 디버깅 하는 법을 알아보겠습니다. Table Of Contents 라이브러리 에러 발생 gdb를 이용한 파이썬 디버깅 라이브러리 에러 발생 unixodbc를 이용해서 odbc library를 통해서 db에 접근하는 간단한 프로그램을 테스트 중입니다. 그런데, db library에서 아래와같은 에러로 죽어버립니다. unixodbc의 trace로깅을 켜 놓았는데도 문제를 찾을 수가 없습니다. *** buffer overflow detected ***: terminated Abo.. 2024. 2. 13.