전체 글 869

Let's agree to disagree를 받아들이는 사람이 되자

아침에 유퀴즈 짧은 영상을 하나 보게 되었습니다. 이미 보셨을지도 모르지만, 사회 심리학자분께서 말하는 한국인의 심리를 말씀 해주시는데, 굉장히 공감이 많이 가게 됐습니다. 영상 후반부에 나오는 특징 중 하나가 "나와 의견이 다른 것을 참지 못한다" 결국 인정 해주지 못한다는 것이죠. 동의, 비동의 모두 같은 맥락의 의견입니다. 결과적으로 나와 생각이 다르면, 설득 하는 문화가 팽배하죠. 어찌 보면, 개발자가 일 하는 모든 공간에서 의견이 다를 수 있습니다. 흔한 코드 리뷰나 시스템 설계에도 의견은 다를 수 있습니다. 해당 영상을 보면서 나도 저렇게 행동하지 않았나? 나와 다르면, 설득 하려고 하지 않았나? 한번이라도 상대 입장, 관점에서 생각 해보기나 했나? 왜 이렇게 생각 하는지 들어보려고 노력 했던..

승돌 쓰다 2022.06.02

Ansible-playbook 여러 디렉토리 확인 후 해당 디렉토리에 파일 전송하기

상황을 간략하게 설명하자면, 이런 상황이 생길 수 있다고 가정했습니다. 예를 들어, 한 서버 (target)에 apache, tomcat을 사용한다고 생각해봅시다. 이 때에, tomcat은 인스턴스를 2개 사용합니다. 생각해보면, 한 물리 서버에 인스턴스 2개인 tomcat이 존재하는 겁니다. 이 때 tomcat을 업데이트 한다고 가정하겠습니다. 그렇다면, copy 혹은 template 명령어를 가지고 target 서버 내의 tomcat 두 디렉토리에 설정 파일을 전송해야 합니다. 어떻게 작성 할 수 있을 까요? 저는 아래처럼 작성 했습니다. - name: set tomcat config template: src: "roles/{{ host }}/templates/{{ item }}-server.xml...

인프라/Ansible 2022.05.13

Remove Ansible-tower on CentOS7

해당 정보는 몇 년전에 문의 했던 내용입니다. centos에 ansible-tower trial 버전을 설치 했으나, 라이센스 자체가 실험용으로만 써야하고, 실무에 직접 쓰게 되면 안된다는 조항이 있더라. 그래서 삭제하려고 보니 또 설치때와는 다르게 가이드 자체가 없어서 헤맸는데, 그리하여 결국 레드햇에 SOS 때렸다. 그랬더니 전화와 이메일로 응답이 왔고, 그 뒤에 개발자가 메일을 주었다. 아래 방법으로 시도해보자! Resolution Although there is not an official procedure to uninstall Ansible Tower, and the following procedure may not remove every file installed in the complete..

인프라/Ansible 2022.05.13

Nginx - access log 파일 이름 (날짜 형태로 변경)

access log의 경우 map으로 특정 변수를 사용해, 일자를 포함해서 log rotate가 된다. 1.13.x 이상부터 다만, error log는 안된다. 스크립트를 만들어서 사용 하면 된다. (SIG를 줄 수 있다.) log rotate - access log 파일 이름을 날짜로 설정 하기 map $time_iso8601 $logdate { '~^(?\d{4})-(?\d{2})-(?\d{2})' $year$month$day; default 'nodate'; } log_format format '$remote_addr - - [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" &..

인프라/nginx 2022.05.09

우아한테크 세미나 - 지속가능한 SW 개발을 위한 코드리뷰

