-
php 로 IntegerArray 구현하기
기본적으로 PHP 의 배열은 일반적인 ArrayList 구현이 아니라, Hash Table 입니다. 그러다보니 php 개발자들은 배열을 배열처럼 쓰지 않고 Hash Table 처럼 이용하는 분들이 많습니다. (나쁜거 아니에요!) $a = ['q_lazzarus' => '킹왕짱']; echo $a['q_lazzarus']; 다시 기초로 돌아가자면, array 는 동일한 자료구조의 반복 입니다. 메모리 단위에서 생각해보면 동일한 크기의 방이 주루룩 있는 구조이죠. !! 그렇다면, string 하나에 integer 몰빵해서 넣으면 되자너? 구현해보자 ! 5개의 원소가 있는 배열이 있다고 가정하고 데이터를 읽는 간단한 함수를 만들어 보겠습니다. function array_get($i)...
-
equals() And hashCode()
객체를 비교하는 방법 연산자(==), ‘equals()’, ‘hashCode()’ 연산자(==) 두 객체가 같은것을 가르킬 때 “true” 를 리턴. == 연산자는 피연산자가 primitive type(int, double, boolean, …)일 때는 값이 같은지 비교하고, 피연산자가 그 외 객체, reference type일 때 가리키는 주소가 같은지를 검사한다 아래의 예제는 연산자 비교 차이에 대한 이해를 돕기 위해 String 객체를 예로 들었다. equals() equals는 내용이 같은지를 검사하는 메서드. Primitive Type은 내용이 같은지 검사하고 Reference Type은 객체의 주소가 같은지 검사 한다. ‘==’ 연산자와 다른 점은 완전히 같은...
-
Kodein을 이용한 Kotlin 의존성 주입
의존성 이란? 네이버 사전 검색 [명사] 다른 것에 의지하여 생활하거나 존재하는 성질. 금단 증상 때문에 계속하여 약물을 섭취하지 않으면 안 되는 상태. 개발적으로 단순의 정의 하자면 코드에서 두 모듈간의 연결을 의미 합니다. 의존성이 크다는 것은 결합도가 높다는 것 이라고 해석 할수 있습니다. 개발 시 하나의 모듈이 변경됨에 따라 결합된 다른 모듈이 영향을 받게 됩니다. 결합도가 높은 프로젝트 모듈이 n개일 상황에 하나에 모듈 오류가 발생 할 경우 프로젝트 설정을 위해 밤을 지새워야 합니다. 모듈간 결합도가 높다면...
-
자바스크립트 콜백지옥 탈출기 - 2.Promise의 활용
Promise 지난 시간에는 콜백지옥 이라는 문제에 좌절했다가, Promise를 리턴하는 함수의 체이닝을 통해 문제를 해결해 보았었습니다. 그렇다면 이번에는 조금 더 적극적으로 Promise를 활용하는 방법에 대해 알아보겠습니다. 현실의 문제 최근에 트위치 API를 활용해 특정 스트리머를 팔로우/언팔로우 하는 기능을 개발했을 때 만났던 문제인데요, 어떻게 해결할 수 있을지와, Promise를 통해 해결한 방법을 소개해 볼까 합니다. 요구사항은 아래와 같았습니다. ABC 라는 채널을 팔로우중인지 여부에 따라 팔로우/언팔로우 요청을 보내야 함 팔로우여부를 먼저 알아내고.. 해당 여부에 따라 각기 다른 API호출을 해야 함....
-
자바스크립트 콜백지옥 탈출기 - 1.영원한 사랑
Callback hell 비동기 호출이 자주 일어나는 프로그램을 짜다 보면 반드시 한번쯤은 마주할 수 밖에 없는 문제가 있습니다. 그것은 소위 콜백헬 이라고 불리는 것인데요. 콜백장풍을 받아라 저의 경우는 주로 다음과 같은 요구사항을 해결하려다 보면 어느순간 콜백헬이 만들어져 있었던 것 같습니다. 하나의 비동기 요청이 완료된 뒤, 완료로 인해 얻어진 값을 사용해 다음 비동기요청이 이루어짐. 여러 번의 비동기 호출이 이루어지는데 각 처리는 비동기로 이루어지나, 각 비동기호출간의 실행순서는 동기적이었으면 함. 여러분은 어떤 경우에 이 친구를 만나보셨나요? 어찌되었던, 비동기 프로그래밍을...