Writing
Writing archive
클라우드 인프라, 서버 운영, 마이그레이션, 구조 개편 기록까지 ThinkGround의 전체 글 아카이브를 살펴볼 수 있는 공간입니다.

Kotlin 실무 가이드: 핵심 개념, 트레이드오프, 코루틴 실전 예제
Kotlin의 핵심 개념(널 안전성, 확장 함수, 데이터/봉인 타입, 코루틴, 멀티플랫폼)과 실무에서 고려할 트레이드오프를 정리하고, 코루틴/Flow를 활용한 간단한 비동기 파이프라인 예제를 제공합니다.

클라우드 인프라 설계의 핵심 개념, 트레이드오프, 그리고 실무 예제
클라우드 인프라의 주요 구성요소와 설계 시 고려해야 할 트레이드오프를 정리하고, Terraform을 이용한 간단한 Auto Scaling + Application Load Balancer 배포 예제를 통해 실무 적용 방안을 제시합니다.

Spring Boot 가이드 (2026): 핵심 개념, 트레이드오프, 실전 예제
Spring Boot의 핵심 개념(자동설정, 스타터, 프로퍼티 기반 구성)과 설계 선택에 따른 장단점, 그리고 간단한 REST 서비스 예제를 통해 실무에서의 적용 방식을 정리합니다. JVM 실행과 컨테이너화, AOT/네이티브 고려사항도 함께 다룹니다.

2026년 웹 퍼포먼스 가이드: 핵심 개념, 트레이드오프, 실전 예제
웹 성능 최적화의 안정적인 개념들과 흔한 설계 선택 간의 트레이드오프를 정리하고, 실전에서 바로 적용 가능한 HTML/서버 설정 예제를 통해 우선순위와 구현 방안을 제시합니다.

Kotlin으로 안전하고 확장 가능한 비동기 코드 작성하기: 개념, 트레이드오프, 실전 예제
Kotlin의 핵심 개념(널 안전성, 데이터 타입, 확장 함수, 코루틴)을 정리하고, JVM/Multiplatform/네이티브 관점의 트레이드오프를 설명합니다. 마지막으로 Ktor 클라이언트와 kotlinx.serialization, Flow를 활용한 간단한 실전 예제를 통해 구조화된 비동기 파이프라인을 구현하는 방법을 보여줍니다.

Java 핵심 개념, 트레이드오프와 실용 예제 — 안정적인 설계와 성능 선택 가이드
JVM 아키텍처와 주요 트레이드오프(시작 시간 vs 처리량, GC 옵션, 동시성 모델 등)를 정리하고, records/ sealed 타입을 이용한 간단한 동시 처리 예제를 통해 설계 선택과 성능 고려사항을 설명합니다.

클라우드 인프라 설계: 안정성·비용·운영성의 균형
게시일: 2026-09-13 — 본 글은 클라우드 인프라의 핵심 개념과 설계 시 자주 맞닥뜨리는 트레이드오프를 정리하고, Terraform을 이용한 실무 예제로 기본 네트워크와 고가용성 워크로드 배포 패턴을 소개합니다.

Web Performance 2026: 핵심 원리, 트레이드오프, 그리고 실전 예제
발행일: 2026-09-11. 웹 성능의 안정적인 개념(렌더링 경로, 리소스 우선순위, 캐시 계층 등), 주요 트레이드오프, 그리고 초기 페인트와 리소스 우선순위를 개선하는 실용적 코드 예제를 제시합니다. 계측과 검증 방법도 포함합니다.

Kotlin 핵심 개념, 트레이드오프, 그리고 실전 코루틴 예제
Kotlin의 안정적 핵심 개념(널 안전성, 타입 시스템, 코루틴, 멀티플랫폼 등)을 정리하고, 각 선택의 장단점(트레이드오프)을 설명합니다. 마지막에는 실제로 안전한 동시성 패턴을 보여주는 코루틴 예제를 제공합니다.

자바(JVM) 성능과 동시성: 핵심 개념, 트레이드오프, 실용 예제
JVM의 핵심 구성요소(메모리 영역·가비지 컬렉션·JIT/AOT), 동시성 옵션(전통 스레드·가상 스레드), 그리고 설계/운영에서 고려할 트레이드오프를 정리합니다. 실용 예제로 가상 스레드 기반 작업 처리기와 플랫폼 스레드 기반 처리기의 간단한 비교 코드를 제공합니다.

클라우드 인프라 설계: 핵심 개념, 트레이드오프, 그리고 실무 예제
클라우드 인프라의 안정적인 설계 원리(지역·가용영역, 네트워킹, 컴퓨트·스토리지, 아이덴티티, 관찰성)를 정리하고 주요 트레이드오프를 분석한다. 마지막으로 Kubernetes 기반의 간단한 실무 예제를 통해 가용성과 오토스케일을 갖춘 애플리케이션 배포 방법을 제시한다.

Spring Boot 안정적인 설계와 실전 예제: 개념, 트레이드오프, REST 서비스 만들기
Spring Boot의 핵심 개념(자동설정, 스타터, 프로퍼티, 프로파일, 액추에이터 등)을 정리하고, 각 개념의 장단점 및 설계상의 트레이드오프를 설명합니다. 마지막으로 간단한 REST 서비스 예제를 통해 실무에서 바로 사용할 수 있는 설정, 코드, 빌드·컨테이너화 흐름을 제공합니다.

