Hello 👋

🧑🏻‍💻 A Developers who create code that changes the world

전체보기 100

[Linux] 자주 쓰는 리눅스 명령어 정리

방화벽(Firewalld)열린 포트 및 서비스 확인sudo firewall-cmd --get-active-zones # 활성화된 zone 확인sudo firewall-cmd --zone=public --list-ports # 특정 zone에 열린 포트sudo firewall-cmd --zone=public --list-services # 특정 zone에 등록된 서비스sudo firewall-cmd --list-all # 전체 구성 정보포트/서비스 추가 및 삭제# 포트 추가 및 삭제 sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent sudo firewall-cmd --zone=public --remove-port=8080/tcp --perma..

[Nomad] Nomad에서 raw_exec 드라이버 사용

raw_exec 드라이버Nomad에서 Docker 같은 컨테이너 기술 없이, 호스트 머신에서 직접 실행 파일을 구동하는단순한 드라이버 /etc/nomad.d 의 경로에서 nomad.hcl 파일을 수정해줘야함client { enabled = true servers = ["127.0.0.1"] options { "driver.raw_exec.enable" = "true" "driver.docker.enable" = "false" }} mongodb.nomad file 작성 예시job "mongodb" { # 이 Job은 "mongodb"라는 이름으로 정의되고 # 실행 위치는 "dc1"이라는 데이터센터(기본값)에 제한됨 datacenters = ["dc1"] type = "servic..

[Linux] 인프라 설치 스크립트 및 오류 해결

# ------------------------------# 버전 정의 (참고용)# ------------------------------PYTHON_VERSION=3.12.8INFLUXDB_VERSION=1.11.8TELEGRAF_VERSION=1.34.1GRAFANA_VERSION=11.6.0REDIS_VERSION=7.0.11REDIS_CMD_VERSION=0.8.0FLUENTD_VERSION=1.18.0POETRY_VERSION=2.1.2MONGO_VERSION=5.0.31PG_VERSION=14KONG_VERSION=3.9.0KONG_REPO_URL="https://download.konghq.com/gateway-3.x-rhel"KONGA_VERSION=0.1.3# ===============..

[Infra] poetry 가상환경 기본 내용

파이썬에서 종속성 관리와 패키징을 위한 도구 Poetry requires Python 3.9+. It is multi-platform and the goal is to make it work equally well on Linux, macOS and Windows. 파이썬 3.9 버전 이상을 필요로 함자주 쓰게 되는 명령어================================================# 의존성 설치poetry install# 패키지 추가poetry add requests# 패키지 제거poetry remove requests# 의존성 업데이트poetry update# 전체 업데이트poetry update requests===================================..

[Nomad] Nomad 오케스트레이션 설정 방법

컨테이너 도구(Docker 등)를 사용할 수 없다는 점을 보완하기 위해 local에 환경 설치 후 오케스트레이션 할 수 있는 Nomad 사용HashiCorp사의 Nomad란?경량화된 오케스트레이션 도구로,Docker 같은 컨테이너뿐만 아니라 바이너리 파일, JAR, 파이썬 스크립트 등 다양한 작업을 배포하고 관리할 수 있음 - 컨테이너 가상화 없이도 작동할 수 있다는 점에서 적합한 선택 작동 원리서버 - 클라이언트1,2,3 ...서버가 중심이 되어 클라이언트들에게 작업(JOB)을 지시하고, 서버와 소통하며 리소스를 효율적으로 관리하고 장애에 빠른 대응을 함 여러가지 서비스(몽고디비 등)를 JOB Specification(작업정의)하여 HCL(HashiCorp Configuration Language) 형..

[Other] 물류 시스템 - 콜드체인

현대 물류에서 '콜드체인(Cold Chain)'은 온도에 민감한 제품을 안전하고 신선하게 운송하기 위한 필수 시스템으로 자리잡고 있습니다. 콜드체인은 식품, 의약품, 화학 제품 등 다양한 산업에서 제품의 품질과 안전성을 보장하는 데 중요한 역할을 합니다. 콜드체인이란?콜드체인은 제품이 생산지에서 소비자에게 도달하기까지 일정한 온도를 유지하는 물류 시스템입니다. 주로 온도에 민감한 식품, 의약품, 화학 제품 등을 다루며, 냉장, 냉동, 온도 조절이 필요한 저장 및 운송 시설을 포함합니다. 이 시스템은 제품의 품질과 안전성을 유지하기 위해 세심한 온도 관리가 필요합니다. 콜드체인과 일반 물류의 차이점1. 온도 관리콜드체인: 특정 온도 범위를 지속적으로 유지합니다. 예를 들어, 냉장식품은 2-8°C, 냉동식..

Other 2024.08.08

[Other] 물류창고 시스템 : WMS, WES, WCS

WMS (Warehouse Management System)Warehouse Management System (WMS)는 창고의 운영과 관리 전반을 지원하는 소프트웨어 시스템이다.창고 운영에 대한 포괄적인 관리 및 제어를 제공한다.전반적으로 WES 및 WCS에 비해 더 광범위한 기능을 포함한다.주로 재고 관리, 주문 처리, 노동 관리, 야드 관리 및 보고와 관련된 활동을 처리한다.전체 창고 프로세스 최적화, 효율성, 정확성 및 가시성 향상에 중점을 두고 있으며 일반적으로 ERP(Enterprise Resource Planning) 시스템과 같은 다른 엔터프라이즈 시스템과 통합돼 재고, 주문 및 물류 정보를 동기화한다.WMS의 역할과 기능재고 관리: 재고의 입고, 보관, 이동, 출고 등의 과정을 실시간으로..

Other 2024.08.07

[Other] 자동화 물류창고의 핵심 설비와 상호 연계성

물류창고의 자동화는 현대 물류 운영에서 필수적인 요소 자동화 설비는 물품의 저장, 이송, 적재, 분배를 보다 효율적으로 관리하는 데 도움줌 주요 자동화 설비인 AS/RS, Conveyor, RGV, AGV, AMR, Stocker, Stacker, Diverter의 상호 연계성은 아래와 같음1. AS/RS (Automatic Storage and Retrieval System)개념: 자동으로 물품을 저장하고 검색하는 시스템으로, 높은 저장 밀도와 빠른 검색 속도를 제공하는 자동화 설비Unit Load AS/RS: 큰 단위의 팔레트나 컨테이너를 저장하고 관리, 대형 창고에 적합Mini Load AS/RS: 소형 물품이나 박스를 관리, 작은 공간에서 높은 저장 밀도를 제공Vertical Lift Module..

Other 2024.08.06

[MongoDB] 기본 명령어 CRUD 비교,논리 연산자

1. Document 입력 - insertOne, insertManyinsertOne: 한 개의 document(문서)를 생성insertMany: 여러 개의 document를 한 번에 생성// 하나의 문서를 추가 (insertOne)db.test_2.insertOne( { title: "MongoDB Guide", author: "Jane Doe", views: 100 })// 여러 개의 문서를 추가 (insertMany)db.test_2.insertMany([ { title: "Python Tutorial", author: "John Smith", views: 150 }, { title: "JavaScript Basics", author: "Sara Lee", views: 200 }, ..

Database/MongoDB 2024.07.25

[DEV] 웹 서버 업로드 오류(캐시) 확인하기

https://wccoding.tistory.com/m/91 [DEV] 웹 서버 업로드 오류웹 페이지를 개발할 때 나는 index파일이 html인 파일만 가지고 개발을 했었다. html 파일은 css나 js파일을 수정하면서 웹 브라우저에서 열어서 쉽게 수정본을 확인할 수 있다. 하지만 내가 맡은 홈www.danieldevel.info 웹 페이지를 개발할 때, 나는 주로 HTML 파일을 사용하여 개발을 진행했다. HTML 파일은 CSS나 JS 파일을 수정하면서 웹 브라우저에서 쉽게 열어 볼 수 있어, 수정 사항을 바로 확인할 수 있다는 장점이 있다. 그러나 이번에 내가 맡은 프로젝트에서 문제가 발생했다. 웹 서버에 파일을 업로드했는데, 변경 사항이 반영되지 않는 오류가 생긴 것이다.  오류의 원인을 찾기 ..

카테고리 없음 2021.07.12

[DEV] JSP 파일 수정 및 캐시 오류 해결 과정

웹 페이지를 개발할 때 나는 주로 index 파일이 HTML인 파일만 가지고 작업을 진행했었다. HTML 파일은 CSS나 JS 파일을 수정하면서 웹 브라우저에서 쉽게 열어볼 수 있어, 수정본을 바로 확인할 수 있다는 장점이 있다. 하지만 이번에 내가 맡은 홈페이지 수정 작업에서는 index 파일이 JSP 확장자인 파일이었다. 또한 처음부터 개발하는 것이 아니라 기존 홈페이지를 대규모로 변경해야 하는 상황이었다. 수많은 파일을 천천히 훑어보면서 이해하려고 노력했다. 하지만 JSP 파일은 수정하면서 웹 브라우저에서 수정된 것을 실시간으로 확인할 수 없었다. 그래서 불편하고 시간이 오래 걸리지만 Filezilla를 이용해 수정본을 서버에 계속 덮어쓰면서 업로드하여 어떻게 동작하는지 보면서 작업을 진행했다. 특..

카테고리 없음 2021.07.09

[IT] CDN(Contents Delivery Network)

CDN (Content Delivery Network)란? CDN은 인터넷 환경에서 게임 클라이언트나 콘텐츠를 사용자의 PC로 효율적으로 전달하기 위한 시스템입니다. 이 시스템은 데이터를 분산된 서버에 저장하여 사용자가 콘텐츠를 빠르게 접근할 수 있도록 돕습니다. 특히, 인터넷 사용자들이 콘텐츠 제공자의 웹 서버와 멀리 떨어져 있을 때 유용합니다. CDN은 그림, 배너, 비디오, 오디오와 같이 용량이 크거나 사용자가 자주 요구하는 콘텐츠를 여러 인터넷 서비스 제공자의 POP(Point of Presence)들에 설치된 CDN 서버에 미리 저장합니다. 사용자가 콘텐츠를 요청하면, 가장 최적의 CDN 서버를 통해 신속하게 콘텐츠를 전달받을 수 있습니다. 이러한 방식은 데이터 전송의 효율성을 높여주는 새로운 ..

카테고리 없음 2021.07.02

[IT] REST API

REST API란?REST API는 Representational State Transfer의 약자로, 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식입니다. REST는 웹 상의 자료를 HTTP를 통해 전달하는 간단한 인터페이스를 제공합니다. 여기서는 SOAP이나 쿠키를 통한 세션 트래킹과 같은 별도의 전송 계층이 필요하지 않습니다. 즉, REST API는 웹 리소스와 상호작용하기 위해 설계된 매우 직관적이고 간편한 방법을 제공합니다. REST 아키텍처의 제한 조건REST 아키텍처에는 몇 가지 중요한 제한 조건이 있습니다.  1. 클라이언트와 서버의 분리: 클라이언트와 서버는 서로 독립적으로 동작합니다.  2. 무상태(Stateless): 서버는 클라이언트의 상태를 ..

카테고리 없음 2021.07.01

[IT] 중앙은행 디지털화폐 CBDC

중앙은행 디지털화폐 (CBDC)란?CBDC는 Central Bank Digital Currency의 약자로, 중앙은행이 전자적 형태로 발행하는 법적인 화폐를 의미합니다. CBDC는 국가가 직접 발행하고 공인하는 자산으로, 현금처럼 가격 변동이 적고 안정적인 가치를 지닙니다. 따라서, 현금에 준하는 안전한 자산으로 간주될 수 있습니다. 또한, 여타 가상화폐와는 달리 투기 자산이 될 가능성이 거의 없으며, 국가의 감독 아래에서 운영되므로 투명하고 안정적인 거래가 가능하다는 장점이 있습니다. CBDC의 구현 방식CBDC는 두 가지 주요 방식으로 구현될 수 있습니다:  1. 계좌 기반 단일원장 방식 이 방식에서는 중앙은행이 발행한 CBDC가 개인 고객의 계좌를 통해 관리됩니다. 중앙은행은 금융기관이나 지급 결제..

카테고리 없음 2021.06.30

[DEV] JS 메소드 체이닝(Method Chaining)

메소드 체이닝 (Method Chaining)란?메소드 체이닝은 여러 메소드를 연속적으로 호출하여, 결과를 다음 메소드에 전달하는 프로그래밍 기법입니다. 이 방법은 코드의 가독성을 높이고, 코드 작성 시 불필요한 변수를 줄여주는 장점이 있습니다. 메소드 체이닝의 기본 개념메소드 체이닝은 메소드 호출 후, 그 메소드의 반환 값을 다음 메소드의 인수로 사용합니다. 즉, 각 메소드는 자신이 호출된 객체를 반환하고, 이 반환된 객체에 대해 다음 메소드를 호출하는 방식으로 연결됩니다. 예제 코드const a = 'abc';// split : 문자를 구분자 기준으로 쪼개서 배열로 반환합니다.// reverse : 배열의 순서를 뒤집습니다.// join : 배열의 요소를 구분자 기준으로 문자로 병합해 반환합니다.co..

카테고리 없음 2021.06.29

[DEV] DOM API 2

- DOM API (Document Object Model, Application Programming Interface) // HTML 요소(Element) 모두 검색/찾기 const boxEls = document.querySelectorAll('.box'); console.log(boxEls); // 찾은 요소를 반복해서 함수 실행 // 익명 함수를 인수로 추가 boxEls.forEach(function () {}); //첫 번째 매개변수 (boxEl) : 반복 중인 요소 //두 번째 매개변수 (index) : 반복 중인 번호 boxEl.forEach(function (boxEl, index) {}); // 출력 boxEls.forEach(function (boxEl, index) { boxEl.c..

카테고리 없음 2021.06.28

[DEV] DOM API 1

- DOM API (Document Object Model, Application Programming Interface) // HTML 요소(Element) 1개 검색/찾기 const boxEl = Document.querySelector('.box'); //HTML 요소에 적용할 수 있는 메소드 boxEl.addEventListener(); // 인수(Arguments)를 추가 가능! boxEl.addEventListener(1,2); // 1 - 이벤트(Event, 상황) boxEl.addEventListener('click', 2); // 2 - 핸들러(Handler, 실행할 함수) boxEl.addEventListener('click', function() { console.log('click'..

카테고리 없음 2021.06.27

[IT] I'm not a robot(로봇이 아닙니다.) CAPTCHA?

웹 사이트 로그인을 시도할 때 내가 로봇인지 사람인지를 구별하는 아래와 같은 사진을 많이 볼 수 있다. 애매한 글씨들과 그림들로 문제를 틀려서 내가 로봇이 되는 경우도 있어 난감할 때가 매우 많다 위와 같이 사용자가 사람인지 로봇(컴퓨터 프로그램)인지를 구별하기 위해 사용되는 방법을 CAPTCHA 라고 한다. CAPTCHA? Completely (=완전히) Automated (=자동화된) Public (=공공의) Turing test to tell (=튜링 테스트와) Computers and (=컴퓨터와) Humans (=인간을) Apart (=구분하는) = 컴퓨터와 인간을 구분하는 완전히 자동화된 공공의 튜링 테스트 CAPTCHA의 목적은 사람과 로봇을 구별하는 것과 사람들이 많이 모르고 있는 한가지의..

카테고리 없음 2021.06.25

[DEV] JS 함수

함수 (function) - 특정 동작(기능)을 수행하는 일부 코드의 집(부분) //함수 선언 function helloFunc() { return 123; } let a = returnFunc(); console.log(a); //123 //함수 선언 function sum(a,b) { //a와 b는 매개변수(paraneters) return a + b; } //재사용 let a = sum(1,2); //1과 2는 인수(Arguments) let b = sum(7,12); let c = sum(2,4); console.log(a,b,c); // 3,19,6 출력 // 기명 함수 // 함수 선언 function hello{ console.log('hello!'); } // 익명 함수 // 함수 표현 le..

카테고리 없음 2021.06.24