본문 바로가기
반응형

분류 전체보기76

[JS] 코딩테스트 이력서를 쓰기 시작한지 조금 되다보니 면접을 (조금씩) 보고다니고 있는데, 몇번 안되는 코딩테스트 경험상는 집에서 편안히 알고리즘을 푸는 것 보다 정말 5~6배쯤 헤메는것같다. 또.. 헤메기 시작하면 당황해서 더 헤메는 것 같다. 물론.. 내가 한동안 알고리즘에 너-무 소홀해서 .. 그런탓이 크긴하다..반성.. 아래는 몇일전에 실제로 코딩테스트로 받았던 것인데, 일단.. 문제가 영어여서 1차로 당황했고.. 해석이 안되서 2차 당황했고..(동사가 없는 문장이라니..) 당황하니까 풀이법이 전혀 생각이 안나서 3차 당황했다.. 제한시간이 40분이었는데, 적어도 10분은 뇌정지가 와서 거의 풀지 못하고 결국에는 시간초과로 한문제는 풀지는 못했다..시간이 없어서 풀다가 수도코드만 적어 내었다..8_8 메일로 사정.. 2020. 3. 17.
[JS] 프로그래머스 - 짝지어 제거하기 문제 - 링크 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다. 예를 들어, 문자열 S = baabaa 라면 b aa baa → bb aa → aa → 의 순서로 문자열을 모두 제거할 수 있으므로 1을 반환합니다. 제한사항 문자열의 길이 : 1,000,000이하의 자연수 문자열은 모두 소문자로 이루어져 있습니다.. 2020. 3. 17.
[JS] 프로그래머스 - 기능 개발 링크 : 기능개발 문제 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 제한 사항 작업의 개수(progresses, speeds배열의 길이)는 100개 이하입니다. 작업 진도는 100 미만의 자연수입니다. 작업 속도는 10.. 2020. 3. 16.
[Typescript] Interface 이 글은 TypeScript : 인터페이스(Interface) 를 보고 이해하기 위해 요약한 글입니다. 인터페이스는 일반적으로 타입 체크를 위해 사용되며, 변수, 함수, 클래스에 사용할 수 있다. 인터페이스는 여러가지 타입을 갖는 프로퍼티로 이루어진 새로운 타입을 정의하는 것과 유사하다. 인터페이스에 선언된 프로퍼티 또는 메소드의 구현 강제하여 일관성을 유지할 수 있도록 하는 것이다. ES6는 인터페이스를 지원하지 않지만 TypeScript는 인터페이스를 지원한다. 인터페이스는 프로퍼티와 메소드를 가질 수 잇다는 점에서 클래스와 유사하나, 직접 인스턴스를 생성할 수 없고 모든 메소드는 추상 메소드이다. 단, 추상 클래스의 추상 메소드와 달리 abstract키워드를 사용하지 않는다. Abstract Cla.. 2020. 3. 15.
[프로젝트 리뷰] MVC에 대하여 겪었던 고민 MVC패턴을 접함 JAVA를 처음 배우던 시절부터 MVC에 대한 기본적인 설명을 듣고 알고는 있었으나, 당시에는 이중 for문을 겨우 돌리고 짝짝짝 박수를 칠 때라 (비유이긴하지만..어느정도는..) 정말 알려주는 것을 그대로 알기만 할 뿐, 더이상의 의문이나 탐구 욕구가 생길 새가 없던것같다. 그저 많이 사용한다고 하니, 그냥 그런가보다 하고 진리처럼 알고있던 것 같다. MVC패턴을 잠시 정리하고 넘어가면 다음과 같다 Model, View Controller 의 약자로, 애플리케이션을 세가지의 역할로 구분한 개발 방법론이다. Controller : 사용자가 접근 한 URL에 따라서, 사용자의 요청사항을 파악한 후에 그 요청에 맞는 데이터를 Model에 의뢰하고, 데이커를 View에 반영해서 사용자에게 알.. 2020. 3. 6.
[NodeJS] 에러, 그리고 예외처리(in Express) Java로 프로젝트를 진행 할 때 예외처리가 프로그램의 견고함을 위하여 필요하다고 배웠고. 알고는 있었다. 프로젝트에서 예외처리를 하고, express 에서 에러와 예외 처리에 대해 공부하고 적용하면서, 사실 내가 알고 있던 부분은 사실 내리 배움으로 예외처리에 대하여 예외사항 시 에러를 발생시키고 에러는 try catch이 필요한 정도만 두루뭉술히 알고있다는 것을 알게되었다. (분명, 더 디테일하게 배웠었겠지만, 내가 기억하지 못하는거겠지) 또.. 사실 여러 자료를 보면 볼수록 (내가 개발을 할 때 기반적으로 생각하는)JAVA에서의 개념이 더 명확히 잡혀있지 않아서 JS에서도 헷갈리고 있다는 생각이 들기 시작했다. 따라서 JAVA에서의 에러와 예외개념부터 시작하여, JS에서의 에러와 예외 개념, Exp.. 2020. 3. 5.
OAuth2 정리 및 JWT를 이용한 로그인 유지 구현 Dedicats project에서 로그인과 유저 인증 부분을 맡으면서 OAuth와 JWT에 대하여 공부하게 되었다. 이론적으로만 공부했을 때에는 굉장히 복잡하다고 생각했는데,.. 구현을 모두 한 지금 다시 생각해 보니, 코드로서는 굉장히 간단했던 듯 하다. OAuth 2.0 OAuth 2.0은 외부서비스(third-party application)의 인증 및 권한부여를 관리하는 범용 프레임워크이다. OAuth 기반 서비스의 API를 호출 할 때에는, HTTP헤더에 accessToken을 포함하여 요청을 보내게 되고, 서비스는 access token을 검사하면서 요청이 유효한지 판단하여 적절한 결과를 응답한다. OAuth에서 주체는Client, Server(Resource Server, Authorizat.. 2020. 3. 4.
728x90
반응형