전체 글
-
[프로그래머스]: 캐시(java) 2018 KAKAO BLIND RECRUITMENTAlgorithm/프로그래머스 2022. 7. 5. 23:13
https://school.programmers.co.kr/learn/courses/30/lessons/17680?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 캐시 지도개발팀에서 근무하는 제이지는 지도에서 도시 이름을 검색하면 해당 도시와 관련된 맛집 게시물들을 데이터베이스에서 읽어 보여주는 서비스를 개발하고 있다. 이 프로그램의 테스팅 업무를 담당하고 있는 어피치는 서비스를 오픈하기 전 각 로직에 대한 성능 측정을 수행하였는데, 제이지가 작성한 부분 중 데이터베이스에서 게시물을 가져오는 부분의 실행시간이 너무 오래 걸린다는 것..
-
[JavaScript] OOP & FPJavaScript 2022. 7. 5. 00:01
OOP OOP는 Object Oriented Programming의 약자로 객체지향 프로그래밍을 뜻합니다. OOP는 관련된 데이터끼리 묶어 class를 형성하고 그 안에서 object instance를 만듬으로써 프로그램을 디자인 해줍니다. OOP의 장점 OOP는 코드의 재사용률을 높이고 코드를 간결하게 함으로써 유지 보수가 쉽다는 장점이 있습니다. 데이터를 안전하게 보존시킬 수 있습니다.(캡슐화와 추상화 등) 대표적인 언어 C++, Java, Python, Javascript OOP의 특징 1) Encapsulation(캡슐화) 객체의 내부 로직을 감추고 외부에는 상대적으로 안정적인 부분만을 공개함으로써 데이터를 안전하게 보존하는 기법이다. 캡슐화는 외부에 영향을 주지 않고 객체 내부의 구현을 변경할 ..
-
[백준]23288: 주사위 굴리기2(java)Algorithm/백준 2022. 7. 4. 21:04
https://www.acmicpc.net/problem/23288 23288번: 주사위 굴리기 2 크기가 N×M인 지도가 존재한다. 지도의 오른쪽은 동쪽, 위쪽은 북쪽이다. 지도의 좌표는 (r, c)로 나타내며, r는 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로부터 떨어진 칸의 개수이다. 가장 왼 www.acmicpc.net 문제 크기가 N×M인 지도가 존재한다. 지도의 오른쪽은 동쪽, 위쪽은 북쪽이다. 지도의 좌표는 (r, c)로 나타내며, r는 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로부터 떨어진 칸의 개수이다. 가장 왼쪽 위에 있는 칸의 좌표는 (1, 1)이고, 가장 오른쪽 아래에 있는 칸의 좌표는 (N, M)이다. 이 지도의 위에 주사위가 하나 놓여져 있으며, 주사위의 각 면에는 1보다 크..
-
[JavaScript] Jest로 기본적인 테스트 작성JavaScript 2022. 7. 4. 18:09
Jest는 페이스북에서 만든 React와 더불어 자바스크립트 개발자로부터 가장 좋은 반응을 보이는 테스팅 라이브러리이다. 출시 초기에는 FE에서 주로 쓰였지만 최근에는 BE에서도 기존의 자바스크립트 테스팅 라이브러리를 대체하고 있다. 테스트 코드란 무엇일까? 테스트 코드란 코드가 안정적이고 제대로 동작하는지 확인하기 위해 작성하는 코드이다. 이를 통해 특정 동작을 하는 코드가 예상과 동일하게 결과를 잘 내는지 품질 검사하는데 사용한다. 테스트 코드를 작성하면 뭐가 좋을까? 프로그램의 안정성을 보장할 수 있다. 프로그램이 변경(기능 확장 또는 리팩터링 등)이 되더라도 올바르게 작동하는지 확인할 수 있다. 개발 테스트 자동화 / 수동 테스트를 최소화 할 수 있다. 그럼 Jest를 통해 간단한 테스트를 실행해..
-
[JavaScript] 함수JavaScript 2022. 7. 1. 20:02
함수 수학의 함수는 다음과 같습니다. 프로그래밍 언어의 함수도 수학의 함수와 같은 개념입니다. f(x, y) = x+y를 자바스크립트의 함수로 표현하면 다음과 같습니다. // f(x, y) = x + y function add(x, y) { return x + y; } // f(2, 5) = 7 add(2, 5); // 7 프로그래밍에서 함수란? 일련의 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것이다. 매개변수 : 내부로 입력을 전달받는 변수 인수 : 입력 반환값 : 출력 함수는 함수 정의를 통해 생성합니다. // 함수 정의 function add(x, y) { return x + y; } 함수 실행은 함수 호출을 통해서 실행한다. // 함수 호출 var result = a..
-
[JavaScript] 원시 값과 객체의 비교JavaScript 2022. 6. 29. 16:47
원시 타입 vs 객체 타입 원사 타입의 값은 변경 불가능한 값이다. 이에 비해 객체(참조) 타입의 값은 변경 가능한 값 이다. 원시 값을 변수에 할당하면 변수(확보된 메모리 공간)에는 실제 값이 저장된다. 값에 의한 전달 : 원시 값을 갖는 변수를 다른 변수에 할당하면 원시 값이 복사되어 전달된다. 참조에 의한 전달 : 객체를 가리키는 변수를 다른 변수에 할당하면 참조 값이 복사되어 전달된다. 원시 값 1) 변경 불가능한 값 원시 타입의 값, 즉 원시 값은 변경 불가능한 값 이다.(원시 값은 읽기 전용이다.) 하지만 변경 불가능하다는 것은 변수가 아니라 값에 대한 진술이다. 즉, 아래의 예제로 o라는 변수 자체를 바꿀 순 없지만, o라는 변수 내에 할당하는 프로퍼티들은 바꿀 수 있다. // const 키..
-
[프로그래머스] 양궁대회(java) 2022 KAKAO BLIND RECRUITMENTAlgorithm/프로그래머스 2022. 6. 29. 16:42
https://programmers.co.kr/learn/courses/30/lessons/92342 코딩테스트 연습 - 양궁대회 문제 설명 카카오배 양궁대회가 열렸습니다. 라이언은 저번 카카오배 양궁대회 우승자이고 이번 대회에도 결승전까지 올라왔습니다. 결승전 상대는 어피치입니다. 카카오배 양궁대회 운영위원 programmers.co.kr 문제 설명 카카오배 양궁대회가 열렸습니다. 라이언은 저번 카카오배 양궁대회 우승자이고 이번 대회에도 결승전까지 올라왔습니다. 결승전 상대는 어피치입니다. 카카오배 양궁대회 운영위원회는 한 선수의 연속 우승보다는 다양한 선수들이 양궁대회에서 우승하기를 원합니다. 따라서, 양궁대회 운영위원회는 결승전 규칙을 전 대회 우승자인 라이언에게 불리하게 다음과 같이 정했습니다. ..
-
[JavaScript] 객체 리터럴(모던 자바스크립트)JavaScript 2022. 6. 28. 16:14
객체란? 자바스크립트는 객체 기반의 프로그래밍 언어이며, 자바스크립트를 구성하는 거의 “모든 것”이 객체다. 원시 타입은 단 하나의 값만 나타내지만 객체 타입은 다양한 타입의 값을 하나의 단위로 구성한 복합적인 자료구조다. 원시 값은 변경 불가능한 값 객체는 변경이 가능한 값이다. 객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 키와 값으로 구성된다. 프로퍼티 값이 함수일 경우, 일반 함수와 구분하기 위해 메서드라 부른다. 프로퍼티 : 객체의 상태를 나타내는 값(data) 메서드 : 프로퍼티(상태 데이터)를 참조하고 조작할 수 있는 동작 객체 리터럴에 의한 객체 생성 자바스크립트는 프로토타입 기반 객체지향 언어로서 클래스 기반 객체지향 언어와는 달리 다양한 객체 생성 방법을 지원한다. 객체 리..