목적: SwiftUI 에서 TextInput 이 있는 Alert 를 띄워주기 위함. 결론: 기본적으로 아직까지는 SwiftUI 에서 커스텀 팝업을 만들려면 아래 링크에 소개된 방법 외에는 어려워보인다. 하지만 목적에 언급된 TextInput 이 있는 Alert 의 경우는 다음과 같이 하면 된다. struct ContentView: View { @State private var presentAlert = false @State private var username: String = "" @State private var password: String = "" var body: some View { Button("Show Alert") { presentAlert = true } .alert("Login", ..
URLSession vs Alamofire https://cau-meng2.tistory.com/115 https://www.avanderlee.com/swift/alamofire-vs-urlsession/ https://velog.io/@heyksw/iOS-Moya-Alamofire-URLSession-%EB%B9%84%EA%B5%90 Alamore fire 를 사용하는 것이 좋아보인다.
SwiftUI Menu https://seons-dev.tistory.com/entry/SwiftUI-Menu-%EB%B2%84%ED%8A%BC%EC%9D%84-%EB%88%8C%EB%A0%80%EC%9D%84-%EB%95%8C-%EB%A9%94%EB%89%B4%EB%A5%BC-%ED%91%9C%EC%8B%9C SwiftUI Menu 로 Dropdown Menu 만들기 https://www.youtube.com/watch?v=dCt4SBNSfE4 https://medium.com/@zhuoshengjiang_26468/how-to-implement-a-dropdown-button-in-swiftui-239cf1bd8e8c ios pulldown button (생각하는 그것) & popup button (..
references: https://dev.to/paulallies/clean-architecture-in-the-flavour-of-swiftui-55-jo2 https://paulallies.medium.com/clean-architecture-in-the-flavour-of-swiftui-5-5-8430786a83 https://betterprogramming.pub/ios-clean-architecture-using-swiftui-combine-and-dependency-injection-for-dummies-2e44600f952b https://gon125.github.io/posts/SwiftUI를-위한-클린-아키텍처/ https://github.com/nalexn/clean-architect..
계정 통째로 이전은 안되고 단일 앱을 이전해야 하며 이전하는 측과 받는 측 모두 수락하고 앱 소스와 바이너리는 따로 이전협의 하고 이전받는 측에서 배포해야한다. 게임센터 나 앱 수출 규적에 문제 없다면 3 시간 안에 처리되며 앱을 이전할 수 없는 경우는 해당 앱을 새롭게 생성해서 올려야 한다. - 다른 개발자의 iTunes Connect 계정으로 App을 이전할 수 있나요? 예. 귀하의 App이 이전 가능한 상태이면 언제든지 다른 개발자에게 iTunes Connect를 통해 귀하의 App을 이전할 수 있습니다. App의 소유권을 이전하더라도 App Store에서 App을 사용할 수 있습니다. 모든 등급 및 심사가 이전되며 귀하의 고객은 모든 사용 가능한 App 업데이트에 그대로 액세스할 수 있습니다. -..
ios 코어가 좀 특이한 형태 같다. ios 코어가 정말 잘 만들어진 형태이면서 원래 이것이 최초가 아니었나 싶다. 다른 것들이 ios 를 참고해서 따라한 것 같아 보인다. 굉장히 잘 만들어진 거 같기두 하지만... 사용하기엔 조금 복잡성은 있는 듯 하다. 이 복잡한 것을 이 정도로 녹여내었다는 것이 대단하다. nodejs 는 코어가 이벤트루프에 단일스레드 기본이라 가장 간단하다. 보통 운영체제는 멀티쓰레드가 기본인데, nodejs (js 진영) 는 기본적으로 단일쓰레드에 이벤트루프로 Task 를 던져서 순차적으로 처리하는 방식인데 ios 는 GCD 랑 Operation 이라는 것으로 이벤트루프 비슷한 방식을 적용하면서도 그것을 멀티쓰레드에 적용을 하였다. UI 를 다루고 async 한 동작이 많아서 그..
iOS : AutoResizing, AutoLayout, SwiftUI, UIKit iOS 의 선언형 UI 로는 Swift UI 가 있다. 가장 일반적인 것은 스토리보드를 이용하는 것. 스토리보드로 하는 것을 숙지했다면 iOS 에서 기본 제공하는 코드로만 UI 짜는 방법을 학습하면 된다. 그리고 스냅킷 같은 써드파티는 검색하면서 컨셉 알아가면서 사용하면 된다. 스토리보드 vs 코드 vs 스냅킷... 이런 쉐어는 거의 3:3:3 으로 비슷하다. 프로젝트 별로 사용 여부에 따라 따라가면 된다. 스토리보드를 아예 안 쓸 수도 있고 화면전환만 안쓸 수도 있고 오토레이아웃을 안 쓸 수도 있고 모든 것이 선택사항이다. 스토리보드를 안쓰면 코드 타이핑 할 때 마다 디자인이 화면에 반영이 안되서 보고 싶을 때마다 빌드..
left join 할 때는 딱 매칭 대응 되는 것은 키값으로 한다는 기본적인 생각을 가지고 다가가며, 그렇지 않을 경우 우측의 것이 좌측 키의 중복으로 가질 경우에는 그 중복 만큼 나타난다. 경우에 따라서 의도대로 해주면 된다. 즉, left join 이라 하여 무조건 left 쪽의 데이터만 딱 고정되어 나오는게 아니라 우측에도 여러개가 있으면 중복되게 가져온다. 기본적으로는 left 기준이다. 관련 on 되는 값이 없다면 left 쪽은 그대로 다 나머지는 null 인 체로 가져오는 온다. left join 과 inner join 이 교집합되는 부분이 같은 결과일 경우 inner join 을 이용하는 것이 성능상 좋다. 그래서 다음 조인이 어떻게 되느냐에 따라 left 쪽의 모든 데이터를 사용할 경우는 ..
https://madplay.github.io/post/change-git-author-name git commit author 변경 (커밋 작성자 변경하기) git commit 작성자를 잘못 입력하여 push까지 해버렸다. 커밋 작성자의 이름을 다시 바꿀 수 있을까? madplay.github.io https://meetup.toast.com/posts/122 GitHub의 Merge, Squash and Merge, Rebase and Merge 정확히 이해하기 : NHN Cloud Meetup GitHub의 Merge, Squash and Merge, Rebase and Merge 정확히 이해하기 meetup.toast.com
윈도우 의 파일들을 대량으로 맥 쪽으로 옮기려하면 filename is too long 오류가 뜰 가능성이 매우 높다. 255 characters 를 넘는 파일명의 경우 맥에서는 허용이 되지 않고 그래서 아예 Finder 에서는 보이지 조차 않는다. 콘솔에서는 ls 해보면 나오는데 이런 파일들의 이름을 find 명령어로 찾아서 mv 명령으로 이름 바꾸기 같은 것을 시도하려해도 애초에 os 단에서 이런 파일들을 mv 명령어 조차 먹지 않도록 그래서 filename too long 이 뜨도록 되어 있다. 맥에서 이를 처리할 수 있는 방법은 없고 Finder 에서는 아예 파일이 보이지 조차 않지만 디렉토리를 통째로 옮기려하면 해당 파일 자체는 있으므로 filename too long 오류 또는 한글로는 ‘xx..
querydsl https://velog.io/@shlee327/Querydsl-기본문법-학습하기 https://madplay.github.io/post/introduction-to-querydsl https://tecoble.techcourse.co.kr/post/2021-08-08-basic-querydsl/ https://akdl911215.tistory.com/307 https://ttl-blog.tistory.com/150 import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import java.util.List; public interfac..
00 오리엔테이션 0.1 이 책에 대해서 0.2 Xcode 의 구조와 활용 0.2.1 Xcode 각 영역과 명칭 0.2.2 Xcode 브레이크 포인트 다루기 0.2.3 Xcode 뷰 계층 디버깅하기 0.2.4 스토리보드 미리보기(Preview) 사용하기 0.2.5 협업 및 이력 관리를 위한 소스 컨트롤 기능 사용하기 01 기본 기능 다루기 1.1 프로젝트 생성 및 메모장 인터페이스 설계 1.1.1 프로젝트 생성 및 기본 설정 1.1.2 메모 목록 화면 구성 1.1.3 오토 레이아웃 설정 1.1.4 메모 작성 화면 구성 1.1.5 상세 화면 구성 1.1.6 커스텀 클래스 생성 및 객체 연결 1.2 메모 앱 기능 구현 1.2.1 데이터 모델 작업 1.2.2 MemoFormVC 클래스 작성 1.2.3 Memo..
01 첫 번째 iOS 앱 만들기 1.1 첫번째 앱, Hello World! 1.1.1 Xcode 프로젝트 생성 1.1.2 프로젝트 설정 1.1.3 프로젝트 구성과 스토리보드 1.1.4 스토리 보드로 화면 구성하기 1.1.5 화면 전환 구현하기 1.1.6 스위프트 코드 작성하기 1.2 시작 화면 제어하기 1.2.1 시작 화면 편집 1.2.2 새로운 시작 화면 파일로 교체하기 02 iOS 앱의 구조와 코코아 터치 프레임워크 2.1 앱의 기본 구조 2.1.1 엔트리 포인트와 앱의 초기화 과정 2.1.2 MVC 패턴 2.1.3 앱의 상태 변화 2.2 iOS 와 코코아 터치 프레임워크 2.2.1 iOS 2.2.2 코코아 터치 프레임워크 2.3 앱을 구성하는 핵심 객체들 2.3.1 iOS 유저 인터페이스의 표현 구..
https://brunch.co.kr/@springboot/202 https://kwonnam.pe.kr/wiki/springframework/feign https://www.vinsguru.com/spring-webclient-with-feign/ https://happycloud-lee.tistory.com/220 https://enjoy-dev.tistory.com/3 https://stackoverflow.com/questions/67191617/springboot-feignclient-vs-webclient
하이브리드앱으로는 다음과 같은 것들이 유명하다. React NativeIonic (Capacitor, Cordova)PWA with CordovaFlutter 이 중 Flutter 와 Ionic 을 추천한다. 아니다 막상 해보면 난 리액트 네이티브가 가장 좋아보인다.Ionic 을 사용한다면 React 를 사용할 것이고 Typescript 를 사용할 것인데웹을 함께 고려하여 만든다면 React Ionic 으로 기술을 통일하여 생산성을 증가 시키는 것도 좋을 것이다.하지만 기본적으로 Typescript 는 Javascript 에 타입을 만들어 사용하는 것이기에 그러한 부분을 고려하지 않는다면 애초에 타입이 있는 dart 를 사용하는 Flutter 가 나을 수 있다. UI 와 네이티브와 연결하는 메소드 채널 ..
https://editor.swagger.io/#!/ Swagger Editor editor.swagger.io https://swagger.io/docs/specification/about/ About Swagger Specification | Documentation | Swagger What Is OpenAPI? OpenAPI Specification (formerly Swagger Specification) is an API description format for REST APIs. An OpenAPI file allows you to describe your entire API, including: Available endpoints (/users) and operations on each e..
https://velog.io/@0_0_yoon/GIT-git-commit-message-정리 https://www.ag-grid.com/react-data-grid/value-setters/#read-only-edit/ React Data Grid: Saving Values After editing a cell, the grid normally inserts the new value into your data using the column definition field attribute. Download v28 of the best React Data Grid in the world now. www.ag-grid.com https://www.ag-grid.com/react-data-grid/cell-e..
prettier 와 eslint 를 동시에 사용할 때 prettier 가 && 나 || 를 라인의 끝에 위치시키게 되어서 eslint 에서 operator linebreak 경고 메시지를 내뱉는 경우에 eslint-config-prettier 확장을 사용해서 prettier 와 충돌이 있는 eslint 룰을 꺼주는 방법 외에 이 경고 메시지를 나오지 않게 prettier 측이나 vscode 측 설정으로 해줄 수 있는 방법은 없을까요? https://github.com/prettier/prettier/issues/3806 기본적으로 prettier 의 설정에는 관련 설정이 없다고 하는데.... ESLint는 문법 에러를 잡아주거나 더 좋은 코드 구현 방식을 사용하도록 해주지만, Prettier는 줄 바꿈,..
Dockerfile FROM ubuntu:16.10 MAINTAINER Jack Kim RUN apt-get update && apt-get install -y openssh-server RUN mkdir /var/run/sshd RUN echo 'root:newpassword' | chpasswd RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config #SSH login fix. Otherwise user is kiccked off after login RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@..
아래 글은 무시하고 그냥 리액트의 개발 방식 패러다임 때문이다. 순수함수형 방식이라 OOP 를 기본으로 할 때 병렬 처리에 있어 로직도 복잡해지고 UI 교착 상태의 로직을 지속적으로 isolate 하게 다루기도 힘들고 점점 복잡해지기 때문일거라 생각한다. 쓰레드에도 교착상태에 대한 언급이 있기 때문에 그것과 UI 의 상태, 렌더링의 교착상태가 뭔가 비슷해보여서 아래와 같은 생각을 했을 수는 있지만 또한 그러한 이론적 배경의 늬앙스는 맞지만 정확히는 그냥 각 라이브러리들의 개발 방향에 따라 다른 것이고 쓰레드와는 아무 상관이 없다. 쓰레드가 없기 때문. 쓰레드가 있었다면 교착상태에 대한 컨트롤이 가능하므로 객체지향적으로 해도되지만 웹브라우저에 쓰레드는 없으니.. 리액트 컴포넌트는 쓰레드가 없어서 선점형 ..