전체 글

    블로그 이전

    티스토리에서 마크다운으로 글쓰면 좀 이상하게 되길래 개츠비 블로그로 이전합니다 soso01.github.io/ Home 개발일지, 공부 기록용 블로그 soso01.github.io

    jest

    Jest 강좌 출처 - 유튜브 코딩앙마 소개, 설치, 간단한 테스트 JEST : 페북에서 만듬, Zero config 철학을 가지고 있어서 별개의 설정없이 빠르게 테스트할 수 있는 장점이 있다. js진영에서 테스트 도구로 제일 많이 쓴다. npm i jest -D 설치 package.json에서 스크립트에 test : 'jest'로 수정. npm jest 명령어를 치면 *.test.js 파일이나 tests폴더에 테스트 파일들을 모두 테스트한다. const { add } = require("./fn") test("2 + 3 = 5", () => { expect(add(2, 3)).toBe(5) }) 테스트할 함수를 불러오고 expect에 검증할 값을, toBe에 인자로 예상값을 넣고 테스트를..

    코드가 얼마나 복잡한가에 대한 근거

    코드가 얼마나 복잡한가에 대한 근거 출처 https://www.youtube.com/watch?v=zMmoOuIG8Aw 죠니데브 유튜브 생각의 시작 함수를 덜 복잡하게 작성하고 싶다 코드리뷰 피드백을 줄 때 '복잡하다'라는 표현을 수치로 전달할 수 없을까 정성적 vs 정량적 정성적 - 응답자의 주관적 견해와 판단으로 분석(ex. 상품평) 정량적 - 수치를 토대로 분석 피드백은 최대한 객관적인 것이 중요 "함수가 조금 복잡한거 같아요.."라는 두리뭉술한 의견을 최대한 객관적으로 표현하려면? 정성적일 수 있는 근거들 개발자의 역량에 따라 기준이 달라 애매함 모든 상황에 100% 쉽게 적용하기 어려움 개인 취향으로 생각하는 개발자도 있다. 파라미터 갯수 메서드 하나가 여러 동작을 하나? 의심갈 수 있음 파라미..

    npm 패키지 배포하기

    kdydesign.github.io/2020/08/28/npm-tutorial/ 빠르게 배우는 NPM 패키지 생성부터 배포까지 완벽 가이드 예제를 통하여 npm 패키지를 생성하고 생성된 npm 패키지를 NPM Repostory에 배포까지 배움으로 인해 오픈소스로서 NPM 생태계에 기여하는 방법을 배워보자.이번 포스팅에서는 npm 모듈 혹은 npm 패키지 kdydesign.github.io

    힙서비콘 시즌2 요약

    힙서비콘 시즌2 104가지 UX 원칙 중 가장 중요한 원칙 3가지 어떤 제품을 개발하든 0순위로 고려해야 하는 원칙? -> 제품은 일단 쓰기 쉬워야한다. Easy-First Dr.Fogg 행동이론 - 인간은 무엇이 만족될 때 행동을 계속하는가? 계속해서 동기부여 하기 = Why so. 우리 제품을 써야하는 이유 계속해서 유저의 능력을 높여주기 = 계속해서 Easy First 해야한다. Why so + Easy-Frist => Action Ability를 높이는것(Easy First)이 Motivation을 높이는 것 보다 더 비용효율적이다. 아무리 동기가 명확해도 제품이 어려우면 Action Area로 가지 못한다.(주식앱 예시) 동기가 아주 명확해서 쓴다고 해도 시간이 지날수록 동기는 내려가므로 제품을..

    주식 적립식 투자앱 만들기 - 12

    ios, 안드로이드 둘 다 출시했는데 버그가 생겨서 고쳤다. 시뮬레이션 시작버튼을 누르면 무한 로딩이 걸리는 문제였는데, 서버 주소를 로컬에서 안바꾼건가? fusionchart 라이브러리가 빌드될 때 문제가 생겼나 등등 쉐도우복싱하면서 좀 삽질을 했다. 결론은 릴리즈 환경에서는 안드로이드가 보안문제로 http로 통신하는걸 막는것 때문이었다. 이걸 해결하려면 매니페스트에서 별도로 설정을 하던가 아니면 https 써야하는데 나는 https쓰기로 했다. 서버에는 서버비가 아까워서 이전에 만들었던 개인 웹 사이트의 벌쳐 서버에다가 이 앱 서버도 올려서 같이 돌리고 있었고 해당 웹서버에 이미 https가 적용되어있어서 서브도메인처럼 앱 서버를 그 사이트 아래 라우터에다 옮겨서 해결했다. 릴리즈상태에서 응답 받는것..

    CORS

    출처 https://developer.mozilla.org/ko/docs/Web/Security/Same-origin_policy https://evan-moon.github.io/2020/05/21/about-cors/ 동일 출처 정책(SOP. Same-Origin Policy) 정의 : 어떤 출처에서 불러온 문서나 스크립트가 다른 출처에서 가져온 리소스와 상호작용하는 것을 제한하는 보안방식. 동일 출처 정책은 잠재적으로 해로울 수 있는 문서를 분리함으로써 공격받을 수 있는 경로를 줄여준다. 출처는 두 URL의 프로토콜, 포트, 호스트가 모두 같아야 동일한 출처라고 본다. 일부 제약이 있으나, 현재 페이지의 출처를 변경하는 것도 가능하다. document.domain의 값을 현재 도메인이나 현재 도메인..

    주식 적립식 투자앱 만들기 - 완

    IOS 업로드 안드로이드 업로드 어제 오늘 열심히 해서 ios / 안드로이드 둘다 업로드 시켰다. 앱 기능은 저번에 올린글 그대로이고 영어 추가해서 다국어 지원하고 광고만 더 추가시켰다. 배포만 하면 맨날 처음보는 에러들 만나서 시간을 엄청 버리게된다. 그래서 개인용 배포 매뉴얼만들어 뒀다. 다음부턴 좀 더 빨리할 수 있겠지 앱 이름은 진짜 투자가 되나 오해하는 경우가 생겨서 시뮬레이터라고 변경함 이게 별 기능이 없긴 하지만 그래도 꾸준히 잘 팔렸으면 좋겠군.

    안드로이드 에러 unexpected element <queries> found in <manifest>

    unexpected element found in 빌드 그레이들 디펜던시에 classpath 'com.android.tools.build:gradle:4.0.1'. 추가 4.0.1이 가장 최신인듯? 구 버전에는 queries 문법을 못쓰는듯 하다 android-developers.googleblog.com/2020/07/preparing-your-build-for-package-visibility-in-android-11.html Preparing your Gradle build for package visibility in Android 11 Posted by David Winer , Product Manager One of the central themes for Android 11 has been ..

    개인용 RN 배포 매뉴얼

    로컬에서 개발 마친 후 배포용으로 할 일 1. 패키지 네임 수정 편법 같지만 편한 방법 app.json, package.json에 이름 수정 // app.json { "name": "stockapp", "displayName": "stockapp" } //package.json { "name": "stockapp", "version": "0.0.1", ios, android 폴더 삭제 www.npmjs.com/package/react-native-eject react-native-eject 설치 후 react-native eject 실행 ios와 android 폴더가 변경한 이름으로 새로 생성된다. www.npmjs.com/package/react-native-rename npx react-native-..