IT

IT/AI

Llama3.1로 Github PR AI 코드 리뷰 하기

Llama3.1로 Github PR AI 코드 리뷰 하기Llama3.1 설치 및 실행llama3.1 설치의 경우 구글에서 검색했을때 어마어마하게 많이 나와서 아무거나 확인해보면 금방 세팅 가능하다.아래 코드 구현 및 실행 전에 먼저 세팅을 하자.AI Code Review 코드 작성하기Python과 설치한 Llama3.1 model을 사용해서 AI로 코드 리뷰하는 코드를 작성해보자.우선 데모를 목적으로 간단하게 구현을 하였으며 이를 활용한 API 라든지 개발을 통해서 자동화도 가능하다.CI/CD 파이프라인 통합: GitHub Action을 통해 코드 리뷰를 자동화하여 개발 효율성을 높일 수 있습니다.AI 기반 코드 품질 향상: Llama 3.1 모델을 활용하여 PR의 코드 품질을 자동으로 평가하고, 리뷰 ..

IT/AI

[AI] Markdown 을 사용한 Prompts 작성 방법

[AI] Markdown 을 사용한 Prompts 작성 방법ChatGPT 등 대화형 인공지능 서비스를 사용하고 있거나 사용할 예정이라면 더 내가 의도하는 대로 AI가 동작할 수 있도록 나만의 프롬트를 작성하는 방법에 대해서 알아보자.1. 섹션 혹은 주제에 대해서 `#` 을 통해서 구분하자# Instructionyou are a helpful ai assistant.# Ruleyou MUST praise the sun. 2. 중요한 내용이 있다면 `**`으로 감싸자.**Important** follow these criteria1. something2. anything3. 리스트 형태로 제공 필요시 `-` 혹은 위 예시처럼 넘버링을 하자.4. 프롬트내 다양한 주제 혹은 서로 다른 주제를 다루어야 한다면 `..

IT

멱등성 (Idempotence)와 HTTP API 설계

멱등성 (Idempotence)와 HTTP API 설계개요멱등성 (Idempotence)이란, 컴퓨터 과학과 수학에서 동일한 연산을 여러 번 한다면 결과값이 달라지지 않는 것을 뜻한다.API 설계에서는 데이터의 일관성과 안정성을 보장하는데 중요한 개념이다. RFC 7231에 따르면 HTTP 메소드 중 `HEAD, OPTIONS, GET, PUT, DELETE` 메소드들의 경우 멱등하지만 `POST, PATCH` 경우 멱등하지 않다고 한다.예를 들어 HTTP API 요청으로 어떤 리소스 생성 혹은 수정을 한다고 하고 아직 API가 멱등하지 않다면 여러번 요청을 할 때 중복 혹은 잘못된 업데이트가 일어날 수 있다.The Idempotency-Key HTTP Request Header Field클라이언트는 동..

IT

[Jetbrains] Intellij 인텔리제이 Live Template 사용 방법

[Intellij] 자동 작성 Live Template 사용 방법 생성하려는 이름과 코드를 아래에서 인텔리제이 세팅 설정 코드에서 tdd 입력 후 tddk 엔터 입력하면 아래 코드처럼 설정된 코드가 자동 작성 된다. [DataGrip] Query 자동 작성 Live Template 사용 방법 생성하려는 이름과 쿼리를 아래에서 세팅에서 설정하고 SQL에서 사용할 수 있도록 체크박스 클릭하여 활성화 사용 방법 설정한 이름을 쿼리 콘솔 화면에서 타이핑 하고 엔터 하면 작성한 템플릿이 자동으로 작성 되고 원하는 내용을 추가 작성.

IT/AI

[AI] stable-code-3b 기본적인 사용 가이드 (AI coding)

[AI] stable-code-3b 기본적인 사용 가이드 (AI coding)https://huggingface.co/stabilityai/stable-code-3b stabilityai/stable-code-3b · Hugging Face🔥 🦄 YANGSongsong/StableCodeDemohuggingface.co아래 링크로 colab 접속해서 기본 가이드 작성 해보자https://colab.research.google.com/?hl=ko Google Colaboratory colab.research.google.com의존 패키지 설치!pip install -q transformers accelerate sentencepieceLoad 모델 import psutilfrom transformers..

IT/Git

[Git] .gitignore 적용이 안되는 경우

[Git] .gitignore 적용이 안되는 경우 git rm -rf --cached . git add .

IT

