일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- CPU
- 쿠키
- java
- 자바의정석
- SQL Mapper
- 오버로딩
- hackerrank
- spring security
- break 사용법
- 객체지향
- 중첩 break
- 입출력
- 리눅스
- 다형성
- 붕대 감기 자바
- 프로그래머스 붕대 감기
- spring security 설정
- 캡슐화
- 혼공얄코
- 자바의 정석
- 붕대 감기
- 프로그래머스
- continue 사용법
- 멀티태스킹
- 오버라이딩
- 오블완
- 멀티프로세싱
- over()
- contiune
- 티스토리챌린지
- Today
- Total
목록분류 전체보기 (121)
쉽게 쉽게
1. 이슈유튜브에 있는 동영상을 웹사이트로 가져와 보여줄 필요가 있었다.이를 위해 video 태그를 알아봤다.2. video 속성//video 태그 속성들 1. src 속성 재생하고 싶은 동영상의 경로를 입력하는 속성이다. 그러나 세부적인 동영상 컨트롤을 위해서는 src 속성 외에 다른 속성이 필요하다. 2. controls 속성 재생버튼, 음량버튼, 전체화면 등 동영상을 컨트롤할 수 있는 버튼이 추가된다. 3. autoplay 속성 동영상을 자동재생해주는 속성이다. 크롬은 muted 속성을 같이 추가해줘야 자동재생이 진행된다. 모바일에서는 보안상 이유로 자동재생이 되지 않는다. 4. muted 속성 동영상 음소거 속성이다. 비디오의 오디오 출력을 음소거로 지정한다. 5. nodownload 속성 동영상..
1. 이슈 MariaDB은 기본적으로 대소문자 구분 없이 비교 및 검색이 가능하다.그러나 userid로 로그인 중 대소문자가 구별이 되지 않아 오류가 발생했다.예를 들어 테스트라는 유저의 아이디는 test12인데, Test12와 test12가 모두 동일하게 조회되어 로그인이 되지 않았던 현상이다.때문에 MariaDB에서 직접적으로 대소문자를 구별해주기 위한 작업을 진행했다. 2. 해결방법아래는 문제가 발생했던 쿼리를 재현한 것이다. --문제 쿼리--SELECT userid FROM user_table WHERE userid = 'test12'-- 조회결과 -- Test12, test12 모두 나옴해결방법1: 조건에 BINARY 함수 추가--문제 쿼리--SELECT userid FROM user_tab..
1. 리눅스 기본 명령어 명령어 설명 사용예시 cd Change Directory의 약자로 디렉터리를 이동하는 명령 # cd /parents/test test 디렉터리로 이동 # cd .. 바로 상위의 디렉터리로 이동 '..'은 현재 디렉터리의 부모 디렉터리를 의미 즉 parents 디렉터리로 이동 ls List의 약자로디렉터리(폴더)에 있는 파일의 목록을 나열하는 명령 옵션 -l : 파일들을 나열할때 자세히 출력 -a : 경로안의 모든 파일을 나열(숨김파일도 포함) -R : 위치한 디렉토리 하부 디렉토리의 파일까지 모두 출력 -h : 파일크기를 해석하기 편하게 출력 -r : 출력 결과를 내림차순으로 정렬 -t : 출력 결과를 파일이 수정된 시간을 기준으로 정렬 # ls -al 숨김파일을 포함하여 목록 ..
1. 이슈 jquery를 사용하면서 속성을 변경하는 방법에는 attr()과 prop()가 있다. 그러나 상황에 따라 작동되는 방식이 다르다. 자주 사용하는 이 둘의 차이점을 알아보려고 한다. 2. attr()과 prop()의 차이점 있음 없음 $('#yn_1').attr("checked"); // attr로 checked상태인지 물어봄 $('#yn_1').prop("checked"); // prop로 checked상태인지 물어봄 $('#yn_2').attr("checked"); // attr로 checked상태인지 물어봄 $('#yn_2').prop("checked"); // prop로 checked상태인지 물어봄 해당 결과는 이렇다. $('#yn_1').attr("checked"); -> checked..
1. 이슈 리눅스를 통해 마리아DB 계정과 테이블을 만들어 사용해야 하는 상황이었다. 그래서 사용했던 리눅스 명령어와 DB연동 시 나타났던 오류들을 정리해 봤다. 2. 마리아 DB 계정생성 먼저 마리아DB에 접속을 해야 한다. 보통 mysql -u root -p로 접속할 수 있다. 이때 발생할 수 있는 mysql 명령어 오류 계정생성을 위해 mysql -u root -p 명령어로 생성한 DB에 root계정으로 접속할 것이다. 이때 "Error - bash: mysql: command not found" 이런 오류가 나타난다면 명령어의 경로를 환경변수로 지정해주지 않아서 그렇다. [ 해결방법 ] 1. 환경변수에 mysql 명령어를 추가하거나 https://ryean.tistory.com/5 [MySQL] ..
1. 이슈 속도가 너무 오래 걸려 불편을 주는 Mysql 쿼리를 발견하여 이를 개선하고자 했다.속도저하의 원인으로는 Join시 데이터가 많은 테이블의 값을 읽어오는데 오래 걸렸던 것으로 짐작된다. 이를 해결하고자 인덱스, 쿼리개선, DB 격리수준 변경 등 다양한 방법을 진행했다. 2. 쿼리 SELECT A.name , B.code, C.text FROM SmallTable A INNER JOIN MiddleTable B ON A.user_code = B.user_code INNER JOIN LargeTable C ON A.user_code = C.user_code AND C.ROLE = (SELECT ROLE FROM LargeTable WHERE user_code = ..
1. 이슈 페이징을 구현하는 과정에서 Map에 있는 값을 int로 가져와서 사용해야 하는 일이 있었다. 그러나 int로 강제 형변환해서 사용하면 될 거라 단순하게 생각했지만 오류가 발생했다. int current_page = (Integer)map.get("current_page"); -- java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer 발생 이를 올바르게 해결하려고 했다. 2. Map에 있는 값 형변환하기 첫번째로 Stiring -> int로 전환하여 사용하려 했다. int current_page = Integer.parseInt((String)map.get("current_page")); -- java..
1. 이슈DB작업을 진행하던 도중 지우면 안되는 테이블을 삭제하고 습관적으로 커밋까지 눌러버렸다.이 테이블을 복구하기 위해 방법을 찾아봤다. 2. 오라클 DB 삭제한 테이블 복구FLASHBACK : 특정한 시간 또는 시점으로 되돌릴 수 있는 기능 1) 휴지통에서 지운 테이블 확인SELECT * FROM RECYCLEBIN; 단 휴지통이 비어있는 경우 복구를 못한다.(PURGE를 한 경우) 2) 휴지통에 있는 테이블 복원FLASHBACK TABLE 테이블명 TO BEFORE DROP;3. 데이터 실수로 지우고 커밋 한 경우 복구 방법1) SYSTIMESTAMP를 이용한 데이터 검색 -- 10초전 데이터 조회 SELECT * FROM 테이블 AS OF TIMESTAMP(SYSTIMESTAMP-INTE..
1. 이슈프로젝트에서 JSTL을 이용하여 데이터를 보여주는데, 동적으로 변하는 변수를 사용하여 문을 구현할 필요성이 생겼다.(안그러면 모든 항목을 일일이 다 적어줘야 함..)이에 대해 알아봤다. 2. JSTL 동적 변수 ${item[index]} 예를 들어 it_1, it_2, it_3..... it_100까지의 데이터를 보여줘야 한다면 이를 일일이 100개의 데이터를 작성하기엔 무리가 있다.이때 동적으로 변하는 변수를 값으로 두어 한 번에 처리할 수 있다. 이런식으로 할 수도 있다. ${item[index]} 참고https://gomest.tistory.com/39 [JSP] jstl 동적 변수 사용DB 에서 데이터를 가지고 오다보면 info1 ,..
1. 이슈프로젝트 도중 오라클 DB 마이그레이션 중 중복된 데이터가 생성되는 경우가 존재했다.이를 제거하기 위한 쿼리문을 찾아봤다.2. 중복된 데이터를 삭제하는 쿼리문중복된 데이터는 조건 없이 하나만 남기고 삭제DELETE FROM 테이블명 WHERE ROWID IN ( SELECT ROWID FROM ( SELECT * FROM ( SELECT ROW_NUMBER() OVER(PARTITION BY 중복컬럼명 ORDER BY 중복컬럼명) AS num FROM 테이블명 ) WHERE num > 1 ) ); 이 쿼리문을 해석하면먼저..