KNOWLEDGE

KNOWLEDGE

SQL : 특정 텍스트를 치환하기 - REPLACE UPDATE

동읍면 데이터를 마이그레이션해놓고 전송을 하려고 보니 문제가 있는 내용을 확인했다. 마이그레이션 당시 openAPI에서 제공하는 엑셀 페이지를 그대로 긁어와 넣었는데, 막상 넣고 보니 1동, 2동과 같은 내용을 제1동, 제2동 등으로 표기해 기존 데이터와 충돌이 있었던 것이다. 부산 같은 경우는 행정동이 10개까지도 빠지는 동이 있기도 하고, 수동으로 변경하려니 분명히 놓칠 것 같다고 생각했는데, REPLACE 문으로 업데이트도 할 수 있다는 사실을 알았다. UPDATE STATE SET dong_eup_myeon = REPLACE(dong_eup_myeon, '제1', '1')다음 방식을 사용하면 구로제1동 => 구로1동 형태로 변경된다. 이 경우 전체 테이블 내역에 aff..

KNOWLEDGE/NETWORK

VPN - Virtual Private Network

안전하지 않은 통신망을 이용해 여러 네트워크 간 안전한 통신을 하기 위한 장치.프라이빗한 전용 네트워크를 가상적으로 만들기 위한 장치. 일반적으로는 전용선을 사용해 여러 네트워크를 간단하고 안전하게 연결할 수 있으나,이는 일반적으로 비용이 높으므로, 저가로 VPN을 사용해 여러 네트워크를 사용한다. VPN 연결은 데이터 패킷을 전송하기 전 컴퓨터에서 다른 서버로 리다이렉션을 거친다.이 서버는 VPN 서버로, 컴퓨터와 VPN 서버는 보안 데이터 터널을 생성하여 통신하게 되며,이 때문에 ISP와 기타 다른 곳에서도 인터넷 트래픽 콘텐츠를 볼 수 없게 된다.이를 터널링 프로토콜이라고 한다. 또한 VPN 통신은 IPSec과 같은 암호화를 거친다(이를 데이터를 스크램블한다고 표현하기도 한다).

KNOWLEDGE/WEB

Content Security Policy

프론트엔드 개발자 분이 작업하시는 걸 지켜보고 있다가 문득 이상한 현상을 확인했다. 서비스는 React + Next로 되어있었는데, localhost로 돌리는 서비스가 자꾸만 https로 보내지는 현상이었다. (Next.js 프록시 서버로 api 요청이 간다) Axios에 전역 설정으로 뭘 잡아두셨나? 했는데 그것도 아니었고, Next의 server 쪽에 https 세팅을 해두셨나 했는데 그것도 아니었다. config에 https를 잘못 적었나 싶어 전체 검색을 돌려봤으나 해당 문제도 아니었다. 뭔가 기이한 일이라 한번 봐보겠다고 이야기를 드렸다. 코드 어디에도 문제가 될 부분은 없었으나 동작을 안 하는 게 이상했고, 몇 주 전 같이 작업했을 때까지만 해도 없던 이슈라서, 마지막으로 내가 같이 작업했던 ..

KNOWLEDGE/OS

리눅스 커널 구성에 관하여

개요 커널을 수정하면 기존 OS의 임계점을 변경하는 것이 가능하다. 서버 상에서 최적의 효율을 끌어낼 수 있는 환경을 구축할 수 있게 되는 것이다(어떤 설정은 신중하게 선택해야 하겠지만). 본 내용은 철저하게 웹 서버의 관점에서 작성되었으며, 모든 글이 철저히 주관적인 관점에서 쓰였음을 염두에 두어야 한다! 무엇을 할 수 있을까? TCP 요청을 위한 튜닝 웹 서버를 위해 사용되는 환경이므로 TCP를 위한 환경 설정 일부는 제법 좋은 선택이 되어줄 것입다. TCP의 수락 대기열 큐 크기나 파일 연결 수 등을 늘리면 커넥션 상에서 발생하는 에러를 줄일 수 있을 것. 시스템 세션을 위한 튜닝 커널 세션과 파일 시스템 세션을 위한 주요 항목을 통해 공유 메모리나 메시지 큐의 크기를 결정하고, 패닉 시 재부팅 등..

