전체 708

[JS] 비동기처리(콜백함수)

자바스크립트에서 웹페이지를 구성할 때 비동기처리가 필요한 경우가 많다.비동기처리시 필요한 콜백함수 문법은 다음과 같다.  [콜백함수 문법]1. callback함수 full로 사용// sayHello함수 정의function sayHello(name, callback) { callback(name);}// sayHello함수 사용sayHello("myName", function temp(name) { console.log(name);}); 2. 함수이름 없이사용// sayHello함수 정의function sayHello(name, callback) { callback(name);}// sayHello함수 사용sayHello("myName", function (name) { conso..

[vue.js] router설정 및 이동

router로 주소경로를 설정하고 파라미터를 받아서 해당 router 주소로 가는 방법. [구조]data.js -> app.vue (data)전달 전송- data는 data.js -> app.vue -> detail.vue로 전달- url parameter는 router에서 /detail/:id로 정의하고 detail.vue에서 '$route.params.id'로 받아서 사용 [App.vue] -data를 router에 전달한다 [router.js]import { createWebHistory, createRouter } from "vue-router";import TitlePage from '../components/TitlePage.vue';import Detail from '../component..

[vue] 부모component <=> 자식 component 데이터전달

부모=>자식 데이터 전달부모 component에서 자식 component로 데이터를 전달하려면 html에서 데이터를 전달하고자식 component에서 script에서 props로 데이터를 정의해 줘야 한다. [ 부모component.vue]  [자식component.vue] {{ text }}  자식=>부모 데이터 전달[자식component.vue] 닫기  [부모component.vue]  자식 component에서 버튼클릭시 부모component에서 closeModel 이벤트가 활성화 되면서 isModle=false가 수행된다.

[HTML] for문, 이벤트, 변수,

HTML for문html에서 포문은 위와같이 쓸 수 있다.dataList에서 값을 하나씩 가져와서 값은 data에, 인덱스는 index에 넣는다.key는 데이터들을 구분해주는 값으로서 항상 넣어야 한다. 이벤트(@)@click="flag=true;"이벤트를 받을떄는 "@"를 붙여준다. 변수대입(:)어떤 속성값에 값이 아닌 변수를 넣을땐 앞에 콜론(:)을 붙여준다. text부분에 변수를 넣기("{{}}")장르: {{ movie.category }}텍스트가 나오는 부분에 변수를 쓰고실으면 중괄호로 두번 감싼다 예시 {{ movie.title }} 장르: {{ movie.category }} 좋아요 {{ movie.like }} ..

[SQL] INSTR

[INSTR]INSTR(문자열, 찾을 문자값, 찾기를 시작할 위치, 몇번째로 나오는 값)찾기를 시작할 위치 : 맨앞이 1이며 뒤에서 부터 찾고싶을땐 '-'를 붙인다.  n번째 문자부터 찾고싶으면 n. 몇번째로 나오는 값 : 찾는 값이 여러개 일때 n번째로 나오는 값을 찾는다.(default는 가장 첫번째로 나오는 값)값이 없으면 0을 반환한다. (첫번째 인덱스는 1이다) [예시]SELECT INSTR('Oracle Database', 'Database') AS result1 , INSTR('Oracle Database', 'Server') AS result2 FROM TABLE -- result1 : 8, result2 :0

DB/SQL 2024.12.04

데코레이터(decorator)

데코레이터- 특정 함수를 수행하기 전 처리가 필요한 경우 이를 편하게 수행할 수 있게 해줌- 함수 앞에 @와 함께 다른 함수(wrapper)을 선언 예시import timedef decorator(func): def wrapper(*args, **kwargs): start_time = time.perf_counter() func() end_time = time.perf_counter() print("elapsed time:", end_time -start_time) return wrapper@decoratordef hello(): for _ in range(1000): print("hello", end=" ") print()hello()

c++ 자료구조

array- 고정된 크기를 가진 자료구조- 시간복잡도  탐색 : O(1)  삽입/삭제 : O(n)array arr = {1,2,3,4,5}; set - 정의 및 시간복잡도1. setset my_set = {1,2,3,4,5};- 중복을 허용하지 않는 자료구조- red-black tree구조로 되어있어 정렬이 되어있다.- 시간복잡도  탐색 : O(logN)  삽입/삭제 : O(logN) 2. hash set(unordered_set)unordered_set my_unordered_set = {1,2,3,4,5};- 중복을 허용하지 않고 해쉬를 이용하기 때문에 정렬이 되어있지 않지만 탐색, 삽입, 삭제가 O(1)인 자료구조- 시간복잡도 탐색 : O(1) 삽입/삭제 : O(1) 3. multisetmultis..