https://www.youtube.com/watch?v=ssDMIcPBqUE&ab_channel=%EC%9A%B0%EC%95%84%ED%95%9CTech 알게 된 부분 unused import, declaration => error로 표시 되도록 설정 PR을 올릴 때 주석 달기 -> 먼저 읽어보고 설명을 커멘트로 남겨서 리뷰어의 시간 절약 리뷰어를 모두 포함 시켜라 의미 있는 커밋으로 분리 파일 생성부터 커밋을 분리 테스트 추가 커밋 등 리뷰에 대한 룰 확보 아침 30분, 점심 이후 30분 PR의 변경분이 적도록 노력 리뷰하는 것 자체의 노고를 인정 해줘야 함. 리뷰의 핵심 무엇이 코드를 나아지게 하는가? 에 초점 누가 그런 아이디어를 냈는지가 아니다. 너만 빼라. 너라고 하지 않는게 좋고, 대상은 코..

승돌 쓰다 2022.04.28

코드스피츠 77 - ES6+ 기초편 6회차 (Generator, Promise, Async/Await)

Generator const infinity = (function*() { let i = 0; while(true) yield i++; }) console.log(infinity.next()) yield를 이용하면 블록을 중간에 끊어주는 효과가 발생 => JS에서는 하나의 문들을 Record로 만들어 주고, 해당 레코드를 실행 할지 말지를 결정 하게 됨. suspension, generator, command pattern등 여러 가지 개념들이 설명 되어 나오는데, 각각을 잘 이해하는게 중요하다. gererator + async + executor generator => 흐름을 멈춰준다. const profile = function*(end, next, r) { const userid = yield $...

Oracle To PostgreSQL 작업 하다 배운것

nvl => COALESCE으로 대체 nvl 함수는 null이면, 다른값으로 치환 해주는 함수이다. 오라클에서는 정말 잘 쓰이지만, postgresql에서는 해당 함수가 없다. COALESCE이란 함수가 있기에 대체가 가능하다. decode => CASE WHEN 으로 대체 오라클에서 자주 사용하는 조건문 함수 decode가 postgresql에는 없다. CASE WHEN [COLUMN] IS NULL THEN 'N' ELSE [COLUMN] END AS [COLUMN]형태로 바꿔서 사용이 가능하다. 날짜 값에서 특정 시간 만큼 빼기 - mybatis에서 파라미터로 넘겨줄 때 처리 보통 오라클에서 쓸때는 아래처럼 사용 했다. (SYSDATE - 60/60/24) 이걸 mybatis로 바꾸면..

DB/Postgresql 2022.04.15

타다 - 대한민국 스타트업의 초상

https://movie.daum.net/moviedb/main?movieId=152961 타다: 대한민국 스타트업의 초상 Daum영화에서 자세한 내용을 확인하세요! movie.daum.net 해당 다큐를 보면서, 요새 주식 선진국 지수 들어가자 말자 하는 와중에서 선진국 지수를 들어가는게 무슨 소용인가? 라는 생각을 하게 되었다. 기술적인 진보를 이룩하려는 스타트업이 법의 규제에 방해를 받고 진보 되지 못하는 사회가 문제가 된다. 어찌보면, 사회에서 특정 계층에 대한 법적 제도 안에서의 구제가 역설적이게도 다른 사람들의 일자리 창출의 박탈이 된다. 어쩌면, 택시 드라이버 라이센스에 대한 이슈, 택시 시장의 몰락 위험 그에 따라 발생할 택시 단체의 반발 여객 운수 자동차법 자체가 엄청나게 법의 가호를 받..

승돌 쓰다 2022.04.13

lambda 아키텍처 vs kappa 아키텍처

FullStack으로 일 하다가, 팀의 규모가 20여명 정도로 커지는 바람에 FE/BE를 나누게 되면서 작년부터 저는 BE영역에서 일 하고 있습니다. 그러다 보니 데이터 관련한 아키텍처들에 관심이 많아졌고, 어떻게 하면 이해가 쉬운 구조이면서 이슈 없는 데이터 플로우 구조를 만들 수 있을까 고민 하고 있습니다. 그러던 와중에 생소한 용어를 듣게 되어 간단하게 공유하고자 합니다. Ref. https://www.credera.com/insights/modern-data-architecture-an-overview-of-lambda-and-kappa-architectures https://www.qlik.com/blog/lambda-or-kappa-the-need-for-a-new-data-processing..

프로그래밍 2022.04.12
반응형