엘리스 알고리즘 코드 챌린지 Day3(07월 10일) - Java
·
Web/Java
나의 제출import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); String S = br.readLine(); char[] arr = S.toCharArray(); Stack stack = new Stack(); ..
엘리스 알고리즘 코드 챌린지 Day2(07월 09일) - Java
·
Web/Java
Day2나의 제출import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st = new StringTokenizer(br.readLine()); int length = Integer.parseInt(st.ne..
엘리스 알고리즘 코드 챌린지 Day1(07월 08일) - Java
·
Web/Java
요즘 퇴근하고 집에서 남는 시간에 알고리즘 문제를 유형 별로 천천히 공부하며 풀어보고 있다.메일을 정리하는데 원티드에서 발송한 엘리스 알고리즘 코드 챌린지 광고가 눈에 띄였다.알고리즘 대회(?)를 참여해본 경험이 없기도 하고 신선한(?) 문제를 풀어보고 싶어 신청했다.나는 Java로 참여 해보려 한다. 07월 08일~12일, 07월 15일~19일(평일) 매일 아침 10시부터 자정까지 한 문제씩 오픈된다.온라인 예선에서 상위 50명을 추려 오프라인 본선을 진행한다.목표는 예선 문제들을 해결하며 알고리즘 공부하는 것이다. 기회가 되면 오프라인 본선에도 참여해보고 싶다. Day1목표량시간 제한: 1초엘리스 토끼는 목표량을 정해 수학 문제를 열심히 풉니다. 목표량은 정수입니다.내일 풀 수학 문제의 개수는 오늘 ..
Iterator 반복 처리
·
Web/Javascript
목표Iterator 객체를 생성하고, 반복 처리에 활용한다. 사용이유여러 HTTP Request를 보내서 받은 stream 데이터를 사용자 입장에서 가시적으로 확인할 수 있도록 진행바가 필요했다. 구현Set을 이용한 UniqueQueue작업이 담긴 배열을 순차적으로 진행하고 진행 중인 작업 수가 최대치일 경우 보류하여 이후에 진행되도록 작업하였다.class Worker { private readonly works: Work[]; private readonly workQueue: UniqueQueue; private readonly maxWorker = 60; constructor(requests: WorkRequest[]) { this.works = requests.ma..
Electron 인터넷 브라우저로 새 창 열기
·
Web/Electron.js
목표Electron 내에서 태그 또는 window.open()을 사용 시 Electron BrowserWindow로 새로운 창이 열린다.위 동작 대신 애플리케이션이 실행되고 있는 데스크탑의 환경에 따라 인터넷 브라우저 새 창으로 열리도록 설정한다. 코드import { BrowserWindow, shell } from "electron";...const window = new BrowserWindow({ ...});window.webContents.setWindowOpenHandler((details) => { shell.openExternal(details.url); return { action: 'deny' };}); 설명WebContents.setWindowOpenHandler(ha..
Recoil
·
Web/React.js
사용목적React 컴포넌트는 공통된 상위 요소까지 끌어올려야만 공유될 수 있기에 거대한 트리가 다시 렌더링 되는 상황이 존재한다. Recoil은 React 자체 내장된 상태 관리 기능의 한계를 개선하기 위해 사용한다. 장점get/set 인터페이스로 사용할 수 있도록 boilerplate-free API를 제공React 기능들과 호환 가능성을 갖음상태 정의가 점진적이고 분산되어 있어 코드 분할이 용이함컴포넌트 수정 없이 상태(Atom)를 파생된 데이터(Selector)로 대체 가능 설치npm install recoil 사용RecoilRootRecoil 상태 컴포넌트를 부모 트리에 넣어준다. 예제는 루트 컴포넌트를 활용한다.import React from 'react';import { RecoilRoot, ..
Javascript 정규표현식으로 URL 찾아서 변환하기
·
Web/Javascript
정규표현식 /(https?:\/\/[^\s]+)/g https?:\/\/ http:// 또는 https:// 찾음 [^\s]+ 공백이 아닌 문자열을 하나 또는 그 이상 찾음 g Global을 표현하며 문자열 내 모든 패턴을 검색 활용 var str = `Kakao: https://www.kakaocorp.com` let formatted = str.replace(/(https?:\/\/[^\s]+)/g, '$1');
PHP sort()
·
Web/PHP
sort(array &$array, int $flags = SORT_REGULAR): true 정렬 유형 flag SORT_REGULAR - 적상적으로 항목을 비교 SORT_NUMERIC - 숫자로 항목을 비교 SORT_STRING - 문자열로 항목을 비교 SORT_LOCALE_STRING - 현재 로케일을 기준의 문자열로 항목을 비교. setlocale()을 사용하여 변경된 로케일을 사용 SORT_NATURAL - natsort()와 같은 "자연 순서"로 항목을 비교 SORT_FLAG_CASE - 대/소문자 구분없이 정렬하기 위해 SORT_STRING 또는 SORT_NATURAL와 결합하여 사용 대/소문자 구분없이 정렬
PSR-1: Basic Coding Standard
·
Web/PHP
PSR-1: 기본 코딩 표준 1. 파일(Files)1-1.PHP 태그(PHP Tags)PHP 코드는 > 또는 을 사용해야 한다(MUST) 1-2. 문자 인코딩(Character Encoding)PHP 코드는 BOM 없이 UTF-8을 사용해야한다.(MUST) 1-3. 부작용(Side Effects)파일은 "Side effects"를 발생시키지 않으며 새로운 클래스, 상수, 함수 등 을 선언하거나(SHOULD),"Side effects" 로직을 실행 해야한다(SHOULD).둘 다(선언과 "Side effects") 수행하면 안된다(SHOULD NOT). "Side effects"는 선언된 클래스, 함수, 상수 등 과 직접적으로 관련되지 않은 로직을 파일에 포함하여 실행하는 것을 의미한다. "Side eff..
PHP 암호화 복호화
·
Web/PHP
암호화(Encryption)평문을 암호화 알고리즘을 이용하여 암호문으로 변환전달하는 정보를 외부로부터 보호하기위해 사용 복호화(Decryption)암호문을 평문으로 변환 openssl_encrypt() / openssl_decrypt()php 5.3 이상에서 사용가능한 암호화/복호화 함수https://www.php.net/manual/en/function.openssl-encrypt.php PHP: openssl_encrypt - ManualI saw that a doc bug(#80236) were there mentioned that $tag usage. Here is an examples, Hopes those may help someone. 16 || ($tagLength www.php.net A..