전체 글 208

[Postgresql14] postgres service가 에러로인해 시작되지 않던 문제 해결

1. 개요 DB구조를 수정해야해서 PostgreSQL에 데이터베이스를 추가하고 pg_hba.conf 파일을 수정하였고, 수정 후 재시작하였는데 다음과 같이 PostgreSQL 서비스가 죽어서 재실행 되지 않았다. 2. 문제확인 그래서 로그를 차근히 확인해보기위해 위에서 안내된 대로 아래 명령어로 로그를 확인해보았다. journalctl -xe *journalctl: systemd의 서비스 로그를 확인할 수 있는 명령어 -x 옵션을 추가하면 message catalog에서 해당 저널에 대한 상세 설명을 추가해서 보여준다. -e 옵션(pager end) 을 추가하면 pager를 사용해서 마지막 에러 메시지 라인부터 볼 수 있다. 그랬더니, 아래와 같이 pg_ctl명령어를 통해 PostgreSQL서비스를 시작..

[C#] Array와 List의 차이점, 각각을 어느 상황에 써야 할까?

개요 C#을 다루다 보니 배열을 사용할 때가 종종 생겼고, Array와 List를 알게되며 비슷한듯 차이점이 있는 두 컬렉션에 대해 알아보게 되던 중, 잘 정리된 외국 포스트가 있어서 직접 번역하여 포스팅하게 되었다. (원본 포스팅: https://www.shekhali.com/c-array-vs-list/) 1. Array vs List List는 요소가 추가되고 제거될 때 자동으로 크기를 조정할 수 있는 일반 컬렉션인 반면, Array는 같은 타입들의 요소에 대한 고정 크기의 순 컬렉션이다. Array C# Array: Array는 실행 중에 수정할 수 없는 고정 길이를 가진 동일한 데이터 타입의 엄격한 자료형*의 collections 이다. (*엄격한 자료형(strongly typed)란? 함수/메..

Language/C# 2023.01.28

[C#] Dictionary에 대해

1. Dictionary란? C#에서 Dictionary 클래스는 형식의 컬렉션이다. System.Collections에 정의되어 있으며 Key는 각 컬렉션에서 고유해야 한다. 이번 포스팅에서는 Dictionary 클래스의 기초적인 사용 방법 및 활용 예제를 소개한다. 2. Dictionary 클래스 사용법 2.1 클래스 사용 및 객체 생성 Dictionary 클래스를 사용하기 전에 using문에 System.Collections.Generic 네임스페이스를 추가한다. using System.Collections.Generic; Dictionary클래스는 형식이며 Key와 Value는 제네릭 유형이다. 다음은 Key가 string형이며, Value가 int형인 Dictionary객체를 생성하는 예제이다...

Language/C# 2023.01.28

[오류해결] Browserslist: caniuse-lite is outdated. Please run 오류

내 웹사이트를 개발하고 빌드하는 도중, 아래와 같은 경고가 뜨기 시작했다. 이에대해 원인을 찾아보니, Visual Studio의 Web Compliter extension인 browserslist* 를 사용하는데, 이는 caniuse-lite라는 정적인 데이터(브라우저 사용 통계나 버전 정보)를 사용한다. 그래서 이 데이터의 기한이 오래되었을때에 업데이트 하라고 경고 문구가 뜨는 것이다. (*browserlist란?: https://bumday.tistory.com/169 포스팅 참고) 해결방법은 위에서 안내된 대로 아래의 명령어를 입력하면 된다. (*참고: npx는 npm 패키지를 시스템에 저장하지 않고 직접 실행하는 명령어이다) npx browserslist@latest --update-db 그러면 ..

FrontEnd 2022.12.19

browserslist란?

1. 개요 언제부턴가 브라우저스리스트(browserslist)라는 개념이 자주 눈에 띄더니, 이제는 프론트엔드 개발 환경에서 뺄 수 없는 도구가 되었다. 아마도 바벨(Babel)이라는 프론트엔트 계의 걸출한 스타 프로젝트에서 도입했기 때문일 것이라는 관측이 있다. 2.Browserslist란? browserslist는 브라우저를 선택하는 옵션 기능만 따로 뽑아 놓은 도구라고 생각하면 된다. 어떤 프로그램이 브라우저에 대응해 내부에서 처리해야 할 작업이 다르다면 옵션으로 지원 브라우저 환경을 입력받을 수 있듯이, 프론트엔드는 그런 옵션이나 설정이 필요한 경우가 많다. 반복해서 만들게 되는 그 설정 기능만 따로 떼서 브라우저 환경을 쉽게 정의할 수 있고 또 쉽게 코드에서 사용할 수 있도록 만든 도구이다. 그..

FrontEnd 2022.12.19

HackerRank 문제풀이 - 7 (New Year Chaos)

1. 문제 임의의 배열이 주어진다. 배열 내의 숫자들은 오름차순으로 정렬되어 있어야 하지만, 일부 숫자들이 이 정렬의 규칙을 어기고 자리가 이동되어있다. 자기보다 작은 숫자로 이동할 수 있으며 이동하면 자연스레 작은숫자들은 뒤로 밀리게 된다. 만일, 본래의 자리에서 2를 초과한 만큼 벗어난 숫자가 있으면 "Too chaotic" 를 출력하고, 아니라면 각 숫자들이 자기 자리로 돌아가기 위해 몇번의 swap을 거쳐야 하는지 해당 수를 출력해야 한다. 2. 1차 문제풀이 2.1 풀이 과정 function processOrderSwap(q, lastSwapedNum){ let swapedNum = lastSwapedNum; //console.log(`processOrderSwap >> q: ${q}`); if..

[Git] git stash 란?

1.개요 현업에서 git으로 소스관리를 하다보면, git stash 명령어를 종종 사용하게 된다. 오늘 이포스팅을 통해 git stash가 무엇인지, 어떻게 사용하는지 및 활용 방법을 정리하고자 한다. 2. git stash란? git stash는 변경 사항을 임시로 저장할 수 있도록 도와주는 기능이다. 만일 내가 어떤 프로젝트에서 한 부분을 담당하고 있다고 가정하자. 그리고 여기에서 뭔가 작업하던 일이 있고 다른 요청이 들어와서 잠시 브랜치를 변경해야 할 일이 생겼다. 그런제 이런 상황에서 아직 완료되지 않은 일을 커밋하는 것이 껄끄러울수 있다. 커밋하지 않고 나중에 다시 돌아와서 작업을 다시 하고 싶을 것이다. 이럴 때에 git stash라는 명령어로 해결할 수 있다. stash 명령을 사용하면 워킹..

Git 2022.12.17

kubeconfig파일을 사용하여 클러스터 접근 구성

개요 kubeconfig사용법을 찾아보다가, kubernetes공식 사이트에서 제공하는 가이드 보았고, 이를 직접 번역하여 포스팅하게 되었다. (원문 링크: https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/) kubeconfig 파일을 사용하여 클러스터 접근 구성 kubeconfig 파일을 사용하여 클러스터, 유저, 네임스페이스 및 인증 메커니즘 정보를 구성해보자. kubectl 명령줄 도구는 kubeconfig 파일을 사용하여 클러스터를 선택하고 API 서버와 통신하는 데 필요한 정보를 찾는다. 참고: kubeconfig파일은 클러스터에 대한 액세스를 구성하는 데 사용되는 파일을 호출한다. 이것은 구..

Server/Kubernetes 2022.12.17

쿠버네티스(Kubernetes) Service란?

1. 서비스(Service)란? 쿠버네티스 서비스는 파드들을 통해 실행되고 있는 애플리케이션을 네트워크에 노출시키는 가상의 컴포넌트이다. 쿠버네티스 내부의 다양한 객체들이 애플리케이션과, 그리고 애플리케이션이 다른 외부의 애플리케이션이나 사용자와 연결될 수 있도록 도와주는 역할을 한다. 2. 쿠버네티스에서 서비스를 사용하는 이유 클러스터 안에서 애플리케이션을 구동시키는 데에 쓰이는 파드들의 반영속성인(ephemeral)특성 때문에 서비스를 사용하게 된다. 쿠버네티스에서의 파드는 무언가가 구동 중인 상태를 유지하기 위해 동원되는 일회성 자원이기 때문에, 언제든 다른 노드로 옮겨지거나 삭제될 수 있다. 또한 파드는 생성될 때마다 새로운 내부 IP를 받게 되므로, 이것만으로 클러스터 내/외부와 통신을 계속 유..

Server/Kubernetes 2022.12.17

HackerRank 문제풀이 - 7 (Minumum Swaps 2)

1.문제 임의의 숫자들을 담은 랜덤 길이의 배열이 주어진다.(숫자들은 중복되지 않는다.) 해당 배열이 1부터 arr.length-1 까지 순차적으로 정렬되게 해야한다. 정렬은 배열 내 항목들을 swap하는 방식으로 이루어진다. 최소한으로 몇번의 swap을 해야 정렬이 완성되는지 구하는 문제이다. 2. 문제풀이 2.1 풀이 과정 function minimumSwaps(arr) { let swapedNum = 0; for(let i = 0; i < arr.length; i++){ const correctNum = i + 1; if(arr[i] != correctNum){ for(let j = i; j < arr.length; j++){ if(arr[j] == correctNum){ arr[i] = arr.s..

반응형