본문 바로가기

전체 글61

그래프(Graph)란? 그래프(Graph)란, 다음의 2가지 요소로 구성된 자료구조이다. 1. vertex(혹은 node)의 집합2. vertex 쌍을 잇는 각 edge(간선)들의 모음 그래프에 V개의 vertex가 있을 때, 각 vertex는 0부터 V-1까지의 숫자로 이름 붙인다. 각 vertex를 잇는 edge는 v-w 혹은 (v,w)와 같이 표현한다. 그래프는 단지 vertex들의 집합과 edge들의 모음일 뿐이라는 것을 기억한다면, 위의 두 그래프는 완전히 동일하다는 것을 알 수 있을 것이다. 그래프 개념은 실생활의 많은 곳에서 사용되는데, 지도, 웹 상의 링크, 전자회로, 스케줄링, 전자상거래, 매칭, 컴퓨터 네트워크, 소셜 네트워크 등에 폭넓게 적용된다. 적용 분야에 대한 자세한 내용은 여기를 참고하자. 그래프를 .. 2019. 1. 6.
POJO 이해하기 이 글은 spring.io의 Understanding POJOs를 번역한 것입니다. POJO란 Plain Old Java Object의 줄임말이며, 프레임워크 확장에 의해 엉망진창이 되지 않는, 순수한 Java 객체(인스턴스)를 의미한다.만약 JMS로부터 메시지를 받고자 한다면, MessageListener interface를 구현한 클래스를 다음과 같이 작성해야 할 것이다. public class ExampleListener implements MessageListener { public void onMessage(Message message) { if (message instanceof TextMessage) { try { System.out.println(((TextMessage) message)... 2018. 12. 12.
Spring Boot / JSP jstl 관련 에러 (An invalid XML character 등) Spring Boot로 간단한 survey 페이지를 만들고 있는데, 원인을 알 수 없는 이상한 에러가 발생하고 있다. pom.xml 4.0.0 com.-----(생략)----- -----(생략)----- 0.0.1-SNAPSHOT jar -----(생략)----- -----(생략)----- org.springframework.boot spring-boot-starter-parent 2.1.0.RELEASE UTF-8 UTF-8 1.8 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-devtools runtime mysql mysql-connector-java runtime org.springframe.. 2018. 11. 27.
Ajax with Fetch Fetch는 Promise-based다.단, 브라우저 호환성(Internet Explorer 등)의 문제로 Polyfill이 필요할 수 있다. fetch 사용법은 매우 간단하다.fetch(''); 주의할 것은 Cross-Origin Issue가 있을 수 있다는 점이다.Fetch가 간편하고 XHR object를 대체한다고 해서, 비동기 네트워크 요청을 하는 데 필요한 본래의 규칙들을 모두 스킵할 수 있는 것은 아니다! Fetch도 여전히 자원을 공유하는 데 있어 cross-origin protocol를 따라야 한다. 즉 기본적으로, 데이터를 load하게 될 사이트와 동일한 도메인에 있는 데이터에 대한 요청만 할 수 있다(Same origin policy). Fetch에서 또 하나 추가된 것은 'Header.. 2018. 7. 3.
Ajax with jQuery jQuery는 각종 브라우저들이 아직 완전히 표준화되어 있지 않을 때, 개발자들이 태그 안에 jQuery를 포함시킴으로써 여러 브라우저에서 모두 JavaScript 코드가 잘 작동하도록 해주었다.최근에는 브라우저들이 꽤나 align 되어있는 상황이고, 따라서 jQuery가 꼭 필요하지는 않은 것이 사실이다. 하지만 jQuery가 제공하는 ajax() 메소드 만큼은 아주 강력하다. $.ajax();$.ajax({ url: 'https://swapi.co/api/people/1/' });위와 같은 방식으로 사용한다.즉 괄호 안에 Object를 넣어주면 된다. 하지만 이렇게만 하면 response를 받을 수 없다. done() 메소드를 사용해야 한다.function handleResponse(data) { c.. 2018. 7. 3.
Ajax with XHR Ajax AJAX는 "Asynchronous Javascript and XML"의 약자다. 그러나 최근에는 XML 뿐만 아니라 수많은 데이터 형태들(Javascript, JSON, html 등)을 모두 뜻하며, "어떤 데이터를 비동기적(Asynchronous)으로 요청하고, 요청이 돌아오면 그 데이터를 활용"하는 것으로 이해하면 된다.사실 최근에는 XML보다는 JSON이 훨씬 많이 쓰여서, AJAJ라고 하는 게 더 맞는 것 같기도 하다(물론 실제로 그렇게 부르진 않지만). AJAX의 Asynchronous, 즉 비동기라는 것은, "요청이 다른 이벤트의 발생을 막지(block) 않는다"는 뜻이다.대신, 페이지는 하던 일을 계속 하고, 서버로부터 응답으로 받은 데이터를 사용하게 된다. 만약 클라이언트가 동기.. 2018. 7. 3.
[MySQL] DDL(Data Definition Language) 다음은 MySQL의 데이터 타입들이다. 테이블 생성 create table 테이블명( 필드명1 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT], 필드명2 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT], 필드명3 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT], ........... PRIMARY KEY(필드명) ); 데이터형 외에도 속성값의 빈 값 허용 여부는 NULL 또는 NOT NULL로 설정DEFAULT 키워드와 함께 입력하지 않았을 때의 초기값을 지정입력하지 않고 자동으로 1씩 증가하는 번호를 위한 AUTO_INCREMENT 예제) EMPLOYEE와 같은 구조를 가진 EMPLOYEE2 테이.. 2018. 7. 3.
[MySQL] DML(Data Manipulation Language) 데이터 조작어(DML)에는 다음의 4가지가 있다. SELECT – 검색INSERT - 등록UPDATE - 수정DELETE - 삭제 SELECT 예제) departments 테이블의 모든 데이터를 출력하시오.select * from departments; 어떤 column이 있는지는 "desc"로 확인!desc departments; 예제) employee 테이블에서 직원의 사번(empno), 이름(name), 직업(job)을 출력하시오.select empno, name, job from employee; 예제) employee 테이블에서 직원의 사번(empno), 이름(name), 직업(job)을 alias를 부여하여 출력하시오.select empno 사번, name 이름, job 직업 from empl.. 2018. 7. 3.