| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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
- 개발기
- ubuntu
- C언어
- 템플릿
- VMware
- 오블완
- 개발
- 연습문제
- DART
- virtualmachine
- 일상
- 오토바이
- Linux
- Flutter
- 휘발류
- 에러
- 퇴근길
- FreeBSD
- 주유소
- podman
- K&R
- 객체지향프로그래밍
- Bloc
- 리눅스
- 인프라
- 잡담
- VM
- 가상머신
- 티스토리챌린지
- Today
- Total
목록분류 전체보기 (69)
그냥저냥
이전에 FreeBSD를 설치 구성하고, 테스트 중 docker.io에서 nginx:latest 이미지를 사용하여 컨테이너를 생성하였는데 컨테이너 내부, 호스트, 외부 PC에서도 접속할 수 없었다. 끙끙 앓다가 SSH로 원격으로 접속해서 몰랐는데, 콘솔에서 접속하니 아래의 그림과 같은 상황이 벌어져있었다. 콘솔에서 보이는 저 메시지가 힌트가 될까? 해결할 수 있을까? 아마 첫번째 이미지 보다 검은 바탕에 진한 흰색으로 보이는 메시지가 보이는 두번째 이미지에서 힌트가 될 수 있는 메시지일 것 같다.linux: jid 2 pid 57150 (nginx): syscall io_setup not implemented2024/10/13 23:07:55 [emerg] 57150#57150: io_setup() fa..
이전에 "[FreeBSD] 초기 설정"에서 Podman 설치에 대해서는 다소 간단히 언급만 하였다. Podman 분량이 많을 것 같아 별도의 글로 작성하는 것이 좋을것 같다고 생각 했었다.[!WARNING] The FreeBSD port of the Podman container engine is experimental and should be used for evaluation and testing purposes only. Podman을 설치 가이드 문서의 FreeBSD 설치 항목에 위와 같은 경고 문구가 있다. FreeBSD port가 의미하는 것이 무엇일까? pkg 명령을 사용하여 설치한 Podman을 의미하는 것인지, FreeBSD ports에서 빌드하여 설치한 Podman을 의미하는지 확실하지..
FreeBSD 14.1을 설치한 후 초기 설정한 내역이다. 초기 FreeBSD를 설치했을 때 글을 작성할 예정이 없었기 때문에 따로 기록을 하지 않았다. 때문에 이 글을 작성하기 위해 이전에 설치한 FreeBSD를 지우고 다시 구성 하였다. 원본 가상머신에서 설정하였다. 이후 복제될 가상머신에서 생략가능 당연하게 넘어가고 있었지만, 원본 가상머신 부팅이 완료되어 처음 로그인하면 최소한 아래의 항목들은 확인해야 한다. 대부분은 FreeBSD를 설치한 이후 변경이 가능하지만, 일부 항목 예를들면 파티션 구성과 같이 설치 과정에서 구성이 어긋나면 변경이 불가능한 경우가 많다. 따라서 초기에 확인하여 시간이 지나 서버 구성이 끝나는 시점에 가서 다시 원점으로 돌아가는 불상사는 피하는 것이 좋다.FreeBSD가 ..
이전에 "[Flutter] BLoC Concepts - 훑어보기 (3)"에서 Cubit과 Bloc가 공존하는 이유에 대해 알 수 없다며 불평불만을 이야기 하는 식의 글을 작성하였다. 이 글을 작성한 이후 스크롤을 올렸다가 내렸다 하면서 내용을 좀 더 보던 중에 노트라고 적힌 문구를 발견하였다.노트Cubit의 기원에 대한 자세한 내용은 해당 Issue에서 확인하세요. 이 링크를 타고 가서 내용을 보니 영어로 작성되어 있었다. ChatGPT에서 번역해서 내용을 읽어보았는데, Bloc 상태 관리 라이브러리가 초기 버전을 사용해보지 않았으니 자세히는 알 수 없지만 처음에는 Bloc만 있었던 것 같다. Bloc를 사용하던 개발자 중 아니 팀이라고 해야할까? 팀장이었던 것 같은데, 팀원들이 Bloc 라이브러리를 다..
가장 큰 이유는 Flutter로 앱 개발을 하고 있고, Provider를 사용하고 있는데 뭔가 불편함을 느끼고 있기 때문이다. Flutter를 접하고 얼마되지 않아 상태 관리 라이브러리는 Provider를 처음 접하였고, Provider를 사용하여 앱 개발을 했었다. 좀 더 지나서 GetX, Riverpod, BLoC와 같은 라이브러리들을 알게 되었으며, 당시에 Provider를 이미 상당히 많은 코드를 작성하였기에 다른 라이브러리로 갈아타기엔 조금 늦은감이 있었다. 아래의 Provider를 사용하면 아래의 간단한 예제이다.class Counter with ChangeNotifier { int _count = 0; int get count => _count; void increase() { ..
시작하기 가이드를 보다 문뜩 Cubit에 대해 설명하다가 Bloc에 대해 나온다. 무슨 연관이 있는거지? 싶었는데 좀 더 자세히 보니 차이가 있다. Cubit는 state 변화를 촉발하기 위한 함수를 외부에 노출한다. Bloc는 함수가 아닌 event에 의존하여 state 변화를 촉발하는 고급 클래스이다. 둘다 BlocBase를 상속 받아 구현되고, state를 변화를 함수를 노출시켜 를 통지하느냐, 이벤트 형태 변화를 통지하느냐의 차이인 것 같다. 무슨 차이일까? 그리고 왜 이렇게 분리가 되어 있을까? 이 생각만 멤돌고 있다. 아래에서 Cubit vs Bloc라고 각각의 장단점에 대해 설명한다. Cubit의 가장 큰 장점은 단순성이라고 하는데, Bloc 보다 함수만 외부에 노출하기 때문에 보다 쉽게..
아래의 링크의 BLoC "시작하기 가이드" 문서 내용 중 onChnage(Changeint> change)의 내용이 나온다. 이 코드도 테스트를 해보았다. 테스트 내용은 이전 내용과 동일하다.class CounterCubit extends Cubit { CounterCubit() : super(0); void increment() => emit(state + 1); @override void onChange(Change change) { super.onChange(change); print(change); }}void main() { final cubit = CounterCubit(); cubit.increment();} 이전과 달라진 점은 아래와 같다.CounterCubit 클..
아래의 링크의 BLoC "시작하기 가이드" 문서를 보고 있다. 이 문서의 내용 중 BLoC Concepts 항목의 내용을 보고 있는데 "Cubit 사용하기" 섹션에서 나오는 코드를 작성하며 몇 가지 테스트를 해보았다.https://bloclibrary.dev/ko/bloc-concepts/#cubit-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0 핵심 컨셉package:bloc의 핵심 개념에 대한 개요입니다.bloclibrary.dev 위 링크의 문서 바로 위 항목인 "Cubit의 state 변화"의 코드를 참고하여 Cubit 클래스를 상속 받은 CounterCubit 클래스를 생성하고 increment() 함수를 추가하였다. 그리고 main 함수에서 CounterCubit 객체를..
모바일 앱 서비스를 개발하고 있다. 모바일 앱 개발 초기에는 초반에는 수정이 빈번해서 백엔드를 수시로 실행했다가 종료해야 했기 때문에 노트북에서 백엔드를 실행하고 종료하는 것이 효율적이었다. 하지만 시간이 흘러 백엔드 코드가 조금씩 안정화 되면서 실행하고 종료하는 횟수가 줄어들어 구태여 무거운 백엔드와 데이터베이스를 노트북에서 실행할 이유가 없어졌다. 이후 사무실에 남는 PC에 Ubuntu를 설치하여 모바일 앱 서비스 테스트에 사용하고 있다. 집에서 작업할 때 매번 사무실 서버에 접속하기 번거로워 넉넉한 사양은 아니지만, 집에 오래된 PC가 1대 있는데, 이 PC를 사용하여 모바일 앱 테스트 서버를 구성하고자 한다. 우선 오래된 PC의 사양은 아래와 같다.CPUIntel i7 7700KRAM16GBGPU..