목록전체 글 (138)
공부하는 스누피
SOA(Service Oriented Architecture) 대규모 컴퓨터 시스템을 구축할 때의 개념으로, 업무상의 일 처리에 해당하는 App 기능을 서비스로 판단하고, 그 서비스를 네트워크상에 연동하여 시스템 전체를 구축해 나가는 방법론이다 (Wikipedia). 간단히 말하자면, 회사 업무 App이 채팅 앱, 회계 프로그램, 일정 관리 프로그램 등 여러 가지가 있다고 하자. 이때 모든 App들을 컴포넌트 단위로 서비스화한 다음, 표준 인터페이스를 통해서 하나의 커다란 업무 관리 App을 만드는 것이다. - 소프트웨어의 재사용성이 강조된다. - 비즈니스 환경의 변화에 빠르게 대응할 수 있다. - 각 서비스는 의존성이 최소화(Loosely Coupled)되어 있어야 한다. - 아키텍처 모델에는 시스템 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/J8UM8/btqJ1LESD9X/W1cqn04J263GcWclY9KjK1/img.png)
(참고) www.geeksforgeeks.org/trie-insert-and-search/ Trie | (Insert and Search) - GeeksforGeeks A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions. www.geeksforgeeks.org Trie는 reTrieval data structure을 의미하며, 검색 복잡도가 최적의 값이 되게 해줍니다. 만약 우리가 k..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/EPs9r/btqJWrmrbsV/vp9YmJdxQIkqARLpHot7D0/img.png)
www.aladin.co.kr/shop/wproduct.aspx?ItemId=157472828 초보 웹 개발자를 위한 스프링5 프로그래밍 입문 초보 웹 개발자를 위한 스프링5 프로그래밍 입문 www.aladin.co.kr 스프링을 배우기로 마음먹고 나서 스터디용으로 샀던 책이다. 시중에 스프링 관련 책이 많은지라 고민을 꽤 했는데, 책들을 크게 세 가지로 나눌 수 있었다. 1. 스프링으로 결과물을 빠르게 낼 수 있는 책 (대부분 스프링부트였다.) 2. 스프링의 기본부터 자세히 다루지만 너무 자세한 책 (토비's) 3. 스프링 기본을 다루지만 초보자용 지금까지 웹 개발을 배울 때 '먼저 구현해보고 이해하자'라는 방식이었는데, 프레임워크가 대부분의 작업을 대신해줘서 웹에 대한 기본적인 이해 없이도 웹 서비스..
- Cannot set headers they are sent to the client 오류 => connection이 이미 만들어졌는데 또 connection을 만들려 할 경우 발생한다. connection을 한번 만들었으면 닫기 전까지 연결이 유지되므로 바로 query 함수를 사용하면 된다. ex) 내가 잘못 짰던 코드 connection = mysql.createConnection({ ... }) app.get('/', function(req, res){ connection.connect({ connection.query(sql, function(){}); )}; });
타임리프 타임리프는 Server-side Java 템플릿 엔진으로, HTML, XML, JS, CSS를 처리할 수 있어 웹과 단일 환경을 지원한다. 타임리프의 주 목적은 템플릿을 유지보수가 용이하도록 제작하는 방법을 제공하는 것이다. 그래서 타임리프는 Natural Templates의 개념을 적용해 디자인에 영향을 미치지 않는 템플릿에만 로직을 주입하는 방식을 사용한다. 이 방법은 디자인 팀과 개발 팀의 갭을 줄이도록 해준다. 사용하는 방법 자체 컨트롤러 인터페이스를 사용하는 경우 타임리프를 사용하기 위해서는 응답 프로세스마다 타임리프 context를 설정해주어야 한다. 컨트롤러에서 뷰로 모델 객체를 넘겨주는 대신, 타임리프 context에 변수로 설정해주면 된다. Spring MVC 스프링의 ViewR..
www.acmicpc.net/problem/2252 2252번: 줄 세우기 첫째 줄에 N(1≤N≤32,000), M(1≤M≤100,000)이 주어진다. M은 키를 비교한 회수이다. 다음 M개의 줄에는 키를 비교한 두 학생의 번호 A, B가 주어진다. 이는 학생 A가 학생 B의 앞에 서야 한다는 의미이�� www.acmicpc.net 생각과정 - 방향이 있고, 사이클이 없는 그래프의 노드들을 정렬한다 -> 위상 정렬 구현 init = input().split() n = int(init[0]) m = int(init[1]) arr = [[] for i in range(n)] degree = [0 for i in range(n)] for i in range(m): l = list(map(int, input()..
(참고) en.wikipedia.org/wiki/Topological_sorting Topological sorting - Wikipedia In computer science, a topological sort or topological ordering of a directed graph is a linear ordering of its vertices such that for every directed edge uv from vertex u to vertex v, u comes before v in the ordering. For instance, the vertices of the gra en.wikipedia.org 컴퓨터 과학에서 방향이 있는 그래프의 위상 정렬이란 그래프의 노드를 정렬한 것으로..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/db9ztH/btqIRYM6WsZ/pXRo9eUQ4dDJa9IXivaUNK/img.png)
(출처) www.geeksforgeeks.org/kruskals-minimum-spanning-tree-algorithm-greedy-algo-2/ Kruskal’s Minimum Spanning Tree Algorithm | Greedy Algo-2 - GeeksforGeeks Minimum Spanning Tree for weighted, connected & undirected graph is a spanning tree with weight less than or equal to that of every other spanning tree. www.geeksforgeeks.org 최소 신장 트리는 무엇일까요? 방향이 없이 연결되어 있는 그래프에서 신장 트리(spanning tree)는 그래프의 모..