본문 바로가기

전체 글

[spring] 트러블 슈팅 - invalid source release: 17 상황 예전에 만들어둔 repo를 다시 사용하려고, github에서 클론 받았는데 다음과 같은 에러가 발생했습니다. File -> Project Structure에서 다음과 같이 Add SDK를 눌러서 JDK를 다운로드 해줬습니다. SDK 설정과 아래에 있는 Language Level 둘 다 맞춰주고 Modules (사이트들어가서 받을 필요 없이 바로 다운로드가 되네요) Project Settings -> Modules -> Sources, Dependencies에서도 적절한 자바 버전이 선택되었는지 체크합니다. 그리고, settings -> Build, Execution, Deployment -> Gradle -> Gradle -> Gradle JVM에서 버전에 맞는 JDK 선택 JDK를 17을 사용하도.. 더보기
2022 나의 성장 저의 2022년의 성장에 대한 글입니다. 저는 백엔드 엔지니어 관련 업무들을 했던 3년차 주니어입니다. 요약은 맨 아랫쪽에 있습니다. 1. 성장에 대한 결핍 저는 최근에 성장에 대한 결핍을 느끼고 있었습니다. 이유는 1) 적은 트래픽: 회사의 비즈니스 방향이 B2B이기 때문에, 앞으로도 많은 트래픽을 받기가 힘들었습니다. 2) 파이썬 백엔드: 파이썬 백엔드를 사용하면, 도메인 주도 설계 같은 좋은 설계들에 대한 best practice를 접하기 쉽지 않았습니다. 낙관적 락/비관적 락 등의 용어도 python에서는 거의 사용되지 않고 자료가 없습니다. 3) 백엔드 시니어 없음 특히 1)번 이유가 가장 컸습니다. 많은 트래픽이 있지 않으면, 추후에도 쿠버네티스 등 MSA로 가야할 이유가 없고, DB장애도 일.. 더보기
[kubernetes] CKA & CKAD 공부 내용 https://blog.noelbird.com/148 더보기
[kubernetes] CKA & CKAD 공부내용 정리 공부 방법: CKA, CKAD Udemy 강의 (다른 것은 볼 필요도 없을 정도로 강의 양이 꽤 많고, 상세했음) 공부 기간: CKA(2주) + CKAD(1주) 후기: 1) 쿠버네티스의 내부 원리를 자세히 배울 수 있어서 좋았음 2) CKA&CKAD를 체계적으로 공부하지 않은 상태에서 운용했을 때는 막히는 부분들이 많았는데, 그 때 생겼던 궁금한 점들이 상당수 해소됨 3) 쿠버네티스가 학습할 양이 꽤 많아서, 한 번쯤은 체계적으로 배워보는 것이 도움이 되는 느낌 [CKA 1일차] - 명령어 정리 [CKA 2일차] - 스케쥴링 [CKA 3일차] - 로깅, 롤링 업데이트 명령어 정리 [CKA 4일차] - Application Life Cycle [CKA 5일차] - 클러스터 관리(백업 및 복구) [CKA 6.. 더보기
운영체제 만들기 목차 https://blog.noelbird.com/126 더보기
[OS만들기] day 02: bootloader 만들기 오늘 만든 결과물 소스코드 부트로더를 이용해서 커널로 점프한 후, 글자 출력 bootloader.asm ; bootloader.asm [org 0] jmp 07C0h:start ; cs, ds, es 세그먼트를 초기화 start: mov ax, cs; BIOS에서 cs를 0, ip를 07c0으로 셋팅했음 mov ds, ax mov es, ax mov ax, 0xB800 mov es, ax ; es에 비디오 메모리 영역을 넣음 mov di, 0 ; destination index를 0으로 세팅 mov ax, word [msgBack] mov cx, 0x7FF ;2047 paint: ; 화면 전부를 .으로 찍음 mov word [es:di], ax add di, 2 dec cx jnz paint ; int .. 더보기
[OS만들기] day 20: 유저 모드와 콜 게이트 # src/init.inc SysCodeSelector equ 0x08 SysDataSelector equ 0x10 VideoSelector equ 0x18 TSSSelector equ 0x20 UserCodeSelector equ 0x28+3 UserDataSelector equ 0x30+3 # src/boot.asm %include "init.inc" [org 0] jmp 07C0h:start start: mov ax, cs mov ds, ax mov es, ax mov ax, 0xB800 mov es, ax mov di, 0 mov ax, word [msgBack] mov cx, 0x7FF paint: mov word [es:di], ax add di, 2 dec cx jnz paint read: .. 더보기
[OS만들기] day19: usermode task switching # init.inc SysCodeSelector equ 0x08 SysDataSelector equ 0x10 VideoSelector equ 0x18 TSSSelector equ 0x20 UserCodeSelector equ 0x28+3 UserDataSelector equ 0x30+3 # boot.asm %include "init.inc" [org 0] jmp 07C0h:start start: mov ax, cs mov ds, ax mov es, ax mov ax, 0xB800 mov es, ax mov di, 0 mov ax, word [msgBack] mov cx, 0x7FF paint: mov word [es:di], ax add di, 2 dec cx jnz paint read: mov ax, .. 더보기