KNOWLEDGE

Call By Value / Call By Reference - 깊은 비교 / 얕은 비교

CALL BY VALUE / CALL BY REFERENCE 모든 함수는 메모리 상에서 그 함수를 위한 공간을 마련한다. 내부의 변수는 그 메모리를 어떻게 다루느냐에 따라 다르다. Call By Value :: 값에 의한 호출 각 변수에 따른 별도의 메모리를 할당하는 방법. Call By Reference :: 참조에 의한 호출 각 변수의 메모리를 참조하는 방법 const a = 1; // call by value const b = a; // 이 변수는 '1'이라는 값을 가져온 것이 아니라 1이라는 값이 들어있는 a라는 변수를 참조한 것이다. let a = new User(1); // call by value let b = a; // 이 변수는 1을 생성자로 받는 유저를 생성한 것이 아니라..

KNOWLEDGE/WEB

도메인

URL 이번 건 직접 읽고 이해하고 정리하는 게 목표니까 좀 자유롭게 글을 써보도록 하자. URL, Uniform Resource Locator는 자원이 사용하는 프로토콜, 주소, 포트, 위치를 명시하는 웹 주소다. 이 친구를 브라우저 주소 표시줄에 입력하기만 하면 그와 연관된 리소스를 데려올 수 있는 것이다! 그럼 url의 예시를 들어보자. 가령 express-generator로 hello express를 띄우는 사이트를 허겁지겁 만든다고 하면 기본 주소는 다음과 같다. 좀 더 복잡해질 수도 있다. 이건 mozilla에 나온 복잡한 것의 예시다! 여기까지만 일단 보고 이 친구들을 나눠보는 시간을 갖자. 이 친구들도 기능들이 오밀조밀 모인 거니까... 다 떼어내서 보려면 정말 한도 끝도 없다. Schem..

KNOWLEDGE/NETWORK

OSI 7계층 - 전송 계층

프로토콜에 있어 TCP/IP가 표준은 아닐지언정 약간 생태계 독점을 하고 있는 느낌인가 본데 왜..............TCP/IP 4계층을 OSI 7계층과 비교하는 게 금기시되는 일인지 모르겠다 OSI 생태계에 harm을 끼친다는데 아무래도 ISO에서 표준을 지정했는데 TCP/IP가 또 레이어 빚어온 그런 분위기인가? 싶다. TCP/IP 레이어도 짚고 넘어가면 좋겠지만 그걸 OSI 7계층과 병행하기에는 문서상으로 너무 어그러질 것 같다는 생각이 들어서 일단은 OSI 7계층을 짚고 나중에 천천히 톺아보는 것이 좋을 것 같다....그리고 지엽적인 문제를 너무 자주 짚어서 뭐 하나 배우는데 시간이 너무 많이 걸린다...ㅠㅠ NAVER D2 일단 IP도 체크섬 같은 걸로 받은 데이터가 옳은지 아닌지를 검증하기..

KNOWLEDGE/NETWORK

OSI 7계층 - 네트워크 계층

TCP/IP 중에서 IP protocol이 해당하는 계층. end-to-end 통신이 네트워크 층의 메인 기능이고, IP의 목적은 첫째로는 호스트 간의 통신, 네트워크가 복잡해도 최종 수신지까지 패킷을 전달하는 것이다. 호스트 IP주소를 갖고 있는 기기. ...인데 여기서 경로 제어??를 하지 않는 것. 이걸 라우팅이라고 한다고 함.... 그래서 라우터는 호스트에 해당하지 않는다고 한다. 패킷? 데이터를 한 방에 보내줄 수만 있다면 정말 행복하겠지만...네트워크는 다른 컴퓨터들과도 통신을 진행해야 하고 혹여 에러라도 생기면 처음부터 다시 전송을 시작해야 한다. 하나의 컴퓨터와 통신을 할 때 한 번에 데이터를 전송하려 하면 다른 컴퓨터들은 영겁의 시간을 견뎌야 한다. 그래서 데이터를 쪼개서 이걸 전송하게 ..

정민아
'KNOWLEDGE' 카테고리의 글 목록