함수형 프로그래밍(functional programming)이란?
·
Tech Memo
면접을 보러 다니면서 함수형 프로그래밍이란 무엇인지에 대해 질문을 많이 받았다. 느낌적인 느낌이 아닌 좀 더 정확하게 알고 싶어 알아 보았다 함수형 프로그래밍은 무엇일까? 프로그램 패러다임의 한 종류이며, 코딩 스타일이다. 가장 중요한 것은 인풋에 대한 아웃풋이 있으면 이에 대한 데이터 흐름을 정해야 한다는 것이다 not functional let name = 'Aairon' let greeting = 'Hi, I'm ' console.log(greeting + name) 인사를 하는 문구와 이름을 넣어 콘솔에 나타나게 하는 코드이다 일종의 명령형 프로그래밍이라고 볼수있다 functional function greet(name) { return 'Hi, I'm ' + name } greet('Aairon..
expo 배포하기
·
React Native
expo fetch:android:keystore 앱스토어 계정은 매년 비용을 지불해야 해서 플레이스토어만 개발자 계정을 만들었다 그에 따라 배포는 안드로이드만 진행을 하고 ios는 설정만 해두었다 { "expo": { "name": "TODO LIST", //어플의 이름 "slug": "MyfirstApp", "privacy": "public", "sdkVersion": "36.0.0", "platforms": [ "ios", "android", "web" ], "version": "1.0.1", "orientation": "portrait", "splash": { "image": "./assets/splash.png", "resizeMode": "contain", "backgroundColor": "..
GIT refusing to merge unrelated histories 오류 해결
·
Tech Memo
해당 오류는 이미 생성되어 있는 git repo에 clone하지 않은 작업물을 덮어 쓸 때 나타나는 오류이다 일반적인 git 사용으로는 보기 힘든 에러이지만 사이드 프로젝트를 진행 중 expo에 관한 설정 때문에 node_modules와 초기 세팅을 다시 해야하는 상황이 발생했고 해당 repo를 clone하지 않고 새로운 expo init을 하면서 발생한 오류였다 git push --force 등으로 밀어 버릴수도 있지만 기존에 심은 잔디가 날라가게 두기 싫어서 해결 방법을 찾아보았다 git pull --allow-unrelated-histories 터미널에 위의 명령어를 입력하게 되면 관련이 없는 커밋이 push할 수 있게 변경된다
wsl에서 expo 사용시 인터넷이 멈추는 현상
·
React Native
wsl에서 expo 사용시 인터넷이 멈추는 현상이 있다 해당 버그는 wsl에서 나타나는데 아직 명확한 해결 방법은 없어보인다 powershell로 start를 하는 방법으로 진행하고 있다 해결방법은 아래 링크에서 확인 할 수 있다 1 - WIN+R -> services.msc 2 - Find LxssManager 3 - Right-click -> Restart https://github.com/expo/expo-cli/issues/99 Host remains without network after a while · Issue #99 · expo/expo-cli Description Okay, so this is a bit of a weird one, but I will try my best to expl..
react-native 플레이스토어 업데이트 버전코드
·
React Native
expo를 사용하여 어플을 만들고 플레이스토어에 배포를 했다. 수정 사항이 있어서 빌드 후에 플레이스토어에 올리니 같은 버전코드라고 나타나며 apk파일이 올라가지 않았다 안드로이드의 경우 versionCode를 app.json에서 변경을 해주어야 플레이스토어에 버전 업데이트가 올라간다 "android": { "versionCode": 2, "package": "me.jch.todo", "icon": "./assets/android-icon.png", "adaptiveIcon": { "backgroundColor": "#6830cf", "foregroundImage": "./assets/android-foreground.png" } 빌드를 하면서 app.json의 버전도 변경을 해보았다 플레이 스토어에서 ..
react-native에서 TouchableOpacity를 사용하는 이유
·
React Native
리액트네이티브에서 Button컴포넌트를 사용하지 않고 TouchableOpacity를 사용하는 이유 - Button 컴포넌트는 안드로이드와 ios에서 다르게 보이기 때문에 관리하는데에 어려움이 있다 import React from "react"; import { TouchableOpacity, Text, StyleSheet } from "react-native"; const Button = ({ onPress }) => { return ( 버튼 ); }; const styles = StyleSheet.create({ button: { width: 60, height: 60, backgroundColor: "#fe5746", justifyContent: "center", alignItems: "center..
사이트맵
·
카테고리 없음
Redux에서 정의되지 않은 state를 추가 할 수 있을까
·
React
기존 리액트 코드에서 state 객체 안에 input의 값을 추가 할 때 onChange를 통해 값이 생성되면 state안에 키값과 밸류값을 넣도록 만들어 두었었다. // exconst inputHandler = e => { const { name, value } = e.target; setState(...state, ...{ [name]: value }); }; 이런 상황에서 리덕스를 사용할 경우 정의되지 않은 state의 키와 밸류를 추가 할 수 있을지와 의문이 들었다.문제는 리듀서에서 발생을 했다. 리듀서는 action과 state만을 인자로 받기 때문에 [name]의 값을 가져올 수 없었다.이를 해결하려면 action자체를 스프레드(...)하면 되지만 이경우에 action안에 있는 type의 값까..
apache에서 react-router-dom 설정
·
React
기존 php 서비스 위에 react를 사용하여 페이지를 만들어야 하는 프로젝트가 생겼다.react-router-dom을 사용하여 react페이지를 만들었는데 qa서버(테스트 서버)에서 history.back 또는 url로 직접 접근하면 404에러가 나오는 문제가 생겼다.php 서비스는 apache위에 떠있었기 때문에 react-router-dom의 url을 apache에서 해석을 함으로써 생긴 문제였다. 예를 들면 react-router-dom을 통해 `/page`와 `/page/1`의 url을 router하고 해당 링크로 가게 되면 apache에서 `/page/index.html` `/page/1/index.html`을 찾기 때문에 404 error가 나타나는 것이었다. 이를 해결하기 위해서는 apac..