전체 글 364

Web Architecture

1. Web Browser 1. 구성 요소 1) Markup Language (html, xml) 2) CSS 3) JS 2. Web Application Server (WAS) - 옛날엔 WebServer와 Application이 분리되어 있었지만, 지금은 하나로 합쳤고 이를 WAS라고 함 - WAS 종류 1) Web logic 2) JEUS 3) TOMCAT(무료) 1. Web Server - http server - client의 요청을 받아서 Application Server에 접속 & 결과를 client에게 응답 전달 2. Application Server - Programming Language(Java 등) 즉, Logic을 처리 - Logic은 크게 두 가지로 나눠볼 수 있다. 1) Bus..

[Java] 백준 1300: K번째 수

1. 문제 https://www.acmicpc.net/problem/1300 1300번: K번째 수 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B www.acmicpc.net 2. 풀이과정 1. mid보다 작거나 같은 값 개수 세기 n이 5이고 검사하는 값을 mid = 6이라고 할 때, 6보다 작거나 같은 값의 개수를 세는 법은 아래와 같다. 1*1, 1*2, 1*3, 1*4, 1*5 2*1, 2*2, 2*3, 2*4 ,2*5 3*1, 3*2, 3*3, 3*4, 3*5 4*1, 4*2, 4*3, 4*4, 4*5 5*1, 5*2,..

[JavaScript] 5. Window 객체

1. Window 객체란? - 웹브라우저에서 작동하는 JS의 최상위 전역 객체 - 여러 객체와 속성, 함수들이 있음 : Frame, Location, History, Document - BOM(Browser Object Model)으로 불리기도 함 [Window 객체 속성] 속성 설명 self 현재 창 자신으로, 자신의 window객체와 같은 의미 document document 객체, 가장 많이 사용 history history 객체, 페이지 이력과 관련됨 location location 객체, 현재 페이지와 관련됨 opener 자신을 연 창을 의미하는 객체 screen 화면의 가로, 세로 크기 정보 pageXOffset 현재 나타나는 페이지의 X위치(IE 지원 X) pageYOffset 현재 나타나는..

Programming/JS 2022.03.20

[JavaScript] 4. JS의 함수

