카테고리 없음2019. 12. 1. 13:58

고차원 공간의 표본을 선형연관성이 없는 저차원 공간의 표변으로 변환하는 방법이라고 보면 되나?

(라고 하는데 무슨 소리인지 모르겠다..)

[링크 : https://ko.wikipedia.org/wiki/주성분_분석]

 

일단은 통계학 영역의 내용이고

문득 드는 생각이 내가 잘못 기억하는게 아니라면..

SVM(Support Vector Machine)은 차원을 올려서 분류를 용이하게 한다면.. 얘는 그것의 정 반대 접근 방법인 건가?

[링크 : https://darkpgmr.tistory.com/145]

 

Posted by 구차니
Programming/xml2019. 12. 1. 13:50

DOM은 메모리에 다 올리고 한번에 로드해서 여러번 읽는데 유리하다면

SAX는 스트림 파서에 가까워서 쭈욱 읽어 가면서(메모리 적게 사용) 이벤트 방식으로 중간중간 값을 빼내기 불리함

 

dom방식

1. 처음 xml 문서 전체를 메모리에 로드하여 값을 읽습니다.

2. xml 문서 전체가 메모리에 올라가 있으므로  노드 들을 빠르게 검색 하고 데이터의 수정과 구조 변경이 용이 합니다.

3. 호불호가 갈리지만 dom방식으로 xml문서를 핸들링 하는것이 sax방식보다 직관적입니다.

 

sax방식

1. xml 문서를 순차적으로 읽어 내려가며 노드가 열리고 닫히는 부분에서 이벤트가 발생 합니다.

2. xml 문서 전체를 메모리에 올리지 않기 때문에 메모리 사용량이 적고 단순히 읽기만 할때 빠른 속도를 보입니다.

3. 발생한 이벤트를 핸들링 하여 변수에 저장하고 활용하는 방식이기 때문에 문서의 중간 중간 검색하고 노드를 수정하기가 어렵습니다.

4. dom방식에 비해 구현이 방식이 복잡하고 직관적이지 않습니다.

[링크 : http://stg.etribe.co.kr/2014/08/09/xml-파싱시-dom과-sax의-차이/] 원본으로 추정

[링크 : https://humble.tistory.com/23]

[링크 : https://cache798.blog.me/130009188949]

'Programming > xml' 카테고리의 다른 글

xpath exist boolean()  (0) 2019.09.29
xpath 복수개의 attribute 동시에 만족하는 항목 찾기  (0) 2019.09.14
xsd minOccurs, maxOccurs  (0) 2019.09.11
xpath count()  (0) 2019.09.09
xpath xsi  (0) 2019.08.12
Posted by 구차니

반성문은 아니지만 반성문이라는 느낌이 팍팍 드는데..

 

아무튼 작업 내역을 역추적하고 있다 보니 시작은 8월 13일 git 저장소 딴게 처음

8월 / 9월/ 10월 / 11월

월로는 4개월이고, 실제 시간으로는 본궤도 오른건 3달 정도 인데

그 3달 내내 야근에 철야에 주말출근에 멘탈이 탈탈탈 털려 나가는게 문제

 

다른 사람들도 3월부터 해서 별 차이 없어 라고 하지만

년초에 조금 정리 도와주면서 한 깜이 있어서 그나마 이해하고 따라갔다고 스스로 칭찬해주고 싶지만

적으면서 정리해보다 보니 제대로 한게 하나도 없네~ 하하하!!! 이러는 느낌이라 자괴감 작렬중

 

아무튼.. 이번생에서 가장 짧고 강렬한 3개월로 무덤에 갈때 기억하게 될 듯 하다.

 

 

+

1. XML 파싱을 안해본건 아니지만 이렇게 까지 복잡한 XSD는 처음

2. 단일 파일로 8기가 다뤄본건 또 처음..(근데 얘 바이너리 아니다.. 텍스트다.. XML이니까)

3. node.js 에서 단일 파일 1.5기가 이상 못다뤄서 스트림 써야 한다는 것도 첨 알았네

4. 이번 생에서 처음으로 DB를 다루는데 처음다루는데 72만건 짜리가 똭.. (항목별로는 천만건 단위도 존재하니..)

   내 인생에서 다시는 DB가 없다 라고 선언하고 싶은 수준의 멘탈 탈탈탈 상태

5. XSD를 내가 해석을 못했던 건가?

   정작 XML을 보면 XSD랑 동떨어지게 기술하지 않은 내용들이 보이는 느낌. (정리해둔게 없으니 끄응..)

6. 거기다가 생물학 + 의료 분야라 생소한 단어들로 도배되다 보니 그냥 단어를 token이라고만 받아들이게 되는 형국

7. 결론은.. 걍 쓰기 편하게 주는 데이터나 받아써야지 내 능력 밖이구나 라는걸 깨닫고 있음

'개소리 왈왈 > 직딩의 비애' 카테고리의 다른 글

생애 첫 볼펜 끝까지 쓰기 성공  (0) 2019.12.03
역대급 지하철 무임환승 ㅋ  (0) 2019.12.02
점점 부족한 것만 보인다.  (0) 2019.11.27
언제나 야근  (0) 2019.11.26
자살에 대하여  (4) 2019.11.24
Posted by 구차니
개소리 왈왈/컴퓨터2019. 11. 30. 11:57

회사 나와서 컴퓨터 켜고 구글 메일 확인하려는데 잘안되는 현상 발생

옆에 있는 허브를 보니 깜박깜박 해서 허브 전원 뽑았다  켜는데 여전한거 봐서는

개인적으로 쓰는 리눅스 서버가 또 먹통이 되었구나.. 싶어서 강제로 껐다 켜는데

몇번을 시도해서 안되길래 뚜껑 열고 보니 55코드

하.. 이 징글징글한 55코드는 ASRock의 숙명인가?

 

처음에는 55에러(메모리 설치 안됨) 뿜다가

뽑았다가 다시 꽂아주니 4C 에러에서 반복..

그래서 메모리 뱅크 옮겨주니 문제없이 켜지는데 도대체 머가 문제일까..

ASRock 특유의 메모리 슬롯 구조 때문이려나?(양쪽 걸쇠가 아닌 한쪽 걸쇠)

 

아무튼 이로서 ASRock의 신뢰도가 1하락 중..

검색해보니 ASRock의 메모리 문제는 좀 악명이 높은듯하다.

Posted by 구차니

예전에 적어둔게 없었나..

아무튼.. ALTER SEQUENCE를 통해 RESTART WITH 뒤에 원하는 숫자를 넣어주면 해당 숫자로 시작을 다시 한다.

(예전 기억으로는 0은 안되고 1부터 시작했던 걸로 기억함.)

 

ALTER SEQUENCE "시퀀스이름" RESTART WITH 1

[링크 : https://gs.saro.me/dev?page=2&tn=5]

Posted by 구차니
개소리 왈왈/블로그2019. 11. 29. 18:56

습관이라는게 쉽게 바뀌지 않아서 하루 하나 이상의 글을 쓰자는 초기의 정책에서

좀 안써도 되는데~ 라는 쪽으로 바꾸려다가 실패했는데

이번에는 좀 강력하게(!) 정책을 변경할 예정

 

나를 위한 글에서

남들을 위한 글로 정책을 변경하여

 

조금은 더 친절하게 글을 쓸 예정

Posted by 구차니

SQL 문을 통해 이것저것 조인을 하다 보면

예상하지 못하게 이상하게 갯수가 많이 늘어가는 경우가 발생한다.

대개(?)는 1:1 조건인줄 알았던 테이블이 예상외로 1:N 조건이기 때문에 발생을 하는데

 

ROW_NUMBER() OVER(PARITION BY)를 이용하여 left join 결과를 정렬후

상위 쿼리에서(즉 LEFT_JOIN은 서버 쿼리에서 수행) ROW_NUMBER = 1인 조건으로 걸러내면 될 듯 하다.

 

일단 해보진 않았으니 패스~ 이론적으로만 알아둬야지.. 끄응

 

SELECT
    A.PersonName, A.Email
FROM
        (
        Select Person.PersonName, Email.Email
            ,ROW_NUMBER() OVER(PARTITION BY Person.ID ORDER BY Email.Email) AS RN
        From person 
        left join Email on Person.ID=Email.PersonId
        ) A
WHERE A.RN = 1

[링크 : https://dba.stackexchange.com/questions/103815...]

[링크 : https://stackoverflow.com/questions/3375436/how-do-i-limit-a-left-join-to-the-1st-result-in-sql-server]

 

+

UPDATE 쿼리에서 join을 통해 할 경우에도

아마도.. 물리적으로 배열된 컬럼중에 가장 위에것이 되지 않겠냐 라는 답변이 있는데

반대로 생각하면 할때 마다 다른 결과가 나올수도 있다.. 라는 의미가 된다.

[링크 : https://stackoverflow.com/questions/9502449/updating-and-join-on-multiple-rows-which-rows-value-is-used]

'프로그램 사용 > postgreSQL' 카테고리의 다른 글

sql 표준함수 종류  (0) 2019.12.09
postgresql 시퀀스 값 초기화 하기  (0) 2019.11.29
array_agg 빈 배열을 누적할 수 없습니다.  (0) 2019.11.28
sql over() partition by  (0) 2019.11.28
pg_tables, pg_sequences  (0) 2019.11.28
Posted by 구차니

하나는 들어있고 다른 하나는 비어있는 걸 합치려고 하니 에러가 나서

찾아보니 그냥 함수를 만들어 버린듯 

CREATE AGGREGATE array_accum (anyarray)
(
    sfunc = array_cat,
    stype = anyarray,
    initcond = '{}'
);  


[링크 :
https://gist.github.com/ryandotsmith/4602274]]

[링크 : https://codeday.me/ko/qa/20190625/887424.html]

Posted by 구차니

바탕 화면 정리하다 나온 파일..

노린것도 아니고 조작도 아니지만 참 신기했다.

'개소리 왈왈 > 사진과 수다' 카테고리의 다른 글

두번째로 볼펜 다 씀  (0) 2019.12.19
22mm 렌즈 사형선고  (2) 2019.12.09
카카오 지네(?)  (8) 2018.12.12
php  (2) 2018.10.04
eos r  (2) 2018.09.19
Posted by 구차니

분석함수를 나타내는거 over()

partition by는 계산 대상 그룹을 지정하고.. 라는데 무슨 말인지 이해가 안된다..

[링크 : http://www.gurubee.net/lecture/2671]

[링크 : https://syoons.tistory.com/8]

[링크 : https://brownbears.tistory.com/310]

 

곰곰히 생각해보니.. 여러개 쿼리로 일일이 조건을 줘서 통계를 내야 할 걸

한줄에 편리하게 하는 것일 뿐인가?

select *
from(
   select code, date, account, upd_date,

   max(upd_date) over (partition by code, date) as maxdate from hoge

) t1
where t1.upd_date = t1.maxdate;

[링크 : https://javafactory.tistory.com/1343]

 

+

편하게 쓰려고 만들었다 라는 말이 맞는게

group by는 전체 쿼리에 적용

partition by는 window function 으로 작동

[링크 : https://stackoverflow.com/questions/2404565/sql-server-difference-between-partition-by-and-group-by]

Posted by 구차니