반응형

분류 전체보기 135

linux [Dockerfile shell script]( nginx cofiguring for docker using sed command in shell in Dockerfile) sed 명령어로 특정 문자열 뒤의 모든 문자열 치환하기, 주석처리하기, 문자열 추가하기.

sed 명령어로 특정 문자열 뒤의 모든 문자열 치환하기, 주석처리하기, 문자열 추가하기. (feat. nginx config file 수정하기) 이 명령어를 찾게 된 맥락은 다음과 같다. docker compose 를 이용해서 nginx, wordpress, mariadb 를 연동하려고 하는데 conf 파일의 수정이 불가피했다. dockerfile 명령어 COPY를 이용해서 host의 미리 수정해둔 파일을 가져올 수 있기는 하다. 이미 있는 default 파일을 원하는 대로 수정하는 것이다. 그러나 default conf 파일이 update 된 경우 작동이 잘 안될 수도 있다. 또한 이 파일을 어쩔 수 없이 git 에 올려야 하는 경우, WORDPRESS_AUTH_KEY 같은 값들이 노출 되기 떄문에 보..

merge-insertion sort, 혹은 Ford–Johnson algorithm 찬찬히 뜯어보기(2)

이전 글 보러가기 : https://ebang.tistory.com/103 3. merge insert sort 그래서 결국 merge insert 는 뭔가하면, 배열을 쪼개고 다시 합병하는 과정이라는 점에서 merge sort, 원소가 들어가는 부분을 탐색하는 점에서 Insertion sort 의 포인트를 갖고 있는 알고리즘이라고 할 수 있다. 단 이전의 insertion sort 에서 설명된 것과는 다르게 삽입될 부분이 이진탐색으로 탐색된다. 이진 탐색은 이미 배열이 정렬되어있을 때, 특정 값이 들어갈 위치를 범위를 절반으로 줄여가면서 탐색하는 기법이다. (중간값보다 크면 그 이후 범위에서 다시 찾고, 중간값보다 작으면 그 이전 범위에서 다시 찾는 방식) 그리고 이게 핵심이다. binary searc..

merge-insertion sort, 혹은 Ford–Johnson algorithm 찬찬히 뜯어보기(1)

개요 1. 소개 2. merge sort 3. insertion sort 4. binary search (이진 탐색) 4. Tim sort 1. 소개 꽤나 느린 알고리즘이고 특정 자료구조가 필요하다. (쌍으로 묶는... ) 하지만 컴퓨터 과학적인 관점에서 꽤나 흥미롭다 : 숫자 비교를 아주 최적화해서 하지는 못하지만, 비교의 횟수를 최소로 만드는 면에서는 가장 널리 알려진 알고리즘이다. The Art of Computer Programming, Volume 3 by Donald Knuth 에서 소개 되어있는 알고리즘이다. 이해하는데 이틀 ~ 삼일 정도 걸렸고 여태 알고 있던 알고리즘으로만 사고방향이 흘러서 그 틀을 깨는데 가장 시간이 오래걸렸다... 그래도 찬찬히 뜯어본만큼 기록으로 남겨두고 싶어서 글을..

[C++] iterator에 대하여 (반복자)

🟡 반복자의 정의 반복자 : 컨테이너의 한 지점을 가리키는 객체. 컨테이너의 종류와 내부 구조에 상관없이 한 요소를 가리키는 목적으로 반복자라는 동일한 장치를 일관된 방법으로 사용할 수 있다. 컨테이너에 대해 알고리즘을 적용하는 등 저장된 요소에 접근해야할 때는 반복자가 필요하다. 즉 반복자가 알고리즘과 컨테이너의 연결 매개체로 존재한다. 그리고 반복자를 통해서 여러 종류의 컨테이너를 동일한 알고리즘을 적용해서 사용할 수 있다. 그에 대한 예시로 STL 알고리즘에서는 container 정보가 아니라 iterator 정보만을 전달해서 사용하도록 하고 있다. 🟡 STL 알고리즘과 컨테이너를 잇는 '반복자' stl 알고리즘이 받는 반복자는 단일 요소보다는, 반복자 구간을 받아들여서 구간 내의 모든 요소에 대해..

개발/C,C++ 2023.06.12

사랑의 기술 - 현대 서양 사회에서 사랑의 붕괴

