목록전체 글 (194)
제이슨의 개발이야기

Rx 는 Reactive X의 줄임말 로 java rx는 리엑티브 한 자바를 지원하는 라이브러리이다 그렇다면 리액티브 란 무엇일까? 일단 리액티브 프로그래밍은 데이터 흐름과 전달 관한 프로그래밍 패러다임 이다 기존의 명령형 프로그래밍은 주로 컴퓨터 하드웨어를 대상으로 프로그래머가 작성한 코드가 정해진 절차에 따라 순서대로 실행된다 그러나 리액티브 프로그래밍은 데이터 흐름을 먼저 정의 하고 데이터가 변경되었을 떄 연관되는 함수나 수식이 업데이트 되는 방식이다 명령형 프로그래밍 방식은 데이터가 변경된다면 그 데이터로 인해 값이 다른 값에 영향을 주려면 새로 다시 계산하는 방식(pull) 방식이다 그러나 리액티브 프로그래밍 방식은 데이터 소스가 변경된 데이터를 밀어주는 (push) 방식이다 일종의 옵서버 패턴..
Heap 자료 구조 란 무엇일까? 아마 첨 들어 본 사람도 있을 거고 공부 했지만 시간이 지나면서 "어? heap이 머였지?" 라는 사람들도 있을거라고 생각합니다 왜냐하면 stack 이나 queue , tree 등은 한번 배우면 까먹기 쉽지 않은 자료 구조 지만 heap 같은 경우 tree 의 구조를 응용한 자료 구조 이므로 까먹거나 햇갈릴 수 도 있는 자료구조라고 생각합니다 heap 이란 우선순위 큐를 구현하기 위한 자료구조 로써 완전 이진 트리 로 이루어 저 있는 자료구조입니다 힙의 종류로는 최대 힙(max heap) 와 최소 힙(min heap)이 있습니다 힙은 배열로 구현 하는 것이 가장 효과적이다 ! 먼저 최대 힙(max heap)은 부모 노드의 값이 자식 노드의 값보다 크거나 같은 완전 이진 ..

recyclerView 로 개발하면 흔하게 직면하게 되는 문제가 있습니다 예들들면 이 버튼을 눌렀을때 다른 버튼이 작동안되게 한다거나 혹은 이 사진을 선택하면 다른 사진은 선택이 취소되는 등등 내가 선택한 아이템에 따라 다른 아이템의 상태가 바뀌는 경우입니다 아래 사진으로 쉽게 설명 하겠습니다 참고로 혹시 아래와 같은 ImagePickerView를 만들고 싶으신 분에게 좋은 힌튿가 될 거같구 혹시 봐도 ImagePickerView를 만들기 어렵다고 하면 추후에 ImagePickerView 코드 설명을 올리겠습니다 위에 두 사진 처럼 처음에는 후드티 를 선택하고 다음에 아이티 뱅크 사진을 선택 할 경우 동그라미 체크가 바뀌어야 됩니다 그러나 일반적으로 직접 저 체크박스에 접근해서 바꿔주는것은 좋은 방법이 ..

안녕하세요 요번에는 삽입정렬에 대해서 공부했습니다 삽입정렬이란 input array 를 반으로 나누고 또 다시 반으로 나누고 더 이상 나눌 수 없을 정도로 나누고 나서 합처서 결과를 얻는 방식입니다 앞서 작성했던 Insertion Sort 는 Incremental approach(점진적 접근방식) 이라고 하면 merge sort 는 Divide and Conquer approach 입니다 알고리즘 에 있어서 Divide and Conquer approach 는 정말 중요한 방식이므로 숙지 할 필요가 있습니다!! 분할 정복 알고리즘(Divide and conquer algorithm)이란 그대로 해결할 수 없는 문제를 작은 문제로 분할하여 문제를 해결하는 방법입니다 앞으로 알고리즘을 공부하거나 코딩테스트를..