| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 가상머신
- node.js
- podman
- 오블완
- 일상
- 퇴근길
- Bloc
- DART
- 주유소
- 에러
- 리눅스
- 객체지향프로그래밍
- 티스토리챌린지
- 개발
- virtualmachine
- 개발기
- 오토바이
- VMware
- 잡담
- C언어
- 연습문제
- 인프라
- VM
- Linux
- FreeBSD
- ubuntu
- Flutter
- 템플릿
- 휘발류
- K&R
- Today
- Total
목록분류 전체보기 (69)
그냥저냥
0. 들어가기 앞서...주로 CUI 환경에서 작업할 예정이다. 그러므로 필요없는 하드웨어 장치를 정리하고자 한다. 반드시 필요한 작업은 아니다. 개인적인 선호도 때문에 하는 작업이니 참고 바란다. 1. 준비사항 준비사항이라고 해도 이 가상머신의 구성을 변경할 예정이다. 따라서 아래의 그림과 같이 이전에 생성한 가상머신을 선택 해야 한다. 2. 하드웨어 장치 삭제변경할 가상머신을 선택하였다면 메뉴에서 "VM - Settings"를 선택하거나 단축키 "CTRL + D"를 누르면 아래와 같이 "Virtual Machine Setting" 창이 보인다. 이 창에서 새로운 하드웨어 장치를 추가, 삭제하거나 CPU나 메모리의 값을 조정할 수 있다. "Hardware" 탭에서 삭제해야 할 하드웨어 장치를 선택한 후..
0. 들어가기 앞서...앞의 포스팅에서 약간의 실수는 있었지만, 이전에 만들었던 가상머신에 Ubuntu를 설치할 예정이다. Ubuntu 설치 과정을 포함하여 운영체제 설치 과정에서 공통적으로 나타나는 주요 항목들을 크게 나누어 보면 아래와 같다. 사용자 정보 입력 (사용자 계정, 지역, 키보드 설정 등)디스크 파티셔닝 및 포맷필수 소프트웨어 및 부트로더 설치설치 완료 후 재부팅마무리 (재부팅 및 초기 세팅) 운영체제 설치할 때 중요하다고 생각하는 부분만 작성하였다. 예를들어 Ubuntu 설치 과정에는 최근 업데이트를 설치하는 단계가 포함되어 있다. 보안이 중요한 요소임은 분명하지만, 설치 과정만 본다면 최신 업데이트 설치는 상대적으로 중요도가 낮다고 판단된다. 이는 Ubuntu 또는 일부 배포본에서만 제..
0. 들어가기 앞서...지난 글에서도 언급했듯이, 시스템에 문제가 발생했을 때는 고객사 환경과 최대한 유사한 테스트 환경을 구성하는 것이 중요하다. 그래야 문제가 발생한 상황을 그대로 재현할 수 있고 이를 통해 원인을 파악하고 해결 방법을 찾을 가능성이 높아진다. 하지만, 시스템 엔지니어로 일하다 보면 보통 고객사를 하나만 담당하는 경우는 거의 없다. 대부분 2곳 이상을 동시에 관리해야 하는데 이때 문제가 생긴다. 고객사마다 사용하는 서버 사양, 네트워크 구성, 스토리지 유무 등이 제각각인데, 이런 다양한 환경을 물리적인 장비로 모두 갖추는 것은 현실적으로 어렵다. 무엇보다도 공간, 전기요금, 장비 구매 비용, 구성에 들어가는 시간을 포함해서 일부 고객사만 사용하는 특수한 장비까지 고려한다면 준비에 드는..
과거! 어느날...과거라고 해서 그렇게 오래된 일은 아니다. 작년 12월달쯤? 아니면 올해 1월쯤? 그쯤 사이의 이야기입니다. 같이 일 하는 지인이 리눅스를 공부하고 싶다 그러니 리눅스 책을 추천해달라고 했습니다.지인은 컴퓨터 공부를 시작한지 얼마 되지 않았습니다.이 분야의 지식의 거의 없습니다.당시에는 아무 생각없이 가급적 얇은 책 아무거나 사도 된다고 답변했어고, 명령어는 인터넷 검색이 제일 좋다고 생각했습니다.모르면 구글링으로 검색하면 대부분 찾을 수 있기 때문이죠.그래서 책으로 최소한 필요한 기본 지식만 얻으면 된다고 생각했습니다. 여튼 같이 서점에 갔었죠.둘이 "리눅스"라고 적힌 책장 앞에 섰는데, 다시 어떤 책 고르면 되냐고 물어보시길래 아무거나 고르면 된다고 답변했습니다.여러번 지인은 이책 ..
0. 들어가기 앞서...시스템 엔지니어로 일할 때 고객사에 작업 일정이 자주 생겼다. 익숙한 작업이면 상관없지만, 익숙하지 않거나 새로운 작업이면 불안했었다. 방문하기 전에 고객사 환경과 최대한 비슷하게 구성하며 짧은 경험을 쌓아야 하는 경우가 있었다. 그래야 그나마 대응이 가능했었다. 구성 도중 에러가 발생한다면 원인 분석 및 조치를 한다거나 예외 상황을 확인하고 사전에 예방한다거나 등 고객사 작업 일정 전에 최대한 많은 테스트를 했었어야 했다. 사무실에도 그 환경이 있었으나 간단한 테스트는 집에서 VMware Workstation Pro(이하 VMware로 표기함)를 구매하여 사용하였다. 이 회사를 떠나고 개발자로 전직을 하면서 VMware는 사용할 일이 거의 없어졌다. 오랫동안 보지 않았다. 그러..
https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/ NFS Subdirectory External Provisioner Helm RepositoryNFS Subdirectory External Provisioner Helm Repositorykubernetes-sigs.github.io 왜! NFS 볼륨을 사용하게 되었느냐! 하면... API 서비스에 파일 업/다운로드 서비스를 구현했다.서비스 중 이미지 업로드하는 기능이 필요했다. Kubernetes에 디플로이먼트로 배포되면 파드가 하나 또는 여러개가 될 수 있다.이때 로컬 볼륨을 사용하면 낭패를 볼 수 있다. 왜 그러냐고 하니 로컬 볼륨은 파드별로 독립적이다.특정 파드에 마운트된 로컬..
Flutter 프로젝트에서 Firebase Cloud Message를 사용하기 위해 Firebase 라이브러리를 사용중이다. Flutter 업그레이드한 후 ios나 macos에서 빌드할 때 오류가 발생하여 ios 또는 macos 디렉토리에서 pod install 명령을 실행했으나 아래와 같은 결과를 확인하였다.$ pod installAnalyzing dependenciesfirebase_core: Using Firebase SDK version '11.10.0' defined in 'firebase_core'firebase_messaging: Using Firebase SDK version '11.10.0' defined in 'firebase_core'[!] CocoaPods could not find..
Dart 언어로 테스트 코드를 작성해보았다. 간단히 작성할 수 있는 Counter 예제이다. 나름대로 Counter 객체의 스펙을 아래와 같이 작성하였고 테스트 코드를 작성하였다. Counter Specification최소, 최고값을 가지며, 이 값은 변경할 수 있어야 한다. 단, 객체를 생성할 때만 변경할 수 있다.최소의 값은 0이다.최고의 값은 255이다.증가, 감소를 할 수 있어야 한다.증가, 감소할 때 최소, 최고값의 범위를 벗어날 때 세부 사항은 아래와 같다.증가는 최고값을 가져야 한다.감소는 최소값을 가져야 한다.현재 상태의 값을 검증할 수 있어야 한다.Test Driven으로 코드를 작성한 것은 아니다. Counter 객체 코드를 일부 작성하고 테스트 코드를 작성하여 테스트를 진행하며 필요한..
Koa.js 프레임워크로 REST API 개발 작업을 하면서 몰랐었는데 조건을 평가할 때 "참으로 평가되는 값" 또는 "거짓으로 평가되는 값"이 있다는 것을 최근에 알게 되었다. 사실은 이번에 REST API 작업을 하면서 알게된 것이 아니라 오래전부터 자바스크립트를 접했으나 최근에 알게 된 것이다. Koa.js 프레임워크에서 코드 작성할 때 파라미터 확인할 경우가 많이 있다. 이전부터 파라미터를 확인하는 코드를 아래와 같이 코드를 작성하였다. const { UserID } = ctx.params;// 사용자 ID는 필수값이며, 이 값이 없다면 더 이상 진행하지 못한다.if (UserID == null || (UserID && UserID == 0)) { // ...생략...} 이제는 아래와 같이 작성..
Flutter 3.27.4 버전에서 Flutter 3.29.0 버전으로 업그레이드를 했었다. 그러고 flutter build 명령을 실행하였는데 아래와 같은 에러 메시지가 보이며 컴파일이 실패하였다. 원인은 찾아보긴 했는데 image_gallery_saver 플러그인을 빌드하면 하위 호환성에 문제가 생겼던 것 같다.Warning: The plugin integration_test requires Android SDK version 35 or higher.For more information about build configuration, see https://flutter.dev/to/review-gradle-config.Your project is configured to compile against ..