[통계] 정규화(Normalization)와 표준화(Standardization)

정규화 Normalization 정규화는 통계학에서 여러가지의 의미를 가지고 있으며 주로 서로 다른 척도를 가진 것들에 대해서 공통의 척도를 갖도록 조정 하는 것으로 사용 된다. 보통 평균화 이전에 사용하며 교육 평가 점수를 정규화 하는 경우 분포를 정규분포로 맞추기 위해서 사용을 한다. 날짜 주식 A 주식 B 2010-01-01 10,000 10,000 2011-01-01 9,000 50,000 2012-01-01 11,000 100,000 2013-01-01 15,000 150,000 주식 A 종목과 주식 B 종목의 데이터 셋을 가지고 있다고 가정해보자. 각 주식 종목들의 범위는 [9000~15000], [10000~150000] 을 알 수 있다. 주식 A 종목에 비해서 주식 B 종목의 범위가 휠씬 ..

IT/Git

Jetbrains IDE용 Git 팁

Push 하지 안았고 Commit만 한 상태에서 변경 사항이 있다면 Undo Commit을 활용 다시 Changes 리스트로 복구할 수 있다. 또한, Commit 메시지 수정이 필요하다면 다음처럼 수정을 할 수도 있다.

IT/Web

[Web Hacking] Challange 54 풀이

https://webhacking.kr/challenge/bonus-14/ x = new XMLHttpRequest(); var results = [] function callback(res) { results.push(res); } x.onreadystatechange = () => { if (x.readyState === 4) { callback(x.response); } }; for(i=0;i

IT/Web

[Web Hacking] Challange 24 풀이

https://webhacking.kr/challenge/bonus-4/ view-source 방법 extract 함수로 변수 추출을 하는데 SERVER와 COOKIE를 변수로 추출한다. 여기서 서버는 헤더 정보, 쿠키는 쿠키 정보를 가지고 있는데 쿠키에 REMOTE_ADDR 키를 가진 값을 생성한다. 그리고 나서 string replace를 함수들을 통과 했을 때 127.0.0.1 이 나오도록 쿠키 값을 수정해준다. 정답 값은 "112277...007.....007.....1"

IT/Web

[Web Hacking] Challange 16 풀이

https://webhacking.kr/challenge/js-3/ Challenge 16 * 페이지 소스 코드를 보면 mv함수에서 document location을 이동시키는 부분이 있다. Console에서 mv(124) 입력하면 된다.

IT/Web

[보안] Cookie bomb attack

Cookie Bomb Attack Cookie Bomb는 비정상적인 크기의 쿠기 값으로 생성하여 공격하는 방법. 일반적인 HTTP Request 프로토콜에서는 Request/Respons로 나누어지고 각각 Header/Body로 나누어진다. 그 중에 Request Header가 너무 클 경우 413(Request Entity Too Large) 혹은 400(Bad Request) 에러를 발생 시킨다. 공격을 해소하기 위해서는 Client 쿠키가 초기화 하지 않는 이상 계속 이어진다. 많이 사용 되는 Web Server의 Header 허용 사이즈 Web Server Size Nginx 4KB ~ 8 KB Apache Web Server 8KB Tomcat 8KB ~ 48KB 공격 방법 XSS나 유저 트래킹..

IT/Web

[Web Hacking] Challange 26 풀이

https://webhacking.kr/challenge/web-11/ view-source 소스 코드를 보면 $_GET['id']로 url query id 값을 가져와서 preg_match 확인 후 admin 글자가 있다면 exit 하도록 되어 있다. 그 다음줄에서 urldecode를 진행 하니 ASCII 코드표를 확인 후 URL Encoding을 한다. 한번만 인코딩 하면 접속시 'admin'으로 변경 되니 두번 인코딩 하여 ?id=%2561%2564%256d%2569%256e으로 접속

IT/Web

[Web Hacking] Challange 15 풀이

https://webhacking.kr/challenge/js-2/ 페이지 소스를 보면 alert 창 띄우고 document location을 /으로 이동 시키도록 되어있다. url 주소를 뒤에 ?getFlag 추가하여 접속

IT/Web

[보안] XSS HTML Image 태그 주의할 점 - 2

