전체 글 212

[책 요약] Effective SQL - SQL 코딩의 기술 요약 (Ch2. 인덱스 설계와 프로그램적 처리)

Effective SQL, SQL 코딩의 기술이라는 책을 읽고 요약한 것으로, 실제 책과 동일하지 않을 수 있음. 개인 정리용 2.10 인덱스를 만들 때는 널을 고려하자. 일부 데이터 베이스는 빈 문자열일 때, 이를 NULL으로 치환한다. 만약 NULL 데이터가 많은 상황에서 NULL 포함하지 않도록 인덱스를 생성한다면, scan에 대한 비용을 획기적으로 줄일 수 있다. 또한 Mysql의 경우 NULL이라도 서로 다른 값으로 취급하기 때문에, 반드시 인덱스 설계시에 NULL을 어떻게 처리할 지에 대한 고민을 수행해야 한다. 2.11 인덱스와 데이터 스캔을 최소화하도록 인덱스를 신중히 만들자. -> 적절한 인덱스를 만들도록 데이터 분석하고, 생성된 인덱스가 잘 사용되는지 확인 스캔 방식으로는 크게 테이블 ..

URL 리디렉션용 서비스 (쿠팡 파트너스 주소 숨기기)

URL 리디렉션용 서비스 (쿠팡 파트너스 주소 숨기기) 1. 주소를 숨겨야 한다. 모든 광고가 그렇듯, 주소로 필터링할 수 있다. 블로그나 카페등에서 이런 광고형 URL을 자주 사용하게 되는 경우, 저품질이나 검색이 안되는 현상을 자주 맞이하게 된다고 한다. 그래서 쿠팡 파트너스에서 만든 단축 URL을 다른 URL로 변경하여 블로그나, 카페 서비스에서 이를 알지 못하게 바꿔준다. 2. 어서와, 어려울까봐 준비했어. 일반 사용자가 도메인을 바꾸는 서비스를 만들거나 구축하기에는 너무 복잡하고 귀찮을 것 같아서, 준비했다. https://play.it-trip.com/short 3. 사용법 (1) 페이지에서 사용하는 방법 변경하고자 하는 쿠팡 주소를 입력하고, 발급 버튼을 누르면 된다. (2) API GET ..

입문용으로 적당한 위더로드 첼시부츠 (WTRD5107)

입문용으로 적당한 위더로드 첼시부츠 (WTRD5107) 1. 입문용 첼시부츠 첼시부츠는 크게 압코가 뽀죡한 형태와 네모난 형태로 나뉜다. 개인적으로 네모난 것보다는 무난한 뾰족한 형태가 좋아서 입문용 부츠를 찾아보니, 로맨틱무브와 닥터마틴등을 추천해줬다. 물론 로맨틱 무브의 첼시부츠나 제일 무난한 닥터마틴의 첼시를 사도 상관없지만, 처음 첼시 부츠라는 카테고리를 접하게되어 부담감이 없지 않았다. 게다가 일단 써봐야 구매할 때 어떤점을 봐야하고 불편한지 알 수 있을 거라 생각했기 때문에 쿠팡에서 제일 무난해보이는 부츠를 일단 구매했다. 상품 정보 바로가기 https://coupa.ng/bSGIcD 위더로드 로베르 첼시부츠 WTRD5107 COUPANG www.coupang.com 2. 전체적인 품질 일단 ..

일상/리뷰 2021.03.02

[책 요약] Effective SQL - SQL 코딩의 기술 요약 (Ch1. 데이터 모델 설계)

