hero.title.line1
hero.title.line2hero.title.suffix
hero.subtitle.line1
hero.subtitle.line2
안녕하세요, Dean (정송헌)입니다.
hero.values.declarative
hero.values.learning
hero.values.crossPlatform
skills.title
skills.subtitle
skills.subtitleHighlightskills.subtitleEnd
skills.categories.ios
skills.categories.web
skills.categories.tools
skills.transferTitle
skills.insights.0.webConcept
skills.insights.0.iosApplication
skills.insights.0.impact
skills.insights.1.webConcept
skills.insights.1.iosApplication
skills.insights.1.impact
skills.insights.2.webConcept
skills.insights.2.iosApplication
skills.insights.2.impact
skills.insights.3.webConcept
skills.insights.3.iosApplication
skills.insights.3.impact
skills.insights.4.webConcept
skills.insights.4.iosApplication
skills.insights.4.impact
skills.insights.5.webConcept
skills.insights.5.iosApplication
skills.insights.5.impact
skills.conclusionTitle
skills.conclusionDescription
skills.conclusionHighlightskills.conclusionEnd
2+
skills.stats.webProjects
6+
skills.stats.iosApps
100%
skills.stats.capability
compare.title
compare.subtitle
compare.description
React's useState and SwiftUI's @State share the same declarative UI philosophy.
compare.labels.react
function Counter() {
const [count, setCount] = useState(0);
return (
<View>
<Text>Count: {count}</Text>
<Button
title="Increment"
onPress={() => setCount(count + 1)}
/>
</View>
);
}compare.labels.swiftui
struct CounterView: View {
@State private var count = 0
var body: some View {
VStack {
Text("Count: \(count)")
Button("Increment") {
count += 1
}
}
}
}compare.labels.insights
- ▸useState ↔ @State: Similar state declaration patterns
- ▸setCount() ↔ count += 1: Identical state update patterns
- ▸UI Re-rendering automation: Both frameworks automatically reflect state changes
compare.conclusion
projects.title
projects.subtitle
Show(X)
쇼케이스 2025 전용 실내지도 앱. Apple Developer Academy 행사 참가자들을 위한 네비게이션 및 정보 제공 앱.
projects.webConnection 웹 지도 API 경험을 MapKit 학습에 활용.
kip!
온디바이스 AI 기반 스크린샷 자동 정리 생산성 앱. 개인정보 보호를 고려한 로컬 AI 처리.
projects.webConnection React의 컴포넌트 재사용성 개념을 SwiftUI View Modifier로 확장. 웹 UX 패턴을 네이티브 앱에 적용.
ReToU (오늘의 넌)
하루 한 줄 감정 회고 및 자기 성찰 iOS 앱. 일일 감정 기록으로 마음을 정리하는 웰빙 애플리케이션.
projects.webConnection React의 useState 패턴을 SwiftUI @State로 자연스럽게 전환. 컴포넌트 기반 UI 설계 경험 활용.
DisplayCut
iOS 디스플레이 관련 유틸리티 앱. Xcode를 활용한 네이티브 개발.
projects.webConnection CSS 레이아웃 개념을 Auto Layout으로 전환. 반응형 디자인 경험 활용.
HOTSPOT
AI 기반 산불 조기 감지 및 커뮤니티 알림 시스템. Junction 2025 해커톤 프로젝트로 시민 제보와 AI 예측을 결합한 산불 대응 앱.
projects.webConnection React의 실시간 데이터 처리 경험을 SwiftUI Combine으로 전환. 웹 지도 API 경험을 MapKit 활용에 적용.
SleepTrain
스크린타임 수면유도 애플리케이션. 스크린타임 강제를 통한 수면 유도 앱.
projects.webConnection React의 데이터 시각화 라이브러리 경험을 Swift Charts로 전환. 상태 관리 패턴 활용.
Rootrip
MapKit과 PencilKit을 이용한 여행 계획 및 생산성 앱. MVVM 아키텍처 기반 iPad OS 앱 개발.
projects.webConnection React의 컴포넌트 아키텍처 경험을 SwiftUI MVVM 패턴으로 확장. 프론트엔드 상태 관리 개념 활용.
WAY GYM
위치 기반 영역 점령 게임 앱. Apple Developer Academy @ POSTECH Challenge 3 프로젝트.
projects.webConnection React의 상태 관리와 실시간 업데이트 개념을 Swift로 전환. 웹 지도 라이브러리 경험을 MapKit에 적용.
MyLoveCoffee (myCafe)
위치 기반 카페 검색 및 리뷰 플랫폼. Kakao Map API를 활용한 지도 기반 웹 애플리케이션.
projects.webConnection 이 웹 프로젝트의 지도 및 위치 기반 검색 경험을 iOS MapKit 학습에 활용. API 통신 패턴을 URLSession으로 전환.
contact.title
contact.description.line1
contact.description.line2