728x90

전체 글 331

Java로 Queue 구현

Java로 Queue 구현 서론 백준 5430번 AC문제를 풀다가 Array로 구현을 하려고 했는데, 생각보다 막히는 부분이 많았다. 여러가지 방안을 찾아보면서 꾸역꾸역 구현을 하면 만들기는 했겠지만, 그렇게 구현하는 것 보다 제대로 구현하는게 더 낫겠다 싶어서 풀이를 찾아보게 되었다. 백준 5430 풀이 Queue구현 글 풀이를 보니 Queue를 직접 구현해보고 아는 것이 중요하다고 해서 직접 따라해보고, 이해하기로 했다. 물론 Queue의 자료구조를 모르는 것도 아니고 구현을 안해본 것도 아니지만, 이전에 Queue를 구현했던 것은 C언어를 통해서 구현한 것이 전부였기 때문에 java를 통해서 구현을 해보기로 했다. 본론 Queue는 FIFO(first in fisrt out)이다 일반적으로 우리가 ..

알고리즘 2022.12.23

StringUtils.equals() 와 String.equals()의 비교

//null값이 들어가 있는 경우 String str1 = null; String str2 = "Hello World~!"; //String 자체 equals() 사용 시 NullPointerException 발생 str1.equals(str2); //StringUtils.equals() 사용 시 정상 처리 StringUtils.equals(str1, str2); 위에 결과 처럼 String.equals() 일 경우, 매개변수에 null이 입력되면 NullPointerException이 발생됩니다. 따라서 StringUtils.equals()로 문자열을 비교하는 것이 더 안전한 방법이 될 것 같습니다. 참고: https://blog.naver.com/seek316/222347033258 [Java] Ap..

JAVA 2022.12.23

<table>, <tr>, <td> 란? (feat. 활용법)

table 태그의 기본 구조 table 태그는 단독으로 사용되진 않는다. 자식 요소로 thead, tbody, colgroup, caption, tr, th, td 등의 여러 태그들과 함께 쓰인다. 가장 기본적인 구조는 하나 이상의 tr, th, td 태그들과 함께 구성이 된다. 과목점수 수학 100점 국어 80점 과목 점수 수학 국어 100점 80점 위의 소스는 가장 기본적인 구조인 tr, th, td 태그만 사용해서 적용한 모습이다. 과목 점수 수학 100점 국어 80점 위와 같은 소스라면 thead 영역에 tbody의 각 영역들에 대한 제목을 tbody 영역에는 thead의 제목에 대한 정보나 데이터가 노출될 수 있도록 한다. 1. tr 태그 tr태그는 table 태그에서 필수요소이며 th, td로..

HTML 2022.12.23

getElementById() 대신 id.value

getElementById()없이 id.value가 가능한 이유 아이디 : 일반적으로 자바스크립트에서 특정 ID의 텍스트 상자 값을 가져올 때 위 예제와 같이 document.getElementById("id").value를 이용한다. 그러던 중 우연히 id.value를 사용해봤는데, document.getElementById("id").value와 동일하게 동작했다! 여기서 두가지 의문이 생겼다. 1. id.value는 어떤 원리로 동작하는 것인가? 2. id.value와 같은 단순한 형태를 두고 우리는 왜 굳이 getElementById를 사용하는가? 1. id.value의 동작원리 html 태그의 id 속성값은 자바스크립트에서 전역변수로 사용될 수 있다. x = document.getElementB..

Javascript 2022.12.22

504 Gateway Time-out 오류

504 Gateway Time-out 오류 이는 리버스 프록시 프로그램에서 해당 프록시(upstream)와의 통신이 오래걸렸고, 리버스 프록시 프로그램에서 지정한 시간 제한을 초과해서 발생한 오류입니다. 리버스 프록시 프로그램은 거의 99% nginx 를 사용하므로, 이 글에서는 nginx 기준으로 설명하겠습니다. 504 Gateway Time-out 오류는 아래와 같은 형태로 나타납니다. 504 Gateway Time-out 504 Gateway Timeout HTTP 504 504 ERROR Gateway Timeout (504) HTTP Error 504 - Gateway Timeout Gateway Timeout Error 504 Ga..

CS지식 2022.12.21

인덱스 생성

