본문 바로가기

분류 전체보기104

[리뷰] 카멜 싱글 모니터암 CA-1 + 홀타입 리뷰 https://link.coupang.com/a/bzGjKz [카멜인터내셔널] 클램프. 홀타입 겸용 싱글 암 CA-1 [최대 27형]COUPANGwww.coupang.com필요했던 이유 :최근에 모니터를 사면서 책상 위가 굉장히 복잡해졌어요모니터를 오래 보고 있으면 목도 뻐근하고 금방 피곤해져서 모니터암의 필요성을 느꼈어요 "무엇을 사던 꼼꼼하게 조사해서 실패하지 말자" 가 제 쇼핑원칙이어서 사기 전에 조사를 시작했어요. 잘못 사면 모니터 무게를 견디지 못하고 금새 망가져 버릴 수도 있으니까요 1. 쿠팡에 모니터암 을 검색해보았어요여러 제품들이 나오길래 어떤 회사 제품이 좋은지 알아보았어요 2. 가성비, AS 서비스위의 세가지를 중점으로 조사를 했어요먼저 모니터 거치에 큰 돈을 쓰기 아까워서 최소한의 돈.. 2024. 4. 29.
PDF 파일 번역 프로그램 - 회고 회고 오랜만에 문제해결을 위해 머리 싸매고 고민했던 것 같다. 내가 가진 능력으로 누군가가 겪는 어려움을 해결해준다는 것은 참 보람찬 일인것 같다. 결국 프로그래밍이란 것은 어떤 문제를 해결하기 위해 생겨났다 라는 것을 보면 난 어느새 프로그래머가 되어 있는것 같다. AI 의 발전 속도가 너무 빨라져서 앞으로 어떤 개발을 하게 될지, 얼마나 이 일을 할 수 있을지 모든게 불명확한것 같다. 특히 23~24년도는 개발자 취업난이 많이 심해 걱정이 많다. 주위에 취업을 못하는 있는 사람들도 여럿 되어 몸으로 체감하는 것 같다. 다행히 난 사회복무요원으로 복무를 시작해 25년도 11월까진 시간을 벌었다. 최대한 많은 것을 배우고 노력해보려고 한다. 이 시간을 그냥 허송세월로 보내버리기보단 알차게 살아보겠다. 이.. 2024. 4. 19.
PDF 파일 번역 프로그램 - PDF 파일 번역 (대량) 아버지의 논문 자료들을 번역하기 위해 프로젝트를 시작한지도 벌써 3주가 넘었다.매일 낮에는 출근해야 해서 시간을 많이 투자하진 못했지만, 틈틈히 개발했고 실질적으로 4~5일만에 완성했다.번역 퀄리티는 아래 나온 예시를 참고하면 되며 구글 번역기에서 지원하는 언어들은 모두 지원한다. <h2 style="background-color:.. 2024. 4. 19.
PDF 파일 번역 프로그램 - PDF파일 병합 및 다운로드 파일 병합 및 다운로드 기능 개발 시작! Firebase Storage 에서 번역이 완료된 파일들을 다운 받고 병합을 한 뒤 다운받는다. const downloadPDF = async (pageCount, storage) => { try { const mergedPDFDocument = await PDFDocument.create(); for (let i = 0; i < pageCount / 20; i += 1) { var storageRef = ref(storage, `gs://버킷명/번역완료된파일명`; storageRef = ref(storage, storageRef); const url = await getDownloadURL(storageRef); const arrayBuffer = await f.. 2024. 4. 19.
PDF 파일 번역 프로그램 - Cloud Translation API Cloud Translation API 개발 시작!기존에 테스트 했을 때는 터미널에서 cURL 이나 Powershell 을 통해서 요청을 보냈는데자바스크립트에서 같은 내용으로 요청을 보내면 Oath2 인증오류가 발생했다.api key 나 oath2 사용자 계정을 만들어서 같이 .. 2024. 4. 18.
PDF 파일 번역 프로그램 - Firebase 파일 업로드 Firebase 업로드 기능 개발 시작! 분할한 파일을 Cloud Storage 에 업로드 해야 Cloud Translation API 를 사용할 수 있다. Cloud Storage 에 직접 업로드를 시도해봤는데 보안 문제 때문에 안되는 것이 많았다. 그래서 버킷만 Cloud Storage에 만들어두고 업로드와 다운로드는 Firebase 통해서 하기로 결정했다. Firebase 에서 Cloud Storage의 버킷에 엑세스 할 수 있었다. 업로드가 모두 완료되고 나서 다음 작업을 할 수 있도록 Promise 도 걸어놨다. const uploadPDF = async (splitPDFs, storage) => { try { // 분할된 PDF 업로드 const uploadPromises = splitPDFs.. 2024. 4. 18.
PDF 파일 번역 프로그램 - PDF 파일 분할(javascript) 파일 분할 기능 개발 시작! 일단 여러 블로그와 스택 오버플로우를 검색해봐도 자세한 내용은 찾기 어려웠다. 그래서 나의 오랜만에 나의 가장 친한 친구 ChatGPT 를 켰다. 자바스크립트로 PDF 파일 분할 코드를 알려달라고 해도 정확한 코드가 한번에 안 나와 예시 코드와 여러가지 질문들을 이어가며 수정에 수정을 거쳐 마침내 분할 코드를 완성할 수 있었다. 아래에 예시 코드는 PDF 파일을 20페이지 단위로 분할하는 코드이다. import { PDFDocument } from 'pdf-lib'; const splitPDFs = []; const pdfBytes = await file.arrayBuffer(); // file은 브라우저 상에 업로드 한것을 가져왔다 const pdfDoc = await PD.. 2024. 4. 18.
PDF 파일 번역 프로그램 - 브라우저 파일 업로드 브라우저에 파일 업로드 기능 개발 시작! 사용자가 편하게 파일을 번역할 수 있으려면 접근성이 좋아야 한다고 생각했다 그래서 가장 접근성이 좋은건 웹이라고 판단했다. 이참에 한번도 안해본 React 와 Node.js 를 다뤄보기로 결정했다. 하지만 단기간에 프로젝트를 완성해 30개가 넘는 책을 번역해야 했기에 차근차근 React 공부를 할 여유는 없었다. 그래서 직접 붙딫혀보면서 배우기로 했다. (Flutter 처음 배울때도 이런식으로 했었다. 처음엔 힘들어도 한번 해보고 공부하면 이해가 더 쏙쏙 되는 장점이 있다.) 먼저 파일업로드 예시 코드를 검색했다. 여러 블로그들을 돌며 내가 원하는 기능이 구현된 코드들을 둘러봤고 내가 원하는 기능에 가장 가깝게 구현한 코드를 CTRL + C 했다 ㅎㅎㅎ 거기서 내.. 2024. 4. 18.
[Python][백준 1148] 단어 만들기 https://www.acmicpc.net/problem/1148 1148번: 단어 만들기 어떤 신문엔 이러한 퍼즐이 있다. 3x3의 표에 영문자가 하나씩 있으며, 이 영문자들을 사용해서 최대한 많은 영단어를 만드는 것이 목표이다. 예를 들면, 아래의 퍼즐판에서는 'LINT', 'TILL', 'BRILLIAN www.acmicpc.net /* 신경써야 할 부분은 바로 : 1. 퍼즐에 있는 모든 글자들에 대해 각 글자마다 가능한 단어의 수 체크 2. 가장 많은 단어와 가장 적은 단어를 기록 및 출력 3. 단어의 수 체크할때 ASCII 코드 값 활용해서 배열 활용 간단한 문자열 문제 */ import sys input_func = sys.stdin.readline input_words = [] while T.. 2024. 4. 2.
PDF 파일 번역 프로그램 - 계획 수립 개발 해야 할 것들 - PDF 파일 분할 기능 - 분할한 파일들 Cloud Storage에 업로드 - 업로드 한 파일들 번역 API 호출 - 번역 완료된 파일들 Cloud Storage에서 다운 - 다운 받은 파일들 하나의 파일로 합치기 - 위의 기능들을 넣은 웹사이트 제작 고려해야 할 것들 - 웹사이트로 기능을 제공할 생각이니 javascript 로 개발 고려 - 오남용 방지 (아직 계획 X) - 예상 비용 책정 Flow Chart 1차 목표 웹사이트 개발이 필요하니 Node.js 간단하게 학습 2024. 4. 1.
PDF 파일 번역 프로그램 - 자료 조사 및 API 테스트 자료 조사 직접 만들기로 결정했으니 어떻게 만들지를 조사했다. 예전에 GCP 를 한참 많이 사용할 때 회사의 요청으로 번역 api 도 조사했었다. 그 때 봐두었던 문서 번역 API 가 생각이 났다. 그래서 문서 번역 API를 우선으로 조사했다. 조사 결과 PDF나 DOC 파일을 번역해주는 API를 GCP가 이미 제공하고 있었다. https://cloud.google.com/translate/docs/advanced/translate-documents?hl=ko 문서 번역 | Cloud Translation | Google Cloud 의견 보내기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 문서 번역 Cloud Translation - Advanced는 PDF 및 DOC.. 2024. 4. 1.
[Python][백준 5972] 택배 배송 https://www.acmicpc.net/problem/5972 5972번: 택배 배송 농부 현서는 농부 찬홍이에게 택배를 배달해줘야 합니다. 그리고 지금, 갈 준비를 하고 있습니다. 평화롭게 가려면 가는 길에 만나는 모든 소들에게 맛있는 여물을 줘야 합니다. 물론 현서는 www.acmicpc.net /* 신경써야 할 부분은 바로 : 1. 양방향 가중치 2. 1개 이상의 경로 존재 3. 다익스트라로 접근 */ import heapq def dijkstra(start): distances = {node: float('inf') for node in graph} distances[start] = 0 priority_queue = [(0, start)] while priority_queue: current_.. 2024. 4. 1.