본문 바로가기

반응형

개발

(140)
[이슈리포트] i18n과 라우팅 변경하기 i18n, internaionalization의 i와 n의 글자수가 18자이기 때문에 i18n인 이 엄청난 공대생 감성의 국제화는 복잡한 이름에 비해서는 다국어를 지원하는 웹 페이지에서 유용하게 사용될 수 있다. 웹 페이지를 사용하는 locale 기반으로 그에 맞는 언어를 설정해줄 수 있기 때문이다. 다른 방법도 있겠지만 i18n을 사용하지 않을 경우에 페이지에서 국제화를 위해서는 다음과 같이 비교적 비효율적으로 코드를 작성해야 한다. const Hello: React.FC = () => { const hiEn = "hi"; const hiKo = "안녕"; return ( {locale === "en" ? {hiEn} : {hiKo} } ) } 브라우저의 locale이 en일 경우에는 영어로 hi, 한..
[Python] csv 파일 쓰기 TL;DR csv 파일 open 및 csv.writer 생성 writerow, writerows를 사용해 내용 작성 close를 통해 기록 종료 csv 파일 데이터를 정리할 때 csv, json, xml, txt 등 여러 다른 형식으로 정리할 수 있다. csv 파일은 여러 필드에 해당하는 데이터를 ,(콤마)로 구분한 데이터 파일 양식으로, 주로 엑셀(또는 넘버스, 한셀) 등에서 열어서 조회한다. 표로 표현할 수 있는 데이터에 대해서는 csv 파일을 사용했을 때 한눈에 확인하기 쉽다. 최근 작업하고 있는 프로젝트에서 파이썬에서 csv 파일을 쓸 일이 있어 이를 정리하려 한다. 1. 파일 생성 및 writer 생성 csv 파일을 쓰기 위해서는 기본 내장 모듈인 csv를 import 해주어야 한다. 그러고 나..
[Python] XML 파싱하기(with Pascal VOC) Pascal VOC Pascal VOC 방식은 Object detection을 위한 데이터 셋인 Pascal VOC dataset의 구조를 의미한다. 이 구조는 하나의 입력 이미지에 대한 정보를 xml파일로 표시한다. [그림 1]과 같이 2개의 손 끝을 탐지해야 하는 입력 이미지가 존재한다고 했을 때, 이에 대한 데이터의 정보는 다음과 같은 xml 파일로 표시된다. case1-5_jpg.rf.654eac65f62fddc076e25a286ae8e46e.jpg case1-5_jpg.rf.654eac65f62fddc076e25a286ae8e46e.jpg 270 187 3 0 Pascal VOC는 xml 파일에 이처럼 파일명과 경로, 이미지의 크기와 같은 정보 뿐만 아니라, object detection에 필요..
[백준] 소수 단어(python) 2153번: 소수 단어 소수란 1과 자기 자신으로만 나누어떨어지는 수를 말한다. 예를 들면 1, 2, 3, 5, 17, 101, 10007 등이 소수이다. 이 문제에서는 편의상 1도 소수로 하자. 알파벳 대소문자로 이루어진 영어 단어가 하나 www.acmicpc.net TL;DR 수학(Mathematics) 소수(Prime number) 문제 요약 1. a ~ z까지는 1 ~ 26, A ~ Z까지는 27로 대응된다. 2. 이 때, 주어진 문자열을 이루고 있는 각 문자의 합이 소수인지 아닌지 판별하는 프로그램을 작성하라. - 주어진 문자열을 구성하고 있는 알파벳들이 의미하는 숫자를 파악한 후 그 합을 더해 소수 판정을 하면 되는 문제이다. 입출력 형태 예시 1 :: 주어진 문자열 'UFRN'의 각 문자의 ..
[프로그래머스] lv2-다리를 지나는 트럭(python) 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 programmers.co.kr TL;DR 큐(Queue) 구현(Implementation) 문제 요약 1. 모든 트럭이 다리를 건너러면 최소 몇 초가 필요한지 알아내는 프로그램을 작성해야 한다. 2. 다리는 수용할 수 있는 트럭의 수와 무게 제한이 있으며 제한을 넘지 않을 경우 트럭은 다리에 올라올 수 있다. - 제한을 넘지 않으면서 트럭이 다리를 건널 수 있는 최소 수를 구하는 프로그램이다. - 문제에 나온 조건들을 적절한 자료구조와 함께 구현해야 한다. 입출력 ..
[백준] 3의 배수(python) 1769번: 3의 배수 문제가 잘 풀리지 않을 때, 문제를 바라보는 시각을 조금만 다르게 가지면 문제가 쉽게 풀리는 경험을 종종 해 보았을 것이다. 여러 가지 방법이 있지만 그 중 하나로 우리가 풀고 싶은 문제를 www.acmicpc.net TL;DR 구현(Implementation) 문자열(String) 문제 요약 1. 주어진 자연수 X가 3의 배수인지 판정하기 위해서 제안된 "다른 문제로 바꾸어 풀기" 방법을 사용하려고 한다. 2. 다른 문제로 바꾸어 풀기는 다음과 같다. 1. X의 각 자릿수를 더한 수 Y를 만든다. 2. Y가 3의 배수인지 판별한다. 3. 알고 있는 3의 배수가 한 자리 수밖에 없다고 가정하면 Y가 한 자리 수가 나올 때 까지 다른 문제로 바꾸어 풀기를 진행해야 한다. 그 때의 문..
[백준] 방 번호(python) 백준, 방 번호 1475번: 방 번호 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다. www.acmicpc.net TL;DR 구현(Implementation) 문자열(string) 문제 요약 1. 다솜이의 방 번호를 만들기 위해 필요한 카드 세트의 수를 출력하는 프로그램을 작성해야 한다. 2. 6과 9는 뒤집어서 각각을 사용할 수 있다. - 0 ~ 9까지 있는 카드 세트를 활용하여 다솜이의 방 번호를 만들 때, 필요한 카드 세트의 수를 출력하는 프로그램을 작성하는 문제이다. - 6과 9를 동일하게 취급할 수 있다는 점을 문제 풀이에 활용해야 한다. 입출력 형태 예시 1 :: 9999가 주어졌다. 문제에서 6과 9를 뒤집어서 동일하게 사용할 수 있다고 하였으..
[TIL] react-router의 Link와 a 태그 react-router에서 화면을 이동할 때는 Link 태그를 사용하여 to 속성에 이동할 주소 정보를 작성한다. 하지만 우리는 이미 페이지 이동 기능을 갖고 있는 태그인 a 태그를 알고 있다. 두 기능 사이에는 어떤 차이가 있을까? 결론부터 말하면, 페이지 새로고침 여부가 이 2가지의 차이점이다. Link 태그는 브라우저의 주소만 바꿀 뿐 페이지 자체를 새로고침하지는 않는다. 반면, a 태그는 브라우저의 주소를 이동하며 페이지 자체를 새로고침한다. 페이지 새로고침 여부는 웹 페이지에서 중요하다. 페이지가 새로고침될 경우 현재 렌더링되어 있는 컴포넌트가 모두 사라지고 새로 컴포넌트가 렌더링되게 된다. 이렇게 되면 컴포넌트에 설정되어 있는 state 등이 모두 날아가기 때문이다.[1] Link 태그를 사용..