본문 바로가기

분류 전체보기159

2020.08.19 Valid Parentheses 풀이 문제 : Valid Parentheses '(', ')', '{', '}', '[' ']' 만이 문자를 구성할 수 있다라고 할 때, 유효한 지 아닌지 판별하는 문제. 예를 들면 '{()}'은 유효하고, '{(}'은 유효하지 않은 문자열이다. 풀이 : 1) 주어진 문자열이 홀수면 반드시 유효하지 않다. 2) 문자열이 0이면, 반드시 유효하다. 3) 짝수의 문자열일 경우, 각각 여는 '(', '{', '['표현이 나오면 닫는 표현도 문자 반대 순서대로 나와야 한다. 여는 표현들이 나오면 arr 에 넣어주고, 닫힘 표현이 나오면 arr에 여는 표현이 있는지 체크 후, 있으면 제거 | 없으면 즉시 false /** * @param {string} s * @return {boolean} */ var isValid.. 2020. 8. 20.
2020.08.18 findUnsortedSubarray 풀이 문제 : 정수 배열이 주어지면, 오름차순으로 배열되지 않은 연속적인 sub-array의 갯수를 찾는 문제. 풀이) 연속적인 sub-array 를 묻는 문제는 start / end 나 mid/result 같은 변수를 두개를 두어, 중간 과정을 기록하면서 마지막에 결과 값을 도출해내는 식의 풀이가 많은 것 같다. 이 문제의 경우, 오름 차순으로 정렬된 타겟 배열을 만들고, 모든 배열의 원소를 하나씩 순회하면서 타겟 배열과 값이 다를 때, 그 인덱스의 시작점을 start에 기록하고, end는 그 인덱스 중 가장 큰 수를 기록하는 식이다. 이런식으로 뭔가 중간의 값과 비교하면서 작거나 큰 값을 남겨야 할 때는 Math.min | Math.max 매소드를 활용하는 것이 좋다. 이 때, Array.prototype.. 2020. 8. 19.
기술 발표) GraphQL 보안 위협과 지키는 방법 악성 Query 로 부터 당신의 소중한 GraphQL App을 지키는 방법 GraphQL gives enormous power to clients. But with great power come great responsibilities 그래프큐엘은 클라이언트에게 막대한 권한을 주는 만큼, 클라이언트로 인한 여러 보안 상의 위협을 받기도 합니다. 우리의 작고 소중한 앱을 위협하는 악성 쿼리 중 Ddos 공격에 대해서 해결책 중심으로 살펴보겠습니다. (feat. 개구리앱) 공격! :값비싸고 중첩된 쿼리로 너의 작고 소중한 앱 서버를 파괴할 거야! 지금 보고 계시는 데이터 관계도는 개구리의 관계도입니다. 서비스가 복잡하면 할수록 데이터 테이블 간의 관계가 복잡해지고 서로가 서로를 참조하는 관계가 얼마든지 발생.. 2020. 7. 20.
개발자 이력서 쓸 때 TIP #코드스테이츠 윤상호 강연자의 경력 없는 이제 시작하는 개발자를 위한 세션 : 매우 유익하고 현실적이어서 좋았다. --------이하 중요한 부분 정리---------- 개발자에게 중요한 건 -> 경력 경력이 없을 경우 : open sourse에 기여해라. (단순 오타 고치기 부터, 간단한 package 네임 기재하는 단순 노가다 부터 시작) 필터링 조건 : is:issue is:open label:"good first issue" language:javascript 오픈 소스 4번 기여하면 티셔츠 보내주는 행사도 있다. 곧 다가오니 체크해볼 것 https://hacktoberfest.digitalocean.com/ 구글 입사 제의 받은 포트폴리오 텀블벅이라는 크라우드 서비스에 런칭함 -> 사용자의 후기.. 2020. 7. 10.
2번째 프로젝트 1주일 회고록 2번째 프로젝트 1주일 회고록 간단 리뷰 2번째 프로젝트가 시작된 지 1주일이 지나 회고록을 작성하려고 한다(회고라 쓰고 삽질이라 읽는다) 익숙했던 웹기반의 리액트/리덕스, 겨우 친숙해진 Sequelize를 뒤로 한채, 요즘 굉장히 HOT 하다던 기술 스택을 무리하게 가져온 결과 = 완전히 🦅됐어^^ 기술숙청이 간절 특히나 Graphql 이 지향하는 바를 제대로 이해하지 못하고 엉성하게 이것 저것 손대는 바람에, 시간은 시간대로 흐르고, 나의 멘탈은 회복될 줄을 모른다🤯 그 중에서 나의 정신을 좀 먹었던 Passport.js와 token 과 같은 Auth 인증 방식에 대해 기록을 남긴다. Authentication means checking the identity of the user making a r.. 2020. 6. 16.
23Mar2020 TIL Both signatures can be used, the only difference is that if you need to change your state based on the previous state you should use this.setState(function) which will provide for you a snapshot(prevState) from the previous state. But if the change does not rely on any other previous value, than a shorter version is recommended this.setState({prop: newValue})this.setState(prevState =>{ return{ ... 2020. 3. 23.