joonbread의 등록된 링크

키자드에 등록된 총 1673개의 포스트를 확인하실 수 있습니다.

Naver Blog

SQL 문제 11- WeatherObservation Station 6(HackerRank)

SQL 문제 11- Weather Observation Station 6(HackerRank) * 문제 내용 * 결과 - CIRY명 맨 앞이 모음으로 시작하고 중복을 제외한 CITY를 출력하는 문제로 총 65개의 도시명이 출력되었다. - 오라클의 regexp_like('대상 컬럼명',정규식내용')을 이용한 문제풀이로, 정규식의 맨 앞에 '^'를 붙임으로써 맨 앞을 의미, 그리고 [] 안에 모음에 해당하는 'a','e','i','o','u'를 각각 '|'을 이용하여 해당 모음만을 확인한다음 중복을 제외한 'DISTINCT'를 사용한 풀이법이다. * 출처

Naver Blog

SQL 문제 12 - WeatherObservation Station 7 (HackerRank)

SQL 문제 12 - Weather Observation Station 7 (HackerRank) * 문제 내용 * 결과 - 이전문제와 반대로 CIRY명 맨 뒤가 모음으로 끝나고 중복을 제외한 CITY를 출력하는 문제로 총 150개의 도시명이 출력되었다. - 오라클의 regexp_like('대상 컬럼명',정규식내용')을 이용한 문제풀이로, 정규식의 맨 뒤에 '$'를 붙임으로써 맨 끝을 의미하며, 그리고 [] 안에 모음에 해당하는 'a','e','i','o','u'를 각각 '|'을 이용하여 해당 모음만을 확인한다음 중복을 제외한 'DISTINCT'를 사용한 풀이법이다. * 출처

Naver Blog

SQL 문제 13 - WeatherObservation Station 8 (HackerRank)

SQL 문제 13 - Weather Observation Station 8 (HackerRank) * 문제 내용 * 결과 - 이전문제의 내용을 통합한 문제로 CIRY명 맨 앞과 맨 뒤가 모음으로 끝나고 중복을 제외한 CITY를 출력하는 문제로 총 28개의 도시명이 출력되었다. - 오라클의 regexp_like('대상 컬럼명',정규식내용')을 이용한 문제풀이로, regexp_like의 정규식에는 or는 존재하나, and가 존재하지 않기에.. where문의 and를 이용하여 and를 구현하였다. - 이전문제에서 알 수 있듯이.. 정규식의 맨 앞에 '^'를 붙여 맨 앞을 의미하고 맨 뒤에 '$'를 붙임으로써 맨 끝을 의미하며, 그리고 [] 안에 모음에 해당하는 'a','e.......

Naver Blog

SQL 문제 14 - WeatherObservation Station 9 (HackerRank)

SQL 문제 14 - Weather Observation Station 9 (HackerRank) * 문제 내용 * 결과 - 이전문제와 다르게 이번엔 CIRY명 맨 앞이 모음이 아니며 중복을 제외한 CITY를 출력하는 문제로 총 421개의 도시명이 출력되었다. - 오라클의 regexp_like('대상 컬럼명',정규식내용')을 이용한 문제풀이로, regexp_like의 정규식의 맨 앞에'^'를 붙일경우 해당 값은 맨 앞을 의미하지만, 그 다음 []안에서 ^를 쓸 경우 그건 부정의 의미가 된다. - 그래서 [] 안에 모음에 해당하는 'a','e','i','o','u'에 각각 '^'(부정)와 '|'을 이용하여 해당 모음이 아닌.......

Naver Blog

SQL 문제 15 - WeatherObservation Station 10 (HackerRank)

SQL 문제 15 - Weather Observation Station 10 (HackerRank) * 문제 내용 * 결과 - 이전문제와 반대로 CIRY명 맨 뒤가 모음으로 끝나지 않고 중복을 제외한 CITY를 출력하는 문제로 총 336개의 도시명이 출력되었다. - 오라클의 regexp_like('대상 컬럼명',정규식내용')을 이용한 문제풀이로, 정규식의 맨 뒤에 '$'를 붙임으로써 맨 끝을 의미하며, 그리고 [] 안에 모음에 해당하는 'a','e','i','o','u'를 각각 '^'(부정)와 '|'을 이용하여 해당 모음이 아닌 경우를 확인한다음 중복을 제외한 'DISTINCT'를 사용한 풀이법이다. * 번.......

Naver Blog

SQL 문제 9 - Weather Observation Station 4(HackerRank)

SQL 문제 9 - Weather Observation Station 4(HackerRank) * 문제 내용 * 결과 - 'STATION테이블의 도시의 총 수 - STATION테이블의 중복된 도시 수'인 문제였다. - 아래의 예시로 나오는 문구는 총 도시에서 유니크(중복되지 않는 고유값)인 도시 값을 뺀 문제란 것을 보여준다. * 출처

Naver Blog

SQL 문제 10 - Weather Observation Station 5 (HackerRank)

SQL 문제 10 - Weather Observation Station 5 (HackerRank) * 문제 내용 * 결과 - 문제의 요점은 최솟값 검색 시 알파벳 길이가 짧고 알파벳 순서대로 정렬을 하는 것과 최댓값 검색 시 알파벳 길이가 길고 알파벳 순서대로 정렬을 하는 점이다. - 개인적으로 한줄엔 CITY, MIN값과 또다른 줄엔 CITY, MAX값을 어떻게 한 쿼리로 구현할까 고민했었는데.. 혹시 몰라서 쿼리를 2개로 작성하니 상관없이 동작한걸 볼 수 있었다.. * 출처

Naver Blog

SQL 문제 5 - Japanese Cities' Attributes(HackerRank)

SQL 문제 5 - Japanese Cities' Attributes(HackerRank) * 문제 내용 * 결과 - SELECT * FROM CITY인 검색 결과에 도시코드가 'JPN'인 경우를 찾는 문제 * 출처

Naver Blog

SQL 문제 6 - Japanese Cities' Names(HackerRank)

SQL 문제 6 - Japanese Cities' Names(HackerRank) * 문제 내용 * 결과 - 도시코드가 'JPN'인 검색결과가 나온 이전문제에서 NAME만 출력하는 문제 * 출처

Naver Blog

SQL 문제 7 - Weather Observation Station 1(HackerRank)

SQL 문제 7 - Weather Observation Station 1(HackerRank) * 문제 내용 * 결과 - 문제는 STATION 테이블에서 CITY와 STATE를 출력하는 문제로.. COLUMN값인 CITY와 STATE를 검색하는 문제이다. - 테이블의 출력값이 499 ROW를 갖고 있어서 결과로 499줄이 나온다. * 출처

Naver Blog

SQL 문제 8 - Weather Observation Station 3(HackerRank)

SQL 문제 8 - Weather Observation Station 3(HackerRank) * 문제 내용 * 결과 - ID가 짝수인 도시를 중복을 제외하여 출력하는 문제였다. - Oracle의 MOD() 함수를 이용하여 나머지를 구할 수 있는 방법을 이용하여 MOD(ID,2) = 0 조건을 줘서 짝수 조건을 충족시킨다. - Oracle의 중복 제거는 대상 컬럼 앞에 'DISTINCT'를 붙여서 중복을 제외한 결과를 출력한다. * 번외 - 8문제 푸니까 아래와 같이 효과가 나오는데 뭔가 좀 뿌듯하다. * 출처

Naver Blog

SQL 문제 2 - Revising the Select Query II(HackerRank)

SQL 문제 2 - Revising the Select Query II(HackerRank) * 문제 내용 * 결과 - 이전 문제처럼 도시코드가 USA일경우를 도시 이름만 출력하란 문제였으며 갯수가 또 안 적혀져 있고 4개로 정해져있어서.. 거기에 맞춰서 출력했다. * 출처

Naver Blog

SQL 문제 3 - Select All(Hacker Rank)

SQL 문제 3 - Select All(HackerRank) * 문제 내용 * 결과 - 결과값을 보면 알 수 있듯이 모두 출력할 때 ID 값이 내림차순이므로 ORDER BY ID DESC를 쿼리에 추가함으로써 검색 결과 값을 내림차순으로 구현했다. * 출처

Naver Blog

SQL 문제 4 - Select By ID(HackerRank)

SQL 문제 4 - Select By ID(HackerRank) * 문제 내용 * 결과 - ID값이 '1661'일 경우가 조건이므로 SELECT * FROM CITY에서 ID='1661'이란 조건을 줘서 푼 문제이다. * 출처

Naver Blog

JAVA 문제 22 - 위장(프로그래머스)

JAVA 문제 22 - 위장(프로그래머스) * 문제 내용 * 출력 내용 * 풀이 - 종류의 수에 따라 경우의 수가 구현되는 문제였다.

Naver Blog

Kotlin - this

Kotlin - this - 클래스에서 this 키워드를 통해 클래스 내부에 정의된 내용을 사용할 수 있다. - 이전에 말했듯이 코틀린에서는 기본생성자를 init 블록을 사용하여 기본생성자를 대체한다고 했었는데, 생성자의 인자를 통해 클래스 내부의 프로퍼티에 값을 할당 할 수 있다. - 자바와 달리, 코틀린은 생성자의 인자를 통해 프로퍼티에 값을 할당할 경우 프로퍼티에 값을 생성자 스스로 선언하므로 추가 선언이 필요가 없다. - 또한 this키워드가 어떤 클래스에 있느냐에 따라 this가 의미하는 클래스가 달라지는데, 이를 this@{class명} 형태로 사용한다. - this는 접근하는 위치에 따라 사용방법이 가지각색인것 같다.

Naver Blog

Kotlin - property(프로퍼티)

Kotlin - property(프로퍼티) - 자바에선 private 접근 제한자인 변수에 대해 set/getter로 접근하듯이, 코틀린은 프로퍼티를 이용하여 해당 내용을 간결하게 변경할 수 있다. 프로퍼티 예시 - 위와 같이 자바에서 필드를 사용하기 위해 만든 set/getter()로 인해 길어진 코드를 코틀린에서는 단 한 줄로 바꿀 수 있다. - 그 대신, 코틀린에서는 set,getter()를 set(), get()으로 쓰며 두개를 모두 쓰기 위해선 해당 프로퍼티를 var로 작성해줘야한다.(val는 불변이므로 get()만 사용가능) - 해당 프로퍼티도 카멜표기법을 따른다. 프로퍼티 주의할 점 1. 프로퍼티는 사용시 반드시 초기화 되어 있어야 한다. 2. this키워드를 사용하지 않을 경우.......

Naver Blog

SQL 문제 1 - Revising the Select Query I(HackerRank)

SQL 문제 1 - Revising the Select Query I(HackerRank) * 문제 내용 * 결과 - 문제가 좀 어이가 없는게 문제 풀이 내용 중 'COUNTRYCODE가 The CountryCode for America is USA'면 CountryCode가 America is USA라는 뜻이니 거기에 맞췄는데 답이 아니란다. - 기대한 문제 풀이는 해당 USA인 코드 중 5줄만 나오도록 한 것이여서 그것을 ROWNUM 처리하여 출력하니 해결됬는데 문제를 개떡같이 낸 듯하다.(다른 도시들도 보니까 미국맞던데 뭔 차이인지 모르겠다,) * 출처

Naver Blog

Kotlin - 클래스

Kotlin - 클래스 - 우리 클래스라고 하면 하나의 영역으로도 알아듣듯이, 프로그래밍언어에서의 클래스가 존재한다. - 코틀린의 class는 기본 생성자와 보조 생성자가 존재한다. - 코틀린에서는 init 블록을 사용하여 기본 생성자를 대체한다. - constructor란 키워드를 이용하여 또다른 생성자를 만들 수 있다. - 기본 생성자가 없이 보조 생성자만 사용할 순 있겠지만, 기본 생성자처럼 매개변수에서 바로 선언 및 초기화를 할 수 없다.

Naver Blog

JAVA 문제 20 - 위클리 챌린지(모음 사전)

JAVA 문제 20 - 위클리 챌린지(모음 사전) - 사전에 기반한 문제로, 'A','E','I','O','U'만을 사용하는 단어를 만들 때 사전에서 해당 단어의 순번을 나타내는 문제이다. * 문제 * 입출력 * 풀이 - 하나의 단어가 바뀌거나, 추가될 경우 1씩 증가하는 문제를 감안해서 보면 5번째 단어는 총 5번 증가한다. - 4번째 단어에서 보면 'AAAA'가 AAAE가 되기 전(AAAA, AAAAA, AAAAE, AAAAI, AAAAO, AAAAU, AAAE)으로 보아 AAAE전은 총 6번이 체크 되므로, 규칙을 보면 5번째 단어인 5번과 4번째 단어인 1번을 의미하기에 4번째 단어의 순서는 5번째 단어의 증가값 + 1으로 6이 되는걸 알.......

Naver Blog

JAVA 문제 21 - 위클리 챌린지 6주차(복서 정렬하기)

JAVA 문제 21 - 위클리 챌린지 6주차(복서 정렬하기) * 문제 내용 * 출력 내용 * 풀이 - 정렬순서는 이긴 승률 > 상대 무게 > 자신의 무게 > 작은 번호 순으로 나온것을 감안하여 비교를 해야한다. - 비교값에 필요한 순번, 상대전적, 자신의 무게, 무게차이, 현재 총 경기수를 리스트화한다. - ArrayList로 구현된 player타입의 리스트를 정렬하기 위해 Collections.sort를 사용했는데, 이 때 컬렉션에 포함된 요소 클래스가 제공한 compareTo를 이용하여 기준값에 비교대상이 포함되어 있으면 문자열 길이의 차이점을 반환하는 방법이다.

Naver Blog

Kotlin - 상속

Kotlin - 상속 - 흔히, 상속이라하면 특정 대상에 대한 권리 또는 권한을 타인에게 양도하는걸 의미하는데, 프로그래밍에서도 타 클래스의 내용을 불러와서 사용할 수 있다. - 상속을 하기 위해선 클래스 내용을 물려줄 부모 클래스와 그것을 받아서 사용하는 자식클래스가 존재한다. - 코틀린의 클래스 작성은 자바의 클래스 작성과 비슷하나, 차이점으로 클래스 블록을 작성할 필요가 없다. - 코틀린의 클래스는 디폴트로 final public으로 작성되기 때문에 상속으로 사용하려면 open이란 키워드를 사용한다. - 상속이란건 부모클래스에서 물려준 내용을 자식클래스에서 재활용하여 사용하듯이, 만약 부모클래스에서 내용을 다르게 수정하여 자.......

Naver Blog

Kotlin - 오버라이딩, 오버로딩

Kotlin - 오버라이딩, 오버로딩 - 이 글은 코틀린에서의 오버라이딩, 오버로딩을 다룬다. 오버라이딩 - 오버라이딩은 하위 클래스에서 상위 클래스의 내용을 다르게 사용할 수 있다. - 오버라이딩을 사용할 경우 반드시 앞에 override 키워드를 명시해준다. - 이전 글에서 상속을 다뤘을 때 부모클래스의 내용을 자식클래스에서 재활용한다고 한 적이 있었는데, 이것을 오버라이딩이라고 한다. - 만약, 상위 클래스가 2개 이상이고, 같은 method명을 상속할 경우 super<상위 클래스명>.method명(매개변수 값)으로 사용한다. 오버로딩 - 오버로딩은 오버라이딩과 달리, method 이름은 같되, 매개변수를 다르게 하여 같은 이름의 method를 여.......

Naver Blog

Kotlin - 스마트캐스트(Smart Cast)

Kotlin - 스마트캐스트(Smart Cast) - 이전에 코틀린에서는 자동 형변환을 지원하지 않는다고 했다. 그럼, 어떤 값이 정수 또는 실수일 경우 그때마다 자료형을 변환하는 방법이 있는데 이를 스마트 캐스트라고 한다. - 대체로 스마트 캐스트가 적용되는 자료형은 Number형으로, Number형을 사용하면 숫자를 저장하는 특수한 자료형 객체를 만든다. - 위처럼 각각 타입이 다르지만 숫자형에 해당하므로, 숫자형 타입일경우 이렇게 값을 변환할 수 있다.

Naver Blog

Kotlin - 람다식(Lambda Expression)

Kotlin - 람다식(Lambda Expression) - 함수명이 없는 익명함수를 의미한다. 람다식 작성법(Lambda Expression) - 전체적인 부분을 봤을 때 람다식이란 익명함수인 만큼 함수를 나타내는 fun를 작성할 필요가 없다. - 위와 같이 람다식의 구성은 다음과 같다. 1. 람다식의 결과를 대입할 변수 2. 람다식에 사용할 자료형 3. 반환된 자료형 4. 람다식 자료형에 맞는 매개변수 5. 실행내용 - 위를 보면 람다식의 겹치는 부분이 있는데, 다들 눈치를 챘는지 모르겠지만 2번과 4번의 자료형이 같음을 알 수 있다. 즉, 한쪽의 자료형이 명시되어 있으면 다른 한쪽이 자료형 생략이 가능하다는 점 - 만약, 2번과 4번 모두 자료형을 명시하지 않으면 람.......

Naver Blog

Kotlin - is, !is, as, as?

Kotlin - is, !is, as, as? - is를 간결히 보자면 ~는 ~다란 뜻이며, !is는 ~는 ~가 아니다란 뜻으로 해석된다. - as는 null이란 예외에 대해 형변환이 불가능하므로, 안전하지 않은 캐스트 연산자이며, as?는 예외도 포함된 형변환이므로 안전한 형변환이다. * 출처

Naver Blog

Kotlin - 함수

Kotlin - 함수 - 특정 값을 넣었을 때 가공절차를 거쳐 값이 나오는 걸 함수라고 할 때, 프로그래밍에서의 함수는 특정 기능을 수행하는데 적합하다 볼 수 있다. - 매개변수란, 함수 실행 시 함수에 사용되는 변수를 의미하며, 매개변수 타입에 맞춰 값이 변한다. - 위와 같이 함수는 크게 2가지로 나뉘는데, 함수 실행 후 반환값(함수에서 나온 값)의 유무로 나뉜다. - 참고로 2번과 같이 반환자료형이 추론이 가능할 경우 생략이 가능하다. - 4번의 내용은 매개변수 개수가 정해지지 않았을 경우 사용된다. * 2021.09.25 추가 내용 - 5번에 해당하는 함수명이 없는 익명 함수도 있다. - 보통 같은 함수를 2번 이상 사용할 경우 2번 호출하는데.......

Naver Blog

SQL(ORACLE 기준) - 문자열 byte 크기 조회

SQL(ORACLE 기준) - 문자열 byte 크기 조회 - vsize(byte 측정할 문자열내용)을 사용하여 확인할 수 있다. - 자신의 DBMS의 CHARACTERSET을 확인 SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER = 'NLS_CHARACTERSET'; - KO16KSC5601 : 완성형 한글, 글자당 2Byte로 2,350자 지원한다. - KO16MSWIN949: 완성형 한글 확장형, 글자당 2Bytes로 8822자 지원한다. - UTF8: 글자당 3바이트로 한글 11,172자 지원한다. - AL32UTF8: UTF8 비슷하지만 8i 하위 버전의 클라이언트에서 사용할 수 없음(UTF-8보다 최신) - UTF8과 AL32UTF8가 따로 있는 이유는 UTF-8은 유니코드 2.1~3.0 버전을 지원하지만, AL32UTF8은 3.0 이상의 버.......

Naver Blog

SQL(MySQL/MariaDB) - 문자열 Byte값 확인

SQL(MySQL/MariaDB) - 문자열 Byte값 확인 - mysql은 length('확인할 문자열')을 통해 알 수 있다.

Naver Blog

JavaScript - select box의 선택한 option id 값 구하기

JavaScript - select box의 선택한 option id 값 구하기 - 해당 onchange를 select box에 준 뒤, 오브젝트 값을 매개변수로 이용한다. - select box도 사실상 배열과 같이 옵션값을 요소로 보면 알기 쉽다. 또한 javascript에 맞춰 해당 요소의 id값 구하면 끝

Naver Blog

JSTL - <c:forEach>에서 break기능 구현

JSTL - <c:forEach>에서 break기능 구현 - JSTL만으로도 forEach문에서 따로 break문을 지원하지 않기 때문에 밖에 한 변수를 생성한 뒤 특정 값이 아닐 경우 변수에 false값을 설정하여 break를 구현한다.

Naver Blog

Kotlin - 새 프로젝트 생성

Kotlin - 새 프로젝트 생성 - 필자는 IDE를 IntelliJ(이하 인텔리제이)를 사용하여 프로젝트를 생성했는데, IntelliJ는 아래 사이트에서 확인할 수 있다. Kotlin - 새 프로젝트 생성 1. 먼저 인텔리제이를 시작하여 New Project를 클릭한다. 2. 만약 SDK가 없다면 Project SDK에서 JDK를 다운로드 하자 - 필자는 기존에 가지고 있던 1.8.0_261 버전을 사용하였다. 3. SDK를 선택했으면 Kotlin(이하 코틀린)을 선택한 다음 next를 클릭해주자 4. 이제 프로젝트 이름을 작성한다음 finish를 누르면 끝 5. 프로젝트가 생성된걸 확인할 수 있다.

Naver Blog

Kotlin - 프로그램 생성 후 문자 출력하기

Kotlin - 프로그램 생성 후 문자 출력하기 - Kotlin 프로그램 생성한 다음 문자를 출력하는걸 다뤄본다. Kotlin - 프로그램 생성 방법 1. 먼저 kotlin 프로젝트의 src에서 kotlin class/file을 선택하여 kotlin file을 만들어준다. 2. 해당 파일(파일명.kt)을 만들면 아래 내용을 작성해보자 - 간단히 설명하자면 실행 시 fun main(args :Array<String>)을 실행하는데, 그 안에 있는 println("joonbread의 개인공부")가 동작된다. - println("내용")은 println의 내용을 콘솔창에 출력하는 내용이다. 3. 실제 구현을 확인하기 위해 alt + shift + f10키를 눌러주자 - 그럼 위와 같이 Run이라는 네모난 사각형 안에 자.......

Naver Blog

Kotlin - 변수와 상수(작성법)

Kotlin - 변수와 상수(작성법) - 변수란 말 그대로 변하는 수를 말하는데, 변수란 수를 의미하기도 하지만, 저장소로도 불릴 수 있다. - 변수란 공간에 특정 값을 넣어 변수에서 그 특정값을 꺼내 쓸 수 있다고 보면 이해하기 쉽다. 변수란? 1. 변수 앞에는 var(variable의 약자)를 붙여서 사용하는데, 우리가 글을 왼쪽에서 오른쪽으로 읽듯이 변수를 왼쪽에, 값은 오른쪽에 작성한다. 2. 변수 타입을 작성하는 방법과 변수 선언을 따로 사용한 이유는, 다른 프로그래밍 언어에서 알 수 있는데, 다른 프로그래밍 언어에서는 변수를 쓰기 위해 변수타입을 쓰는경우가 있지만, kotlin은 생략이 가능하기 때문에 이런 방법이 가능하다. 3. 변수타입.......

Naver Blog

Kotlin - 변수 타입

Kotlin - 변수 타입 - kotlin은 프로그래밍 언어인 자바와 달리 숫자 타입 간 형변환을 자동으로 하지 않는다.

Naver Blog

Kotlin - 타입 변환

Kotlin - 타입 변환 - 대체로 해당 타입으로 변환하고자 한다면 대상변수명 뒤에 to를 붙인다음 타입명을 명시해준다면 거기에 맞춰서 형변환이 된다. - 참고로 작은 값에서 큰 값으로 변환 시 값을 그대로 옮길 수 있지만, 큰 값을 작은 값으로 변환 시 상대적으로 작게 변환하기 때문에 원한 값을 얻을 수 없다.

Naver Blog

Kotlin - 연산자

Kotlin - 연산자 - 우리가 값 사이 연산자에 따라 값이 다르듯이 kotlin에서도 값을 다루기 위해 연산자를 사용한다.

Naver Blog

Kotlin - 제어문

Kotlin - 제어문 - 프로그램이 원하는 조건에 맞춰 실행하고자 할 때 제어문이라는 걸 사용한다. - Kotlin의 제어문은 크게 if문(if-else / else 포함), when, for, while으로 나뉜다. if - 사전적인 의미처럼 가정을 기반으로 실행된다. - if는 타 프로그래밍 언어와 달리 조건 결과를 변수에 저장할 수 있기에, 삼항연산자가 존재하지 않는다. * 삼항연산자란 비교할 내용을 두고 해당 비교값이 참일경우와 거짓일경우 값을 반환한다. - if문은 타 프로그래밍 언어와 비슷한 구조를 나타낸다. - 처음은 반드시 if로 시작하며, 그 다음의 조건에서는 if else를 사용하나, if를 제외한 나머지를 사용할 경우 else를 사용한다. - 위처럼 if문을 사.......

Naver Blog

SQL 문제 25 - 중성화 여부 파악하기(프로그래머스)

SQL 문제 25 - 중성화 여부 파악하기(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - CASE문을 사용하여 REGEXP_LIKE(컬럼명, 정규식)을 이용하여 푼 문제이다. * 출처

Naver Blog

SQL 문제 26 - 오랜 기간 보호한 동물(2)(프로그래머스)

SQL 문제 26 - 오랜 기간 보호한 동물(2)(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - MySQL은 LIMIT를, ORACLE은 ROWNUM을 이용하여 검색 값 중 상위 2개를 추출한 방법이다. * 출처

Naver Blog

SQL(ORACLE 기준) - NULL값 맨 앞 / 맨 뒤 정렬

SQL(ORACLE 기준) - NULL값 맨 앞 / 맨 뒤 정렬 - NULL값 먼저 정렬 시 NULLS FIRST를, 맨 뒤에 정렬 시 NULLS LAST를 사용

Naver Blog

SQL 문제 27 - DATETIME에서 DATE로 형 변환(프로그래머스)

SQL 문제 27 - DATETIME에서 DATE로 형 변환(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - MySQL에선 DATE_FORMAT을 통해 DATE형식으로 변환하는 방법이 있다. - %Y는 4자리 연도(2자리는 %y)를, %m은 월, %d는 일을 표시한다. - 문제 중 주의사항으로 '시각(시-분-초)을 제외한 날짜(년-월-일)만 보여주세요.'란 요청사항이 있어서 오라클에서 datetime을 to_char(날짜,'변환타입')을 사용하여 바꿀 수 있었다. * 출처

Naver Blog

JAVA 기초 51 - Arrays.binarySearch()를 이용한 특정 배열에서 특정 값 위치 찾기

JAVA 기초 51 - Arrays.binarySearch()를 이용한 특정 배열에서 특정 값 위치 찾기 - 배열에서 특정 값이 요소에 포함되어있는지 확인할 때 사용하는 method(이하 메서드)이다. - 최근 문자열 배열에서 특정 문자열이 포함되어있는지 확인한다음, 인덱스 위치에 따라 값을 설정하는 방법을 찾다가 이 메서드를 발견하였다. - Oracle 공식 문서에 따르면, 이진 검색 알고리즘을 사용하여 지정된 배열에서 지정된 값을 검색하는 방법을 나타낸다. - 참고로, 해당 메서드에 사용되는 배열은 정렬이 되어있어야 비로소 효과를 볼 수 있다. - 위에서 말했듯이, 해당 메서드는 지정된 배열에서 특정 값을 찾아 인덱스를 반환한다고 하였는데, 만약 값이.......

Naver Blog

자바 기초 52 - HashMap에서 키와 값을 확인하는 방법

자바 기초 52 - HashMap에서 키와 값을 확인하는 방법 - 최근 프로그래머스의 위클리 4주차 문제를 풀면서 이전에 사용했었던 HashMap에서 key를 이용한 값 여부 확인 방법을 사용하면서 다시 한번 다뤄보고자 이 글을 적는다. - HashMap변수명.containsKey(key)를 사용하여 해당 map에 key가 존재하는지 확인할 수 있다. - 그와 반대로 해당 map에 value가 있는지 확인하려면 containsValue(value)를 사용한다.

Naver Blog

JAVA 문제 19 - 위클리 챌린지 4주차 - 직업군 추천하기

JAVA 문제 19 - 위클리 챌린지 4주차 - 직업군 추천하기 - 프로그래머스에서 제공하는 문제로 특정 배열값(A)을 찾아 해당 인덱스(B)를 가지고 값을 추려낸 뒤 또 다른 특정 배열값(C)에 사칙연산을 통해 가장 큰 수를 찾는 문제이다. * 문제 내용 - 직업군 언어 점수(A), 개발자 언어 선호도(B), 개발자 사용 언어(C)의 배열 값을 가지고, B에서 선호하는 언어를 A에서 찾고, B와 C의 인덱스 매칭된 값을 찾은 A의 인덱스 값을 곱하여 최종 선호 점수가 높은 언어를 찾는 문제이다. - 만약, 최고점이 2개 이상일 경우 알파벳순에 의거하여 최고점수를 매긴다. - 출력 내용 * 풀이 - 처음엔 Arrays.binarySearch 메서드를 이용하고자 했는데, 문.......

Naver Blog

자바 기초 53 - 비교한 문자열 사전순으로 비교

자바 기초 53 - 비교한 문자열 사전순으로 비교 - compareTo()를 이용하여 유니코드 값 기반의 문자열 순서를 비교한다. - 같은 문자열이면 0을 반환 - 비교할 대상과 다른 경우 기준값에서 대상값을 뺀값을 보여준다.

Naver Blog

JAVA 기초 54 - Directory 생성(하위 디렉토리 생성 시 부모 디렉토리 포함하여 생성)

JAVA 기초 54 - Directory 생성(하위 디렉토리 생성 시 부모 디렉토리 포함하여 생성) - mkdir()은 부모 디렉토리 존재 여부에 따라 생성여부가 정해진다. - mkdirs()은 부모 디렉토리 존재 여부와 상관 없이 생성한다.(부모 디렉토리가 없을 경우 같이 생성한다. - mkdir()과 mkdirs() 모두 중첩된 디렉토리가 존재하면 생성하지 않는다.

Naver Blog

자바 기초 55 - 디렉토리 삭제 시 하위파일, 폴더 포함 삭제

자바 기초 55 - 디렉토리 삭제 시 하위파일, 폴더 포함 삭제 - 삭제를 구현하면서 알게 된 점은 폴더안에 파일이 있으면 폴더는 삭제할 수 없는것이였다. - 그럼 간단히 봤을 때 폴더를 삭제하려면 하위 파일을 삭제하고 나서 삭제를 하므로, 재귀함수를 통해 삭제를 하면 끝 - 참고로 File 객체의 delete()는 삭제여부를 boolean값을 반환하는데 삭제 시 true를 반환, 아닐경우 false를 반환한다.

Naver Blog

자바 기초 56 - zip 파일 생성

자바 기초 56 - zip 파일 생성 - zip파일을 생성하기 위해 ZipOutputStream(new FileOutputStream("zip파일명"))을 사용하여 zip파일을 생성한다. - 해당 ZipOutputStream 객체에 putNextEntry(new ZipEntry(파일))을 사용하여 압축파일에 저장할 파일명을 설정한다. - 이후에 읽은 파일을 ZipOutputStream 작성해주면 끝

Naver Blog

SQL 문제 17 - 입양 시각 구하기(1)(프로그래머스)

SQL 문제 17 - 입양 시각 구하기(1)(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - MySQL(SUBSTRING 함수 이용) - SUBSTRING(대상 문자열명,시작위치,시작으로부터 끝위치)을 쓰면 대상 문자열의 시작 위치부터 특정 위치까지의 문자열을 찾을 수 있는데, 이를 통해 DATETIME컬럼에서 시간에 해당하는 값을 추출한다. - 해당 추출한 값에서 GROUP BY로 시간을 그룹화하고, 그 시간이 9시~19시까지 묶되, 시간 오름차순으로 만들면 값이 나온다. - Oracle(TO_CHAR 이용) - DATETIME에서 TO_CHAR()를 이용하여 날짜형식의 컬럼을 문자형식으로 변환한다. - TO_CHAR에서 'HH24'로 변환하여 DATETIME에서 시간만 추출한 값을 24시간 볼.......

Naver Blog

SQL 문제 18 - 입양 시각 구하기(2)(프로그래머스)

SQL 문제 18 - 입양 시각 구하기(2)(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - MySQL(SET문, := 이용) - SET문을 이용하여 @TIME에 -1 대입 후 해당 값을 23까지 나오도록 :=(대입연산자) 를 사용하여 0부터 23의 값을 시간으로 잡되, 0~23을 기준으로 COUNT하는 방법이다. - Oracle(CONNECT BY - 계층형 쿼리, JOIN 이용) - DATETIME을 0~23시로 변환한다고 했을 때, 해당 값(0~6시, 20~23시)이 없을 경우 아무리 해도 07~19시의 값만 나오는 것을 알게 되어 카운트 시간을 맞추기 위해 계층형 쿼리인 CONNECT BY로 0~23시를 지정해줬다. >> 아래의 사진과 같이 값이 있는 시간만 나오는 걸 볼 수 있다.(0~6시, 20~23시.......

Naver Blog

JAVA 문제 18 - 신규 아이디 추천(프로그래머스 - 2021 KAKAO BLIND RECRUITMENT)

JAVA 문제 18 - 신규 아이디 추천(프로그래머스 - 2021 KAKAO BLIND RECRUITMENT) - 프로그래머스에서 제공하는 문제, 정규식을 사용한 문제이다. * 문제 내용 1단계 : 소문자 처리 2단계 : 특정 문자 제외하고 제거 3단계 : . 2번 이상 연속 사용 시 .로 변경 4단계 : .가 처음이나 끝일 경우 제거 5단계 : 빈 문자열이면 a를 대입 6단계 : 아이디가 16자 이상인 경우 16자 이상의 문자 제거 및 제거 후 마지막에 .가 존재 시 마지막 . 제거 7단계 : 아이디 길이가 2자 이하일 경우 길이가 3이 될 때까지 마지막 문자를 연속붙임 - 출력 내용 * 풀이 - 정규식과 if문, toLowerCase, substring, replaceAll, repeat 메서드들을 이용하여 문제를 풀.......

Naver Blog

SQL 문제 19 - 없어진 기록 찾기(프로그래머스)

SQL 문제 19 - 없어진 기록 찾기(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - OUTER JOIN을 사용하여 입양을 기록하는 ANIMAL_OUTS 테이블에 보호소 출입을 기록하는 ANIMAL_INS를 JOIN하여 연결하면 된다. - 입양 기록은 있지만, 보호소 출입 기록은 없으므로 보호소 출입 기록에 해당하는 ANIMAL_OUTS테이블의 ANIMAL_ID값이 없는 걸 조건으로 준다. * 출처

Naver Blog

SQL 문제 20 - 있었는데요 없었습니다(프로그래머스)

SQL 문제 20 - 있었는데요 없었습니다(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - 이전 문제와 달리 ANIMAL_INS, ANIMAL_OUTS 테이블의 KEY값이 서로 존재한 문제로 JOIN할 수 있는 KEY값을 이용하여 INNER JOIN하는 문제였다. - INNER JOIN을 이용하여 키 컬럼인 ANIMAL_ID로 두 테이블을 서로 연결하여 보호시작일인 INS.DATETIME과 입양일인 OUTS.DATETIME을 비교하여 결과를 도출하는 문제 * 출처

Naver Blog

SQL 문제 21 - 오랜 기간 보호한 동물(1)(프로그래머스)

SQL 문제 21 - 오랜 기간 보호한 동물(1)(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - 보호소 : ANIMAL_INS, 입양 : ANIMAL_OUTS이며, 보호소를 기준으로 입양을 못 간 동물을 찾으면 되는 문제이다. - MySQL - left outer join과 limit를 사용하여 푼 문제 - Oracle - 오라클에는 limit가 없지만 rownum을 통해 limit와 비슷하게 구현하였다. * 출처

Naver Blog

SQL 문제 22 - 보호소에서 중성화한 동물(프로그래머스)

SQL 문제 22 - 보호소에서 중성화한 동물(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - REGEXP_LIKE('컬럼명','정규식')을 통해 LIKE와 IN을 동시에 쓸 수 있다. - REGEXP_LIKE에서 특정문자를 2개이상 쓰기 위해 문자 사이에 '|'를 넣어서 푼 문제이다. * 출처

Naver Blog

SQL(ORACLE 기준) - WITH 문

SQL(ORACLE 기준) - WITH 문 - 많은 데이터를 조회할 때 서브쿼리문을 여러번 사용하다가 가독성을 늘리기 위해 방법을 찾던 도중 WITH문을 알게 되었다. - 대부분의 DBMS에서 지원하며, 쿼리 실행 시 한번 파싱하고 계속 사용할 수 있는 장점이 있다. WITH 문 사용법 - 주로 위와 같이 임시테이블명을 적은 뒤, SELECT문을 사용하여 임시테이블을 검색하는 방법으로 사용된다.

Naver Blog

SQL 문제 23- 루시와 엘라 찾기(프로그래머스)

SQL 문제 23- 루시와 엘라 찾기(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - 문제는 간단히 보자면, 해당 NAME 컬럼값이 무조건 'Lucy, Ella, Pickle, Rogan, Sabrina, Mitty' 6개 중 하나여야 한다는 점이다. - IN을 써서 해결해도 되지만, 가독성을 위해 필자는 REGEXP_LIKE문을 사용했다. - REGEXP_LIKE에서 2번째 값인 정규식을 쓸 때 무조건 정해진 이름으로 검색해야해서, 검색 이름 조건의 시작(^)과 끝($)을 작성해줬다. - 하단의 링크는 REGEXP_LIKE를 사용하여 푼 비슷한 문제를 보여준다. * 출처

Naver Blog

SQL 문제 24 - 이름에 el이 들어가는 동물 찾기(프로그래머스)

SQL 문제 24 - 이름에 el이 들어가는 동물 찾기(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - 간단하게 동물 타입이 'Dog'인 것과 이름에 el이 포함되는지 확인하면 된다. - regexp_like를 사용하지 않고 그냥 name like '%el%'로 해도 무관하다. - 이 문제는 el이란 값이 대소문자 구별을 하지 않는게 함정인데 regexp_like를 사용할 경우 mysql은 대소문자 구별없이 나오는 듯 하나, oracle은 대소문자를 구별하여 나온 것을 알 수 있었다. * 출처

Naver Blog

SQL 문제 8 - 동물의 아이디와 이름(프로그래머스)

SQL 문제 8 - 동물의 아이디와 이름(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - 아이디와 이름을 아이디순으로 출력하면 끝 * 출처

Naver Blog

SQL 문제 9 - 여러 기준으로 정렬하기(프로그래머스)

SQL 문제 9 - 여러 기준으로 정렬하기(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - 아이디, 이름, 보호 시작일을 이름순으로 정렬한 상태에서 중복된 이름이 있을 경우 보호 시작일이 나중인 동물을 먼저 보여주기 위해 보호시작일에 DESC를 적어준다. * 출처

Naver Blog

SQL 문제 10 - 상위 n개 레코드(프로그래머스)

SQL 문제 10 - 상위 n개 레코드(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - Oracle - 오라클에서는 SELECT문의 행 수를 ROWNUM으로 볼 수 있는데, SELECT 시 바로 ROWNUM으로 볼 수 없기에, SELECT 결과를 다시 SELECT로 검색한 뒤 ROWNUM의 조건을 줘서 알 수 있다. - ROWNUM은 1부터 시작하기 때문에(1행), 맨 윗줄을 출력하기 위해 ROWNUM이 2보다 작을 경우로 조건을 준다. - MySQL - Oracle과는 달리, SELECT시 바로 출력할 수 있는데, LIMIT를 이용하여 SELECT문의 맨 끝에 출력하고자 할 행수를 적어주면 끝난다. * 출처

Naver Blog

SQL 문제 11 - 최댓값 구하기(프로그래머스)

SQL 문제 11 - 최댓값 구하기(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - 최댓값을 출력하는 함수인 MAX(최대값 대상 컬럼명)을 사용하여 최댓값을 출력할 수 있다. * 출처

Naver Blog

SQL 문제 12 - 최솟값 구하기(프로그래머스)

SQL 문제 12 - 최솟값 구하기(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - 최솟값을 출력하는 함수인 MIN(최솟값 대상 컬럼명)을 사용하여 최솟값을 출력 * 출처

Naver Blog

SQL 문제 14 - 동물 수 구하기(프로그래머스)

SQL 문제 14 - 동물 수 구하기(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - 다들 합계를 구할 때 SUM(합계 대상 컬럼명)을 쓰지만 이럴 경우 NULL인 행은 SUM에 포함하지 않지만, SUM(1)을 통해 모든 값의 합계를 볼 수 있다. - 그러면 SUM(*)이 있는데 왜 SUM(1)을 쓰냐고 한다면, SUM(*)보다 SUM(1)이 조회 속도가 더 빠르다. * 출처

Naver Blog

SQL 문제 13 - 중복 제거하기(프로그래머스)

SQL 문제 13 - 중복 제거하기(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - 예시에서 보이는 이름은 NULL, SAM, SAM, SWEETIE로 중복 개수는 제외하는 걸 알 수 있는데, DISTINCT를 이용하여 중복 값을 제외할 수 있다. * 출처 https://programmers.co.kr/learn/courses/30/lessons/59408?language=oracle

Naver Blog

SQL 문제 15 - 고양이와 개는 몇 마리 있을까(프로그래머스)

SQL 문제 15 - 고양이와 개는 몇 마리 있을까(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - 동물 타입을 나타내는 ANIMAL_TYPE을 GROUP BY로 고양이와 개를 그룹으로 묶은 뒤, 고양이를 개보다 먼저 나오기 위해 ORDER BY를 사용하여 ABCD순으로 나오게 한 풀이다. - GROUP BY : 특정 컬럼에서 그룹화하여 나눌 수 있는 방법 * 출처 https://programmers.co.kr/learn/courses/30/lessons/59040

Naver Blog

SQL 문제 16 - 동명 동물 수 찾기(프로그래머스)

SQL 문제 16 - 동명 동물 수 찾기(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - GROUP BY를 사용해서 그룹화된 내용에서 조건을 주기 위해 HAVING을 사용 * 출처

Naver Blog

JAVA 문제 17) 위클리 챌린지 2주차 - 상호 평가

JAVA 문제 17) 위클리 챌린지 2주차 - 상호 평가 * 문제 내용 - 출력 내용 * 풀이 - 값에 의해 출력되는 문자 - 실행 내용 - 문제의 핵심 내용은 최저, 최고점의 중복여부를 판단, 이후 제외여부 결정하는 것 - 2차원 배열을 사용하는만큼, for문을 통해 2차원 배열의 값을 하나씩 확인할 수 있다. - 필자가 작성한 풀이법은 비효율적인 풀이법이라고 생각하며, 만약 문제를 풀었다면, 다른 분들의 풀이법을 확인하길 바란다. * 출처

Naver Blog

SQL 문제 1 - 모든 레코드 조회하기(프로그래머스)

SQL 문제 1 - 모든 레코드 조회하기(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - 문제 내용에 맞춰 ORDER BY 를 이용하여 ANIMAL_ID에 ASC를 적용하여 오름차순으로 출력한다. * 출처

Naver Blog

SQL 문제 2 - 역순 정렬하기(프로그래머스)

SQL 문제 2 - 역순 정렬하기(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - 이전 문제와 다르게 역순으로 출력하는 내용이다. - ORDER BY 를 이용하여 ANIMAL_ID에 DESC를 적용하여 내림차순 출력 * 출처

Naver Blog

SQL 문제 3 - 이름이 없는 동물의 아이디(프로그래머스)

SQL 문제 3 - 이름이 없는 동물의 아이디(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - 이름 컬럼이 NULL을 사용할 수 있으므로 해당 NAME 값이 없는채로 들어온 경우 NULL로 입력되는 걸 알 수 있다. * 출처

Naver Blog

SQL 문제 4 - 이름이 있는 동물의 아이디(프로그래머스)

SQL 문제 4 - 이름이 있는 동물의 아이디(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - 이전 문제와 달리, 이름이 있는 ID를 찾는 내용이며, 찾은 후 ID가 오름차순으로 정렬되도록 해야한다. - 이름 컬럼이 NULL을 사용할 수 있으므로 해당 NAME 값이 있는채로 들어온 경우 NULL이 아닌 것을 알 수 있고, ANIMAL_ID를 ORDER BY ANIMAL_ID ASC를 입력하여 ID 오름차순으로 정렬한다. * 출처

Naver Blog

SQL 문제 5 - NULL 처리하기(프로그래머스)

SQL 문제 5 - NULL 처리하기(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - MySQL - Oracle - 이름이 없는 컬럼을 'No name'이란 문자열로 대체하도록 한 문제로, MySQL은 IFNULL을, ORACLE은 NVL을 사용하여 푼 문제이다. - IFNULL(기준 값, 기준 값이 NULL일 경우 대체할 값) - NVL(기준 값, 기준 값이 NULL일 경우 대체할 값) * 출처

Naver Blog

SQL 문제 6 - 아픈 동물 찾기(프로그래머스)

SQL 문제 6 - 아픈 동물 찾기(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - 동물상태를 나타내는 컬럼인 INTAKE_CONDITION이 'Sick'일 경우 출력하면 끝 * 출처

Naver Blog

SQL 문제 7 - 어린 동물 찾기(프로그래머스)

SQL 문제 7 - 어린 동물 찾기(프로그래머스) * 문제 내용 - 출력 내용 * 풀이 - INTAKE_CONDITION 컬럼 값이 'Aged'가 아닐 경우를 출력 * 출처

Naver Blog

Python - 인터넷의 이미지를 내 PC로 저장 후 이미지 열기(Pillow 설치)

Python - 인터넷의 이미지를 내 PC로 저장 후 이미지 열기(Pillow 설치) - 이미지를 열기 위해 Pillow를 다운로드(powershell에서 입력) - python -m pip install Pillow * 작성 내용 - urlretrieve(url,filename)를 이용하여 url에 해당하는 이미지를 filename으로 저장한다. - image.open(filename)을 통해 해당 이미지를 넣고 img.show()를 사용하여 이미지를 열 수 있다. * 이미지 앱 설정에서 그림판 선택한 다음 실행 결과

Naver Blog

Python - 파일을 zip 압축 파일로 만들기

Python - 파일을 zip 압축 파일 만들기 - zipfile 모듈을 이용하여 압축파일을 생성해보자 - zipfile 모듈의 ZipFile을 이용하여, 압축 파일을 저장할 경로와 이름을 작성한 다음, 'w'를 사용하여 파일 상태를 쓰기로 설정한다. - 그 후 실제 사용할 파일명을 write()를 통해 작성하면 끝 * 테스트.txt내용 * 결과 - 실제 압축파일 대상인 테스트.txt가 압축된 걸 확인할 수 있다.

Naver Blog

Python - zip파일 압축 풀기

Python - zip파일 압축 풀기 - 이전에 다뤘던 파일을 압축파일 만들기를 반대로 압축파일 풀기하는 방법에 대해 다룬다. Python - zip파일 압축 풀기 방법 - zipfile 모듈의 ZipFile()의 extractall("압축해제 경로")를 통해 압축파일을 해당 경로에 모두 압축해제한다. - 만약, 압축파일 중 특정 파일만 골라서 하고싶다면 extractall()이 아닌 extract()를 사용하자 * 압축 해제 결과 - 실제 압축파일의 내용이 압축해제된 것을 알 수 있다. 테스트.txt가 압축된 걸 확인할 수 있다.

Naver Blog

Jquery - 페이지 내 radio버튼 체크 시 radio 값 모두 더하기

Jquery - 페이지 내 radio버튼 체크된 값 모두 찾기 - radio버튼의 name과 class명을 이용하여 변경 시 실행되는 방법이다. Jquery - radio버튼 체크 시 radio 값 모두 더한 방법 - radio버튼의 name과 class를 이용한다. - chk 클래스에 해당하는 radio버튼의 값이 선택될 경우 해당 클래스에 해당하는 라디오 버튼 name 수 만큼 반복 실행 - 반복 실행 시 버튼 체크된 값을 더한 총 합을 text로 뿌려주면 끝 * 결과

Naver Blog

Spring - Transactions 2(Spring 5.3.9 버전 기준)

Spring - Transactions(Spring 5.3.9 버전 기준) - 이전 글에 이어 트랜잭션 관리 2번째 내용을 다루고자 한다. 스프링의 트랜잭션 관리 2(선언적 트랜잭션 관리 지원 - AOP를 이용한 관리 포함) 2. 선언적 트랜잭션 관리 지원(AOP를 이용한 관리 포함) - 선언적 트랜잭션에서의 가장 중요 개념은 AOP 프록시를 통해 활성화되고 Transactional advice가 메타데이터에 의해 사용된다는 점이다. - 해당 이미지는 트랜잭션 프록시에서 메서드를 호출하는 개념을 보여준다. * 트랜잭션 구현의 예 - FooService interface - FooService interface 구현 - aop와 xml파일을 이용한 트랜잭션 구성(모든 서비스 계층 클래스가 x.y.service패키지에 정의되.......

Naver Blog

서울시 노원구 신참떡볶이 노원상계점

주소 : 서울시 노원구 상계동 신참떡볶이 노원상계점 메뉴 : 치즈떡볶이, 고구마튀김, 단호박 튀김

Naver Blog

서울시 노원구 멕시카나 중계점 순살 뿌리고치킨(매콤달콤한 맛)

주소 : 서울시 노원구 멕시카나 중계점 메뉴 : 순살 뿌리고치킨(매콤달콤한 맛)

Naver Blog

JSTL - <fmt:formatDate> 날짜 및 시간 패턴

JSTL - <fmt:formatDate> 날짜 및 시간 패턴 - JSTL을 사용하면서 늘, 시간 표현 시 HH를 사용했었는데, HH가 00~23을 표현하는 만큼 01~24시를 구현하기 위해 찾아본 내용이다. JSTL - <fmt:formatDate> 날짜 및 시간 패턴 - 중간 Hour in day에 해당하는 h,H,k,k가 있는데, 12시간 표현과 24시간 표현은대소문자가 서로 반대인걸 확인 할수 있다.

Naver Blog

JAVA 문제 16) 위클리 챌린지 1주차 - 부족한 금액 계산하기

JAVA 문제 16) 위클리 챌린지 1주차 - 부족한 금액 계산하기 - 자바의 for문과 if문을 알면 풀기 수월하다. * 풀이 - 각각의 매개변수를 입력 받은 뒤, 갖고 있는 돈에 맞춰 인원수만큼의 값을 빼면 끝 * 출처

Naver Blog

서울시 노원구 하이돈부리 - 가츠동(중,대)

주소 : 서울시 노원구 하이돈부리 메뉴 : 가츠동(중,대) - 가츠동 중 사이즈 - 가츠동 대 사이즈

Naver Blog

서울시 노원구 BHC 상계행복점 - 뿌링클치킨

주소 : 서울시 노원구 BHC 상계행복점 메뉴 : 뿌링클치킨

Naver Blog

Python - 진수변환

Python - 진수변환 - 일반적으로 우리가 사용하는 진수는 10진수지만, 공학계열에서는 2진수와 8진수, 16진수도 쓰는 만큼 진수 변환에 대해서 다뤄보고자 한다. Python - 진수변환 방법 - 2진수는 bin(), 8진수는 oct(), 16진수는 hex()를 사용하며, 10진수로 다시 변환할 경우 int(2/8/16진수 값,2 or 8 or 16)을 통해 10진수로 변환할 수 있다.

Naver Blog

Python - 바이트에서 bit 추출

Python - 바이트에서 bit 추출 - 2진수로 표현된 값은 맨 앞에 0b를 붙여서 나오는데, 01100100이 실제 2진수값이다. - '>>' 비트 연산자를 통해 상위비트값을 추출할 수 있다. - '0110'와 '0100'이 상위비트값과 하위비트값이다.

Naver Blog

HTML / CSS - 웹 접근성 표준의 tabindex

HTML / CSS - 웹 접근성 표준의 tabindex - tabindex란 스크린리더 사용자를 위해 키보드의 Tab키를 눌렀을 때 포커스의 이동 순서를 임의로 조정할 수 있는 요소이다. - tabindex는 스크린리더 사용자 뿐만 아니라 특정 정보를 다루기 위해 해당 요소에 포커스를 주는 방법으로도 사용된다. - html의 요소에 tabindex를 사용하여 Tab키의 포커스를 조정할 수 있다. - 개인적으로 삼성 핸드폰의 TalkBack을 통해 스크린 리더를 사용해봤는데, 사용 결과 span태그는 원래 tab이동 시 focus를 받지 않으나, tabindex를 사용하여 span태그에 포커스를 줄 수 있는 것을 알 수 있었다. * 출처

Naver Blog

Python - 파일과 디렉터리 확인

Python - 파일과 디렉터리 확인 - 예전에 공부했었던 os.path 모듈의 파일 확인을 복습하고자 작성한 글이다. * 결과 - isfile()과 isdir()를 통해 경로를 인자로 넣었을 경우 파일인지 디렉터리인지 알려준다.

Naver Blog

SQL(MySQL/MariaDB) - 현재 날짜인 값 찾기

SQL(MySQL/MariaDB) - 현재 날짜인 값 찾기 SQL(MySQL/MariaDB) - 특정 날짜 값 찾기 예제 - W3Schools 사이트의 MySQL 제공 테이블 이용 * 결과 - 10248번의 날짜 - 날짜 값이 1996-07-04 - 10248번의 날짜와 동일한 날짜를 가진 컬럼

Naver Blog

Python - 특정 URL을 이용하여 HTML 페이지를 화면에 출력

Python - 특정 URL을 이용하여 HTML 페이지를 화면에 출력 - 파이썬의 urllib.request 모듈을 사용하여 url을 이용한 html 소스 코드를 화면에 출력한다. * 결과 - 실제 블로그의 html태그 내용이 나오는 걸 볼 수 있다.

Naver Blog

Python - 특정 URL을 이용하여 HTML 페이지를 파일 저장

Python - 특정 URL을 이용하여 HTML 페이지를 파일 저장 - 파일의 writelines()를 사용하여 url을 통해 읽은 데이터를 파일로 작성한다. * 결과 - 파일을 열어보면 읽었던 데이터가 나온 것을 볼 수 있다.

Naver Blog

HTTP - REFERER를 이용한 URL 비교

HTTP - REFERER를 이용한 URL 비교 - Referer 요청 헤더는 현재 요청된 페이지의 링크 이전의 웹 페이지 주소를 포함하는데, 이것을 통해 특정 링크를 보낼 수 있다. - 현재 실행중인 서버의 URL이 로컬인지 비교할 수 있다. - referer를 이용하여 현재 사이트 url을 비교할 수 있다. - 해당 방법은 로컬 파일과 데이터의 URI가 아닐 경우 사용되는 방법이다. * 출처

Naver Blog

Spring - Transactions 1(Spring 5.3.9 버전 기준)

Spring - Transactions(Spring 5.3.9 버전 기준) - Spring(이하 스프링)의 Transaction(이하 트랜잭션)에 대해 설명하기 이전에 트랜잭션이란 무엇인가에 대해 알아보자 Transactions이란? - 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하는 작업 단위 - 특정 시스템에서 여러 절차를 거쳐 서비스를 제공 시 다음과 같은 원칙을 따른다. 1. 시스템에서 다루는 내용이 완전히 진행되거나 종료되어야 한다. 2. 정해진 방법이 있다면 변형되지 않고 일관적이어야 한다. 3. 서로 간섭하지 않도록 독립적인 형태여야 한다. 4. 시간과 관계없이 해당 변경사항은 영구적이여야 한다. 스프링의 트랜잭션 관리 1(다양한 트랜잭션 API에서.......

Naver Blog

HTML / CSS - 유튜브 썸네일 사진 사용하기

HTML / CSS - 유튜브 썸네일 사진 사용하기 - 유튜브의 썸네일 사진을 이미지로 쓰는 방법이다. HTML / CSS - 유튜브 썸네일 사진 사용하는 방법 - https://img.youtube.com/vi/동영상id/옵션.jpg or http://img.youtube.com/vi/동영상id/옵션.jpg 으로 작성하면 된다. - 아래의 내용은 예제이다. * 결과 - 결과를 보면 알 수 있듯이, 특정 이미지 크기가 나오지 않는데, 해당 동영상이 얼만큼 지원하느냐에 따라 다르다고 한다. - 실제 사용된 동영상의 화질을 보면 480P까지 지원하는걸 알 수 있다. * 출처 https://www.youtube.com/watch?v=FegWac9zSkI https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default

Naver Blog

HTML / CSS - IE rgba() 대용, 배경색 투명도 설정

HTML / CSS - IE rgba() 대용, 배경색 투명도 설정 - 배경을 투명하게 설정하기 위해 rgba를 적용하는데, IE 구버전에서는 지원을 안한다고 해서 알게 된 방법이다. * rgba()의 브라우저 버전별 지원내용 HTML / CSS - IE rgba() 대용, 배경색 투명도 설정 방법 - IE에서는 filter를 통해 그라데이션(점진적인 변화)을 통해 배경색을 변경할 수 있다. - 위의 내용에서 알 수 있듯이, startColorstr이란 시작, endColorstr이란 끝을 의미한다.

Naver Blog

HTML / CSS - 배경이미지에만 투명도 적용

HTML / CSS - 배경이미지에만 투명도 적용 - 어두운 배경에 투명도를 조금 준 이미지 가운데에 텍스트를 가운데에 위치시키는데 효과적인 방법이다. HTML / CSS - 배경이미지에만 투명도 적용 - 이미지를 적용할 block형식의 태그의 너비, 높이를 설정한 뒤 ::before란 가상요소를 사용하여 적용한 방법이다. - 가상요소를 통해 top, left, right, bottom를 0으로 설정하여 이미지의 초점을 맞춘다. * 결과 * 출처

Naver Blog

SQL(MySQL/MariaDB) - INSTR 함수를 이용한 문자열 확인

SQL(MySQL/MariaDB) - INSTR 함수를 이용한 문자열 확인 - 이전 Oracle에서 내장형함수(문자형 함수)를 다뤘는데 복습 차원에서 다뤄보면서 작성한 글이다. - INSTR함수는 기준 문자열에서 특정 문자열을 찾으면 그 위치를 반환하는 함수인데, 이를 통해 찾고자 하는 문자열을 확인할 수 있다. SQL(MySQL/MariaDB)- INSTR 함수를 이용한 문자열 확인 방법 - 기준 문자열에서 찾고자할 문자열이 있을 경우 존재하는 문자열의 위치값을 알려준다.