idghst.dev
글자와 상자
HTML 2025. 1. 28. 09:00

요소가 화면에 출력되는 특성인라인: 글자를 만들기 위한 요소블록: 상자(레이아웃)를 만들기 위한 요소인라인 요소요소가 수평으로 쌓임띄어쓰기로 구분됨포함한 콘텐츠 크기만큼 자동으로 줄어듦크기 지정 스타일 속성에 반응하지 않음. (글자 요소이기 때문)여백 지정은 좌우만 가능자식요소로 block 요소 사용 불가능블록 요소부모 요소 크기만큼 자동으로 늘어남 (가로 길이)스타일 속성 모두 사용 가능제약사항 거의 없음

Flutter - 복수 위젯 박스
Flutter 2024. 7. 22. 09:00

Flutter 모음 Flutter idghst.tistory.com

article thumbnail
Flutter - 단일 위젯 박스
Flutter 2024. 7. 15. 09:00

기본코드class ContainerTest extends StatelessWidget { const ContainerTest({super.key}); @override Widget build(BuildContext context) { return Container( child: Text("텍스트"), ); }}결과 ( Android / iOS )     Container기본 위젯 박스사용법class ContainerTest extends StatelessWidget { const ContainerTest({super.key}); @override Widget build(BuildContext context) { return Container( child: T..

article thumbnail
Flutter - Placeholder
Flutter 2024. 7. 8. 09:00

컨텐츠 미리보기 등 목업 구성에 사용사용법Placeholder()결과 ( Android / iOS )     Flutter 모음 Flutter idghst.tistory.com

article thumbnail
[ SwiftUI ] DataFlow
SwiftUI 2023. 3. 27. 09:00

@State화면 동작에 있어 상태를 나타내는 변수가 사용되는 경우해당 변수가 상태를 나타냄을 표시 해줍니다struct PlayerView: View { let episode: Episode @State private var isPlaying: Bool = false var body: some View { VStack(spacing: 20) { Text(episode.title) .font(.largeTitle) Text(episode.showTitle) .font(.title3) .foregroundColor(.gray) ..

article thumbnail
[ SwiftUI ] View
SwiftUI 2023. 3. 24. 09:00

TextView 기본 Text("SwiftUI") 수정 Text("SwiftUI") .font( .system( size: 30, weight: .bold, design: .default )) 결과물 ButtonView 기본 Button { print("button tapped") } label: { print("click me") } 수정 Button { print("button tapped") } label: { Text("click me") .font( .system( size: 20, weight: .bold, design: .default) ) .foregroundColor(.white) .padding() } .padding() .frame(height: 100) .background(.pin..

article thumbnail
[ iOS ] MVVM - 실습
iOS 2023. 3. 22. 09:00

...ViewModel.swift viewModel 에서는 input 과 output 을 작성합니다 input 에서는 User Action 등 입력 데이터를 output 에서는 처리한 Data 로 결과 데이터를 화면에 뿌려줍니다 init() 초기화 함수에서는 viewModel 에서 동작할 변수를 초기화하는 기능을 수행합니다 import Foundation import Combine final class FrameworkListViewModel { init(items: [AppleFramework], selectedItem: AppleFramework? = nil) { self.items = CurrentValueSubject(items) self.selectedItem = CurrentValueSubje..

article thumbnail
[ iOS ] MVVM - 개념
iOS 2023. 3. 20. 09:00

왜 MVVM이 생겼나? 기존 MVC 패턴의 문제 View 와 View Controller 는 View 와 Controller 레이어로 나누어 설명하지만 실제로 구현 시, 거의 분리되지 않습니다 따라서, 위 그림과 같이 표현되는게 좀 더 현실모습을 잘 담고 있습니다 이러다 보니, View Controller 에 많은 로직들이 존재하게 됩니다 프레젠테이션 로직 비즈니스 로직 데이터 접근 로직 등등.. 결국에 Massive ViewController 라는 불명예 스러운 용어가 붙었습니다 위와 같은 이슈로 발생하는 문제 View Controller 가 너무 많은 책임을 지고 있음 모델(데이터)를 직접 접근하면서 수정하다보니, 버그에 취약하게 됨 유지보수가 어려움 (변경과 수정에 어려움이 많아짐) 기존 문제들의 ..

article thumbnail
[ Swift ] Network - 실습
Swift 2023. 3. 17. 09:00

Publisher+Utils.swift import Foundation import Combine extension Publisher { static func empty() -> AnyPublisher { return Empty().eraseToAnyPublisher() } static func just(_ output: Output) -> AnyPublisher { return Just(output) .catch { _ in AnyPublisher.empty() } .eraseToAnyPublisher() } static func fail(_ error: Failure) -> AnyPublisher { return Fail(error: error).eraseToAnyPublisher() } } Netw..

article thumbnail
[ Swift ] Network - 개념
Swift 2023. 3. 15. 09:00

iOS 에서는 HTTP 방식으로 네트워크 할 수 있으며 URLSession 을 사용합니다 URLSession URLSession을 이용해서 서버와 소통 URLSessionConfiguration .default 디스크를 이용한 정보 저장을 하는 configuration 그냥 브라우저 띄울때 .ephemeral default 랑 비슷한데, 몇가지 정보들을 저장하지 않음 (쿠키, 인증서 등) 브라우저 시크릿 모드라고 생각하면 쉬움 .background 네트워크를 통해 파일 다운로드 받을때, 앱이 백그라운드에서 돌때도, 다운로드 시켜줄수 있음 URLSession configuration 을 보고, 세션을 생성 URLSessionTask dataTask uploadTask downloadTask URLSessi..

article thumbnail
[ Swift ] Combine - 실습
Swift 2023. 3. 13. 09:00

Combine 초기화 컴바인 subscription 저장소를 만들어줍니다 var subscription = Set() 입력용 publisher 를 설정 해줍니다 let didSelect = PassthroughSubject() 출력용 publisher 를 설정 해줍니다 let items = CurrentValueSubject(AppleFramework.list) 구독 기능 수행을 위한 함수 함수 실행 시, input 과 output 에 대한 구독을 진행합니다 Input input 에 데이터가 추가되면 관련 기능이 수행됩니다 output input 에 의한 기능 수행되면 자동으로 output 의 데이터가 자동으로 전달되며 output 에 대한 기능이 수행됩니다 private func bind() { // ..

article thumbnail
[ API ] mockAPI
기타/API 2023. 3. 10. 09:00

앱 또는 웹에서 사용할 데이터를 가져와 사용할 때, API 를 자주 활용합니다. API 사용할 때, 보통은 Open API 또는 직접 서버를 구축하여 이용할 겁니다. Firebase 역시 데이터는 비슷한 형식으로 사용하지만 REST API 처럼 json 을 직접 사용하는 것이 아니라 함수를 사용하여 데이터를 이용하기 때문에 개발 방식 자체가 다릅니다 그래서 OpenAPI를 사용하지 않고 직접 서버를 구축하여 진행할 프로젝트에서 개발 중 서버를 항상 켜놓을 수 없거나 특정 데이터에 대해서 미리 테스트할 수 있도록 API 를 제공해주는 사이트를 소개합니다. mockAPI 기능 프로젝트에서 1개의 API 를 생성할 수 있으며 자동으로 호출 URL이 생성됩니다 NEW RESOURCE 를 통해 API 를 정의하여..