웹 성능 최적화(핵심 개념, 트레이드오프, 실용 예제)
웹 성능의 기본 원리와 흔히 마주치는 트레이드오프를 정리하고, 리소스 우선순위 설정과 서비스 워커를 활용한 실용 예제를 통해 실제 적용 방식을 제시합니다. 목표는 안정적인 개념 이해와 적용 가능한 패턴을 제공하는 것입니다.

Kotlin 핵심 개념, 설계 트레이드오프, 그리고 실전 예제
Kotlin의 안정적인 핵심 개념(널 안정성, 데이터 클래스, 확장 함수, sealed, 코루틴, 멀티플랫폼, Java 상호운용성)을 정리하고, 설계 관점에서의 트레이드오프를 설명한 뒤, 코루틴 기반의 실전 예제를 통해 사용법과 모범 사례를 보여줍니다.

Java: 안정적 개념, 주요 트레이드오프, 그리고 실전 예제
JVM 기반의 안정적인 개념들(바이트코드, GC, 타입 시스템, 동시성 모델)을 정리하고, 설계·성능 관점에서 흔히 마주치는 트레이드오프를 설명합니다. 마지막으로 records, sealed 타입, 패턴 매칭과 비동기 API를 활용한 실전 예제를 통해 설계 선택과 성능 고려사항을 보여줍니다.

클라우드 인프라 설계 가이드: 개념, 트레이드오프, 실전 예제
클라우드 인프라의 핵심 개념과 설계 시 고려해야 할 주요 트레이드오프를 정리하고, 고가용성 웹 애플리케이션을 위한 실전 아키텍처와 간단한 IaC 예제를 제공합니다. 운영성과 확장성, 비용, 보안 간 균형을 잡는 방법에 초점을 맞춥니다.

Spring Boot 핵심 개념, 트레이드오프와 실전 예제 (간결 가이드)
Spring Boot의 안정된 핵심 개념(자동설정, 스타터, 외부설정, 프로파일, 액추에이터 등)을 정리하고, 주요 장단점(트레이드오프)을 설명한 뒤 간단한 RESTful 예제(핵심 코드, 빌드 설정, Dockerfile)를 통해 실무 적용 포인트를 제시합니다.

웹 퍼포먼스 가이드: 핵심 개념, 트레이드오프, 실전 최적화 예제
웹 퍼포먼스의 안정적인 개념과 주요 트레이드오프를 정리하고, 실무에서 바로 적용 가능한 LCP(최대 콘텐츠 보이는 시점) 최적화 예제를 통해 단계별로 개선하는 방법을 제시합니다.

Kotlin 실전 가이드: 핵심 개념, 트레이드오프, 멀티플랫폼 예제
발행일: 2026-08-31 Kotlin의 안정된 핵심 개념(타입 시스템, 널 안정성, 코루틴, 멀티플랫폼 구조)을 정리하고, 주요 트레이드오프를 설명한 뒤 간단한 Kotlin Multiplatform 실전 예제를 통해 적용 방법을 제시합니다.

현실적인 Java 설계: 불변성, 동시성, 그리고 JVM 트레이드오프
Java로 시스템을 설계할 때 중요한 안정적 개념(불변성, 예외 처리, 스트림/함수형 스타일), 동시성 선택지와 그에 따른 절충, JVM과 가비지 컬렉션(GC) 관점에서의 설계 고려사항을 정리하고, HttpClient와 CompletableFuture를 이용한 실용 예제를 통해 적용 방법과 선택의 이유를 설명합니다.

클라우드 인프라 설계 가이드: 핵심 개념, 트레이드오프, 실전 예제
클라우드 인프라의 안정적인 설계 원칙과 주요 컴포넌트, 대표적인 트레이드오프를 정리하고, IaC와 Kubernetes를 활용한 실전 아키텍처 예제를 통해 구현 관점의 체크리스트를 제공합니다.

2026년 웹 퍼포먼스: 핵심 개념, 트레이드오프, 그리고 실전 예제
이 글은 2026년 시점에서 안정적으로 적용 가능한 웹 퍼포먼스 개념과 설계 트레이드오프를 정리하고, 실무에서 바로 사용할 수 있는 예제를 제공합니다. 중요한 렌더링 경로, 리소스 우선순위, 캐싱 정책, 코드 스플리팅과 로딩 전략을 다룹니다.

Kotlin 실무 가이드: 널 안전성·코루틴·멀티플랫폼의 핵심과 설계 트레이드오프
Kotlin의 안정적인 핵심 개념(널 안전성, 코루틴, 데이터·시일드·값 클래스, 자바 상호운용성)과 설계상 트레이드오프를 정리하고, 코루틴과 Flow를 이용한 실용 예제를 통해 구현·테스트·성능 관점에서 고려할 점을 제시합니다.

현대 Java 설계 원칙과 동시성: 핵심 개념, 트레이드오프, 그리고 실전 예제
JVM, GC, 컴파일 전략, 모듈화, 언어 기능과 동시성 모델의 핵심 개념과 트레이드오프를 정리하고, HttpClient와 CompletableFuture를 이용한 실전 예제를 통해 적용 방식을 설명합니다.

클라우드 인프라 설계 가이드: 핵심 개념, 트레이드오프, 실무 예제
클라우드 인프라의 핵심 개념과 흔히 마주치는 트레이드오프를 정리하고, 실제 서비스에 적용 가능한 실무 예제를 통해 설계·운영 관점을 제시합니다. 인프라 아키텍처 설계 시 고려할 요소와 간단한 IaC/Kubernetes 예제를 포함합니다.

Spring Boot 2026: 핵심 개념, 트레이드오프, 실전 예제
Spring Boot의 안정적인 핵심 개념과 설계상 트레이드오프를 정리하고, 간단한 REST 예제와 구성·배포 관련 실무 고려사항을 제시합니다.

