본문 바로가기

분류 전체보기

(34)
[자료구조] List ※ 2021년 12월 29일에 작성된 글입니다.📋 List순서를 가진 요소들의 모임Array vs List ArrayList물리적 순서와 논리적 순서일치일치하지 않아도 됨크기고정가변메모리 할당정적동적List의 연산add새로운 요소를 리스트의 끝, 처음, 중간에 추가한다.remove기존의 요소를 리스트의 임의의 위치에서 삭제한다.clear모든* 요소를 삭제한다.replace기존의 요소를 대치한다.contains리스트가 특정한 요소를 가지고 있는지 확인한다.get리스트의 특정 위치의 요소를 반환한다.size리스트 안의 요소의 개수를 센다.isEmpty리스트가 비었는지 확인한다.ArrayList= Dynamic Array0123456789ABCDE     1차원 배열에 요소들을 순서대로 저장구현이 간단삽입,..
아임포트 일반결제 연동하기 ※ 2021년 12월 21일에 작성된 글입니다.PG(Payment Gateway)?온라인 상에서 결제를 할 때 주로 신용카드를 이용한다. 그런데 카드사는 한 곳만 있는 것이 아니고, 각각의 카드사마다 API가 다를 것이기 때문에 모든 카드사와 직접 연동을 하는 것은 매우 비효율적이다.따라서 PG 사에서는 각 카드사와 직접 연동을 하고 하나의 API로 통합하여 가맹점에 제공해준다.오프라인에서는 VAN 사가 비슷한 역할을 한다.또한, 결제 수단이 신용카드뿐만 아니라, 실시간 계좌이체, 가상계좌, 휴대폰 소액결제 등이 있는데, 이 역시 PG사에서 한 번에 연동할 수 있도록 해준다.PG 연동 솔루션?여러 카드사와의 연동을 PG 사가 해결해줬지만, 아직 문제가 남아있다.신용카드로 직접 결제하는 경우도 있지만, 요..
[Python] 2차원 배열 선언하기 ※ 2021년 12월 19일에 작성된 글입니다.Python에서의 1차원 배열 선언Python에서 1차원 배열을 선언할 때는 다음과 같이 * 연산자를 이용해 간단하게 선언할 수 있다.rows = 10arr = [0] * rows[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]같은 방식으로 2차원 배열 선언하지만, 2차원 배열을 같은 방식으로 선언하면 문제가 생긴다.rows = 10cols = 5arr = [[0] * cols] * rows[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0,..
DNS Recursive Query를 직접 해보자 ※ 2021년 11월 29일에 작성된 글입니다.Recursive Query호스트 이름을 IP 주소로 변환해주는 DNS는 계층적 구조를 가지고 있다.루트 네임 서버↓해당 TLD 네임 서버↓해당 도메인 네임 서버루트 네임 서버가 모든 도메인의 레코드를 가지고 모든 쿼리를 감당하기에는 너무 부담스럽기 때문에 하위 네임 서버가 레코드를 가지고, 상위 네임 서버는 하위 네임 서버의 주소를 반환한다.루트 네임 서버에서 시작해 상위 네임 서버에서 하위 네임 서버로 해당 도메인의 네임 서버까지(원하는 호스트 네임의 레코드가 나올 때까지) 재귀적으로 쿼리하는 것일반적인 상황에서의 DNS 쿼리DNS 서버 주소를 따로 건드리지 않았다면 기본적으로 사용하는 통신사의 DNS 서버로 지정이 되어있을 것이다.사용자는 일반적으로 루..
카카오엔터프라이즈 [데이터플랫폼] 클라우드 BI플랫폼 BE 개발자 지원 후기 ※ 2021년 11월 26일에 작성된 글입니다.📧 지원 과정프로그래머스에서 2021 Dev-Matching: 웹 백엔드 개발자(하반기)를 진행했고, 카카오엔터프라이즈 [데이터플랫폼] 클라우드 BI플랫폼 BE 개발자에 지원했다.담당자 확인 없이(?) 바로 서류통과가 되었는데, 아마 블라인드 채용을 하는 카카오 답게 서류는 중요하지 않은 것 같다.💻 코딩테스트서류를 통과하게 되면 메일로 초대 링크가 온다.코딩테스트는 프로그래머스가 아닌 HackerRank에서 진행되었다.코딩테스트를 보는 시간이 따로 정해져 있는 것은 아니고 Expire date 이전에 편한 시간에 풀고 제출하면 된다.210분간 4문제를 풀이하는 것인데, 카카오치고는(?) 문제가 어렵지 않았던 것 같다.구현 문제와 알고리즘 문제가 모두 존..
[Java] JDK 버전별 차이점 정리 (1.5~17) ※ 2021년 11월 26일에 작성된 글입니다.JDK 1.5추가된 기능GenericMetadataAutoboxing/unboxingEnumerationsVarargsEnhanced for each loopImproved semantics of execution for multi-threaded Java programsStatic imports표준 라이브러리 개선Automatic stub generation for RMI objectsSwingThe concurrency utilities in package java.util.concurrentScanner class for parsing data from various input streams and buffersJDK 1.6Support for olde..
2021 하반기 SW개발 신입 LINER 공개채용 후기 ※ 2021년 11월 24일에 작성된 글입니다.📧 지원2021 하반기 SW개발 신입공채나는 Global Commerce Platform Server 부문에 지원했다.💻 코딩테스트코딩테스트 이틀 전에 메일로 초대 링크가 왔다.코딩테스트는 프로그래머스에서 진행되었으며, 180분간 6문제를 풀이하면 되었다.자세한 내용은 공개할 수 없지만, 알고리즘 보다는 구현 위주의 문제였던 걸로 기억한다.코딩테스트가 어렵기로 유명한 K사에 비하면 쉬운 편이었던 것 같다.나는 프로그래머스에 있는 코딩테스트 연습 문제들을 풀어보며 대비했다.📢 결과합격🎉📝 필기테스트코딩테스트 합격 메일을 받고, 필기테스트 이틀 전에 메일로 초대 링크가 왔다.필기테스트 역시 코딩테스트와 마찬가지로 프로그래머스에서 진행되었다.필기테스트는 ..
[Java] Pattern Matching for instanceof ※ 2021년 11월 23일에 작성된 글입니다.Pattern Matching for instanceofinstanceof에서 객체 타입 확인뿐만 아니라 캐스팅까지 할 수 있다.ReleaseJDK 14: previewJDK 15: second previewJDK 16JEP 394 Pattern Matching for instanceof코드로 비교해보자Beforeif (animal instanceof Cat) { Cat cat = (Cat) animal; cat.meow();} else if (animal instanceof Dog) { Dog dog = (Dog) animal; dog.woof();}instanceof를 이용해 객체 타입을 확인하고 추가로 캐스팅을 해줘야 했다.Afte..