# reject

27개의 포스트
post-thumbnail

[JavaScript] Ch08. 비동기(2)

Resolve, Resect 그리고 에러 핸들링1 then 메소드 사용하기 (catch) promise 생성자 함수를 호출할 때 넣는 콜백에서는, resolve, reject라는 이름의 매개변수를 사용할 수 있는데 이 두가지는 상충되는 개념이다. resolve라는 매개변수가 호출이 되면 reject 매개변수가 실행되지 않으며, reject가 실행이되면 resolve는 실행되지 않는다. -> 서로의 매개변수만 상충되는 것이고 다른 코드는 실행이 될 수 있는 구조이다. return 키워드로 방지하면 함수를종료할 수 있다. then , catch 메소드를 사용할 수 있는데, then메소드로 들어가는 콜백같은 경우는 resolve매개변수로 들어가고 catch 부분의 콜백은 reject 매개변수로 들어가게 된다. async, await패턴 사용하기 then⭐️ 만약 문제가 있으면 reject이라는 매개변수가 동작할 것이고, reject이라는 매개변

2023년 8월 1일
·
0개의 댓글
·
post-thumbnail

구글 플레이 정책의 무서움을 깨달아버렸다..

App Reject / PlayStore 이슈 / 개인정보 평화로운 어느날 회사에서 관리하던 앱이 갑자기 소리소문없이 내려갔습니다..! 어제까지 잘 업데이트 되었던 앱이 하루아침에 사라지게 된계기는 다음과 같습니다. > "너! 앱에서 개인정보를 수집하는데 왜 정확히 설명안해!" 우선 저는 개인정보 처리방침 이야기가 있어 개인정보 처리방침부터 점검했습니다. google 정책을 켜 개인정보 처리방침을 유심히보니 **"앱에서 엑세스 ,수집 , 사용 공유하는 개인 정보 및 민감한 사용자 정보 데이터를 공유하는 모든 주체 공개"

2023년 7월 14일
·
0개의 댓글
·
post-thumbnail

[elice] 프로미스(Promise)

🐰 프로미스 프로미스(Promise) 는 콜백 패턴의 단점을 개선하기 위해 ES6에 도입되었다. 프로미스는 Promise 생성자 함수를 new 연산자와 함께 호출하여 객체를 생성한다. Promise 생성자 함수는 비동기 처리를 수행할 콜백 함수를 인수로 전달 받으며, 이 콜백 함수는 resolve, reject 함수를 인수로 전달받는다. 🐰 프로미스- 상태 ⭐ Promise는 비동기 처리의 진행 상태(State)를 나타내는 정보를 갖는다. **• pending (비동기 처리가 아직 수행되지 않은 상태) • fulfilled (비동기 처리가 수행되어 성공한 상태) • rejected (비동기 처리가 수행되어 실패한 상태)** 생성된 직후의 프로미스는 pending 상태이며, 비동기 처리 결과에 따라 상태가 변경된다. • 비동기 처리 성공 : resolve 함수를 호출해 fulfilled 상태로 변경 • 비동기 처리 **실패 : reject 함

2023년 6월 6일
·
0개의 댓글
·

오류코드 설계

✏️ 오류코드의 트레이트 오프 오류코드를 너무 세밀하게 정리하면 클라이언트에게 디테일한 메시지를 전달할 수 있지만 범용성이 낮아진다. 반대로 단순하게 정리하면 범용성이 좋아 여러곳에서 사용할 수 있지만, 메시지를 세밀하게 작성하기 어려워진다. 📍 해결방법 실무에서는 기본적으로 단순하게 메시지를 정리하다가, 세밀하게 작성해야 될 경우 단계적으로 작성하는 방법을 사용한다. ✏️ 오류 코드 설계 개발 초기에는 단순하게 오류코드를 정리한다. 나중에 기존 메시지보다 세밀한 메시지가 필요할경우 level 을 낮춰준다. 이런식으로 단계별로 세밀한 정도를 높혀갈 수 있도록 설계한다. rejectValue 는 매개변수를 기반으로 저장된 메시지의 오류코드중 가장 세밀한 오류코드를 실행시킨다. Controller 에서는 required 로 오류코드를 설정해둘경우 별도의 Controller 로직 수정 없이 세밀한 코드가

2023년 3월 26일
·
0개의 댓글
·

검증 - Validator