웹 성능 최적화: 렌더링 경로, 트레이드오프, 실전 예제
웹 성능의 핵심 개념(렌더링 경로, 리소스 우선순위, Core Web Vitals)을 정리하고, 주요 전략의 장단점(서버 렌더링 vs 클라이언트 렌더링, 캐싱 전략 등)을 설명한 뒤, 실제로 적용할 수 있는 HTML·서버 설정 예제를 통해 단계별로 최적화하는 방법을 제시합니다.

Kotlin 실전 가이드 — 안정된 개념, 트레이드오프, 실용 예제
Kotlin의 핵심 안정 개념(타입 안전, 널 안전, 코루틴, 멀티플랫폼 등)을 정리하고, 실제 선택 시 고려할 트레이드오프를 설명한 뒤, 코루틴과 Flow를 활용한 간단한 실용 예제를 제시합니다.

Java의 JVM·GC·동시성 트레이드오프와 실용 예제 (가상 스레드 포함)
JVM의 핵심 구조와 가비지 컬렉션, JIT vs AOT, 모듈·언어 기능의 안정적 개념을 정리하고, 기존 쓰레드 풀과 가상 스레드를 비교하는 실용 Java 예제를 통해 설계 선택의 트레이드오프를 설명합니다.

ThinkGround 작업 로그 (2026-08-17): 자체 메트릭과 Pulse 대시보드 도입
활성 사용자를 늘리기 위한 다음 실험의 기준선을 만들기 위해, ThinkGround에 익명 이벤트 수집·관리자 분석·공개 Pulse 대시보드를 도입한 기록입니다.

웹 성능 최적화 개념과 실전 예제 — 안정적 원칙, 트레이드오프, 실무 코드
웹 성능의 핵심 개념(렌더링 경로, 주요 지표, 네트워크/서버/프론트엔드 최적화)을 정리하고, 각 기법의 장단점(트레이드오프)을 설명한 뒤, 실제로 적용 가능한 HTML·Service Worker 예제를 통해 실무 적용 방법을 제시합니다.

ThinkGround 작업 로그 (2026-08-14): 콘텐츠 자동화와 WordPress 페이드아웃
자동 포스트의 대표 이미지·카테고리 처리, 포스트 카드 개선, 그리고 WordPress/PHP-FPM/Next.js preview 정리까지 진행한 운영 작업 기록입니다.

클라우드 인프라스트럭처 설계와 실전: 개념, 트레이드오프, 실습 예제
클라우드 인프라의 핵심 개념(리전/가용영역, 네트워크, 컴퓨트, 스토리지, IAM), 주요 설계 원칙과 트레이드오프를 정리하고, 무상태 웹 애플리케이션을 예로 든 실습 IaC + Kubernetes 배포 예제를 통해 실무적 고려사항을 설명합니다.

Spring Boot 2026 가이드: 핵심 개념, 설계 트레이드오프, 실전 예제
Spring Boot의 안정적인 핵심 개념(자동설정, 스타터, 구성 속성, 프로파일, Actuator)과 설계상 트레이드오프를 설명하고, 간단한 REST 서비스 예제를 통해 설정 기반 구성(Properties/ConfigProps), 커스텀 헬스 체크, 프로파일 분기 등을 실습합니다.

웹 성능 가이드 (핵심 개념·트레이드오프·실전 예제)
웹 성능을 개선하기 위한 핵심 개념과 주요 트레이드오프를 정리하고, 실제로 적용 가능한 HTML/JS 예제를 통해 리소스 우선순위 설정, 이미지 최적화, 코드 분할 및 서비스 워커 기반 캐싱 전략을 제시한다.

Kotlin 실전 가이드 (코루틴·멀티플랫폼): 핵심 개념, 트레이드오프, 실용 예제
Kotlin의 안정적인 핵심 개념(널 안정성, 데이터/값 클래스, 코루틴/Flow, 멀티플랫폼)을 정리하고 각 접근 방식의 트레이드오프를 설명합니다. 또한 Ktor + kotlinx.serialization을 이용한 Kotlin Multiplatform 공용 모듈과 Android(Compose)에서의 실용적 사용 예제를 통해 설계 및 구현 요령을 제공합니다.

ThinkGround 작업 로그 (2026-08-09): 자동 콘텐츠 발행과 AdSense 수동 광고
로컬 Docker 기반 OpenAI 콘텐츠 스케줄러를 만들고, ThinkGround의 AdSense를 단일 수동 배너와 브랜드 안전성 설정 중심으로 정리한 작업 기록.

ThinkGround 작업 로그 (2026-08-04): 배포 안정화와 Pretendard 적용
백엔드 배포 실패 원인을 정리하고, 관리자 인증 설정 정리와 Pretendard 적용, 퀵 액션 영역 수정까지 반영한 작업 로그다.

ThinkGround 작업 로그 (2026-08-03): Route 53 도메인 전환과 CloudFront 인증서 정리
오늘은 thinkground.studio 도메인을 CloudFront와 Route 53 기준으로 옮기기 위한 전환 작업을 진행했다. 인증서 재발급, Route 53 hosted zone 구성, alias 레코드 연결, Gabia 네임서버 변경, 전파 모니터링까지 한 흐름으로 정리했다.

ThinkGround 작업 로그 (2026-08-02): API 통합 테스트와 도메인 전환 직전 점검
오늘은 백엔드 API 통합 테스트를 보강하고, 전용 DB 운영 흐름을 다시 확인했으며, 메인 도메인을 새 ThinkGround로 넘겨도 되는지 운영 관점에서 점검했다.