NULL관련 함수

NVL(col,exp2)col이 null이면 exp2를 반환한다.ex)select nvl(col,"없음")from table NVL2(col, exp1, exp2)col이 값이 있으면 exp1을 반환, 값이 없으면(null이면) exp2를 반환ex)select nvl(job, "직업있음","직업없음")from table nullif(col1,exp)col1이 exp와 같으면 null반환, 다르면 col1을 반환* 특정값을 제외하고싶을 떄 사용ex)--nation컬럼에서 한국만 null로 나온다.select nullif(nation, "한국")from table coalesce(col1,col2,col3...)첫번째로 null이 아닌값을 반환한다.ex)select coalesce(col1, col2, co..

DB/SQL 2024.06.27

[SQL] 날짜 함수

MONTHS_BETWEEN(d1,d2)d1, d2두 날짜의 개월수 차이 반환months_between('22/09/01','22/01/11') => 7.677 ADD_MONTHS(d1,N)d1에 N개월 더함ADD_MONTHS('22/01/31',3) => 22/04/30 NEXT_DAY(d1, 'n요일')d1이후 날짜중 처음으로  n요일이 되는 날짜.next_day('24/06/27','금요일') => 24/06/28' LAST_DAY(d1)D1날짜 월의 마지막 일을 리턴last_day('24/06/27') => 24/06/30 TO_CHAR(date_col, 'format')날짜를 문자로 바꿔주는 함수. 포멧에 따라 다양한 형태로 표현이 가능함.format내용YYYY년도MM월MONTH전체 월 이름MON..

DB/SQL 2024.06.27

[SQL] 문자열 조건 escape

escape?문자열을 검색할때 '%' 혹은 '_'를 이용하여 검색할 떄가 있다.이떄 '%'나 '_'를 특정 기능이 아닌 문자 그 자체로 취급하고 싶을 때 escape를 쓴다. 방법조건절에서 escape의 기준이될 문자열(\)을 정하고,  뒤에  명시해준다.where col_name like '100\%' escape '\' 예시예시1.select *from employeeswhere job_id like 'abc\_def' escape '\';=> '_'가 아무 1글자를 의미하는것이 아니라, 언더바('_')라는 문자 자체로 인식된다. 예시2.select *from employeeswhere percentage like '98\%' escape '8';=>'%'가 아무글자를 의미하는 것이 아니라, 퍼센트..

DB/SQL 2024.06.27

[leetcode] 787 cheapest flight within stops (벨만포드)

문제설명최대로 거칠 수 있는 노드의 수가 제한되어 상태에서 출발지부터 목적자까지 최단거리를 구한다. 예를 들어  아래와 같은 그래프에서 노드0에서 노드3까지 최대 1노드만 거쳐서 갈 수 있는 최단거리는 0->1->3 의 경로로 가는 700이 정답이다.(0->1->2->3 으로 가면 400으로 더 적지만, 이는 두개의 노드를 거쳐야 한다) 문제풀이밸만포드를 이용한다.벨만포드는 음의 가중치가 있는 그래프에서 최단거리를 구할 수 있는 알고리즘인데, 다음과 같은 특징으로 이 문제에서 사용할 수 있다.1. 노드 수 만큼 반복을 진행할 떄,  k번째 반복에서 k번째로 가까운 노드의 최단거리가 찾아짐이 보장된다.2. k보다 더 멀리있는 노드에 대해서는 k개의 노드를 거쳐서 갈 수 있는 최단거리가 찾아짐이 보장된다...

알고리즘/graph 2024.05.03

스칼라 서브쿼리

스칼라 서브쿼리- 오직 한행만 반환하는 select문에 쓰는 서브쿼리- 마치 join의 효과를 볼 수 있다.- ex)table: scoreidnamekormatheng학생 id이름국어점수수학점수영어점수 위와같은 테이블에서 학생별 국어, 수학, 영어점수의 평균을 구하고자 한다면, 다음과 같은 스칼라 서브쿼리를 이용할 수 있다.select id, name (select (kor+math+eng)/3 from score A where A.id=B.id) from score B;=> 서브쿼리에서 (kor+math+eng)/3이 하나의 행씩 반환하여 id가 같은 것에 매핑된다.

DB/SQL 2024.05.02