-
[Kotlin] 객체 배열에서 특정 Key의 값(value)만 추출하여 배열만들기Today's/DevelopStory 2023. 2. 22. 18:38
코틀린에서는 map 함수와 getOrDefault 함수를 사용하여 객체 배열에서 특정 키에 해당하는 값들만 추출할 수 있다. fun main() { val arr = arrayListOf( mapOf("a" to 1, "b" to "가", "c" to 70.5), mapOf("a" to 2, "b" to "나", "c" to 80.5), mapOf("a" to 3, "b" to "다", "c" to 90.5) ) val aValues = arr.map { it.getOrDefault("a", null) } .filterNotNull() .toTypedArray() println(aValues.joinToString()) } 이 코드는 주어진 객체 배열에서 "a"라는 키에 해당하는 값들만 추출하여 배열로 ..
-
[React] 미들웨어 사용 예시Today's/DevelopStory 2021. 7. 16. 00:14
서버와 통신을 할 때 비동기 작업을 수행하기 위해서 필요한 것이 미들웨어이다. 해당 예시에서는 미들웨어 패키지 중에서 thunk를 사용하였다. const nickCheck = (id) => { return function (dispatch) { instance .post('/api/sign/nickname', { nickname: id }) .then((res) => { dispatch(checkDup(true)); window.alert('사용 가능한 아이디입니다.'); }) .catch((error) => { dispatch(checkDup(false)); window.alert('이미 존재하는 아이디입니다.'); }); }; }; 닉네임 중복 체크를 위해 서버와 통신하는 미들웨어를 간단히 작성하였다.
-
[React] redux module 예시Today's/DevelopStory 2021. 7. 6. 02:55
//user.js (모듈) import { createAction, handleActions } from 'redux-actions'; // { 액션생성함수, 리듀서 } 작성 편의성 패키지 import { produce } from 'immer'; // 불변성 관리 편의성 패키지 import { setCookie, getCookie, deleteCookie } from '../../shared/Cookie'; //1. Actions (액션 타입 정하기) const LOG_IN = 'LOG_IN'; const LOG_OUT = 'LOG_OUT'; const GET_USER = 'GET_USER'; //2. Action Creators (액션생성함수 만들기) createAction을 사용하여 편리하게 작성하..
-
[JavaScript] promiseToday's/DevelopStory 2021. 7. 4. 22:38
promise 란? 비동기 연산이 종료된 이후 결과를 알기 위해 사용하는 객체이다. 코드의 형태 : const promise = new Promise((resolve, reject) => { if(...){ ... resolve("성공!"); }else{ ... reject("실패!"); } }); promise는 생성자 함수 Promise(new 키워드)를 통해 생성한다. 비동기 처리가 성공하면 resolve, 실패하면 reject를 호출한다. 비동기 작업을 수행할 콜백 함수를 인자로 전달받아 사용한다. 사용 예시 : let promise = new Promise((resolve, reject) => { setTimeout(() => resolve("완료!"), 1000); // 1,000 밀리세컨드 ..
-
[JavaScript] 변수와 상수Today's/Concept & Theory 2021. 7. 3. 00:13
변수/상수란, 어떠한 값(DATA)를 할당하기 위해 지정하는 임의의 키워드다. 그 중 변수는 할당된 값이 변하는 것을 말하며, 상수는 한번 할당된 값이 변하지 않는 것을 말한다. JavaScript에서 변수를 선언할 때 사용하는 구문은 var와 let이 있다. - var와 let의 차이점 : var let 같은 변수를 여러번 만드는 게 가능하며, 생략하는 것도 가능하다. 같은 변수를 여러개 만들거나 재선언이 불가능하지만, 값의 재할당은 가능하다. 재선언이 가능하다. 함수레벨 Scope를 가진다. 블록레벨 Scope를 가진다. 상수를 선언할 때에는 const 를 사용한다. const는 당연히 재선언 / 재할당이 모두 불가능하다.
-
주특기 시작, ReactToday's/Journal 2021. 7. 3. 00:01
사실 알고리즘 마라톤 기간이 끝나고, 자바 스크립트 기초문법을 대략적으로 공부한 뒤 리엑트 기초 강의를 수강하기 시작했었다. 생각보다 개념을 이해하고 익히는 시간이 오래 걸렸고, 항해99의 일정일 빡빡했기에 TIL 쓰는 것을 자꾸 미루게 되었다... 공부를 하는 과정에서 키워드를 메모장에 끄적여놓고 '시간이 날때 TIL을 작성해봐야겠다' 했지만, 그건 오판이었던 것 같다. 그 시간이라는게 좀처럼 나질 않았던 것이다... 그래서 일단 미뤄왔던 TIL을 오늘부터라도 최대한 꾸준히 작성해보려한다. 사실 중간중간 뛰어난 동기들의 결과물들이라던가, 혹은 QnA 시간에 난 이해도 못할 질문들에 기가 죽기도 하였고, 지금 내가 공부하고 있는 방법이 과연 맞는지, 현재 나의 수준이 적정한 수준인지 나의 객관적인 지표를..
-
항해99 주특기 멘토링Today's/Journal 2021. 6. 20. 01:36
물론 지금도 여전히 막연하긴 하지만 처음 코딩을 공부해야겠다 마음 먹고 인프런에서 가이드 강의를 들었을때, 정말 막연하게 리액트를 공부해보고 싶다는 생각을 했었다. 사전에 다른 프레임워크나 언어에 대해 잘 알아본적이 없었기에 오히려 고민없이 리액트를 주특기로 선택하게 되었다. 하지만 막상 주특기 멘토링을 진행할 때엔 그 외적인 부분이 더 궁금하고 염려되는 부분들이 있어 튜터님께 의견을 물었었다. 앞으로 항해99를 수료하고 회사에 취직을 하게 되는 과정들에 대해서, 그리고 취업을 잘 하기 위해서 어떤 부분을 염두에 두고 준비해야 하는지 어찌보면 당연히 가장먼저 고민해봐야 될 부분이 그제서야 든것이다. 일단 튜터님께서 해주신 조언은, 그저 모든 회사에게 보여주기 위해 만든 프로젝트, 포트폴리오보다 입사를 하..
-
수포자의 입장에서 느끼는 알고리즘Today's/Journal 2021. 6. 18. 03:20
백준 알고리즘 문제를 풀면서 느끼는 것. 그것은 바로 '수포자'는 너무나도 괴롭다는 것이다! 소수, 약수, 최소공배수, 최대공약수, 처음 들어보는 수열들... 분명 학창시절에 배웠던 것들이고 간단한 것들인데도 십수년이 지나서 알고리즘문제로 맞딱드리니 왜 이리도 어렵게만 느껴지는지... 기본 수학 공식을 활용한 문제들을 맞이할 때마다 한숨과 함께 구글창을 열어버리는 나 자신을 보게 되었다. 소수를 구하는 방법을 찾아보다 알게된 에라토스테네스의 체라던가, 뭔가 알고리즘에도 전형적인 방식이 존재하는데 이런 수학적인 부분은 특히 모듈이란 것을 사용하면 아주 간단하게 결과가 산출되어버릴 때가 있었다. 알고리즘의 풀이방법을 이해하기 위해서 기초수학을 다시 공부하자니 너무 돌아간다는 생각도 있고, 그냥 모듈을 사용하..