1. JS의 함수란? - 일급(first-class) 객체 - 변수, 객체, 배열 등에 저장 가능 - 함수의 인자 혹은 반환값으로 사용 가능 - 프로그램 실행 중, 동적으로 생성 가능 2. 함수 정의 방법 방법1) 함수 선언문 function 함수이름(매개변수1, ... ){ //실행 코드 } 방법2) 함수 표현식 let 함수이름 = function(매개변수1, ... ){ //실행 코드 } 방법3) Function 생성자 함수(잘 안씀) let 함수이름 = new Function("매개변수1", "매개변수2", ..., "함수내용"); let sum = new Function("n1", "n2", "console.log(n1+n2);"); sum(1, 2);//3 [함수 호출] 함수이름(매개변수1, ...

Programming/JS 2022.03.20

[Java] 백준 2206번 : 벽 부수고 이동하기

1. 문제 https://www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net 2. 풀이과정 최단거리 구하기는 보통 bfs, 도착지점까지 경로를 구한다면 dfs를 주로 사용하는 것 같다. 이 문제는 최단거리를 구하는 문제로 bfs를 사용하여 풀었다. 최단거리만큼만 모든 경로를 탐색하기 때문에 최악의 경우(모든 경로 끝까지 전체탐색)을 막을 수 있다. 처음에는 boolean visited[N][M][2]로 3차원배열을 사용해서 visited..

[MySQL] Error Code: 1175. Safe Update Mode

발생하는 이유는 데이터 수정 또는 삭제 시 Key값을 이용해서만 가능하도록 설정되어 있기 때문이다. 해결 방안은 2가지가 있다. [방법1] workbench 설정 변경하기 1. [Edit] > [Preferences...] 에서 SQL Editor의 [Safe Updates (rejects UPDATEs and DELETEs with no restrictions)]를 해제 2. Workbench 재실행 후, 코드 실행 [방법2] 코드로 일시적으로만 변경하기 아래 코드를 작성 후, 수정/삭제 코드 실행 set sql_safe_updates = 0;

[Java] 백준 1726번 : 로봇

1. 문제 https://www.acmicpc.net/problem/1726 1726번: 로봇 많은 공장에서 로봇이 이용되고 있다. 우리 월드 공장의 로봇은 바라보는 방향으로 궤도를 따라 움직이며, 움직이는 방향은 동, 서, 남, 북 가운데 하나이다. 로봇의 이동을 제어하는 명령어는 www.acmicpc.net 2. 풀이과정 문제를 처음 봤을 때, BFS를 떠올렸다가 1~3칸 전진과 1(90도)~2(180도)번 전진 처리가 복잡해 DFS로 풀었다. 그런데, 풀고나서 보니 DFS보다 BFS를 썼을 때 더 빠르게 구현할 수 있을 것 같아 BFS로 다시 풀어보았다. 결과적으로 BFS가 메모리, 시간 측면에서 더 효율적이다. 아래 그림은 두 코드에서 사용한 방향 전환할 때, 걸리는 시간을 구하는 방법이다. 동서..

[SQL] 조인

1. 조인이란? - 여러 테이블에 분산되어 있는 데이터를 "테이블 간의 관계를 지어" 활용할 수 있도록 함 2. 조인 활용 1. 조인 검색 - 자연 조인 : FROM절에 관련 테이블들을 명세 - 조인 조건(= 조인 프레디킷) : WHERE절에 조인하는 조건을 반드시 작성 /*과목코드 CO423에 수강한 학생의 성명, 학과, 성적을 검색하라*/ SELECT 성명, 학과, 성적 FROM 학생, 수강 WHERE 학생.학번 = 수강.학번 AND 과목코드 = 'CO423'; /*열 이름을 단순화하기 위해 FROM절에 별칭 사용*/ SELECT 성명, 학과, 성적 FROM 학생 S, 수강 E WHERE S.학번 = E.학번 AND 과목코드 = 'CO423'; 2. 셀프 조인 : 자기 자신과 조인 /*같은 학과 학생..

[SQL] SubQuery 중첩질의문

1. SubQuery란? - Query문 안에 또 다른 Query문이 있는 것 - 중첩될 수 있는 Query문은 Select문만 가능하므로 SubSelect라 부르기도 함 - 소괄호 안에 표기 2. SubQuery 활용 1. 검색 1) 단일 값을 반환하는 경우 /* 학생 김철수와 같은 학과에 속하는 학생의 성명을 검색하라*/ SELECT 성명 FROM 학생 WHERE 학과 = (SELECT 학과 FROM 학생 WHERE 성명 = '김철수'); /*괄호에서 반환되는 결과는 '컴퓨터' 단일 값임*/ 2) 2개 이상의 값을 반환하는 경우(1) - 1개의 열로 이루어진 테이블을 반환 - 외부 질의문의 WHERE절에 (NOT) IN, ANY, ALL, EXISTS와 같은 연산자가 사용됨 연산자 설명 IN '=AN..

[SQL] 데이터 조작어(DML) 활용

1. SELECT - 데이터 검색하기 더보기 SQL과 이론적 관계형 데이터 모델 차이점 SQL은 똑같은 투플들을 자동으로 제거하지 않는다. 단, 사용자가 SELECT문에 "DISTINCT"를 명시할 때만 "투플의 중복을 제거"한다. 이론상의 관계형 모델은 "투플의 유일성"에 따라 똑같은 투플을 허용하지 않는다. 따라서, SELECT의 결과가 SQL과 이론상 결과가 다를 수 있다. 기본 구조 SELECT [ALL|DISTINCT] 열_리스트 FROM 테이블_리스트 [WHERE 조건] [GROUP BY 열_리스트 [HAVING 조건]] [ORDER BY 열_리스트 [ASC|DESC]]; # [ ]는 선택 가능 요소로 작성 안해도 되는 구간을 표시한 것, # 실제로 작성할 때는 괄호는 지우기 1. 테이블의 투..