전체 글

창업, 사업, 자기개발, 운동, Web, App, Java, python, 이슈, 개발자, JavaScript, amazon, cloud server, 취업, 스펙, Android Studio, Spring, React, Node.js, 구독하면 댓글 남겨주세요.
· 알고리즘
단어 정렬 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 256 MB 92851 38585 28821 40.388% 문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 길이가 짧은 것부터 길이가 같으면 사전 순으로 입력 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. 출력 조건에 따라 정렬하여 단어들을 출력한다. 단, 같은 단어가 여러 번 입력된 경우에는 한 번씩만 출력한다. 예제 입력 1 13 but i wont hesitate no more no more it cannot wait..
· Java
Spring Boot를 사용하면서 파일 다운로드는 많이 구현해 봤지만 zip으로 압축 후 다운받는 프로세스는 구현은 해보지 않아 이번에 정리해 보려고 한다. 개발환경 JDK 11Spring Boot 2.6.7 CommonController.java- CrossOrigin는 현재 view를 nuxt.js로 개발하고 있어 CORS문제가 발생하기 때문에 테스트 환경에서 예외처리해주기위서 사용한 어노테이션이다.- 2개의 메서드가 있는데 fileDownload는 단일 파일 다운로드에 대한 기능이고 zipFileDownload는 다중 파일을 zip으로 압축 후 다운받는 기능이다. @CrossOrigin(origins = "http://127.0.0.1:3000") // 추가 @RestController public..
· Rust
1. RUST란? Rust는 타입 안전성, 메모리 안전성, 동시성 그리고 성능에 초점을 맞춘 프로그래밍 언어이다. 몇 가지로 분류되는 일반적인 에러들로부터 자유로운 대규모, 고성능 소프트웨어를 작성하도록 계획되었다. Rust는 능률적인 데이터 구조를 장려하는 고수준의 메모리 모델과 세그멘테이션 오류를 일으키는 무효한 메모리 접근을 예방하는 안전한 동시성 패턴을 가지고 있다. 컴파일 시간에 타입이 정해진다. 다중 패러다임 언어로서, Rust는 절차형, 함수형 그리고 객체지향 스타일로 작성된 코드를 모두 지원한다. 또한 다음의 고수준의 기능들을 포함한다: 타입 추론 타입을 알려주는 지역 변수 선언은 선택적이다. 안전한 태스크 기반의 동시성 Rust의 가벼운 태스크들은 메모리를 공유하지 않는 대신 메시지를 통..
· Java
JAVA Generic(제네릭)에대해 알아보던 중 Generic에 넣을 수 있는 타입과 그렇지 못한 타입이 있다는것을 알게되어 정리를 해보려고 한다. Generic에대해 궁금하다면 아래의 링크 클릭 Primative Type는 말 그대로 자바에서 기본으로 제공해 주고있는 타입이다. 기본형 타입(Primitive type) 총 8가지의 기본형 타입(Primitive type)을 미리 정의하여 제공한다. 기본값이 있기 때문에 Null이 존재하지 않는다. 만약 기본형 타입에 Null을 넣고 싶다면 래퍼 클래스를 활용한다. 실제 값을 저장하는 공간으로 스택(Stack)메모리에 저장된다. 만약 컴파일 시점에 담을 수 있는 크기를 벗어나면 에러를 발생시키는 컴파일 에러가 발생한다. 주로 문법상의 에러가 많다. 예를..
· IT 지식
MSA(Micro Service Architecture)란 직역해서 보자면 작은단위의 서비스 구조 즉 기존의 서비스 구조보다 작은 단위로 쪼개어 생각하는 개발 방법이다. MSA의 개념이 나오기 전에는 대부분 Monolithic Architecture을 사용했다. 말 그대로 하나도 되어있는 서비스 구조이다. Micro service의 정의 Martin Folwer는 MSA에 대해 아래와 같이 설명하였다. "the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating wit..
· WEB
데이터를 조인하여 조회하던 와중에 성능에 이슈가 생겨 확인을 해보니 PK가 설정이 안되어 있는 테이블이 어러개 발견되었다. PK가 설정되어 있지 않다보니 index도 생기지 않아 조회 성능이 매우 떨어졌던 것이다. 따라서 PK 없는 테이블에서 중복된 데이터를 삭제하는 방법에 대해 포스팅 해보겠다. - 해결방법 - ROW_NUMBER() OVER을 이용 SELECT ROW_NUMBER() OVER(PARTITION BY EVENT_TIME ORDER BY EVENT_TIME) AS ROW_NUM , EVENT_TIME FROM testTable - EVENT_TIME으로 파티션을 생성해 주고 ROW_NUMBER() OVER을 이용해 중복된 EVENT_TIME일 경우 2이상의 값으로 넣어준다. - 제 위의 ..
· WEB
MySQL에서 특정 아이디로 컬럼을 합치는 여러 방법이 있지만 GROUP_CONCAT을 이용하는 방식을 포스팅 하겠다. 아래와 같은 테이블이 있다. TEST 이를 아이디 별로 구분 하기 위해서 GROUP_CONCAT을 사용해 조회를 한다. GROUP_CONCAT을 사용할때에는 별도의 구분자를 입력하지 않으면 자동으로 ,가 입력된다. GROUP_CONCAT(원하는 컬럼) query SELECT DISTINCT ID, (SELECT GROUP_CONCAT(TITLE) FROM test b WHERE b.ID = a.ID )AS NAME FROM test a 결과 원하는 구분자가 있을 시에는 아래와 같이 설정해 주면 된다. GROUP_CONCAT(원하는 컬럼 separactor '원하는 구분자') query ..
· WEB
MsSQL 특정 아이디로 쿼리 합치기 ID Title 1 가 1 나 1 다 1 라 2 마 2 바 2 사 2 아 3 자 위의 테이플에서 ID 기준으로 쿼리를 합치는 방법이다. SELECT DISTINCT ID, STUFF(( SELECT ',' + Title FROM TB_Data b WHERE b.ID = a.ID FOR XML PATH('') ),1,1,'') AS NAME FROM test a 아래의 결과가 출력된다. ID Title 1 가,나,다,라 2 마,바,사,아,자 STUFF란? SUTFF함수는 특정 문자열을 지정한 위치부터 원하는 길이만큼 원하는 문자로 변경해준다. STUFF('특정 문자열', 지정한 위치, 원하는 길이 '원하는 문자') SELECT STUFF('CASTLE',3,4,'P')..
TaeHuiLee
Developer_TaeHui