본문 바로가기
반응형

개발 이야기45

Ubuntu 에 용량 큰 파일 top 10 가져오기 sudo du -a /var/ | sort -n -r | head -n 10 2024. 10. 29.
Kafka 클러스터에서 broker 가 죽었을 때 topic 생성 타임아웃 해결하기 python-kafka 를 활용하고 있고, 총 3개의 broker 를 설정해서 사용하고 있는데 broker 2,3 이 죽었을 때 Topic을 Producer가 만들려고 시도할 때 타임아웃이 발생했다. 블로그 글을 단순히 보고 아래와 같이 세팅 했었는데, # kafka server 1 ############################# Server Basics ############################# process.roles=broker,controller node.id=1 controller.quorum.voters=1@host1:9093,2@host2:9093,3@host3:9093 ############################# Socket Server Settings ######.. 2024. 10. 25.
Nginx 다른 사이트로 리다이렉트할 때 request_uri 변조하여 rewrite 하기 회사에서 앱 버튼을 눌렀을 때 웹사이트 A의 웹뷰를 보여주는 기능이 있다. 웹사이트를 리뉴얼하게 되어 B라는 사이트를 신설했는데, 앱에 웹뷰를 띄울 때 타겟 URL이 A로 제한되어 있었기 때문에 앱 업데이트가 불가피했다.  앱 업데이트를 피하기 위해선 A의 nginx단에서 들어온 요청을 B로 던져주는 것이 필요했다. 단순히 rewrite만 쓰면 해결되지만, 여기서 문제가 A -> B로 이동할 때 path가 약간 다르다는 점이었다.  즉, https://A.com/app/path/에서 https://B.com/path/  처럼 세부 path 가 달라져야 했다. 이럴 때에는 location 안에서 request_uri에 대한 조건문을 활용해볼 수 있다.location / { # 어떤 특정 location .. 2024. 8. 6.
Elasticsearch Too many dynamic script compilations within, ~ 에러 해결하기 elasticsearch 디폴트 설정 값이 150/5m 으로 되어 있어서 100000/1m 으로 바꾼다 PUT method를 이용해서 호출하면 정상적으로 바뀌고 더 이상 에러가 나지 않는다 이외에 스크립트 자체를 static으로 바꾸는 것도 해결법 중 하나이다 참고 자료 : https://alexmarquardt.com/2020/10/21/elasticsearch-too-many-script-compilations/ 2024. 3. 28.
Nginx - index 페이지 기본 탐색기 적용하기 server { ... content ... location / { autoindex on; } } fancy index를 활용하면 날짜 포맷도 바꿀 수 있음 sudo apt-get -y install libnginx-mod-http-fancyindex server { ... content ... location / { autoindex on; fancyindex on; fancyindex_time_format "%Y-%m-%d %H:%M:%S"; } } reference : https://installati.one/install-libnginx-mod-http-fancyindex-ubuntu-18-04/?expand_article=1 2024. 2. 29.
Django 에서 GROUP_CONCAT 커스텀 사용 시 order_by, separator 추가하기 class CustomConcat(Aggregate): function = 'GROUP_CONCAT' allow_distinct = True def __init__(self, expression, distinct=False, **extra): # order by = group_concat 의 정렬 기준 # separator = group_concat 의 구분자(default = ",") expr_separator = '' expr_order_by = '' order_by = extra.get('order_by') separator = extra.get('separator') if order_by: expr_order_by = f' ORDER BY {order_by} ' if separator: expr_.. 2024. 2. 27.
반응형