ThinkGround 작업 로그 (2026-08-01): 관리자 인증 정리와 운영 DB 직접 반영
오늘은 관리자 인증 흐름을 정리하고, 운영 DB 기준으로 관리자 계정과 게시글 반영 경로를 점검했다. JWT 시크릿 누락, bootstrap 제거, 관리자 계정 검증 흐름을 중심으로 손봤다.

ThinkGround 작업 로그 (2026-08-01): 라우팅 안정화, 모바일 메뉴, 퀵 액션 FAB 적용
프론트엔드 라우팅 버그를 정리하고, 스켈레톤 로딩과 모바일 햄버거 메뉴, 우측 하단 퀵 액션 FAB까지 다듬은 작업 로그입니다.
ThinkGround 작업 로그 3: WordPress 의존 구조를 정리하고 전용 콘텐츠 스키마 초안을 잡다
오늘은 ThinkGround의 콘텐츠 구조를 조금 더 장기적으로 운영할 수 있도록 정리하는 작업을 진행했다. 지금까지는 백엔드가 WordPress 데이터베이스를 직접 조회해서 프론트엔드에 필요한 형태로 응답을 만들어주는 구조였는데, 이 방식은 초기 분리 단계에서는 빠르고 단순하지만 서비스가 커질수록 WordPress 스키...
ThinkGround 작업 로그 (2026-07-27): WordPress 분리 구조 정리와 프론트엔드 라우팅 안정화
오늘은 ThinkGround를 WordPress 중심 구조에서 조금 더 분리된 형태로 운영하기 위해 프론트엔드와 백엔드 구조를 계속 정리하고, 실제 배포 환경에서 동작을 안정화하는 작업을 진행했다. 이번 작업의 핵심은 세 가지였다. 첫 번째는 프론트엔드와 백엔드의 역할을 다시 분명하게 나누는 것이고, 두 번째는 Cloud...
ThinkGround 개발 일지 (2026-07-26): 프론트엔드 분리, API 서버 도입, SPA 전환까지
오늘은 ThinkGround를 조금 더 독립적이고 오래 운영할 수 있는 구조로 옮기기 위한 작업을 집중적으로 진행했다. 기존에는 워드프레스에 비교적 강하게 묶여 있는 형태였다면, 이제는 콘텐츠는 워드프레스에 두되 화면과 서비스 구조는 점차 분리해 나가는 방향으로 정리하고 있다. 이번 작업의 큰 축은 세 가지였다. 첫 번째...
ThinkGround 인프라 전환 계획: Lightsail에서 CloudFront + S3 + Lightsail 구조로
ThinkGround의 현재 운영 구조를 점검하면서, 앞으로의 확장성과 운영 편의성을 고려해 인프라 구조를 단계적으로 개편하기로 했다. 현재 ThinkGround는 AWS Lightsail 인스턴스 위에서 워드프레스 중심으로 운영되고 있다. 이 방식은 초기 운영에는 간단하고 빠르다는 장점이 있었지만, 시간이 지나면서 몇...
사이트 이전 공지
안녕하세요. Flature입니다. 이 사이트를 구축한지도 꽤 오래되었네요. 워드프레스의 구조를 잘 모르는 상태에서 구성하다보니 유지보수가 어렵긴 어렵더라구요. 환경은 GCP에 VM 인스턴스를 할당받아 사용하고 있었습니다. 이것도 예약 인스턴스 개념을 몰라 생으로 받아 비교적 비싼 금액으로 운영하고 있었습니다. 하지만 옮길...

프로젝트 회고
Notice 아직 작성 중인 포스트입니다. 프로젝트 회고 하나의 프로젝트를 리드하면서 경험한 것과 느낀 점을 정리한 글이다. 프로젝트를 맡게된 이야기 글을 쓰고 있는 지금은 23년 3월 5일이다. 이 글의 주제가 되는 프로젝트는 작년 11월 말에 시작하게 되었는데, 실제로는 그보다 2~3개월 전부터 시작된 프로젝트였다....

동시성 프로그래밍을 구현해보며 익힐 수 있습니다.
이 책은 동시성 프로그래밍에 관한 이야기를 담고 있습니다. 동시성 프로그래밍은 사실 매우 중요한 기술 중 하나입니다. 최근 하드웨어의 발전으로 애플리케이션의 로직이 최적화가 안되어도 일정 수준의 퍼포먼스를 보여주곤 합니다. 하지만 개념을 모르고 개발하는 것은 차이가 매우 큽니다. 이 책을 통해 개념을 익히고 그...

클라우드 환경의 아키텍처를 고려한다면 이 책
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다." 이 책은 클라우드 네이티브 애플리케이션의 특성에 대해 설명하고 있습니다. 일반적인 온 프레미스 환경과 클라우드 환경의 차이로 인해 애플리케이션의 설계 방식도 많이 변경되었습니다. 크게 구분하여 '통신', '연결 및 구성', '데이터',...

실생활과 접목시켜 IT 지식을 쉽게 설명해주는 책
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다." 이 책은 코딩 지식이라는 넓은 범위에서 시작합니다. 개발자를 분류하는 것부터 프로그래밍 용어, 개발자와 소통하는데 사용되는 용어들을 보다 쉽게 설명하고 있습니다. 당장 IT 지식이 없는 상황에서 개발자의 용어들을 이해해야 한다면 꽤...