Validator란, > 공식 Docs > BindingResult, FieldError, ObjectError를 통해 Controller에서 값을 검증할 수 있지만, 이 경우 Controller의 크기가 너무 커지고 단일 책임 원칙에 위배된다. 그래서 Spring에서는 Validator라는 인터페이스를 통해 별도의 검증용 Spring Bean을 만들 수 있도록 기능을 제공한다. 프로그래머는 Validator 인터페이스를 상속받아 구현체를 만들어 검증 로직을 구현할 수 있다. 그리고 Spring Bean으로 만들어지기 때문에, Controller에서는 해당 구현체를 주입받아 사용할 수 있게 된다. Gradle Validator를 사용하기 위해선 위처럼 `b

2023년 2월 19일
·
0개의 댓글
·
post-thumbnail

[App store] 심사 리젝트 Guideline 2.3.8 - Performance - Accurate Metadata

심사 거절 사유 : 앱스토어에 등록된 이름과 앱 이름이 같지 않아서 Guideline 2.3.8 - Performance - Accurate Metadata We noticed that the app name to be displayed on the App Store and the app name displayed on the device do not sufficiently match, which makes it difficult for users to find the app they just downloaded. The app names are: Name on the App Store: App store에 등록된 이름 Name displayed on the device: xcode에 등록된 이름 Next Steps To resolve this issue, please change one or both names so they are more

2023년 1월 16일
·
0개의 댓글
·
post-thumbnail

JavaScript (20) # async, await 응용

👉 우선 먼저 async, await를 알아보자.. 📍 promise => async, await (resolved) promise에서 사용했던 예제를 async, await로 바꿔서 사용해보자 선언한 result 변수들에 데이터가 기다렸다가(await) 들어가는(async: 동시에 일어나지 않는다는 약속) 것이 코드상에서 확실히 promise보다 가독성 측면에서도 명확하게 보인다. 📍 promise => async, await (rejected) 그리고 rejected 상황에서 promise는 .catch 를 사용했지만, async, await 함수에서는 try , catch 문으로 감싸주면 된다. try{} 안에 코드를 실행하고 만약에 에러가 발생 한다면, 작업을 멈추고 catch{} 부분의 코드를

2022년 12월 18일
·
0개의 댓글
·
post-thumbnail

JavaScript (19) # async, await

async, await async란? promise의 then메소드를 체이닝 형식으로 호출하는 것 보다 가독성이 매우 좋아진다. async라는 키워드로 호출을 하면, 항상 promise를 반환한다. 따라서 promise처럼 함수를 호출 후, then을 사용하는 것도 가능하다. 반환 값이 promise면 값을 그대로 사용하고, 함수 내부에서 예외가 발생하면, rejected 상태의 promise가 반환된다. await란? async함수 내부에서만 사용할 수 있고, 일반함수에서 사용

2022년 12월 13일
·
0개의 댓글
·
post-thumbnail

JavaScript (18) # Promise

Promise 프로미스를 쉽게 알아보자 상점에서 물건을 주문하는데, 그 물건이 오기까지 시간이 걸린다고 가정을 해보자 또한 언제 물건이 오는지는 알 수 없을 뿐더러 가끔 물건을 만들다가 실패하는 경우도 있다고 한다. 이럴땐 소비자는 어떻게 해야할까? 10초에 한번씩 진행 상황을 물어보고 답을 받는다고 한다면, 물어봤을 때, 준비의 여부와 또는 실패했다는 답이 온다면, 다시 물건을 주문을 하면 된다. 하지만 그것 보다는 이럴땐 상점에 주문을 하고 상품이 준비되었거나 실패하면 알려달라고 약속을 하면서, 전화번호를 주고 나오는것이 나을 것이다. 상품이 준비되는 동안 다른 작업도 할 수 있고, 상점을 이번호를 기억했다고 작업이 완료되거나 실패했을 떄, 소비자에게 알려주면 되니깐 말이다. 이럴때 사용할 수 있는게 바로 프로미스(Promise)이다. 프로미스 사용법 프로미스는 아래와 같이 사용한다. new Promise로 생성하고, 함수를

2022년 12월 10일
·
0개의 댓글
·

Use Promise

Promise 사용전 Promise 사용후

2022년 9월 27일
·
0개의 댓글
·
post-thumbnail

Promise

콜백 함수(callback function) JavaScript는 비동기 처리를 위해 콜백 함수를 사용하곤 했는데, 이 전통적인 콜백 패턴은 몇 가지 한계점이 있었다. callback hell로 인해 가독성이 나쁘다. 비동기 처리 중 발생한 에러를 처리하기 어렵다. 여러 개의 비동기 처리를 한번에 처리하기 어렵다. ➡️ ES6에서 비동기 처리를 위한 새로운 패턴으로 Promise를 도입했다. Promise는 전통적인 콜백 패턴이 가진 단점을 보완하며, 비동기 처리 시점을 명확하게 표현할 수 있다는 장점이 있다. Promise : JavaScript의 비동기 처리에 사용되는 객체 Promise 생성하는 법 Promise는 **Pro

2022년 9월 25일
·
0개의 댓글
·

프로미스 Promise

프로미스란? ES6에서 비동기 처리르 위한 또 다른 패턴으로 전통적인 콜백패턴이 가진 담점을 보완하며 비동기 처리 시점을 명확하게 표현할 수 있는 장점을 가지고 있다. 콜백 패턴의 단점 - 콜백 헬 동기식 처리 모델 Synchronous processing model 동기식 처리모델은 직렬적으로 태스크를 수행한다. 서버에서 데이터를 가져와 태스크를 수행할 때 데이터가 응답될 때까지 이후의 태스크는 블로킹 된다. 비동기식 처리 모델 Asynchronous processing model 비동기식은 병렬적으로 태스크를 수행한다. 종료되지 않은 상태라 하더라도 대기하지 않고 다음 태스크 수행 자바스크립트의 대부분의 DOM이벤트와

2022년 7월 25일
·
0개의 댓글
·

프로미스 정적 메서드

Promise 는 주로 생성자 함수로 사용되지만 함수도 객체이므로 메서드를 가질수 있다. Promise.resolve / Promise.reject resolve 와 reject 메서드는 이미 존재하는 값을 래핑하여 프로미스를 생성하기 위해 사용한다. resolve와 reject 의 역활은 앞서 공부하였으므로 넘어가겠다. Promise.all Promise.all 메서드는 프로미스를 요소로 갖는 배열 등의 이터러블을 인수로 전달 받는다. 그리고 전달받은 모든 프로미스가 fulfilled상태가 되면 모든 처리 결과를 배열에 저장해 새로운 프로미스를 반환한다. Promisea.all 메서드는 3개의 프로미스 요소를 갖는 배열을 전달받았다. 각 프로미스는 다음과 같이 동작한다. > 첫 번째 프로미스는 3초후에 1을 resolve한다 두 번째 프로미스는 2초후에 1을 resolve한다 세 번째 프로미스는 1초후에 1을 resolve한다

2022년 7월 25일
·
0개의 댓글
·
post-thumbnail

Promise 객체

지난 장에서는 콜백함수와, 콜백함수의 치명적인 단점인 콜백 헬에 대해서 알아보았습니다. 이번 장에서는 그의 대안으로 나온 Promise객체의 사용법에 대해 알아보겠습니다. 만약 저번 장을 읽지 않았다면 저번 장부터 읽고 오셔야 합니다. -> https://velog.io/@pp2lycee/%EC%BD%9C%EB%B0%B1%ED%95%A8%EC%88%98 | 콜백함수의 치명적인 단점 우선 콜백함수의 문제점에 대해 복습해보겠습니다. 세탁이 끝나면 건조기를 돌리고, 건조기가 끝나면 빨래를 개고, 빨래를 개면 빨래를 옷장에 넣는 로직을 작성한다고 가정해 봅시다. 그럼 아래와 같이 코드를 짤 수 있습니다. 네, 아찔합니다. 가독성이 매우 떨어지죠? 사실 4가지 작업이 아닌 더 많은 작업이 다음과 같이 이루어질 수 있습니다. 이걸 우리는 callback hell(콜백헬)이라고 부릅니다. 인터넷에 콜백헬을 검색해 보시면 더욱 아찔한 예제들을 보실 수 있습니다. 이를 해결하기 위

2022년 7월 24일
·
0개의 댓글
·
post-thumbnail

App Store Reject 대응기 - Design

최근 프로젝트를 하면서 경험했던 몇 가지 디자인 관련 Reject를 해결에 대한 경험을 기억하고 다른 프로젝트를 진행하시는 분들에게 도움이 되고자 글을 작성하게 되었습니다. velog처음써요!😅 4.2.2 Design: Minimum Functionality 이 Reject은 최소기능이라는 뜻입니다. 이번 프로젝트는 앱으로 만들기 전에 먼저 웹으로 서비스 중이었는데 그래서 모바일 웹 브라우징과 충분한 차이가 없다는 것이 이 Reject의 이유였습니다. 어떻게 해결할지 고민 중에 랭킹을 알려주는 거니까 거기에 조금 더 확장해서 라이벌 상대를 지정해서 경쟁하는 기능을 추가하면 어떨까 라는 아이디어가 떠올랐고 사용자가 주기적으로 우리 앱을 방문할 수 있는 명분이 추가되는 것 이라서 들어가야 할 세부 기능들을 정하고 바로 개발하였습니다. ![](https://velog.velcdn.com/images/rlawns1235/post/bedec1b1-d0f4-4a87

2022년 6월 7일
·
1개의 댓글
·
post-thumbnail

[iOS] Guideline 2.1 - IP 값이 없을 때 애플 리젝

회원가입할 때 IP값을 잘 못받아왔나부다 IP값을 필수로 해뒀기에 리젝 났다 IP Address를 못불러오는 경우가 있을 때 로그인을 하지 못하는 상황에서 → 0.0.0.0 넣어서 처리함 😊 친절히도 캡쳐해주셔서 첨부해주심

2022년 5월 6일
·
0개의 댓글
·
post-thumbnail

[iOS/Android] 커뮤니티 앱 심사 리젝(Reject) 사유 정리 및 배포 후기

🎯 Intro 2022년을 시작하면서 마음이 맞는 주니어들끼리 모여서 사이드 프로젝트를 새롭게 시작하였다. 부트캠프 출신 개발자들을 타겟으로 하는 인증 기반의 커뮤니티를 주제로 사이드 프로젝트를 진행하였는데, 그 과정에서 앱 배포가 꼭 필요해서 내가 앱 부분을 맡아서 하기로 했다. 기술은 React Native + 웹뷰(Next js)를 사용해서 앱을 만들고 웹과 통신하는 식으로 프로토타입을 계획하여 진행을 했다. 2월부터 본격적으로 개발을 시작해서 3개월이라는 짧은 시간동안 다들 일이 바쁜 와중에도 불구하고 열심히 달려와줬고, 그 결과로 일정에 딜레이가 없이 무사히 출시를 하게 되었다! 👏👏👏 처음 스토어에 앱을 올려보는 거에다가 심사하는 과정이 쉽지가 않다고 보고 들었다. 그래서 상당히 쫄아서 심사 및 배포 기간을 약 2주를 잡았는데, 계획보다 빠른 4~5일만에 배포가 돼어서 기분이 좋았다! (다들 너무 쫄지 마시고 트라이하시길!!) 하지만 그 과정이

2022년 5월 1일
·
1개의 댓글
·
post-thumbnail

[Udemy] JavaScript for React 응용4 복습

JavaScript 응용4 복습 Udemy - 한입크기로 잘라 먹는 리액트 Promise Async Await Resolve Rejected 메소드체이닝 then catch fulfilled pending JavaScript 응용4 📌 Promise | 콜백지옥 탈출 ✔️ 핵심 Point 자바스크립트의 비동기처리를 핸들링하는 함수로부터 분리할 수 있

2022년 4월 10일
·
0개의 댓글
·
post-thumbnail

[JavaScript] Promise

Promise 란? Promise 란 자바스크립트에서 제공하는 비동기를 간편하게 처리할 수 있도록 도와주는 객체(object) 이다. 일반적인 콜백함수에 비해 흐름이 자연스럽고 유연한 코드를 작성할 수 있다. > 📌 무거운 데이터나 작업을 할 때, 동기적으로 작업을 진행하게 되면 다음 코드가 실행되지 않는 문제가 생긴다.(홈페이지가 멈춰 사용자들이 이탈하는 경우가 생김!) 따라서 Promise와 같은 비동기 처리 방법을 이용해 비동기적으로 처리해줘야한다. 이 Promise는 정해진 장시간의 기능을 수행하고 나서, 정상적으로 기능이 수행되었다면 성공의 메세지와 함께 처리된 결과 값을 전달한다. 만약 기능이 수행되지 못했다면 error를 전달해준다. Promise의 상태(state) Pending: Promise가 만들어져서 우리가 지정한 기능이 수행 중일 때 pending 상태이다. Fulfilled : 기능이 성

2022년 2월 12일
·
0개의 댓글
·
post-thumbnail

[iOS] 사용자가 글 남길 때 필수 예방 조치가 있어야하는데 없어서 애플 리젝

잘 배포하나 싶었는데,,, 애플 리젝 시리즈에 글을 추가하게 되다니... 사용자들이 글이나 댓글을 달면 그게 부적절한 글일 수 있기 때문에 조치를 취해야 한다... like 신고.... 근데 그거 안넣었다가 걸려버림 크리스마스에 리젝이라니요.......^^ 위 내용은

2022년 1월 7일
·
0개의 댓글
·