인덱스의 정의와 사용방법 - 인덱스란? 테이블의 데이터를 조회할 때 빠르고 효과적으로 조회할 수 있도록 도와주는 역활을 하는 데이터 구조입니다. 조회는 빠르지만 INSERT, UPDATE등을 수행할 떄는 느려지기 때문에 조회가 많은 테이블을 기준으로 설정하여야 합니다. ​ - MSSQL INDEX 생성 방법 (중복 허용) ​ CREATE INDEX [인덱스명] ON [테이블명] ([컬럼명] [정렬기준]) ​ - MSSQL UNIQUE INDEX 생성 방법 (중복 비 허용) ​ CREATE UNIQUE INDEX [인덱스명] ON [테이블명] ([컬럼명] [정렬기준]) ​ [참고사항] INDEX 와 UNIQUE INDEX INDEX 와 UNIQUE INDEX는 둘다 조회를 효과적으로 하는역활을 하지만 UN..

MS-SQL 2022.12.21

const vs let (feat. 호이스팅)

var, let, const 의 차이점 1. 변수 선언 방식 우선, var는 변수 선언 방식에 있어서 큰 단점을 가지고 있다. var name = 'bathingape' console.log(name) // bathingape var name = 'javascript' console.log(name) // javascript 변수를 한 번 더 선언했음에도 불구하고, 에러가 나오지 않고 각기 다른 값이 출력되는 것을 볼 수 있다. 이는 유연한 변수 선언으로 간단한 테스트에는 편리 할 수 있겠으나, 코드량이 많아 진다면 어디에서 어떻게 사용 될지도 파악하기 힘들뿐더러 값이 바뀔 우려가 있다. 그래서 ES6 이후, 이를 보완하기 위해 추가 된 변수 선언 방식이 let 과 const 이다. 위의 코드에서 변수 ..

Javascript 2022.12.20

LocalDateTime 으로 시간관련 변환 정리

Java8 LocalDateTime을 비롯해 여러가지 시간을 처리하는 클래스 예제 정리 1.년월일 시분초 지정해서 LocalDateTime생성하기 LocalDateTime now = LocalDateTime.now(); LocalDateTime ldt = LocalDateTime.of(now.getYear(), now.getMonth(), now.getDayOfMonth(), now.getHour(), 0, 0); LocalDateTime.of()를 쓰면 년월일 시분초를 직접 지정 할 수 있습니다. 위 코드는 분, 초는 0으로 설정하는 코드입니다. 결과 2022-04-03T12:00 2.yyyy-mm-dd hh:mm:ss형식의 String을 LocalDateTime으로 바꾸기 String으로 되어 있는 ..

JAVA 2022.12.19

리눅스 기본 명령어 모음

리눅스 기본 명령어 모든 명령어는 명령어 뒤에 --help 옵션을 주면 자세한 사용 방법이 나온다. 예를들어 ls 명령어의 자세한 사용 방법과 모든 옵션을 알고싶으면 ls –help를 입력하면 된다. pwd (print working directory) 현재 작업중인 디렉토리 정보 출력 $ pwd /home/itholic cd (change directory) 경로 이동 절대 경로와 상대 경로로 이동 가능하다. 절대 경로와 상대 경로에 대해 더 자세히 알고싶다면 해당 포스팅 참조 $ cd /home/itholic/mydir $ pwd /home/itholic/mydir $ cd .. $ pwd /home/itholic ls (list) 디렉토리 목록 확인 $ ls testfile1 testfile2 te..

Linux 2022.12.18

Merge 문이란? (feat. 조건부 데이터 변경)

MERGE 문을 사용하면 변경할 테이블에 데이터가 존재하는지 체크하고, UPDATE, DELETE, INSERT를 한 번에 작업이 가능하다. MERGE 문을 사용하지 않을 경우 해당 조건으로 테이블을 SELECT 한 후 IF 조건을 사용하여 UPDATE나 INSERT로 분기하는 로직을 작성해야 하는 번거로움이 있다. MERGE 문의 경우 단일(한개의) 테이블에 UPDATE 또는 INSERT를 하는 경우 많이 사용하지만, 두개의 테이블을 비교하거나 서브 쿼리의 결과에 따라서 UPDATE, INSERT 작업이 가능하다. 단일 테이블 사용법 (DUAL) 오라클에서는 DUAL이라는 dummy 테이블을 USING 절에 사용하면 단일 테이블 작업이 간단하지만, MSSQL에서는 DUAL 테이블이 없기 때문에 dumm..

MS-SQL 2022.12.17
728x90