전체 글(41)
-
안드로이드 네이티브 개발 공부: 1. 처음 만드는 안드로이드 어플리케이션
Chapter 1. 처음 만드는 안드로이드 애플리케이션UI 레이아웃 디자인하기1. 프로젝트 생성하기Empty Activity 보단 Empty View Activity를 선택하는 것이 좋다.참고 글 안드로이드 스튜디오 프로젝트에 왜 Layout폴더, activity_main.xml이 없을까?깡샘의 안드로이드 앱 프로그래밍을 공부하면서도, 지금 Joyce의 안드로이드 앱 프로그래밍을 공부하면서도 프로젝트를 새로 생성할 때 Empty Activity를 선택하라고 해왔기 때문에 당연히 그대로velog.io 2 ~ 3. UI 레이아웃 디자인하기최초로 실행되는 액티비티의 기본 이름 MainActivity액티비티 레이아웃 규칙activity_{액티비티명}ex) SplashScreenActivity -> activit..
2025.04.19 -
안드로이드 네이티브 개발 공부: 0. 책 고르기
React Native로 앱 개발을 하고 있지만, 결국 제대로 하려면 네이티브 개발 공부를 해야 한다는 사실을 느꼈다. 그래서 기초적인 내용이나마 iOS와 함께 Android 네이티브 개발을 공부해보려고 한다. 강의도 좋지만 우선 기본적으로 정석같은 책이 있으면 좋을 것 같아서 하나 추천을 받은게 "실무에 바로 적용하는 안드로이드 프로그래밍"(제4판)이었다. ChatGPT한테 추천받은 책이어서 고민 중이었는데 친구인 호주 개발자인 @chi-chi님도 이 책을 추천해줘서 결정하게 됐다. 이 책으로 조금씩 공부해보고 그걸 기록해보기로 했다. 참고로 ChatGPT가 알려준 이 책의 장점은 이렇다."실무에 바로 적용하는 안드로이드 프로그래밍"(Android Programming: The Big Nerd Ran..
2025.04.17 -
JSX, TSX를 SVG로 변환하기
React Native에서 SVG를 컴포넌트화하여 사용하는 경우가 많은데 이를 위해 SVG -> JSX/TSX로 변환하는 컨버터는 쉽게 찾을 수 있다. 그러나 그 반대의 경우인 JSX/TSX -> SVG로 변환하고자 할 땐 어떻게 해야 할까? 이 경우엔 컨버터나 방법을 찾기 어려웠는데 쉬운 방법이 있다. 바로 JSX/TSX 컴포넌트에서 return 값만을 빼내어 각 컴포넌트들을 svg 태그로 변환해주고svg 태그에 xmlns="https://www.w3.org/2000/svg" 어트리뷰트를 추가해주면 된다.xmlns를 추가해주지 않으면 보통 웹브라우저에선 svg 파일로 인식하지 않고 ‘This XML file does not appear to have any style information associa..
2024.11.04 -
Codepush Standalone 버전 출시 (코드푸쉬 대안)
GitHub - microsoft/code-push-server: Standalone CodePush server from App CenterStandalone CodePush server from App Center. Contribute to microsoft/code-push-server development by creating an account on GitHub.github.com🎉🎉🎉 코드푸쉬 standalone 버전이 출시되었습니다 🎉🎉🎉 MS가 Appcenter 서비스를 종료함에 따라 CodePush도 자연스레 종료하게 되었는데요. 😢 (관련내용: https://learn.microsoft.com/en-us/appcenter/retirement ) 대신 Standalone 버전..
2024.09.30 -
React Native에서 상수 선언시 주의점
개발을 하다보면 상수 선언을 할 때가 많은데 React, 특히 React Native에 상수를 선언할 때 특히 주의해야 할 점이 있다. 컴포넌트 외부에 상수를 선언하면 그 상수는 컴포넌트의 갱신주기 및 라이프사이클을 완전히 벗어나게 된다. 일반적인 경우 큰 문제되지 않지만, 실제로 그것이 고정된 값(상수)가 아니라 어떤 조건에 따라 변화하는 값을 다룰땐 주의해야 한다. 특히 시간과 같이 실제로는 내부적으로 변화되어야 하는 값을 상수로 처리할때 주의해야 한다. 아래 예시를 보자.참고로 moment는 현재 시간을 가져오기 위해 사용한 타임 라이브러리의 일종이다....const NOW_TIME = moment() // 컴포넌트 외부에 선언된 상수export default function ExampleComp ..
2024.09.11 -
코드조각: 중복없이 아이템 랜덤뽑기 (Array에서 n개 꺼내기)
여러 아이템이 들어있는 Array에서 아이템을 랜덤으로, 그리고 중복없이 n개 뽑아내는 로직입니다. array를 ['a', 'b', 'c', 'd', 'e'], cnt를 3으로 하면 ['c', 'b', 'a'] 등의 식으로 랜덤으로 뽑습니다. 단, ['c', 'b', 'c'] 와 같이 중복되는 값은 나오지 않습니다. 요새 TypeScript를 사용해서 TS로 짜봤습니다. 자세한 코드는 아래를 참고하세요. 혹시 JavaScript 버전을 원하시면 댓글로 알려주세요. /** * @param array 아이템 리스트 * @param cnt 뽑을 아이템 개수 * @returns 랜덤으로 추출된 아이템 리스트 */ const getItemRandomly = (array: any[], cnt: number): an..
2023.12.10