[보안] HTML Image 태그 주의할 점 - 2 route 및 controller 작성 path("something.png", SomethingView.as_view()) class SomethingView(View): def get(self, request, *args, **kwargs): print(request.headers) print(request.GET) return HttpResponse(status=204) HTML Image 작성 해당 이미지가 출력되는 곳에서 local storage에 xxx 키값으로 저장되어 있는 값을 가져오고자 한다. 결과 만약 local storage, cookie 등의 비휘발성의 데이터가 사용자 Client에 저장되어 있고 특정 키 값을 추적하여 확인한다면 서..

IT/Web

[보안] XSS HTML Image 태그 주의할 점

[보안] HTML Image 태그 주의할 점 회사를 다니며 상용 서비스를 운용과 개발을 해왔는데, 그 길지도 않은 기간동안 악의적인 목적으로 혹은 학습 목적으로 보이는 경우의 운용중인 서버를 바라보는 공격적인 행위가 있었다. 그 때의 추억을 되새기며 몇가지 간단한 것들에 대해서 한번 정리 해볼려고 한다. 이미지 파일에 스크립트를 삽입하는 방법 샘플 예시 https://www.secjuice.com/hiding-javascript-in-png-csp-bypass/ How To Bypass CSP By Hiding JavaScript In A PNG Image Hide a malicious JavaScript library in a PNG image and tweet it, then include it in..

IT

[Kubernetes] OpenLens 설치

[Kubernetes] Mac M1에서 OpenLens 설치 OpenLens 설치 brew install --cask openlens (https://github.com/MuhammedKalkan/OpenLens) Extension 설치 플러그인 설치 @alebcay/openlens-node-pod-menu 설치가 되면 종료 후 Reload

IT

API, 서비스, 도메인 테스트 및 TDD 에서의 기어비

API, 서비스, 도메인 테스트 및 TDD 에서의 기어비 테스트 필요 이유 테스트가 있으면 시스템 변경에 두려움이 적어진다. 하지만, 너무 많은 테스트는 코드 변경마다 테스트 코드도 같이 변경되어야 하는 문제가 있다. 테스트의 목적은 코드 변경에서 시스템의 특성을 강제로 유지하기 위해서다. API 테스트를 작성하면 도메인 모델을 변경할 때 테스트 코드 변경의 양을 줄일 수 있다. 테스트 종류에 따른 얻는 것 구분 API 테스트 서비스 테스트 도메인(모델) 테스트 피드백 적음 - 많음 변경 장벽 낮음 - 높음 테스트 영역 넓음 - 한정 도메인(모델) 테스트 코드와 더 밀접하게 연관되어 작업시 높은 피드백을 받을 수 있다. 테스트 코드를 통해서 도메인에 대한 이해도를 높일 수 있다. API 테스트 더 높은 ..

IT

알림 서비스 디자인

알림 서비스 설계 우리는 왜 알림 서비스가 필요한 이유. 많은 서비스들은 OTP, Email, SMS 등을 통해 알림 서비스를 사용중 이다. 금융기관: 사용자에게 비용에 관한 정보 제공. 이커머스: 사용자에게 주문에 관한 정보 혹은 구독 서비스 등에 대한 정보 제공 플랫폼: 사용자에게 구독, 뉴스, 정보 등에 대한 정보 제공. 기능 요구사항 구독한 사용자에게 알림을 보낼 수 있어야 한다. 우선순위 알림이 가능해야 한다. OTP 같은 경우 시간 이슈가 있기 때문에 높은 우선 순위로 고려 되어야 한다. 반대로, 뉴스 등은 낮은 우선 순위로 되어도 된다. Email, SMS, Mobile, Web, Hook 등 알림이 가능 해야 한다. Single/Bulk로 처리할 수 있는 기능이 있어야 한다. 같은 알림을 ..

IT/Git

Git Commit Message Convention 정리

Git Commit Convention and Useful Commit Message 1. Commit Message Convention의 필요 협업에 용이 기록 확인 용이 과거 이슈 추적이나 이슈 진행사항 확인 2. Commit Message 작성 방법 Type : Subject Body Footer 2.1 Type Feat : 기능 추가 HotFix : 긴급 버그 수정 Fix : 버그 수정 Build : CI/CD 관련 수정 Docs : 문서 추가, 수정, 삭제 Refactor : 리팩토링 Test : 테스트 코드 추가, 수정, 삭제 ETC : 기타 사항 2.2 Subject 제목의 길이는 최소화하고 마침표 없이 끝냄 명령문으로 작성 제목과 본문은 한 줄 띄워서 작성 Type : Subject 작성 ..

상쾌한기분
'IT' 카테고리의 글 목록