Effective SQL, SQL 코딩의 기술이라는 책을 읽고 요약한 것으로, 실제 책과 동일하지 않을 수 있음. 개인 정리용 1. 개요 1.1 SQL or SEQUEL?? RDMBS에서 구조화된 간단한 영어 문장을 이용하여 Database에 질의를 할 수 있는 언어로 SEQUEL(Structured English QUEry Language, 시퀄)이라고 부르며, SEQUEL이라는 명칭이 이미 사용되고 있어 법적인 이유로 SQL(에스큐엘, ess-cue-el)으로 변경했다. 표준화가 늘 그렇듯, 널리 사용되는 RDBMS의 SQL들의 최소 공통 분모만을 담고 있으며, RDBMS별로 어떤식으로 구현됐는지, 혹은 세부적인 동작 방법, 리터럴은 다를 수 있다. (Ex, record 고유 키로 사용되는 정수 컬럼..

[맛집] 산골 항아리 바베큐 (삼겹살, 오리, 산채막국수, 산나물 비빔밥)

1. 산골 항아리 바베큐 용인에 있는 항아리 바베큐집으로, 항아리에 숯불과 삼겹살을 넣고 훈제로 익히는 방식, 도심지가 아닌 외각에 있다는 점과 텐트에서 먹을 수 있다는 점에서 마실겸 다녀올 만한 장소. 다만 리뷰에서는 유투브를 통해 너무 기대치가 높은 것이었는지 사람들의 반응이 극명하게 갈림. 수원에 거주하므로 한번쯤은 방문해보려고 리스트로 남겨둠. 2. 메뉴 3. 위치 주소 경기도 용인시 수지구 이종무로 169번길 3 전화번호 031-261-0146 영업시간 매일 11:00 - 21:30 연중무휴( 명절당일 휴무 ) 브레이크타임 매일 15:00 - 16:00 Break time (15:00 ~ 16:00) 기타정보 단체, 주차, 포장, 테이블간 간격 넓음 http://naver.me/GWFmCR9i ..

미국 배당주 - 나스닥 AGNC / 월배당 / 연 1.44 달러 (약 9%)

미국 배당주 - 나스닥 AGNC / 월배당 / 연 1.44 달러 (약 9%) 1. AGNC - AGNC 인베스트먼트 / 나스닥 상장 - 시총 85억달러(약 95조) - 부동산, 모기지 리츠 - 투자 포트폴리오중 약 80% 수준은 30년 만기 고정금리 대출 - 2014~2020.3 이전까지 18-20달러 사이 유지 2. 배당 관련 - 배당 : 연간 1.44달러 / 월 배당 (월 0.12) - 현재 주가 : 15.89달러 -> 17.48달러(2021.04, 10% 상승) - 배당률 : 약 9%~10% -> 약 8~9%(2021.04, 주가 상승분) - 배당 컷한 이력이 많음. 이자비용 대비 수익률에따라서 배당 금액 수준을 줄이는 식으로 배당 컷을 수행 3. 기타 정보 1000달러 기준, 배당 9%가정시 변동..

Modbus TCP 통신을 위한 프로토콜 파헤치기 & 예제 코드

Modbus TCP 통신을 위한 프로토콜 파헤치기 & 예제코드 링크 : Modbus TCP/IP 프로토콜 가이드 문서 1. Modbus 프로토콜 Modbus 프로토콜은 프로세스 자동화와 SCADA(Supervsory Control and Data Acquisition)에 사용되는 통신 프로토콜으로, 원하는 장치에 정보를 가져오거나 전달할 수 있다. 크게는 Modbus TCP/IP, Modbus RTU가 있고, 그외 Modbus ASCII나 PLUS같은 것이 존재한다. Modbus는 open protocol이라, 제품에서 지원하게 된다면 서로 다른 제품이라도 하나의 프로토콜을 이용하여 데이터 통신을 수행할 수 있다. 또한 우리가 주로 사용하는 TCP/IP 프로토콜을 지원하기 때문에 네트워크 망을 이용하여 ..

[Python] 파이썬 Socket.IO 오류 unexpected response code 400

0. 선 요약 - python-socket.io와 node.js socket.io간 버전 의존성이 있음. - python-socket.io v5, node.js socket.io v2로 낮춰서 통신 수행 - python과 node간 socket 통신은 가능하다. 1. 상황 (1) 서로 떨어진 Node.js와 Python간의 통신을 Socket.Io로 수행. (2) Node.js (서버) socket.io와 Python (client) socket.io 통신시 unexpected respnse code 400 또는 요청이 씹히는 경우가 발생. (3) Connection Refused-연결 거부(서버가 꺼져있는 등의 이유로)가 아님 (4) 기존 프로토타입 테스트때 Python-Node간 통신이 가능함을 확인..

삼성 SW 역량테스트 B형/Pro 대비 - 체이닝 Hash 테이블 만들기

1. Hash란? Hash 함수는 어떤 값의 범위를 다시금 0~X까지로 매핑하는 역할을 수행한다. 이러한 Hash 함수의 역할을 통해서 범위에 비하여 값이 너무 sparse했던 애들을 압축할 수 있다. 혹은 전체 범위 중 특정 값에 몰려 있던 것을 퍼트리는 역할도 수행하 수 있다. 예를 들면 어떤 값은 알파뉴메릭 최대 30자 문자열이 10만개 있다고 하자. 그러면 이 값의 범위는 a-zA-Z0-9이므로 62^30승 ~= (2^6)^30 ..... 그렇다고 이 값을 full scan하기에는 최악의 경우에는 10만 * 30자 총 300만번의 search cost가 발생한다. 그러나 해당 문자열 값을 hash 함수를 이용하여 5000개로 나누어 담을 수 있다면, 한 해쉬 값당 20개씩 문자열이 저장된다. 그렇..

페이스북으로 공유카카오톡으로 공유카카오스토리로 공유트위터로 공유URL 복사