주로 사용되는 리눅스 명령어 모음
안녕하세요. 플래처입니다. 이 글은 '주로 사용되는 리눅스 명령어 모음' 관련된 내용을 포함하고 있습니다. 대부분의 개발자는 리눅스를 사용하게 되지만, 개발을 하기 이전에는 대부분 윈도우를 사용하기 때문에 커맨드에 익숙하지 않습니다. 그런 분들을 위해 주로 사용되는 명령어들을 정리해보았습니다. pwd pwd는 'print...

도메인 주도 개발 시작하기 리뷰
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다." 이 책은 자바 언어를 기반으로 도메인 주도 개발에 대해 설명하고 있다. 도메인은 비즈니스가 가지는 특징을 잘 나타내는 것으로 생각하면 쉽다. 책의 초기에는 간단한 도메인 몇 개의 연관관계를 가져가면서 빌드업을 하며, 그 이후로 점점 심화...

개발한 서비스를 안정적으로 관리하기 위한 방법을 정리한 책
이 책은 자바 언어를 사용하여 개발한 애플리케이션을 개발하고 운영한 사례를 소개하면서 이 서비스를 안정적으로 관리하는 방법을 소개합니다. 개발과 운영까지의 프로세스를 100으로 본다면, 개발 단계는 20, 운영 단계가 80 정도의 비중을 차지합니다. 그만큼 운영에 소요되는 비용이 많고 신경써야할 부분이 많다는 것입니다....

어라운드 허브 스튜디오 API 명세 페이지
안녕하세요. ThinkGround, 어라운드 허브 스튜디오의 Flature 입니다. 어라운드 허브 스튜디오 API 명세 페이지 입니다. 이 포스트는 여러분들께 제공하는 테스트 API를 명세(Specification)를 제공하기 위해 만들어졌습니다. 주기적으로 변경될 예정이며, 기존 기능을 변경할지 신규 기능으로 덮어 씌울...

스프링 부트 영상 강의 리스트
안녕하세요. 스프링 부트 영상 강의 리스트 소개하는 포스트입니다. ThinkGround에서 운영하고 있는 어라운드 허브 스튜디오 에서 제공하는 스프링 부트 강의 영상입니다. 많은 관심 부탁드립니다. 스프링 부트 프로젝트 생성 및 구조 살펴보기 자바의 대표적인 빌드 관리 툴! 메이븐(Maven)과 그레이들(Gradle) 알...

팀장부터 CEO까지 알아야 할 기업 정보보안 가이드 리뷰
안녕하세요. 팀장부터 CEO까지 알아야 할 기업 정보보안 가이드 리뷰 포스트입니다. 기업 정보보안 가이드 도서 이 책을 읽어보니 확실히 '팀장부터 CEO까지'라는 문구가 와닿았습니다. 정보보안에 대한 실무적인 내용보다는 개념을 탄탄히 하고 어떻게 아키텍처, 체계를 구축해야 하는지 가이드가 나와있습니다. 생각보다 내용이 쉽...

Maria DB 버전을 확인하는 방법
안녕하세요. 이번 포스트는 Maria DB 버전을 확인하는 방법 관련 포스트입니다. 간단하게 쿼리를 아래 그림과 같이 실행해주면 정상적으로 버전을 확인할 수 있습니다. maria db query select version() 위의 쿼리를 실행하면 캡처에서 나온 결과 값처럼 지금 사용하고 있는 데이터베이스의 버전을 확인할...

letsencrypt 인증서 발급 및 갱신 실패 원인
안녕하세요. 플래처입니다. letsencrypt 인증서 발급 및 실패 원인에 대해 정리한 포스트입니다. 이 ThinkGround도 인증서 만료일이 다가와 오늘 인증서를 갱신하려고 터미널 접속을 오랜만에 했습니다. certbot renew 간단하게 접속해서 위의 명령어만 쳐주면 되는 상황이었는데, 의도치 않은 오류가 발생했...

Spring Boot 유효성 검사 (Validation) 관련 어노테이션
안녕하세요. Spring Boot 유효성 검사 (Validation) 관련 어노테이션 관련 포스팅입니다. 어떤 어노테이션이 있는지 확인이 필요하신 분들을 위해 표로 정리하여 공유드립니다. 주로 쓰이는 어노테이션에 대해서 정리를 했고, 아래 어노테이션 외에도 더 있습니다. Annotation (@) 대상 객체 설명 사용 변...

TownScaper 월페이퍼 다운로드
안녕하세요. Flature 입니다. TownScaper Wallpaper를 공유드립니다. 유튜브에서 Townscaper 게임을 진행하고 최종 장면을 스크린샷 떴는데 생각보다 배경화면으로 괜찮은 것 같아 공유드립니다. Townscaper-2021-04-18-12-54-32 4mb 파일인데, 최적화 프로그램이 자동으로 돌아가...

자바 이벤트 리스너 및 메소드 정리 자료 (엑셀)
안녕하세요. Flature입니다. 자바 이벤트 리스너 및 관련 메소드에 대해 엑셀로 정리하여 공유드립니다. 위험한 파일이 아니니 걱정 마시고 받으셔도 됩니다^^ 자바 이벤트 정리 Download 이 자료는 어라운드 허브 스튜디오 Swing 강의를 통해 제작하였습니다. 관련 강의는 아래 유튜브 링크 또는 '어라운드허브 스튜...
자료 구조 내용 정리 - DFS, BFS
안녕하세요. 자료 구조 내용 정리 - DFS, BFS 관련 포스팅입니다. DFS는 Depth First Search의 줄임말로 깊이 우선 탐색을 뜻합니다. 그리고 BFS는 Breath First Search의 줄임말로 너비 우선 탐색을 뜻합니다. 이 내용들을 간단하게 정리하여 공유드리니 편하게 읽어주시면 될 것 같습니다....

