git clone nodejs lts 관리자 모드 nodejs command corepack enable프로젝트 디렉토리 가서 yarn set version berry yarn gradle.propertiesorg.gradle.java.home=C:\\Users\\i5\\AppData\\Local\\Programs\\Android Studio\\jbr JAVA_HOMEC:\Users\i5\AppData\Local\Programs\Android Studio\jbr C:\Users\i5\IdeaProjects\MyProject\mobile\myproject\node_modules\react-native\ReactAndroid\cmake-utils fix build failure on windows in ..
map() 메서드는 원본 배열의 각 요소를 변환하여 새로운 배열을 생성합니다. 이때, 원본 배열의 요소가 객체인 경우, map() 메서드로 생성된 새로운 배열의 각 요소는 원본 배열의 객체를 참조하게 됩니다. 따라서 새로운 배열의 객체를 수정하면 원본 배열의 해당 객체도 영향을 받습니다. const originalArray = [{ id: 1, value: 'a' }, { id: 2, value: 'b' }];const newArray = originalArray.map(item => item);// 새로운 배열의 첫 번째 객체 수정newArray[0].value = 'z';console.log(originalArray[0].value); // 출력: 'z' 위 코드에서 originalArray와 new..
https://reactnative.dev/blog/2024/10/23/the-new-architecture-is-herehttps://reactnative.dev/blog/2024/10/23/release-0.76-new-architecture 새로운 아키텍처 - 새로운 네이티브 모듈 => 네이티브 인터페이스에 직접 접근 가능한 네이티브 모듈, 네이티브 컴포넌트 지원 - 새로운 렌더러 - 이벤트 루프 => 웹과 더 유사하게 작동, - 브릿지 제거reactnative.directory새로운 피처 (리액트 18 완벽 지원, 동시성 피처, useLayoutEffect) - Transitions (Urgent updates, Transition updates) - Automtic Batching => conc..
Reusing Logic with Custom Hooks커스텀 훅으로 로직 재사용하기https://youtu.be/y78eaFcoh0g?list=PLjQV3hketAJkh6BEl0n4PDS_2fBd0cS9v https://react-ko.dev/learn/reusing-logic-with-custom-hooks https://react.dev/learn/reusing-logic-with-custom-hooks https://ko.react.dev/learn/reusing-logic-with-custom-hooks
create-expo 명령어 https://docs.expo.dev/more/create-expo/ Ex. 52beta 순수 expo 앱 (2024년 10월 30일 기준 최신 버전 sync with RN 0.76)yarn create expo-app --template default@betayarn create expo-app --template bare-minimum@beta https://reactnative.dev/docs/getting-started-without-a-framework여전히 expo framework 없이 react-native cli 를 사용해서 프로젝트를 생성하고 싶다면 다음과 같이 사용 npx @react-native-community/cli@latest init RN76Sa..
Weed cutting 과 Remove empty sentences, Focus on key message. 모두가 이해할 수 있고 모두에게 무해한가? 단순히 정보를 전달하는 것을 넘어 사용자의 감정에 공감했는가? 특정 행동을 강요하거나 공포감을 주고 있지 않은가? https://toss.tech/article/8-writing-principles-of-toss https://velog.io/@my_raeya/posts
LeetCode에서 제공하는 문제의 각 토픽들은 알고리즘과 자료구조의 핵심적인 영역을 다룹니다. 이 토픽들이 알고리즘과 자료구조의 전체를 대표한다고 할 수는 없지만, 대부분의 중요한 개념과 기술들을 포함하고 있습니다. 아래는 각 토픽이 의미하는 바를 간략히 설명한 것입니다.주요 알고리즘 및 자료구조 토픽 설명Array (배열): 데이터를 선형으로 나열한 자료구조로, 접근 및 수정이 O(1)인 자료구조입니다.String (문자열): 문자로 이루어진 시퀀스 처리 문제를 다룹니다. 주로 문자열 검색, 패턴 매칭, 변환 등의 문제들이 포함됩니다.Hash Table (해시 테이블): 데이터를 키-값 쌍으로 저장하는 자료구조로, 평균적으로 O(1) 시간에 검색, 삽입, 삭제가 가능합니다.Dynamic Program..
자료형으로서의 타입 -변수에 저장할 수 있는 값의 종류는 프로그래밍 언어마다 다르다. 최신 ECMAScript 표준을 따르는 자바스크립트는 7가지 데이터 타입 (자료형)을 정의한다.undefined, null, Boolean, String, Symbol, Numeric (Number/BigInt), Object 타입을 확인하는 방법타입스크립트에서 typeof, instanceof 그리고 타입 단언을 사용해서 타입을 확인할 수 있다.typeof 는 연산하기 전에 피연산자의 데이터 타입을 나타내는 문자열을 반환한다.typeof 연산자가 반환하는 값은 자바스크립트 7가지 기본 데이터 타입(Boolean, null, undefined, Number, BigInt, String, Symbol) 과Function ..
react-query 즉 Tan Query 를 통해 서버 상태를 선언적으로 관리하여 많은 문제 해결을 할 수 있습니다. 아래와 같은 시나리오를 가정해보죠. 현재는 리덕스 툴킷을 사용하여 프론트 측의 전역 상태에 스키마를 정의하고 정규화를 수행하면서 채팅앱을 구현하였습니다.로그인한 내가 있고 나는 프로필 이미지와 성별, 닉네임, 이미지들, 게시물들, 등등의 정보를 가집니다.일대일 채팅방은 채팅방 아이디, 마지막 메시지 타입, 마지막 메시지 내용, 채팅방 참여자 두명의 정보, 읽지 않은 갯수 등의 정보를 가집니다.채팅 메시지는 아이디와 타입, 내용, 보낸사람 아이디, 보낸사람 닉네임, 받는사람 아이디, 받는사람 닉네임, 채팅방 아이디 등의 정보를 가집니다.게시물은 아이디, 제목, 이미지, 작성자, 좋아요 ..
react-query 는 서버 리소스 기준으로 fetching 하고 상태관리 하는 라이브러리라고 보면 되겠죠? 간단하게 사용할 때는 유용할 거 같긴한데 redux, thunk 조합 보다 유연성은 떨어질 거 같은데 또 redux-persist 같은거 사용도 안 될 거 같고, 두개를 동시에도 많이 사용하시나요?저는 개인적으로 그냥 올라운드라 커버 가능한 redux, thunk 조합을 사용하는게 일관되고 유연성이 있어서 더 좋아보이긴 하는데요.. 그럼 redux, thunk 기본 조합에 캐싱? 그런 기능 필요시 그에 맞게 추가해야겠죠? react-query 는 그냥 그 자체만으로 따로 취급해야 하는거겠죠? redux, thunk 방식에 react-query 를 연동한다던가 하는 그런 성격의 것은 아닌거죠?만약..
리액트 props 의 형태에 관한 질문 리액트에서 props 형태는 props 에 a , b, c , d 라는 프로퍼티가 있을 때 가령 b 를 배열, c 를 객체, d 를 깊이가 2 나 3인 객체 라고 하면 d 와 같은 형태는 사용하지 않는게 좋나요? 아니면 2중 3중 깊이의 객체나 배열도 그냥 불변성으로 항상 새로운 걸 만들어 넣는다는 개념으로 사용해도 될까요? 왠만하면 1깊이의 객체까지 한정해서 사용하고 불가피하게 필요할 경우에만 2중 3중 깊이의 객체를 사용할까요? 서버에서 받은 리스트 데이터를 넘겨줄 경우 하위 컴포넌트로 리스트 아이템 컴포넌트가 있을 때 리스트 데이터가 항상 새로운 불변의 객체니깐 하위인 리스트 아이템은 항상 리렌더링 되겠죠? 루프를 돌면서 map 같이 그려주는 경우 key 를 ..
타입스크립트에서 구조적 타이핑으로 인해 유니온 타입의 논리가 조금 이상한데 이유가 뭘까요? 다음 예시를 보면 오류를 내지 않고 있어요. 그래서 유사한 구조의 타입들을 구분하기 위해서는 Discriminated Unions 를 사용하라고 하는데요. 애초에 유니온을 만들때 부터 정확한 논리구조로 만들 수는 없는 것이었을까요? 구조적 타이핑, 덕 타아핑의 한계로 인해 어쩔 수 없는 것인가요? 다음의 예시에서 data 는 a, b, c, d 속성을 모두 가지고 있음에도 에러를 내지 않는다. type A = { a: string; b: string;}type B = { a: string; b: string; c: number;}type C = { a: string; b: string; d: () =..
서버 클라 데이터 주고 받기에 대한 타이핑으로 생각하면 스위프트나 코틀린 같은데도 그거 파싱하는거 머리 아픈데 타입스크립트는 생각해보니 그런게 처리가 유연하겠네요.any 로 다루다가 결국은 서버 클라 측에서 스펙을 완전히 정리한다면 모두 타입으로 구현한다고는 본거 같긴한데 그러고 보니 string 덩어리 키 값들이 있을수 있으니 그런거 축약해서 쭉 넣어줄 수 있으니 그런측면에서 고급기능이라 볼 수 있겠네요. 타입스크립트(TypeScript)의 독특한 타이핑 기능들이 자바(Java), 스위프트(Swift) 같은 정적 타입 언어들과 비교할 때 복잡하게 느껴질 수 있지만, 이는 동적 언어인 자바스크립트(JavaScript)의 특성과 그 사용 사례에 맞게 설계된 것입니다. 이러한 기능들이 도입된 이유와 그 ..
sehyunny (sehyun hwang) / 작성글 - velog A different way to think about TypeScript (rob.directory) "타입스크립트의 타입 시스템은 타입에 대해 동작하는 순수 함수형 언어로 생각할 수 있습니다"라는 말은, 타입스크립트의 타입 시스템이 일종의 함수형 프로그래밍 언어처럼 작동한다는 것을 의미합니다. 이를 이해하기 위해서는 먼저 순수 함수형 언어가 무엇인지 알아야 합니다.순수 함수형 언어란?순수 함수형 언어는 함수형 프로그래밍 패러다임을 따르는 언어로, 다음과 같은 특징이 있습니다:순수 함수: 동일한 입력에 대해 항상 동일한 출력을 반환하며, 함수 외부의 상태를 변경하지 않는 함수입니다. 즉, 부작용이 없습니다.불변성: 데이터는 한 번 정..
0.73 Hermes를 사용한 디버깅 개선, 안정적인 심볼릭 링크(symlink) 지원, 안드로이드 14 지원 및 새로운 실험적 기능을 추가합니다. 기존 디버깅 기능을 폐지하고, 새 아키텍처의 브릿지리스 모드(Bridgeless Mode)를 출시. 주요사항 디버깅 개선 Metro에서의 안정적인 심볼릭 링크 지원 안드로이드에서의 코틀린 템플릿 안드로이드 14 지원 새 아키텍처 업데이트 폐지된 디버깅 기능 디버깅 개선: Hermes에서의 콘솔 로그 기록: console.log() 로그가 이제 백그라운드에서 캡처됩니다. 앱 초기 로드 로그 관찰이 더 쉬워졌습니다. Flipper, Chrome DevTools 및 새로운 실험적 디버거와 호환됩니다. 업데이트된 디버깅 문서: 최신 정보로 새롭게 단장된 문서. 지원..
https://reactnative.dev/docs/animations#tracking-gestures https://m.blog.naver.com/armigar/221930494683 Animated.Value 를 useRef 사용하여 변수로 잡고 Animated.timing, Animated.spring ... 와 같은 것으로 값을 변경하여 해당 Animated.View 와 같은 것의 style 에 셋팅한 Animated.Value 값을 변화시켜 애니메이션을 통해 움직이게 할 수 있다. 그리고 또한 Animated.View 같은 것은 사용자 제스쳐에도 움직이는데 그것의 이벤트에 Animated.Value 를 셋팅해주면 또한 트래킹이 가능하다. 그래서 스크롤 뷰 페이저 같은걸 구현.
yarn add @react-native-firebase/app @react-native-firebase/messaging @notifee/react-native 설치시 이슈 1. The Swift pod `FirebaseCoreInternal` depends upon `GoogleUtilities`, which does not define modules. To opt into those targets generating module maps (which is necessary to import them from Swift when building as static libraries), you may set `use_modular_headers!` globally in your Podfile, or sp..
스트라이프로 결제를 받고 (글로벌 PG 사임) - 수수료가 5% 에 건당 50센트라는 말이... https://stripe.com/ 페이오니어로 대금 지급을 받는다. 스트라이프 결제 대금을 해외 계좌로 받아야 하기 때문 https://www1.payoneer.com/ko/ 페이팔은 가끔 사기 방지를 위해 대금지급이 잘 안될 경우가 있다. 페들이라는 PG 사도 있다. https://www.paddle.com/ 이커머스: 판매가 - (물건가 + 배송비 + 결제 대행 수수료 + 마케팅 + 대금지급 수수료) 앱비지니스: 판매가 - 애플 수수료 메인 업종 하나와 전자상거래 만 있으면 된다. 매출규모가 커지면 업종을 추가해야 하는게 맞는데 꼭 업종이 있어야만 매출을 만들수 있는것 만은 아니어서 => 금액이 크거나 ..
https://bbiguduk.gitbook.io/swift/language-guide-1/protocols#protocol-composition
여기서 some 이 opaque type var body: some View {} 배열을 업캐스팅해서 각 아이템들을 다르게 보여주어야 할 경우 1. 각각을 명시적으로 클린하게 단순 pure 하게 만들고 Any 타입으로 해서 루프를 할 것인가, 2. opaque type 으로 some 상위 로 해서 여러타입의 하위들이 리턴되도록 루프를 할 것인가. 우선은 1 번이 깔끔하고 편하고 좋아보인다. https://bbiguduk.gitbook.io/swift/language-guide-1/opaque-types
목적: 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 의 상태, 렌더링의 교착상태가 뭔가 비슷해보여서 아래와 같은 생각을 했을 수는 있지만 또한 그러한 이론적 배경의 늬앙스는 맞지만 정확히는 그냥 각 라이브러리들의 개발 방향에 따라 다른 것이고 쓰레드와는 아무 상관이 없다. 쓰레드가 없기 때문. 쓰레드가 있었다면 교착상태에 대한 컨트롤이 가능하므로 객체지향적으로 해도되지만 웹브라우저에 쓰레드는 없으니.. 리액트 컴포넌트는 쓰레드가 없어서 선점형 ..
https://developer.apple.com/documentation/uikit/app_and_environment/managing_your_app_s_life_cycle Apple Developer Documentation developer.apple.com https://developer.android.com/guide/components/activities/activity-lifecycle?hl=ko 활동 수명 주기에 관한 이해 | Android 개발자 | Android Developers 활동은 사용자가 전화 걸기, 사진 찍기, 이메일 보내기 또는 지도 보기와 같은 작업을 하기 위해 상호작용할 수 있는 화면을 제공하는 애플리케이션 구성요소입니다. 각 활동에는 사용자 인터페 developer...
sqflite vs moor vs hive https://blog.codemagic.io/choosing-the-right-database-for-your-flutter-app/ Choosing the right database for your Flutter app | Codemagic Blog There are many Flutter database options. Learn which database is the best for your Flutter app – SQflite, Moor, Firebase or Hive. blog.codemagic.io
https://grow-grow.tistory.com/9 Flutter ListTile 프로퍼티 정리 문서 ListTile 프로퍼티 종류 자주사용하는 프로퍼티들은 제외 const ListTile({ Key? key, this.leading, this.title, this.subtitle, this.trailing, this.isThreeLine = false, this.dense, this.visualDensity, th.. grow-grow.tistory.com
https://api.flutter.dev/flutter/material/ReorderableListView-class.html https://mixable.blog/flutter-add-drag-handle-to-reorderablelistview/ https://medium.flutterdevs.com/reorderable-listview-in-flutter-731324f0677b
현재 프로젝트에 적용하기 위한 ranking 로직으로는 GreenHopper 방식이 적합해보인다. lexoRank 가 좋은 것이긴하지만 너무 복잡하다. 드래그앤드랍 이동이 있으며 모든 관련 Row 를 업데이트 하고 싶지는 않다. 하지만 그래도 거의 무한대의 순서변경이 가능하도록 하기 위해서는 셋오프 값을 좀 크게 잡아주면 될 것이다. 100000000 으로 일억 정도 잡아주면 되지 않을까? 새로 추가될 경우에는 일억, 이억, 삼억, ... 십억, 십일억, .... 100억 기준이 좋을 듯 보인다. https://stackoverflow.com/questions/1848700/biggest-integer-that-can-be-stored-in-a-double 9007199254740992 (90071 / ..
GraphQL 이 유명세를 타면서 이를 실제로 상업적인 서비스에 적용하는 경우가 많은 것으로 보인다. 그런데 이를 사용하면서 뭐가 이상하게 찜찜하게 이건 아닌데... 하는 생각이 든다. 왜지? ... 우선 과거의 rest api 와 rest 스러운 api 를 사용하는 경우와 프론트엔드 측인 mobile application 의 모델의 경우를 보자. 이는 GraphQL 과 Rest api 의 장단점에 대한 것은 아니고 과거 관계형 DB 를 사용하는 경우의 rest api 의 응답을 프론트엔드 측의 모델에 어떻게 서로 간의 규약을 정하여 프론트엔드와 백엔드가 각각 최대한 덜 의존적으로 작업을 지속적으로 할 수 있는가에 대한 고찰을 우선적으로 함으로서 주어진 문제에 대해 접근해 나가기 위함이다. 만약 rest..
https://blog.codemagic.io/environments-in-flutter-with-codemagic-cicd/ https://github.com/codemagic-ci-cd/codemagic-sample-projects/tree/main/flutter/flutter-flavors-demo-project https://medium.com/@animeshjain/build-flavors-in-flutter-android-and-ios-with-different-firebase-projects-per-flavor-27c5c5dac10b https://docs.flutter.dev/perf/app-size#reducing-app-size * Run Debug By default, flutter ..
https://www.youtube.com/watch?v=WlJszSmK_es
Anders Hejlsberg (typescript) https://twitter.com/ahejlsberg?lang=en Javascript https://github.com/dmk3141618/clean-code-javascript-ko vanilla & ES6 & Vue https://joshua1988.github.io/vue-camp/textbook.html Typescript Handbook https://joshua1988.github.io/ts/intro.html Typescript 및 좋은글 많음 https://darrengwon.tistory.com/768 JavaScript Standard Style https://standardjs.com/rules-kokr.html Polyfill..
https://flutter-ko.dev/docs/deployment/android Android 앱 출시 준비하기 Flutter 앱을 개발하는 동안, 커멘드 라인에서의 `flutter run`을 실행하거나IDE에 있는 툴바 **Run** 과 **Debug**를 선택하여 앱을 테스트할 수 있습니다. Flutter는 기본적으로 앱의 _debug_ 버전을 빌드합니 flutter-ko.dev 로컬에서 릴리즈 빌드를 위한 설정. keytool -genkey -v -keystore ~/someapp-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias someapp-release-key flutter run -t lib/main_dev.dart --f..
https://stackoverflow.com/questions/55399209/update-flutter-dependencies-in-pub-cache Update flutter dependencies in /.pub-cache I erased in my folder .pub-cache/hosted/pub.dartlang.org/this_plugin What is the command to update the dependencies inside pubsec.yaml? I believe it is flutter packages get The folder under .... stackoverflow.com
replace는 일반적으로 뭔가 유형의 것을 대신하는, 대신해서 자리를 차지하는 의미가 강하며, supersede는 계약서 계약조건과 같은 무형의 것에 관해서 전에 있던것을 무효화하고 이것으로 대신한다는 의미가 큽니다. 이것과 비슷한 의미로는 override 가 있습니다.
humble, modest : 겸손한 / humble 이 동사로 사용되면 ‘경멸하다’ 라는 뜻. 또한 humble 은 ‘천한’ 이라는 의미도 가짐. 껍질 : husk, shell, skin / shell 은 조개 껍데기 같은거, skin 은 가죽이나 사람피부등, husk 는 말그대로 껍질. leisurely : 여유있는 (리줠리) scoff, ridicule : 비웃다. consist of 는 consisting of , consisted of 등의 형태를 가질 수 있는데 이는 모두 시제만을 반영한다. 수동의 의미로서 ing 와 ed 가 붙는 것이 아니다. comprise 는 타동사로 A comprises B and C 와 같이 사용하며 A 가 B와 C를 포함한다. 즉 B 와 C 로 구성되어 있다라는 의..
go past : pass by, go past, get by, wear on, to pass by someone or something. You went right past Tom. Did you mean to? Did I go past it? 지나다, surpass, go beyond, 능가하다. depot : bus depot, bus stop, railway station situated : 위치해있는 underground : 지하철, 지하의, 급진운동 arcade : 지붕이 있는 가로, 아케이드, 아치, 게임센터 argyle : 마름모 색무늬가 있는, 마름모 색무늬의 짧은 양말 tone deaf : 음치, I’m tone deaf. deafness : 귀머거리
maharajah’s choice 인스턴트 음식 조리법. Marharajah’s Choice brings you a Lucknow Nawabi specialty, Vegetable Biryani. A fragrant basmati rice preparation with vegetable curry. COOKING INSTRUCTION This product may contain nuts or nut traces. DO NOT CONSUME IF POUCH IS LEAKING OR BLOATED. 100% Australian owned family business pioneers in Indian Food since 1970. Please visit our Website at www.maharajahsch..
coherent : 일관성 factual : 사실의 seamless : 원활한 omission : 생략 vitally : 참으로 consequently : 따라서, 결과적으로 relevant : 관련된 precious : 귀한, 귀여운, 몹시 pitfall : 함정 leave out : 생략, 생략하다 evolve : 진화시키다, 방출시키다, 전개하다, 끌어내다 be willing to : 기꺼이 ~ 하고자 하다, 주어의 강한 의지를 표현하고자 할 때.
be likely to : ~할 확률이 높다, ~하기 쉽다, ~할 것 같다, ~하는 경향이 있다 superannuation : 노후, old age / 연금을 말하기도 함, 실제로 연금은 pension, informal confinement, annuity / pension 은 집같은 펜션도 의미. aforementioned : 전술한, 앞서 말한 advocate : 변호사 candidate referral : 후보 추천 notice period : 통지기간, 보통 영,미,호주 권에서 직업을 구할 때 지원서 작성시 notice period를 물어봅니다. 이전 회사에서 바로 일을 그만두고 이동할 수 없으므로 그것을 마무리할 수 있는 기간을 물어봅니다. 금융권 업무의 경우 보안성도 강해서 3개월까지도 기간을..
endeavour : https://translate.google.co.kr/?ie=UTF-8&hl=ko&tab=wT#en/ko/endeavour 노력, 역행 / 시도하다, 노력하다, ~ 하려고 노력하다, 분발하다. replenishment : http://www.thefreedictionary.com/replenishment 1. To fill or make complete again; add a new stock or supply to: replenish the larder. 2. To inspire or nourish: The music will replenish my weary soul. talk someone’s ear off : 출처 : http://cafe.daum.net/conquerthe..
Mr. President and Mrs. Kim, Thank you for your gracious and warm hospitality [complementary close] 비즈니스 : Best regards, Sincerely, Sincerely yours, Kind regards 안면이 있는 관계 : Best wishes, Cheers, 친할 경우 : take care now, bye now, Til next time, later, Your truly(좀 끈적함), yours forever(연인), kisses and hugs(여자들이 주로) 오바 : Your humble servant, Wishing you the very, very best, humbly yours, your servant [..
liaison 리에이젼 https://translate.google.com/?hl=en&tab=mT#auto/ko/liaison 연락 veterinary 베터너리 https://translate.google.com/?hl=en&tab=mT#auto/ko/veterinary 수의사, 수의의, 수의학의 proactive 순향의, 앞을 내다보고 행동하는, 미리 대책을 강구하는 calibre 깔리브레 / 구경, 직경, 도량, 재간, 가치 facilitation https://translate.google.com/?hl=en&tab=mT#auto/ko/facilitation 용이하게 함, 촉진, 조장 stakeholders https://translate.google.com/?hl=en&tab=mT#auto/ko..
Present and past Present Perfect and past Future Modals If and wish Passive Reported speech Questions and auxiliary verbs -ing and the infinitive Articles and nouns Pronouns and determiners Relative clauses Adjectives and adverbs Conjunctions and prepositions Prepositions Phrasal verbs [Grammar in use summary – 현재, 현재진행] 일반적인 상황일 때 현재형을 쓴다. 맨날 (all the time) 또는 반복적 또는 일반적으로 사실일 때. Nurses look af..
다행이다. It started to rain all of a sudden. Good thing I brought my umbrella today. Good thing I have a smart friend like you. It is good to see you well. It was a close call/shave. It was a narrow escape. Thank God you came out alright. Good thing you weren’t seriously hurt. You could have gotten in a big trouble. You were very lucky. ~는 좀 아닌거 같아. I don’t know about this dress… It’s expensive but..
오늘 상대할 핵심 영어 패턴은 ‘happen to’ 되겠습니다. 거두절미하고 몇가지 예문으로 바로 들어가서 이 녀석의 성질을 직접 겪어보기로 하지요. 똑같은 일이 작년에 저한테도 일어났어요 > The same thing happened to me last year. 이런 일은 나한테 항상 일어나 > That happens to me all the time. 네, happen to + 명사 (주로 사람) 인 경우, ‘어떤일이 일어나다’는 뜻이 됩니다. 그런데 뒤에 명사가 아니라 동사가 오면…? ‘혹시 ~ 한적 있나요?’ 가 되어버립니다, ㅋ. 영어로 된 예문을 몇개 보죠. 혹시 그 음식점 이름을 아시나요 ? > Do you happen to know the name of the restaurant ? 혹시..
Windsor Castle UK
Uk Reading
멜버른 플린더스 역 주변, Flinders Station Melbourne
호바트 해안가 및 케미스트리, Narrara backpacker and cheap and good share or unit contact.
데본포트의 콜스 비치. 나름 조용히 산책하거나 수영하기 괜찮은 곳. 주변 집들도 살기 좋아 보임.
After finishing a work in the morning I took a shower and asked vicroad for how to transfer or got my car in Tasmania to Melborne. I have to call to 131171 (Vicroad) and reserve an inspection. Then they will give me date and place info for the inspection. And finishing this, I can buy a car plate in Victoria. The inspection fee is about $46, the plate fee is about $37. After that I can rego in V..
호주로 출국은 10.14 이지만 도착은 그 다음날 10.15일 오전. airasia.com 에서 쿠알라룸푸르를 경유하여 시드니로 가는 비행기가 가장 저렴하여서 이 비행기를 이용하였습니다. 바로 타즈매니아로 가려고 생각하고 있었기 때문에 시드니에서는 백패커에서 하루만 묶고 국내선으로 이동할 계획이었습니다. 시드니 공항에 10.15 오전에 도착하면 airport train 을 타면 townhall 이나 kingscross 에서 쉽게 백패커를 구할 수 있는데 저는 어디로 가야하는지를 몰라 그냥 400번 버스를 타버렸습니다. 일단 공항에서 OPTUS 심카드를 사서 제 갤럭시 노트를 활성화시켰습니다. 400번 버스를 타고 무작정 시외로 빠져나갔습니다. 공항 주변을 걸어보았지만 걸어서는 도무지 빠져나갈 구멍이 없어..
➜ ~ cd Library/Developer/CoreSimulator/Devices ➜ Devices find $PWD -name "some.db" -print /Users/mac/Library/Developer/CoreSimulator/Devices/8AA28206-8291-4682-84E2-962D4B72B4C3/data/Containers/Data/Application/D7B4B60F-1101-4D96-B7E0-8DB7E1AAD69B/Documents/some.db
sudo gem uninstall cocoapods brew link --overwrite --dry-run cocoapods brew install cocoapods brew link --overwrite cocoapods android studio 재시작... 메뉴에서 invalidate 해서 캐시 날리면서 재시작해도 좋아보인다. 아마 ruby gem 으로 설치되어 있는 기본 cocoapods 의 링크가 깨어지거나 한 듯 보인다. brew 의 cocoapods 가 더 나은 듯 보인다. 이전에는 ruby gem cocoapods 의 경우 오래된 맥북 프로에서는 최신 버전의 cocoapods 가 설치가 되지 않는 문제도 있었다. 그래서 brew 로 cocoapods 를 사용하는 것이 좋아 보인다.
윈도우에서는 안드로이드 빌드 밖에 되지 않지만 윈도우 11 PC 의 속도와 편리함을 무시할 수 없기에 윈도우 환경에서 개발도 상당한 메리트가 있다. 그래서 관련 이슈를 정리. 윈도우 10 이나 윈도우 11 의 콘솔에서 yarn 이나 다른 명령어들 사용시 "이 시스템에서 스크립트를 실행할 수 없으므로..." 에러시... Get-ExecutionPolicy 로 확인. 아마도 Recstricted 로 되어 있을 것. get-help Set-ExecutionPolicy 전부 y 할 것. Set-ExecutionPolicy RemoteSigned 해주면 된다. 전부 y 할 것. eslint 의 CRLF , LF 문제 해결. https://simsimjae.medium.com/vscode%EB%A5%BC-%EC%8..
Lower Camel Case: function, method, variable, constant Upper Camel Case: class, struct, enum, extension /// for logging - print - dump: description property 까지 출력. /// String Interpolation import Swift let age: Int = 10 print("Hello! I am \(age) years old") print("Hello! I am \(age + 1) years old") /// constant: let, variable: var let name: type = value var name: type = value type 이 명확하다면 type 은..
https://pub.dev/packages/graphql_flutter https://pub.dev/packages/graphql_flutter/example flutter pub add graphql / dart pub add graphql flutter pub remove graphql / dart pub remove graphql https://hasura.io/learn/ https://hasura.io/learn/graphql/intro-graphql/graphql-vs-rest/ https://hasura.io/learn/graphql/flutter-graphql/introduction/
https://pub.dev 권한 요청 https://pub.dev/packages/permission_handler https://github.com/Baseflow/flutter-permission-handler/blob/master/permission_handler/README.md https://github.com/Baseflow/flutter-permission-handler/blob/master/permission_handler/example/ios/Runner/Info.plist 휴대폰 연락처 정보 얻기 https://pub.dev/packages/contacts_service Android 휴대폰 번호 얻기 https://pub.dev/packages/mobile_number
initializer list https://stackoverflow.com/questions/50274605/colon-after-constructor-in-dart 아래와 같이 생성자 뒤에 콜론 : 뒤에 오는 로직은 생성자로 인한 객체가 생성되기 전에 수행된다. assert 도 해줄 수 있고 초기값을 넣어줄 수도 있다. super 를 호출해줄 수도 있다. 아직 객체가 생성되기 전이기 때문에 this 를 붙이지 않는다. 실제 생성자의 파라미터에 네임드 옵션에는 this 를 붙이는데 이런것 때문에 혼동되지는 말고 그냥 각각의 사용법일 뿐. 그냥 굳이 말하자면 아직 객체 생성전이라 그렇다고 생각하면 이해하기 편하다. FbAuth() : _firebaseAuth = FirebaseAuth.instance; ..
https://pub.dev/packages/table_calendar TableCalendar( firstDay: DateTime.utc(2010, 10, 16), lastDay: DateTime.utc(2030, 3, 14), focusedDay: DateTime.now(), ); firstDay: 캘린더에서 가능한 첫째일. 이 날짜 이전에 접근불가. lastDay: 캘린더에서 가능한 마지막일. focusedDay: 현재 타겟되는 날짜. 몇월을 보여줘야 하는지 결정해준다. selectedDayPredicate: (day) { return isSameDay(_selectedDay, day); }, onDaySelected: (selectedDay, focusedDay) { setState(() { _s..