근대 자본주의에서 인간의 문제는 다음과 같이 요약할 수 있다. 근대 자본주의는 원활하게 집단적으로 협력하는 사람들, 더욱 많이 소비하는 사람들, 그 취미가 표준화되고 쉽게 영향받고 예측할 수 있는 사람들을 필요로 한다. 근대 자본주의는 권위나 원리, 또는 양심에 종속되지 않고 자유롭고 독립되어 있다고 느끼는 사람들, 그러면서도 즐거이 명령에 따르고 그들에게 기대되는 일을 하고 마찰 없이 사회 기구에 순응하는 사람들, 폭력 없이 관리되고 지도자 없이 인도되고 목적 없이 - 좋은 것을 만들어내고 계속 움직이고 기능을 다하고 곧바로 나간다는 목적 외에는- 움직일 수 있는 사람들을 필요로 한다. 그 결과는 어떠한가? 현대인은 자기 자신, 동료, 그리고 자연으로부터 소외된다. 그는 상품으로 변하고, 현재의 시장 ..

카테고리 없음 2023.06.05

같이 읽어요 - [컴퓨터 네트워크 Top-down approach]-2. 애플리케이션 계층

* 읽는 법: 큰 목차 - 주황색 세부 목차 - 녹색 주요 흐름 - 노란색 2장의 목차 1. 네트워크 애플리케이션의 개념과 구현 클라이언트- 서버구조 ,프로토콜이란 무엇인가 2.여러 네트워크 애플리케이션 HTTP, SMTP, DNS, | P2P, CDN 3. TCP, UDP에서의 네트워크 애플리케이션 개발 socket 1. 네트워크 애플리케이션의 개념과 구현 - 네트워크 애플리케이션 개발의 중심 다른 위치의 종단 시스템에서 동작하고 네트워크를 통해 서로 통신하는 프로그램을 작성하는 것이다. 이때 라우터나 링크 계층 스위치처럼 네트워크 코어 장비에서 실행되는 소프트웨어까지 작성할 필요가 없다. (계층 구조로 인해) 네트워크 애플리케이션 구조 클라이언트 - 서버 구조 애플리케이션을 개발하려고 할 때, 개발자..

13335 - 트럭 (큐, 시뮬레이션)

13335 - 트럭 난이도: 실버1 구현방법: 시뮬레이션, 구현 문제 https://www.acmicpc.net/problem/13335 1 초 512 MB 9666 5039 4021 54.478% 문제 강을 가로지르는 하나의 차선으로 된 다리가 하나 있다. 이 다리를 n 개의 트럭이 건너가려고 한다. 트럭의 순서는 바꿀 수 없으며, 트럭의 무게는 서로 같지 않을 수 있다. 다리 위에는 단지 w 대의 트럭만 동시에 올라갈 수 있다. 다리의 길이는 w 단위길이(unit distance)이며, 각 트럭들은 하나의 단위시간(unit time)에 하나의 단위길이만큼만 이동할 수 있다고 가정한다. 동시에 다리 위에 올라가 있는 트럭들의 무게의 합은 다리의 최대하중인 L보다 작거나 같아야 한다. 참고로, 다리 위에..

다시 일어서는 용기3 - 알프레드 아들러

p62 하지만 정신이 그런 어려움을 극복만 한다면 불완전한 오른손도 가끔은 고도의 예술성을 발휘할 수도 있다고 기대된다. 실제로 그런 일이 일어난다. 많은 사례에서 볼 수 있듯이 왼손잡이 아이는 다른 아이보다 글씨나 그림 실력이 뛰어나며 수예 솜씨도 훌륭하다. 그들은 올바른 기술을 배움으로써 흥미나 훈련이나 연습에 의해 불리한 점을 이점으로 변화시켜 갔기 때문이다. 전체를 위해서 공헌하고 싶어 한다거나 자신뿐만 아니라 타인에게도 관심을 갖고 있는 아이들은 자신의 결함을 고치려는 훈련에 성공할 수 있다. 그들이 노력을 위한 목적을 계속 가지고 있을 때, 그리고 이 목적을 달성하는 일이 그들 앞에 버티고 서 있는 장애물보다 훨씬 중요하다고 생각할 때 그들은 계속해서 용기를 가질 수 있다. 그럼에도 아이가 자..

끄적/심리학 2023.04.27

linux - waitpid 뜯어보기

waitpid(pid_t pid, int *stat_loc, int options); (linux manpage 를 번역 및 해석한 글입니다.) waitpid 함수는 wait 함수처럼 자식 프로세스를 기다릴 때 사용하는 함수이다. 즉 자식 프로세스의 종료상태를 회수할 때 사용한다. 하지만 waitpid 함수는, 자식 프로세스가 종료될 때까지 계속 기다리는 것이 아니라 세번째 인자인 옵션을 이용해서 원할 때 종료할 수 있다. #include pid : wait하고 싶은 child process를 pid 값으로 정할 수 있다. pid 값이 -1이면, 아무 자식 프로세스를 기다린다. stat_loc : status를 저장하고 싶은 변수의 주소를 인자로 넘긴다. (널도 넘길 수 있다.) 종류가 매우 많다. ch..

728x90
728x90