| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- frontend
- dev
- Python3
- 깃 꼬였을 때
- 파이썬코테함수정리
- 파이썬 코테준비
- 앱개발기능추가
- 코테준비
- 환경변수사용
- 깃 충돌시
- 깃 충돌 해결방법
- Git협업
- 앱사용자행동추적
- CSS
- 파이썬 코테 함수
- 백엔드
- 위키피디아검색창
- HTML
- 프론트엔드
- 앱사용자추적
- git방식
- It
- JavaScript
- env사용
- 개발자
- 깃협업
- 앱개발
- 앱에 팝업띄우기
- kotlin
- 코틀린
- Today
- Total
목록STUDY/App (9)
zooooss
사용하는 이유는 여러가지이다!첫 번째는 보안, 두 번째도 보안, 세 번째는 협업, 네 번째는 환경별 다른 설정(개발용, 배포용 등) 다섯번째는 여러 서비스 키 관리 등이 있당해당 내용은 앱에서 env 사용하는 경우이므로,서버나 스크립트에서import 'dotenv/config';/process.env.KEY,process.cwd(), path.join 등 Node.js API 사용하여.env 파일을 런타임에 읽어서 process.env에 주입하는 것과는 별개의 방법임!!을알고 사용하자!우선 react-native-dotenv 패키지가 필요! 1. 패키지 설치npm install react-native-dotenv 2. 프로젝트 루트에 .env 파일 생성AMPLITUDE_API_KEY=2b645b2935a..
1. 설치npm install @amplitude/analytics-react-nativenpm install @react-native-async-storage/async-storage **문제됐던 부분**설치 후 ios에 pod install 해줘야 했는데, XCode 버전 문제로 인해 Mac Software Update 하려고 보니 또 용량문제로..(다음 맥은 꼭 용량 큰걸로..) 드라이브 옮기고 등의 작업 해준 이후에!다!시!XCode 재설치 후sudo xcode-select --switch /Applications/Xcode.app/Contents/Developersudo xcodebuild -license accept이후드디어!brew install cocoapodsios에서 pod instal..
아래 사진과 같이 작가이름을 클릭할 수 있다는 것을 사용자가 ui로 알아차릴 수 있도록 돋보기 이모티콘을 추가해주고,작가 이름을 클릭했을 때, 작가 정보에 관련한 위키피디아 검색이 가능할 경우 웹뷰로 창을 띄워 정보를 제공해주는 기능을 추가하고자 했다!작가이름을 클릭했을 경우(돋보기 포함), 아래와 같은 위키피디아 창이 열리도록 구현하였다.1. 패키지 설치 및 import문npm install react-native-webviewimport { Modal } from 'react-native';import { WebView } from 'react-native-webview';2. 상태관리 변수 추가const [showWiki, setShowWiki] = useState(false);const [wiki..
사용이유1. 개발 중인 어플에서 사용자가 요소를 선택할 때마다 매번 크롤링 => 로딩시간 지연2. 사용자가 증가한다면 크롤링 횟수가 많아져 해당 웹사이트에서 내 서버를 차단할 확률이 높아짐.사진과 같이 상세페이지에 접속할 경우 크롤링해야하는 요소가 많아 로딩시간이 지연되었습니다.이를 매 접속마다 크롤링 하는 것은 비효율적이며, 유저들이 머무르지 않을 것이라 생각하였습니다. 따라서, 일주일을 주기로 두고 한 번 크롤링을 진행한 정보들을 어딘가에 담아두고 계속 재사용(빠르게) & 7일째에 재크롤링하여 정보 업데이트(이건 7일 이후 첫 사용자에 의한게 아니라 정해진 시간에 자동 업데이트 되도록)를 구현하기 위해 캐시를 설계하게 되었다!Node File System 모듈 사용1. import문 생성서버코드에 필..
AsyncStorage 사용 목적: 현재 개발 중인 앱은 사용자인증이 필요하지 않음!따라서, 유저기능이 없으므로 기기별로 저장한 값이 계속 유지되어야 함(앱 종료시에도)내가 개발하려는 앱의 로직 정리AsyncStorage로 북마크 저장각 메인 페이지(KrMain, UsMain, JpMain)에 북마크 버튼별도의 Bookmark 페이지에서 북마크한 책 목록 보기북마크 추가/삭제 기능여기서 문제점,, 하나를 더 마주치게 되었다.내 앱은 1주일 간격으로 책 정보와 순위가 업데이트 됨으로써 모두 변동된다.고로, 이에 맞춰 북마크 기능도 refresh를 시켜야한다는 것이를 고려하여 개발하지않으면북마크해둔 책의 정보들이 꼬이게될 것이므로 유의해야함 * 을 인지해두고!시작한다. (현재에는 접속시 크롤링을 매번 실행하..
해당 프로젝트는 안드로이드 앱과 구글 시트를 연동하여,외부 데이터를 앱 화면에서 실시간으로 확인할 수 있는 기능을 구현하는 것이 목표!앱을 실행하면 구글 시트에 저장된 데이터가 자동으로 불러와지고,사용자가 ‘Refresh’ 버튼을 누르면 최신 데이터로 갱신되는 구조입니다.데이터는 아래 구글시트에서 불러오는 것이 목표구글시트의 data 내용이 바뀌면, 안드로이드 앱 상에서 실시간으로 새로고침 후 값이 변경되도록 개발 1. importimport React, { useEffect, useState } from 'react';import { View, Text, Button, StyleSheet, ScrollView } from 'react-native'; 2. 구글시트 연동 const SHEET_URL =..
React Native로 Android 앱을 개발하기 위한 기본 환경 설정 과정을 정리했습니다.Mac 환경을 기준으로 작성되었습니다 :>1. watchman 설치 (homebrew사용)React Native는 파일 변경을 감지하기 위해 watchman 사용 (Homebrew로 간단히 설치 가능)brew install watchmanwatchman 설치watchman —version설치 후 확인 및 버전 체크 2. OpenJDK 설치 brew install openjdk@17Android 빌드를 위해 JDK가 필요합니다! (React Native 최신 버전에서는 OpenJDK 17을 권장) 3. Android Studio 설치공식 사이트에서 .dmg 설치 후, 안드로이드 SDK & AVD(에뮬레이터)도 함..
오늘은 코틀린의 객체 지향 프로그래밍에 대하여 공부해보는 시간을 갖겠습니다! 클래스, 객체, 인터페이스 사용법, scope,데이터 클래스 등에 대해 정리해볼거예요! OOP : 객체 지향 프로그램 언어 대표적인 OOP 언어로는 자바, C#, 코틀린이 있고, 그 외에도 많습니다! OOP의 5가지 기본 개념은 - 변수와 타입 - 흐름 제어 - 함수 - 컬렉션 - 상속을 포함한 클래스와 객체 가 있습니다! 먼저 클래스와 객체에 대해 알아보겠습니다! Class & Objects class Person constructor(firstName: String, lastName: String){ // 보조 생성자 constructor는 객체 생성 시 값을 추가하게 해준다. 필수적인 요소는 아니다! init{ // 객체가..
- var과 val의 차이점 코틀린에서의 변수는 크게 var과 val로 나누어집니다. val : 중복 변경 불가 var : 중복 변경 가능 val은 변하지 않는 값!이며 var은 변화하는 변수라고 생각하면 이해하기 쉽다. - 타입추론 우리가 입력한 값에 따라 추론하여 자동으로 타입을 결정해주는 것이다. (*꼭 값을 넣어야만*) ex) var Sunny = true 의 Sunny는 자동으로 boolean타입으로 설정됩니다. - 스트링 템플릿 $ print구문에 마우스를 가져다대면 템플릿으로 변환하기 버튼이 나타나는데, 여러가지 스트링을 더하는 대신에 한 개의 스트링을 이용한 하나의 구문으로 바뀌게 됩니다. 방법 1. $변수명 방법 2. ${} 중괄호로 묶어주기 ex) ${MyStr.length} 하나의 구..