다빈치 리졸브(Davinci Resolve) Media Offline 문제 해결 방법 / 윈도우 10에 사용되는 HEVCVideoExtension (H.265)
안녕하세요. 다빈치 리졸브(Davinci Resolve) Media Offline 문제 해결 방법 / 윈도우 10에 사용되는 HEVCVideoExtension (H.265) 포스트를 공유드립니다. 이 파일을 찾게된건 다빈치 리졸브(DaVinci Resolve) 파일을 사용하는 과정에서 OBS로 압축 형식을 H.265로 변...
[ 자바(Java) 기초 강의 #4] 상속
안녕하세요. 자바 자바 상속 관련 포스트입니다. 최근 어라운드 허브 스튜디오에서 자바 기초 강의 영상을 제작하여 공유하고 있습니다. 아래 영상은 유튜브에서도 검색하시면 찾아보실 수 있습니다. Updated by 21.01.10 [ 자바(Java) 기초 강의 #4 ] 상속 Site : @ThinkGround Instagr...
[ 자바(Java) 기초 강의 #3 ] 자바 코드의 구조 및 실습
안녕하세요. 자바 자바 코드의 구조 및 실습 관련 포스트입니다. 자바 기초 강의 영상 공유드립니다. 아래 영상은 유튜브에서도 검색하시면 찾아보실 수 있습니다. Updated by 21.01.10 [ 자바(Java) 기초 강의 #3 ] 자바 코드의 구조 및 실습 Site : @ThinkGround Instagram :...
[ 자바(Java) 기초 강의 #2-1 ] 조건문, 배열, 반복문
안녕하세요. 자바 조건문, 배열, 반복문 관련 포스트입니다. 자바 기초 강의 영상 공유드립니다. 아래 영상은 유튜브에서도 검색하시면 찾아보실 수 있습니다. Updated by 20.12.18 [ 자바(Java) 기초 강의 #2-1 ] 조건문, 배열, 반복문 Site : @ThinkGround Instagram : @t...
[ 자바(Java) 기초 강의 #2 ] 변수, 데이터타입, 연산자
안녕하세요. 자바 변수, 데이터타입, 연산자 포스트입니다. 자바 기초 강의 영상 공유드립니다. 아래 영상은 유튜브에서도 검색하시면 찾아보실 수 있습니다. Updated by 20.12.18 [ 자바(Java) 기초 강의 #2 ] 변수, 데이터타입, 연산자 Site : @ThinkGround Instagram : @th...
[ 자바(Java) 기초 강의 #1 ] Hello World 출력하기
안녕하세요. Hello World 출력하기 포스트입니다. 자바 기초 강의 영상 공유드립니다. 아래 영상은 유튜브에서도 검색하시면 찾아보실 수 있습니다. Updated by 20.12.18 [ 자바(Java) 기초 강의 #1 ] Hello World 출력하기 Site : @ThinkGround Instagram...

Spring Boot 2 Migration (스프링부트 마이그레이션) 검토 내용
안녕하세요. Spring Boot 2 Migration (스프링부트 마이그레이션) 검토 내용 포스트입니다. 최근 스프링 부트를 시작하신 분들은 관련이 없는 내용이지만, 이전에 개발된 솔루션은 아직 Spring Boot의 Major 버전이 1 인 경우가 많습니다. 운영하는데 아직 무리는 없을 수 있지만, 한번쯤 검토가 필요...

일반적인 GC 내용과 G1GC (Garbage-First Garbage Collector) 내용
안녕하세요. 일반적인 GC 내용과 G1GC (Garbage-First Garbage Collector) 내용 포스트입니다. 오라클의 G1GC (Garbage-Fist Garbage Collector) 내용과 제가 경험했던 내용들을 정리하여 포스팅을 하려고 합니다. JDK 8 (Hotspot) 버전에 초점을 맞춰으로 소개드...

Java Performance Tuning
안녕하세요. Java Performance Tuning 관련하여 내용들을 정리해보고자 합니다. Java를 주력으로 하고 있음에도 너무 여러가지를 공부하다보니 정작 사이트에 자바와 관련된 내용들이 별로 없는 것 같아 작성합니다. 간단하게 어플리케이션을 만드는 일이라면 별로 신경쓰지 않아도 되는 부분입니다만, 실제 운영 서비...

자바 메모리 구조 (Java Memory Structure)
안녕하세요. 자바 메모리 구조 (Java Memory Structure) 관련 포스트를 다뤄보려고 합니다. 거의 지금까지는 기능 개발에만 집중하다가 성능상 이슈가 있어 GC나 Tomcat 튜닝 등을 진행하려다 보니 메모리 공부를 하게 되어 이참에 이렇게 공유하게 되었습니다. 아직 부족한 내용이 많아 우선 포스팅하고 계속...

Git 설치 및 업데이트 방법
Git 설치 및 업데이트 방법 포스트입니다. 한번 git을 설치하고나면 계속 사용만 하고 업데이트를 할 일이 거의 없습니다. 한번 제가 사용하는 소프트웨어들을 업데이트하면서 내용을 정리하여 공유드립니다. Git 설치 git 설치 방법은 이전에 포스팅했던 내용을 확인해주세요. Link Git 버전 확인 git이 이미 설치되...

안드로이드 스튜디오 WIFI 연결을 통한 ADB 사용하기
안녕하세요. 안드로이드 스튜디오 WIFI 연결을 통한 ADB 사용하기 포스트입니다. 안드로이드 개발을 공부하면서 Virtual Device만 사용하여 테스트하는건 많이 답답한 일입니다. 수년 전에 개발할 때보다 AVD가 많이 개선되어 엄청 빨라지긴 했지만, 실제 스마트폰보단 못하죠. 저는 지금 갤럭시 S10 5G 모델을...

Android Drawable Importer 설치
안녕하세요. Android Drawable Importer 설치 가이드 포스트입니다. 예전에 안드로이드 스튜디오에서 플러그인 검색으로 설치가 가능했던 Android Drawable Importer 플러그인이 검색이 안되고 있습니다. 저만 검색이 안되는걸 수도 있지만 저와 같은 현상이 발생하는 분들을 위해 작성합니다. 해당...

Visual Studio Code 유용한 기능 - prettier
안녕하세요. Visual Studio Code 유용한 기능 - prettier 에 대한 소개 포스트입니다. VS Code를 사용하면서 다양한 플러그인(확장기능)을 사용하고 있는데요. 시간이 될 때 하나씩 소개하는 글을 작성하려고 합니다. Prettier 란? Prettier는 'Beautify' 라는 확장기능과 양대산맥으...

HttpMessageNotWritableException: No converter for [VO Class] with preset Content-Type 'null']
안녕하세요. HttpMessageNotWritableException: No converter for [VO Class] with preset Content-Type 'null'] 오류와 관련된 해결 포스트입니다. Spring Boot를 공부하면서 재미삼아 백엔드 서버를 만들어 보고 있는데, 어처구니 없는 실수로 며칠을...

CentOS 7 Swap Memory 설정하기
안녕하세요. CentOS 7 Swap Memory 설정하기 포스트입니다. 구글에서 VM을 할당받아 사용한지도 1년이 지났는데요. 아무래도 기본 설정된 저렴한 모델을 살펴보면 메모리가 부족함이 있어 이 포스트를 준비하게 되었습니다. [ Install WordPress with LEMP Stack ] 프로젝트 진행하시는 분이...

Windows MariaDB 설치
안녕하세요. Windows MariaDB 설치 포스트입니다. 이 포스트는 Spring Boot 프로젝트 를 진행함에 있어 필요하여 간단하게 작성하였습니다. 설치는 매우 간단하기 때문에 따로 설치 방법에 대해서는 작성하지 않도록 하겠습니다. MariaDB 다운로드 페이지 에서 다운받아 설치하시면 되겠습니다. Updated...

워드프레스 Briefly unavailable for scheduled maintenance 해결
안녕하세요. 워드프레스 Briefly unavailable for scheduled maintenance 해결 포스트입니다. 벌써 호스팅 업체에서 GCP로 옮겨온지 1년이 훌쩍 넘어버렸네요. 이전에 호스팅 업체를 이용할때가 오히려 더 빠른 기분이 들지만, 지금이 더 커스터마이징할 수 있고 더 자유도가 높아 만족도는 좋습니...

Spring Boot 프로젝트 기본 아키텍처 구성하기 (2)
안녕하세요. Spring Boot 프로젝트 기본 아키텍처 구성하기 (2) 포스트입니다. 지난 포스트 에 이어 진행해보겠습니다. 지난번 포스트에서는 MVC의 기본적인 개념에 대해서만 얘기하고 끝나버렸네요. 이번 포스트에서는 실제 프로젝트 구성을 해보려고 합니다. 마지막에 이미지만 보여드리고 끝내드린 부분을 복기해보면, 기본...

Spring Boot 프로젝트 기본 아키텍처 구성하기 (1)
안녕하세요. Spring Boot 프로젝트 기본 아키텍처 구성하기 (1) 포스트입니다. 올해 시작하면서 Spring Boot를 공부하게 되었는데 집중도 해야하는 시기였고 이런저런 이유로 포스팅이 늦었습니다. 지난 포스트 에서 Spring Boot 프로젝트 생성하는 방법에 대해서 포스트를 했었는데요. 이번 포스트에서는 서비...

Spring Boot 프로젝트 생성하기 (IntelliJ)
안녕하세요. Spring Boot 프로젝트 생성하기 (IntelliJ) 포스트입니다. 제 주 업무가 Spring Boot로 진행하는 것이다 보니, 이렇게 관련 포스트를 작성하게 되었습니다. 늘 사이트 목적에 맞추어 어렵지 않게 쉽게 따라하실 수 있도록 포스팅하겠습니다. Spring Boot 프로젝트 만들기 전 사전 작업...
2020.03.02 Post
안녕하세요. Flature 입니다. 포스팅을 안한지 꽤 오랜 시간이 흘렀습니다... 아무래도 귀찮았던게 제일 컸지만, 쉬는 동안 저에게도 많은 변화가 있었습니다. 클라우드 인프라 업무를 주로 해왔었던 제가 업무의 변동이 생겨 다시 돌아가고 싶었던 개발업무를 할 수 있게 되었습니다. (앞으로는 본격적으로 개발 관련 포스팅을...
[Algorithm] Baekjoon - 1002 문제 풀이
Baekjoon Online Judge 1002번 문제 풀이입니다. 이 문제에서는 터렛 2기의 좌표와 각 터렛에서 계산한 적과의 거리를 줍니다. (x1, y1, r1, x2, y2, r2) 문제 풀이 방향을 생각해보면 몇가지 경우의 수가 나옵니다. 우선 문제 풀이 방향은 크기가 같거나 다른 두 개의 원이 접하는 점의 개수...
[Algorithm] baekjoon - 1001 문제 풀이
Baekjoon Online Judge 1001번 문제 풀이입니다. 문제가 간단할 경우 별도 해설을 붙이지 않습니다. import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(Sys...
[Algorithm] baekjoon - 1000 문제 풀이
Baekjoon Online Judge 1000번 문제 풀이입니다. 문제가 간단할 경우에는 별도 해설을 붙이지 않습니다. import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(S...

Android 앱에 Firebase 추가 오류 해결
안녕하세요. Android 앱에 Firebase 추가 오류 해결 포스트입니다. 이제는 기본으로 세팅하게 되는 Firebase에 대해 Android 앱을 추가하면서 발생할 수 있는 장애물에 대해 다뤄보려고 합니다. 일반적으로 Android 앱을 추가하는 가이드에 따라 진행하면 별 문제 없이 진행이 됩니다. 하지만 간혹 위...

[django] windows git bash createsuperuser 생성 불가
[django] windows git bash createsuperuser 생성 불가 관련 포스트입니다. 요새 웹서버 구축을 위해 django를 만지고 있습니다. 리눅스에서 다루면 더 편리하겠지만, 제가 가지고 있는 개발환경은 윈도우 밖에 없어서 git bash를 사용하고 있습니다. python을 설치하고, django를...

Web Front-End & Back-End 구분 정리
Web Front-End & Back-End 구분 정리 포스트입니다. 다양한 IT 회사의 채용 페이지나 기술 자료들을 보게되면 거의 대부분 언급되고 있는 용어입니다. 대부분 알고 계시는 내용이지만, IT 영역을 갓 접하신 분들을 위해 준비했습니다. 제가 게시한 내용은 기본적인 개념에 대해서만 다룰 예정입니다만, 오...

안드로이드 패키지 변경 방법
안녕하세요 Flature입니다. 안드로이드 패키지 변경 방법 관련 포스트입니다. 간혹 초기 패키지를 생성하고 개발을 하다보면 도중에 도메인(패키지명)을 변경해보고 싶은 경험이 있었을 것입니다. 다만 초반이었으면 별 문제 없이 변경하거나, 또는 새로운 프로젝트를 생성하여 코드를 옮기는 방식으로 진행해도 무관합니다. 안드로이...

Application : IoT Net 개발
안녕하세요 Flature 입니다. Application : IoT Net 개발 관련 포스트입니다. ThinkGround Brand App을 출시하고나서 바쁘기도 했지만, 정확히 무엇을 개발해야될지 방향이 잡히지 않아 머뭇거리고 있었습니다. 아직 잘 모르는 분야이긴 하지만 관심있는 것과 관련되어 개발을 해보는 것이 맞겠다...

CentOS 7 Version Upgrade
CentOS 7 Version Upgrade 관련 포스트입니다. 저는 CentOS 7 을 주로 사용하고, 이 OS는 제가 사용할줄 아는 유일한 OS 입니다. 다루면서 필요한 것들에 대해 조금씩 'Config Level'로 정리하는 포스트입니다. OS Version 업그레이드 아래 작성한 방법으로 간단하게 OS를 최신버전으...

ThinkGround News (v19.07.24)
ThinkGround News (v19.07.24) 포스트입니다. 앞으로 업데이트될 내용과 제가 준비하고자 하는 것들을 공유드리는 글입니다. Brand Name 변동 Brand Name에 약간 변동을 줄 예정입니다. ThinkGround 라는 이름으로 사이트를 운영했는데, 앞으로는 'Studio ThinkGround' 또...

Subnet Calculator App Development
About This Project Subnet Calculator App Development 포스트입니다. 이 앱은 기본적으로 특정 IP에 서브넷 조건을 부여했을 때 네트워크 범위를 알려주는 것을 주 목적으로 가지고 있습니다. 개인적으로 인프라 업무 중 네트워크 업무를 하면서 구축 작업을 진행할 때마다 신경쓰는 부분이라...

SAXParseException; lineNumber: 1; columnNumber: 1 에러
안녕하세요. org.xml.sax. SAXParseException ; lineNumber: 1; columnNumber: 1 에러 관련 포스트입니다. 안드로이드 스튜디오를 사용하면서 겪은 현상이지만, 이 에러를 해결하기 위해 서치를 해보니 다양한 곳에서 발생하는 것 같았습니다. 다른 곳에서도 도움이 될 수도 있으니 참고...

Firebase Authentication 'Code:10, message:10' 에러 해결
안녕하세요. 안드로이드 Firebase Authentication 'Code:10, message:10' 에러 해결 포스트입니다. 최근 계속 붙잡고 있던 앱을 배포 했습니다.( 앱링크 ) 만족스러운 결과물은 아니지만, 다른 만들고 싶은 앱들이 많아 나중에 업데이트를 하자는 생각으로 출시를 먼저 진행하였습니다. 이 앱은 F...

ThinkGround App Development Project
About This Project ThinkGround App Development Project 포스트입니다. 이 앱은 기본적으로 웹사이트의 홍보 채널 확장을 주 목적으로 가지고 있습니다. 초기에는 웹뷰만 배치하고 끝낼 계획이었지만, 점점 욕심이 많아져 여러 기능들을 추가하고자 하고 있습니다. 이 포스트는 앱 개발을 진...

코틀린 (Kotlin) 컬렉션 (Collection) 개념 정리
코틀린 (Kotlin) 컬렉션 (Collection) 개념 정리 포스트입니다. 프로그래밍 언어를 다루면 변수 이후로 가장 많이 활용되는 개념입니다. 쉽게 말해 배열 정도로 보시면 되는데, 코틀린에서는 배열을 크게 2가지로 구분하여 정의하고 있습니다. immutable(불변) vs mutable(가변) 어렵게 불변, 가변이...