전체 글(382)
-
Kotlin 2.2.20 릴리스: 웹과 멀티플랫폼 개발의 새로운 전환점
Kotlin 2.2.20이 출시되었다!이번 릴리스는 특히 웹 개발과 멀티플랫폼 개발에서 게임체인저가 될 만한 변화들을 담고 있는 듯하여 정리해보았다. 가장 주목할 만한 3가지 변화1. Kotlin/Wasm이 드디어 Beta!WebAssembly가 뭔가요?브라우저에서 네이티브에 가까운 속도로 실행되는 바이너리 코드JavaScript보다 훨씬 빠른 성능복잡한 계산, 게임, 이미지 처리에 최적이제 Kotlin으로 고성능 웹앱 만들기 가능:// 복잡한 물리 엔진도 웹에서 빠르게!class GameEngine { fun updatePhysics(objects: List) { // 무거운 계산도 부드럽게 처리 }}실제 장점:웹 게임 개발시 네이티브급 성능대용량 데이터 처리 웹앱실시간 이미지/..
2025.09.15 -
빌드 시간 최적화 과정 (30분 → 5분)
내가 회사에서 관리하는 프로젝트 중에 용량이 엄청 큰 프로젝트가 있다.이건 generate apk를 뽑으려면 무조건 30분의 시간이 소요되어 어려움을 많이 겪었다.그래서 build.properties 파일을 이용하여 빌드 시간을 최적화해보았다.원래 상황 (30분)Gradle이 매번 이랬음:"안녕하세요, 처음 뵙겠습니다!" → JVM 새로 시작 (10초)→ 모든 파일 하나씩 차례로 빌드 (25분) → 다 끝나면 메모리에서 삭제→ 다음 빌드 때 또 "처음 뵙겠습니다!" 반복...1단계: 메모리 증설 시도기존: org.gradle.jvmargs = -Xms192m -Xmx4096m -XX:MaxPermSize=256m수정: org.gradle.jvmargs = -Xms192m -Xmx8192m -XX:Max..
2025.09.05 -
Flutter Hot Reload 완벽 정리
Hot Reload란?앱을 끄지 않고 코드 변경사항을 즉시 반영하는 기능기존 개발: 코드 수정 → 앱 종료 → 컴파일 → 실행 → 화면 이동 (30초~1분)Hot Reload: 코드 수정 → 저장 → 즉시 반영! (1초)Flutter Hot Reload 특징핵심 기능1초 이내 변경사항 반영상태 보존: 입력 데이터, 스크롤 위치, 변수값 유지앱 재시작 없음: 로그인 상태 그대로Ctrl+S만 누르면 끝!사용 예시*// 1. 원래 코드*Text('안녕하세요', style: TextStyle(fontSize: 20, color: Colors.blue))*// 2. 수정 (크기, 색깔 변경)* Text('안녕하세요', style: TextStyle(fontSize: 30, color: Colors.red))*/..
2025.09.03 -
Java vs Kotlin vs Dart 언어 비교
문법 스타일Java (가장 엄격함)public class Person { private String name; public Person(String name) { this.name = name; } public String getName() { return name; }}Kotlin (Java 개선형)class Person(val name: String)*// 끝! 위 Java 코드와 동일한 기능*Dart (JavaScript + Java 느낌)class Person { String name; Person(this.name);}주요 특징 비교 특징 Java Kotlin Dart Null 안전성❌ (NullPointerException 지옥)✅ ..
2025.09.02 -
Android(Kotlin)와 Flutter 상태 관리: 왜 Flutter만 Riverpod이 필요할까?
Kotlin(Compose)와 Flutter.둘 다 모바일 앱 개발 플랫폼이지만, 상태 관리 접근법은 완전히 다르다.Flutter에서는 왜 Riverpod 같은 라이브러리가 필수일까? 1. 핵심 차이점- Android(Kotlin): 플랫폼이 상태 관리 아키텍처 제공- Flutter: 상태 관리 도구 없음 → Riverpod 등이 필수 2. 상태 관리 비교 요소 Android (Kotlin) Flutter 아키텍처 패턴MVVM (Google 공식 권장)개발자가 직접 선택상태 홀더ViewModel (기본 제공)Riverpod Provider 필요반응형 데이터StateFlow/LiveDataRiverpod StateProvider 필요의존성 주입Hilt (선택사항)Riverpod으로 해결생명주기 관리자동..
2025.09.01 -
[프로그래머스/Kotlin]Lv2 - n^2 배열 자르기
https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제문제 설명정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다.n행 n열 크기의 비어있는 2차원 배열을 만듭니다.i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다.1행 1열부터 i행 i열까지의 영역 내의 모든 빈 칸을 숫자 i로 채웁니다.1행, 2행, ..., n행을 잘라내어 모두 이어붙인 새로운 1차원 배열을 만듭니다.새로운 1차원 배열을 arr이라 할 때, arr[left], arr[l..
2025.08.29