분류 전체보기 (67) 썸네일형 리스트형 라즈베리파이 - Docker Registry 서버 설치 앞선 Git 서버 설치하기 글과 이어지는 글입니다. Git 서버는 Gitea를 통해 잘 설치했고, 이번에는 라즈베리파이 3B에 Docker Registry 서버 설치입니다. 순서 상으로는 Gitea를 나중에 설치 했고, Docker Registry 서버를 먼저 설치했지만, 내용 정리는 이제서야 하게 됐습니다. HarborRegistry 서버로 뭘 설치해야할까 검색을 좀 해 보니 Open Source로 Harbor라는게 보여서 처음에는 이 걸 설치해 보려고 진행을 했습니다. 가이드에 따라서 한 참을 진행하고 있었는데, '앗! 이런' Harbor가 arm64 아키텍처를 지원하고 있지 않는 겁니다. ㅠㅠhttps://github.com/goharbor/harbor-arm GitHub - goharbor/har.. 라즈베리파이 - nginx - ModSecurity 설치 요즘 간단한 웹앱을 하나 만들어서 라즈베리파이 5에서 홈서버로 운영하려고 하고 있습니다. 앱은 간단한 것이어서 금방 만들었고, duckdns를 이용해 공인 도메인도 설정하고, Let's Encrypt를 사용하여 인증서 설정으로 HTTPS 연결까지 마쳤습니다.당연히, 방문자는 없겠지만 그래도 방문 통계는 필요할 거 같아 로그 분석 툴을 찾아 보다 goaccess를 알게 되어 간단히 설치하고 access.log를 분석했는데, 진짜 인터넷 세계에 연결된지 얼마 되지도 않았고, 아무도 모르는 앱인데 벌써 취약점 공격이 들어왔더군요. 예상은 했던 일이고 전체적인 설정 막바지에 보안 관련 작업을 하려고 생각하고 있었는데, 예상 보다 훨씬 빨리 공격이 들어 왔습니다. 한 이틀 정도 연결해 둔 거 같은데 바로 공격이 .. 라즈베리파이 - Git 서버 설치하기 (Gitea) 요즘 몇가지 백엔드 프로그램들을 라즈베리파이에서 돌리려고 하고 있는데 소스 배포가 문제였습니다. 배포에 필요한 파일을 서버로 복사해서 실행 시키는 것도 한 두번이지 계속은 어려울 거 같고, CI/CD를 전체적으로 제대로 구현하는 것은 귀찮고 해서 다음의 두 가지 방향을 정했습니다.내부 Git 서버 운영GitHub을 이용해도 되지만 여러모로 번거롭고, 또 암호나 API 키 같은 민감 정보가 있는 소스는 매번 private 리파지토리로 관리해야하고 하는 신경쓸 부분들이 있어서 그냥 아무 신경 쓸 거 없이 내부에서 막 쓸 수 있는 Git 서버를 하나 운영하기로 결정했습니다.Docker Resitry 서버 운영1번은 소스로 받아서 써야할 때 쓰고, 그 외에는 주로 Docker 이미지를 만들어 배포하기로 결정했습.. 라즈베리파이 JDK 설치 라즈베리파이 5에 JDK 21을 설치할 일이 생겨 정리 차원에서 적어 둡니다. 일반적인 JDK 설치apt(또는 apt-get)를 사용하면 JDK를 쉽게 설치할 수 있습니다. sudo apt install default-jdk 이렇게 설치하고 나면, 바로 java나 javac를 사용할 수 있습니다. 그런데 이런 기본적인 방법의 한계는 최신 버전이나 원하는 버전의 JDK를 설치하기가 쉽지 않습니다.https://wiki.debian.org/Java Java - Debian WikiTranslation(s): English - español- Français Quick Install Guide JRE To install the default JRE (Java Runtime Environment) on your.. 라즈베리파이 MySQL 설치 라즈베리파이에 MySQL 설치하는 걸 매번 잊어버리는 것 같아 정리 차원에서 적어둡니다. MySQL vs MariaDB라즈베리파이 64bit 최신 OS는 리눅스 Debian bookworm을 포팅한 ARM64 버전입니다. 보통 Linux에 설치할 수 있는 MySQL류의 무료 DBMS는 MySQL Community Edition과 MariaDB를 생각해 볼 수 있는데, debian쪽에 MySQL Community 서버는 ARM64 버전을 제공하고 있지 않습니다. MySQL Community Edition의 다운로드 가능한 버전들은 다음에서 확인할 수 있습니다. https://dev.mysql.com/downloads/mysql/ MySQL :: Download MySQL Community ServerSe.. 앤트로픽의 프롬프트 라이브러리 앤트로픽에서 프롬프트 라이브러리를 공개하여 기록 차원에서 적어 둡니다. https://docs.anthropic.com/claude/prompt-library Prompt library docs.anthropic.com 앤트로픽의 클로드 모델에 좀 더 적합할 수도 있겠지만 LLM을 위한 프롬프트 예시로 보면 좋은 거 같습니다. 특히, System 역할을 지정하는 프롬프트 예가 아주 좋은 거 같습니다. 프롬프트 엔지니어링 처음 하는 경우에도 관련해서 많이 찾아보지 않고 이 예시들만 보면 바로 감을 잡을 수 있지 않을까 생각됩니다. 살펴본 것 중에 흥미로운 예 하나. https://docs.anthropic.com/claude/page/code-clarifier Code clarifier docs.anthr.. 공식 문서로 배우는 코틀린 - 42. Scope functions 마흔두 번째, 범위 함수입니다. ※ scope는 프로그래밍 언어에서 특정 대상이 효력이 있는 범위를 얘기할 때 사용되는 단어입니다. 그래서, 보통 '변수의 유효 범위' 식으로 유효 범위로도 많이 얘기합니다. 본 연재에서도 범위나 유효 범위를 혼용하여 사용하고 있습니다. 그리고, 범위 함수는 범위 지정 함수라고 하는 경우도 많고, 그냥 영어 그대로 스코프 함수라고 얘기하는 경우도 많을 겁니다. Kotlin 표준 라이브러리에는 오로지 객체의 문맥 내에서 코드 블록을 실행하기 위한 목적을 가진 몇몇 함수가 포함돼 있습니다. 이런 함수에 람다 표현식을 제공하면 객체에 대해서 호출할 때는, 임시적인 범위를 만듭니다. 이 범위 내에서는 객체를 이름 없이 접근할 수 있습니다. 이런 함수들을 범위 함수(scope fu.. 공식 문서로 배우는 코틀린 - 41. Reflection 마흔한 번째, 리플렉션입니다. 리플렉션(reflection)은 실행 시간에 프로그램 구조를 살펴볼 수 있게 해 주는 언어와 라이브러리의 기능 집합입니다. Kotlin에서 함수와 프로퍼티는 일급 시민(first-class citizens)이고, 함수형이나 반응형 스타일을 사용할 때, 이들의 내부를 살펴볼 수 있는 능력(예: 실행 시간에 프로퍼티나 함수의 이름이나 타입을 아는 것)은 필수입니다. ※ Kotlin/JS는 제한적인 리플렉션 기능을 제공합니다. 자세한 내용은 여기를 참고하세요. ※ 리플렉션은 명사지만, 현업에서는 '리플렉션 하다' 같이 내부를 살펴보는 행위를 나타내는 동사로도 사용합니다. JVM 의존성 JVM 플랫폼에서 Kotlin 컴파일러 배포판은 리플렉션 기능을 사용하는 필요한 별도의 실행 시.. 이전 1 2 3 4 5 6 ··· 9 다음