본문 바로가기

분류 전체보기

(597)
데미안 (헤르만 헤세) “새는 알에서 나오려고 투쟁한다. 알은 세계다. 태어나려는 자는 하나의 세계를 깨뜨려야 한다. 새는 신에게로 날아간다. 신의 이름은 아브락사스.” “나는 내 속에서 솟아나오는 것, 바로 그것을 살아보려고 했다. 그것이 왜 그토록 어려웠을까?” 위의 두 구문은 나에게 다가오는 책 의 모습이다. 싱클레어는 기독교 집안에서 기독교 세계관을 교육받으며 자랐다. 싱클레어는 초등학생 시절 프란츠 크로머라는 질 나쁜 친구와 엮이면서 따뜻한 가족, 천국이 있는 기독교 세계에서 어둠의 세계로 빠져드는 경험을 한다. 이 때 데미안이라는 친구가 나타나 싱클레어를 어둠의 세계에서 구해준다. 데미안이 이 사건을 알고 나자 프란츠 크로머가 더 이상 싱클레어를 괴롭히지 않았기 때문이다. 그렇다고 데미안이 기독교 세계관을 곧이 곧대..
JPA 기본 정리 1. JPA의 탄생 객체 지향 관계형 데이터베이스 이슈(패러다임 불일치 이슈)를 해결 하기 위한 ORM 표준 기술. Hibernate는 JPA의 실제 구현체이다. 2. JPA에서 관리하는 객체는 @Entity 어노테이션을 적어주어야 한다. 3. JPA에서 Entity를 DB와 매핑하기 위해서는 @Id 어노테이션을 적어주어야 한다. 4. JPA에서 가장 중요한 두 가지 축은 1) 영속성 컨텍스트, 2) 객체와 테이블 매핑 이다. 5. 영속성 컨텍스트 1) persist() => 1차 캐시에 Entity를 저장 2) commit(), flush(), 쿼리를 날릴 때 => DB에 적용 3) 쓰기 지연 SQL 저장소는 persist(), dirty check를 탐지해서 INSERT, UPDATE SQL을 보관한..
LNK2019 에러와 네임 맹글링, 그리고 extern LIVE555로 Frame을 받아서 FFMPEG에서 Decoding 하는 프로그램을 만드는 중에 FFMPEG의 함수를 사용하는 부분에서 자꾸 LNK2019 에러가 발생하였다. 몇 번의 삽질 끝에 해결하였는데,이 과정에서 알게 된 내용은 아래와 같다. 1. LNK2019 에러 Linker > General > Additional Library Directories에 경로를 추가해도 해결이 안될 때에는 Linker > input > Additional Dependencies 에도 lib 파일을 추가해주어야 한다. 예를 들어 FFMPEG 라이브러리를 추가하고 싶은 경우 avformat.lib, avcodec.lib 등의 lib 파일 이름을 적어주면 오류가 해결된다. 2. 네임 맹글링 (Name Mangling..
Winform UI Component의 Dock 스타일 적용이 잘 안 될 경우 Winform UI를 구성하면서 Dock 스타일을 적용시킬 때, UI Component들끼리 서로 겹치는 경우가 있다. 이 경우 Visual Studio Designer에서 해당 UI Component를 오른쪽 클릭하여 Bring To Front를 선택하면 Dock 스타일을 겹치지 않게 적용시킬 수 있다.
HTML input 태그에서 text가 안보인다면.. jQuery를 이용하여 click event를 catch한 후, 이 event를 통해 얻은 데이터를 input 필드에 표출해주는 작업을 진행중이었다. 프론트 초보자인 나는 input 태그의 text 속성에 내가 원하는 데이터를 넣어주었다. $('#나의_INPUT_TAG').text("내가_원하는_데이터"); 이런 식으로. 그런데 아무리 해도 브라우저 화면에 데이터가 출력되지 않는 것이었다. html 파일에 있는 input 태그에 별 짓을 다 해보아도 데이터가 보이질 않았다. 더 당황스러웠던 건, F12를 눌러 HTML 파일을 보면 내가 출력하고자 했던 데이터가 떡하니 있는 것이었다. 내가_원하는_데이터 이런 식으로. 이게 뭐지... 싶다가 결국 구글님께 답을 얻었다. input 태그의 text가 아니라,..
LAN #include #include #include #include #define MAX_V 99999 #define INF 987654321 using namespace std; double kruskalExtension(vector & selected, vector & preConnected); int prim(vector & selected); typedef struct DisjointSet { vector parent, rank; DisjointSet(int n) : parent(n), rank(n, 1) { for (int i = 0; i < n; i++) parent[i] = i; } int find(int u) { if (parent[u] == u) return u; return parent[u..
PROMISES #include #include #include #define MAX_V 200 #define MAX_M 1000 #define MAX_N 1000 #define INF 99999 using namespace std; struct path_info { int a; int b; int c; }typedef path_info; int adj[MAX_V][MAX_V]; vector new_adjs; int shortest_adj[MAX_V][MAX_V]; int shortest_new_adj[MAX_V][MAX_V]; int solve(int v); void floyd(int param_adj[MAX_V][MAX_V], int v); int main() { int caseNum; cin >> caseNum; ..
DRUNKEN #include #include #include #define MAX_V 500 #define INF 99999 using namespace std; // first - vertex, second - cost int adj[MAX_V][MAX_V]; int W[MAX_V][MAX_V]; vector order; int delay[MAX_V]; int v, e; void solve(); int main() { cin >> v >> e; int delayInput; for (int i = 0; i > delayInput; delay[i] = delayInput; } for (int i = 0; i < v; i++) { order.push_back(make_pair..