Java - String compare
·
Dev/공부
Q. 다음 코드의 결과물은?public class Test { public static void main(String[] args) { String str1 = "Hello"; String str2 = new String("Hello"); String str3 = "Hello"; System.out.println(str1 == str2); System.out.println(str1 == str3); System.out.println(str1.equals(str2)); }}정답눌러서 열기1. str1 == str2 → falsenew String()으로 생성하면 항상 새로운 객체가 힙 메모리에 생성되므로 참조값이 다르기 ..
[하루 1시간] LangGraph로 스스로 평가하는 프롬프트 강화기 만들기
·
Dev
개발에 앞서...LangGraph ?State 형태로 프로세스를 구성할 수 있는 LangGraph를 발견... 이걸로 뭘 할 수 있을까?원래는 Tools를 나열하고 프롬프팅으로 서브그래프를 만들고 수평적으로 확장하는게 일반적인 사용법 같다.하지만 연습용이기 때문에 간단하지만 쓸만한, 그리고 생각해본걸 구현하려 한다.Prompt 강화기?시스템 프롬프트는 생각보다 매우 강력한 역할을 한다. 유저가 악의적인 목적을 갖지 못하게 할 수도 있으며,출력 포멧에 대한 제한을 둘 수도 있고, 말투나 정책, 역할 등을 강력하게 제한 할 수 있다.하지만 LLM은 중간 과정이 블랙박스이기 때문에, prompt x input = output 일 때, output이 answer가 아닐 수 있다.가령, 나는 JSON형식으로 출력..
Git 마지막 커밋 Author, Commiter 바꾸기
·
Dev
회사용, 개인용 등 두개 이상의 Git 계정을 사용하는 경우 잘못하고 비공계 계정으로 커밋을 해버리곤 한다.그럴 때 마지막 커밋의 작성자(Author)와 커미터(Committer)를 수정하여 amend 하는 간단한 스크립트다. GIT_AUTHOR_NAME="내이름" GIT_AUTHOR_EMAIL="이메일@gmail.com" GIT_COMMITTER_NAME="내이름" GIT_COMMITTER_EMAIL="이메일@gmail.com" git commit --amend --no-edit --reset-author
뱅가드 재시작 프로그램
·
Dev/Tools
문제:롤 14.9 버전 뱅가드 패치 이후로 무한 튕김이 발생한다. 원인:근본적인 원인은 뱅가드에서 유해하다고 생각하는 프로그램을 지우는거지만...어떤건지 알려주지도 않기 때문에 무작정 기다려야한다. 해결:완전한 해결책은 아니지만 뱅가드 서비스 자체를 재시작 해버리는 방법이 있다.스크립트는 파일로 첨부(이것도 되는게 한두번이고 아에 안먹히는 경우가 생기면 그냥 접자) (서비스를 재시작 해야하니 관리자권한이 필요하다. 의심간다면 스크립트를 확인하자)
eslint - react/prop-types
·
Dev/React
eslint 사용 중 react/prop-types 규칙에 대한 이슈 처리 const MyComponent = ({ children }) => { // ^^^^^^^^ // 'children' is missing in props validation. eslint(react/prop-types) return {children}; }; 원인 react/prop-types 즉 리액트 컴포넌트에서 props를 사용할 때, 체크를 해줘야 한다. TypeScript라면 타입을 정의하면 되지만, Javascript라면 컴포넌트가 커지고 여러 사람이 만지는 경우, props를 체크해야 하는 일이 생긴다. 해결 옵션을 꺼버리면 안 보이지만 해결된 것은 아니다. prop-types 라이브러리를 설치하고, props를 정의..
[하루 1시간] 실시간 OCR 번역기 만들기
·
Dev/Python
목표실시간으로 화면을 캡쳐하고, OCR로 인식한 문자를 번역한다.아이디어 & 솔루션화면을 실시간으로 캡쳐한다.PIL 라이브러리의 ImageGrab을 사용OCR을 이용해서 문자를 인식한다.오픈소스 OCR 라이브러리 Tesseract인식한 문장를 번역한다.Papago API (넉넉한 무료 플랜)GUI로 캡쳐한 화면, 인식한 문자, 번역된 문장을 표시한다.Python GUI 프레임워크 Tkinter Step 1. GUI 설계메인 프레임캡쳐한 화면인식한 문자열번역한 문자열캡쳐할 영역 프레임코드import tkinter as tkclass TranslateApp: def __init__(self, root): self.root = root self.setup_frame_A() ..
Input 태그 한글만 입력되게 하기
·
Dev/Javascript
Input에서 특정 문자는 입력되지 않게하기 문제 태그에서 특정문자 입력을 제한한다. 해결 입력 이벤트 발생시 입력된 문자를 정규표현식으로 replace 한다. ([ㄱ-힣]은 유니코드 한글의 시작인 ㄱ 부터 마지막인 힣 까지 잡는다.) 이 때, keydown 이벤트만 잡을 경우 꾸욱 누를때 연속입력을 막을 수 없기 때문에 다시 focus 해준다. 코드
공시지원금 선택약정 계산기
·
Dev/Tools
문제. 이번에 불법보조금을 받고 100만원짜리 핸드폰을 사려한다. 공시지원금 10만원 + 불법보조금 30만원 이라고 한다. (합이 40만원) 나는 평소에 5만원짜리 요금제를 쓴다. 6개월간 8.9만원짜리 요금제를 써야한다. 이 때, 공시지원금과 선택약정 중 어떤것이 더 이득인가 ? 공시지원금 받을 때 핸드폰가격 - (공시지원금 + 불법보조금) + (강제요금제 * 6개월) (평소쓰는요금제 * 18개월) = 전체금액 100 - (10 + 30) + (5 * 24) = 총 203.4만원 선택약정 할 때 핸드폰가격 - 불법보조금+ (강제요금제 * 6개월 25%할인) (평소쓰는요금제 * 18개월 25%할인) = 전체금액 100 -30 + (8.9 * 6 * 0.75) + (5 * 18 * 0.75) = 총 177..
[Discord] 지갑 연동 인증 봇 만들기
·
Dev/Javascript
시작 NFT 프로젝트를 보면 디스코드를 많이 활용하는 추세인것 같다. 많은 봇들 기능중 Discord에서 OAuth2를 이용해서 가상화폐 지갑(Kaikas, Metamask)등과 연동하는 기능을 만들어 보려한다. 목표 Discord 앱 내에서 링크를 클릭하고, API를 이용해 Kaikas 지갑을 연동해서 지갑주소를 받아온다. 지갑 주소로부터 특정 Token(NFT)를 들고있는 홀더(Holder) 인지를 확인하여 봇 서버에 전달하고 그 유저에게 권한을 준다. 구현해야할 내용 server-side 디스코드 봇 서버 (Discord.js) 간단한 웹서버 (node-express) client-side 카이카스 지갑연결 구현 구현 내용 시현
카카오톡 대화 검색기
·
Dev/Tools
카카오톡 대화내용 검색기입니다. 사용방법 1. 에 대화 내용을 붙여넣기 하고 내용 를 누릅니다. 카카오톡창에서 드래그 & 복사를 해서 내용을 가져옵니다. 2. 대화내용 검색 필터에 필터링할 문장을 한줄씩 넣습니다. 3. 닉네임 검색 필터에 검색할 사용자 이름을 한줄씩 넣습니다. 카카오톡 대화 내용 대화 내용 검색 필터 닉네임 검색 필터 이모티콘 제외 방장봇 제외 삭제된 메세지 제외 내용 입력하기 적용하기 순서 이름 시간 텍스트