[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기
반응형

분류 전체보기 495

개체와 속성

속성의 개요 속성의 개념 업무에 필요한 개체(엔티티)에서 관리하고자하는 더 이상 분리되지 않는 최소한의 단위 하나의 속성은 하나의 개체 타입으로 존재 속성명 / 도메인 / 선택성(not null, null) 으로 구성 속성 후보 선정 원칙 원시 속성(다른 속성에 의해 다시 재현될 수 없는 속성)으로 보이는 후보는 버리지 않는다 소그룹별로 후보군을 만들고 가장 근접한 개체에 할당 (핵심 개체를 대상으로 모델링을 실시했을 뿐, 아직 모든 개체가 드러나지 않았을 수 있다. 따라서 각 속성 후보들을 적절한 데이터 그룹으로 생성해두는 것이 필요) 속성의 명명 해당 업무에서 일반적으로 사용하는 용어 사용 서술식 속성명은 사용하지 않으며 명사형 사용 약어는 가급적 사용자제 개체 타입명을 속성명으로 사용해선 안됨 구체..

함수형 프로그래밍이란?

함수형 프로그래밍? 절차지향 프로그래밍,객체지향 프로그래밍, 함수형 프로그래밍 등을 '프로그래밍 패러다임'이라고 한다. 그 중 수학과 밀접하게 연관되어 함수의 사용을 메인컨셉으로 하는 것이 함수형 프로그래밍이다. 수학에서 주어진 데이터를 처리해 결과값을 도출하듯, 내외부 소통이 한정된 파이프라인(=함수)들을 묶어가며 프로그램을 구성해 나간다. Haskell, OCaml 등 함수형에 특화된 프로그래밍 언어도 있고 자바스크립트, 자바, 코틀린, Go, C++ 등 최근 객체지향과 더불어 함수형 프로그래밍 특징을 접목한 언어들도 많다. 프로그래밍 언어 역사와 함수형 프로그래밍 1958년 첫번째 함수형 프로그래밍 언어라고 할 수 있는 LISP가 등장했다. 우리가 보통 제일 처음으로 많이 배우는 프로그래밍 언어인 ..

데이터베이스 모델링 개념

데이터베이스 설계 프로세스 데이터베이스 생명 주기 요구조건 분석 -> 설계 -> 구현 -> 운영 -> 감시 및 개선 감시 및 개선 과정에서 전 단계로 되돌아가 내용을 수정할 수 있다. 데이터베이스 설계 프로세스 요구사항 수집 분석 : 데이터베이스 요구사항 정리 개념적 설계 : 개념적 스키마 (ER 스키마) 완성 논리적 설계 : 논리적 스키마 (관계 데이터베이스 스키마) 완성, DBMS의 특성 고려, 관계 DBMS에서는 ER 스키마를 릴레이션들로 구성 정규화 : 정규화된 릴레이션들 물리적 설계 : 물리적 스키마 (릴레이션, 인덱스 등) 데이터 모델링 개념 데이터 세계 현실 세계의 개체를 개념적으로 모델링하여 개념적 구조를 만들고 해당 개념적 구조를 기반으로 데이터 모델링을 진행해 논리적 구조를 만든다. 그..

명령형 UI와 선언형 UI

명령형 UI(Imperative UI), 선언형 UI(Declartive UI) 명령형 방식에서는위와 같은 작업을 위해서는 ViewB에 접근해서 selector 혹은 findViewById등의 도구로 인스턴스b를 찾고나서야, 하나씩 작업을 수행할 수 있다. 이러한 방식은 UI를 '어떻게' 구성하는지 개발자가 직접 상세히 기술하는 것이기 때문에 생산성을 많이 낮춘다. // Imperative style b.setColor(red) b.clearChildren() ViewC c3 = new ViewC(...) b.add(c3) 반면 선언형 방식의 경우 속해 있는 것들의 '선언'만 바꿔주면 된다. 즉, '어떻게'보다 '무엇을'에 집중할 수 있는 것이다. // Declarative style return Vie..

[알고리즘 연습] AC (백준 5430, C++)

AC https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 접근 방식 및 풀이 deque을 활용하면 그렇게 어려운 문제를 아니었는데, 생각해줘야할 것이 많아 귀찮았다. 그런데 그 귀찮은 것을 신경써주지 못해서 계속해서 제출에 실패했다. 우선 입력값이 깔끔하게 주어지지 않았고, 출력값도 일반적이지 않았다. #include using namespace std; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); int t; cin >> t; while(t) { st..

Redux - createStore / dispatch / subscribe

Store 생성 : Redux.createStore() function reducer(state, action) { if(state == undefined) { return {color: 'yellow'} } } var store = Redux.createStore(); console.log(store.getState()); // {color: 'yellow'} 출력 store 생성에는 reducer 등록이 필요하다. 이 때 store에 아무런 값이 없을 때는 state값이 undefined이기 때문에 초기화를 해주어야 한다. getState로 state를 불러올 수 있다. Reducer with action : store.dispatch() store.dispatch({ty..

🛠 기타/WEB 2021.04.18

Redux - 기초 개념

Redux란? 자바스크립트 앱을 위한 예측가능한 상태의 저장소 코드의 결과가 어떻게 나올지 좀 더 잘 예측할 수 있도록 도와줌으로서 코드의 복잡성을 낮춘다 하나의 state(상태)를 갖고, 해당 state들이 저장되는 store에 앱에서 필요한 모든 데이터를 넣고 관리하는 것으로 복잡성을 낮춘다. 외부로부터 철저히 차단되어 인가된 담당자(=함수)만을 통해 관리가 가능하다 작동하는 원리를 응용해 UNDO, REDO와 같은 기능도 수행이 가능하다. 앱을 리프래쉬해도 데이터(상태)는 살아있어 재입력을 할 필요가 없는 핫모듈리로딩을 할 수 있다. Redux의 구성요소 store : 정보가 저장되는 곳. 앱을 구성하며 생기는 동적 정보들이 들어가는 곳. state : 실제정보로, 절대로 해당 state에 직접 접..

🛠 기타/WEB 2021.04.17

[알고리즘 연습] 옥상 정원 꾸미기 (백준 6198, C++)

옥상 정원 꾸미기 https://www.acmicpc.net/problem/6198 6198번: 옥상 정원 꾸미기 문제 도시에는 N개의 빌딩이 있다. 빌딩 관리인들은 매우 성실 하기 때문에, 다른 빌딩의 옥상 정원을 벤치마킹 하고 싶어한다. i번째 빌딩의 키가 hi이고, 모든 빌딩은 일렬로 서 있고 오른쪽으 www.acmicpc.net 접근 방식 및 풀이 처음엔 '각 빌딩이 볼 수 있는 빌딩의 수'에 집중해 문제를 해결하고자 했다. 하지만 그렇게하니 2중 for문의 비효율적인 코드만 계속 도출되었고, 이것이 정답일리 없다고 생각했다. 꽤 오랜시간 고민한 끝에 '각 빌딩을 볼 수 있는 빌딩의 수'에 집중하는 방식을 떠올렸다. 그를 구현하기 위해 stack에 각 빌딩의 크기를 넣어가며 자신보다 작은 빌딩(자..

[Network] HTTP 프로토콜

7계층 프로토콜은 매우 다양하다. 그 중 하나가 웹 통신을 위한 프로토콜인 HTTP 프로토콜이다. HTTP 프로토콜 HyperText Transfer Protocol 웹 표준 데이터를 받아오는 프로토콜 처음엔 Text, Html을 전송하는게 목적이었지만, 현재는 음성, 영상, 이미지, Json 등 거의 모든 형태의 데이터를 전송한다. 서버간 데이터를 주고받을 때도 대부분 HTTP를 사용하고 있다. Request / Response 동작에 기반해 서비스를 제공 HTTP 버전 HTTP/0.9 1991년 : GET 메소드만 지원, HTTP 헤더X HTTP/1.0 1996년 : 메소드, 헤더 추가 HTTP/1.1 1997년 : 현재 가장 많이 사용 (RFC2068 -> RFC2616 -> RFC7230~7235..

반응형