Dev
-
Git 간단한 사용법 - checkoutDev/Git 2024. 9. 10. 09:50
새로운 브렌치를 생성할 때 '-b' 옵션을 함께 사용한다.$ git checkout -b 작업을 하고자 하는 브렌치로 이동할 때 아래와 같이 사용한다. $ git checkout 간혹 브렌치를 이동할 때 인덱스 또는 워킹트리가 HEAD 와 달라서 이동이 안 될때가 있다. 특히, 일부 Mac OS 에서 대소문자 구분을 하지 않는('Makefile' 과 'makefile' 을 구분하지 못하는) 이유로 해서 아래와 같이 브렌치 변경이 안 될 수 있다. $ git checkout branch_berror: Your local changes to the following files would be overwritten by checkout: MakefilePlease commit your changes or s..
-
프리 메모리가 충분한데도 스왑 사용량이 많은 이유Dev/Linux 2024. 2. 17. 17:22
리눅스 시스템을 사용하다 보면 시스템에 남아 있는 free 메모리가 많이 있는 데도 불구하고 스왑(swap) 사용량이 많은 경우가 있다. 스왑은 시스템 메모리에 free 메모리가 아주 낮거나 없을때만 사용되는 것이 아니었던가? 이를 알아보기 전에 스왑에 대해서 몇가지 알아야 할 내용이 있다. 첫째, 스왑 스페이스는 시스템 메모리가 아닌 스토리지 공간을 이용한다. 따라서 디스크로의 읽고 쓰는 과정이 필요한 고비용의 작업이다. 둘째, 디스크로 스왑아웃 되는 데이터는 파일 맵핑이 없이 애플리케이션에서 할당되어 사용되는 anonymous 데이터들이다. 셋째, 커널은 가장 잘 사용하지 않는(inactive) 메모리 페이지 리스트(lru: Least recently used) 를 관리하는데 이 중에 anonymou..
-
난수 생성 데몬(rngd)Dev/Linux 2024. 2. 8. 11:59
rngd 명령은 rng-tools 패키지에서 제공하는 명령어로 난수 생성을 도와 Kernel의 entropy pool 을 채우는 것을 돕는다. rngd -l 명령으로 entropy 생성 소스들과 그 소스들의 상태 정보 확인이 가능하다. # rngd -l Entropy sources that are available but disabled 1: TPM RNG Device (tpm) 4: NIST Network Entropy Beacon (nist) Available and enabled entropy sources: 0: Hardware RNG Device (hwrng) 2: Intel RDRAND Instruction RNG (rdrand) 5: JITTER Entropy generator (jitter..
-
/dev/random 과 /dev/urandom 의 차이Dev/Linux 2024. 2. 5. 23:15
커널은 난해성 풀(entropy pool) 을 관리하는 데 그 pool 이 충분히 채워졌을 때 가장 랜덤한 결과 도출할 수 있다. 리눅스 시스템에서 커널은 무작위 숫자 생성을 /dev/random 과 /dev/urandom 을 통해서 제공한다. /dev/random 은 고품질의 무작위 숫자 생성을 보장한다. 그러기 위해서 난해성 풀이 가득 채워졌을 때만 생성을 하며 풀이 비워졌을 경우 충분히 채워질때까지 대기한다. /dev/urandom 은 대기 없이 지속적으로 무작위 숫자를 생성한다. 대신, 난해성 풀이 채워질 때 까지 대기하지 않으며 이는 무작위성이 낮을 수 도 있음을 의미한다.
-
유저 프로세스 개수 제한 - ulimit -u <최대값>Dev/Linux 2024. 2. 3. 20:54
개별 유저의 생성 가능한 프로세스의 개수를 제한할 수 있다. ulimit 명령어를 사용하면 되는데 ulimit 명령은 다양한 시스템 리소스의 최대값을 유저별로 설정할 수 있다. 설정값 없이 실행하면 현재 설정값을 보여주며 설정값을 주면 최대값으로 설정한다. -S(soft) 또는 -H(hard) 타입을 지정가능하며 설정값 없이 실행 시 -S(soft)값을 기본으로 보여준다. 현재 로그인 한 유저의 있는 최대 생성가능한 프로세스의 수 보기. soft 설정 $ ulimit -u $ ulimit -Su hard 설정 $ ulimit -Hu현재 로그인 한 유저가 생성할 수 있는 최대 프로세스 개수 지정하기 soft 설정 $ ulimit -u 20 $ ulimit -Su 20 hard 설정 $ ulimit -Hu ..
-
Missing `secret_key_base` for 'production' environmentDev/Ruby On Rails 2020. 2. 22. 15:20
ArgumentError: Missing `secret_key_base` for 'production' environment, set this string with `rails credentials:edit` 위와 같은 에러가 나오면 secret_key_base=xxxxx 와 같은 key=value 를 설정해주면 되는데. 1. 먼저 config/environments/production.rb 안에 아래와 같이 삽입 config.secret_key_base = ENV["SECRET_KEY_BASE"] 2. rake secret 를 실행하여 값생성( 또는 rails credentials:edit) 3. 환경변수 등록 - Elastic Beanstalk 사용 시 Elastic Beanstalk > Config..
-
`find_spec_for_exe': Could not find 'bundler' (2.1.4) required by your /var/app/ondeck/Gemfile.lockDev/AWS Elastifc Beanstalk 2020. 2. 22. 14:29
Elastic Beanstalk 에 Rails application 을 디플로이하면 아래와 같은 에러 때문에 디플로이가 안될 때가 있다. /opt/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems.rb:284:in `find_spec_for_exe': Could not find 'bundler' (2.1.4) required by your /var/app/ondeck/Gemfile.lock. (Gem:: GemNotFoundException) To update to the latest version installed on your system, run `bundle update --bundler`. To install the missing version, run..
-
git reset --hard/--soft <commit>Dev/Git 2020. 2. 19. 14:27
$ git log --oneline dddddddd 18 hours ago itips commit 3 cccccccc 21 hours ago itips commit 2 bbbbbbbb 21 hours ago itips commit 1 aaaaaaaa 24 hours ago itips Merge branch 'master' 위와 같이 커밋들이 쌓여 있다고 가정하자. 작업중 커밋 dddddddd 를 날려버리고 커밋 cccccccc 로 돌아가고자 한다면 아래와 같이 cccccccc 를 타겟으로 잡고 hard reset 을 하면 된다. $ git reset --hard cccccc cccccccc 21 hours ago itips commit 2 bbbbbbbb 21 hours ago itips commit 1..