전체 글
-
[개발자 책] 소프트 스킬 - 4부 생산성카테고리 없음 2022. 6. 11. 18:24
집중이 중요하다 생산적인 사람이 되고 싶으면 일을 더 빨리 끝내면 된다. 어떻게? 중요한 것은 집중이다. 집중한다. ↔ 주의가 산만하다. 집중한다는 것은 시간이 쏜살 같이 지나갔을 때 느낌이다. 생상성 = 집중력 집중을 하지 못하면 작업 시간이 굉장히 길어진다. 또 어떤 작업을 할 때 작업 기반만 반복해서 다지게 된다. 집중은 관성과 같다. 처음 5분에서 10분만 버티면 된다. 10분을 지속한다면 지속할 수 있는 충분한 광성을 얻을 수 있다. 내가 집중 모드로 들어설 수 있었던 원인은 무엇인가? 하고자 하는 작업 혹은 목표가 명확하고 시간에 대한 제한이 있을 때. 내가 집중이 깨진 이유는 무엇인가? SNS 혹은 메신저를 확인 할 때, 옆에서 누가 말 걸 때 생산성 계획 매주 해야 할 일을 두시간 이하의 ..
-
코틀린 함수 관련 개념Programming/Kotlin 2022. 5. 11. 01:51
일급 객체 일급객체는 다음과 같은 특징을 갖고 있습니다. 일급함수는 함수가 객체(변수)로 취급될 수 있습니다. (함수를 변수에 할당하거나 자료구조에 저장하는 것이 가능) 일급함수는 함수 객체를 인자로 넘길 수 있어야 합니다. 일급함수는 함수 객체를 반환값으로 반환할 수 있어야 합니다. 프로그래밍 언어에서 일급함수를 지원한다는 것은 고차함수를 사용할 수 있다는 것과 같습니다. 함수 리터럴 Literal은 어떤 값을 표기하는 방법을 뜻합니다. In computer science, a literal is a notation for representing a fixed value in source code. 컴퓨터 과학에서 리터럴은 고정된 값을 나타내기 위한 표기법입니다. 함수 리터럴이란 함수를 어떤 변수를 받..
-
RTMP (Real Time Messaging Protocol)Programming/Android 2022. 3. 31. 21:18
RTMP (Real Time Messaging Protocol) 어도비 스시템즈사의 독점 통신 규약이다. RTMP는 오디오, 비디오 및 기타 데이터를 인터넷을 통해 스트리밍 할 때 쓰인다. RTMP는 어도비 플래시 플레이어와 서버 사이의 통신에 이용된다. 현재는 플래시 뿐만 아니라 다른 응용프로그램에서도 쓰이고 있다. RTMP (기본): 1935번 포트 사용, 암호화되지 않은 RTMP, 혹시나 1935번 포트로 시도해서 실패하면 443 포트(RTMPS)나 80 포트(RTMPT)로 재시도함. RTMP 동작 순수 TCP 기반의 RTMP 프로토콜은 접속을 지속적으로 유지하는 데 기여한다. 또 실시간 통신을 한다. 더 큰 덩어리의 정보를 보낼 수 있는 동안, 부가적으로 비디오 및 오디오 스트림을 부드럽게 전달하..
-
동영상의 이해Programming/Android 2022. 3. 31. 21:17
동영상의 이해 동영상 영상 + 소리 정보를 가진 파일 해당 글에서는 영상 정보만 가진 파일을 말할 때는 “비디오”, ” 비디오 파일”, “비디오 스트림”으로 용어 정의를 함. 컨테이너 포맷 컨테이너 포맷은 비디오와 오디어를 담아두는 상자나 포장해둔 포장지 정도로 이해하면 됩니다. 아래 그림에서 비디오는 x264코덱으로 만들어 졌고, 오디오는 DTS코덱으로 만들어졌습니다. 컨테이너는 이렇게 비디오와 오디오를 하나의 파일로 만드는 역할을 합니다. 우리가 보통 파일의 정체를 확인하기 위해서는 확장자를 봅니다. 하지만 동영상을 판단할 때 확장자를 봐서는 단지 컨테이너가 무엇인지 알 수 있을 뿐이지. 상자 안에 들어있는 비디오와 오디오가 어떤 코덱으로 만들어져 있는지 알 수 없습니다. 동영상 파일의 확장자인 av..
-
[개발자 책] 소프트 스킬 - 1부 경력private 2022. 3. 27. 23:51
2. 다른 이들과 달리 멋지게 시작하라 사업가의 사고방식 갖추기 소프트웨어 개발자는 자신의 경력을 사업으로 봐야 한다. 회사에 소속되어 일하더라도 자신의 정체성이나 경력은 조직에서 주어진 역할과 별개로 존재해야 한다고 생각한다. 머슴같은 태도를 버리고 사업가의 태도를 갖추는 것이야 말로 경력 관리의 출발점이다. 내가 제공하는 서비스를 사업으로 생각하고, 이 사업(서비스)의 가치가 정확히 무엇인지, 그 가치가 다른 수많은 소프트웨어 개발자가 제공하는 가치와 어떻게 다른지 설명할 수 있어야 한다. 제품이나 서비스를 알릴 수 있는(마케팅) 방법도 생각해봐야 한다. 마케팅을 잘할수록 서비스 판매가격이 높아지고, 잠재고객 수가 증가한다. 어떤 서비스를 제공할 지 , 그 서비스를 어떻게 마케팅 할 지 고민해라 서비..
-
[Design Pattern] Observer PatternProgramming/DesignPattern 2020. 12. 26. 17:19
Observer Pattern 옵저버 패턴은 데이터의 변경이 발생되었을 때, 상대 클래스나 객체에 의존하지 않으면서 데이터 변경을 통보하고자 할 때 유용하다. 예를 들어, 새로운 파일이 추가되거나 기존 파일이 삭제되었을 때 탐색기는 이를 즉시 표시할 수 있다. 탐색기를 복수 개 실행하는 상황이나 하나의 탐색기에서 파일 시스템을 변경했을 때는 다른 탐색기에게 즉각적으로 이 변경을 통보해야 한다. 다른 예로는 차량의 연료가 소진될 때까지 주행가능 거리를 출력하는 클래스, 연료량이 부족하면 경고 메세지를 보내는 클래스, 연료량이 부족하면 자동으로 근처 주유소를 표시하는 클래스 등에 연료량의 변화를 통보하는 경우가 있다. 이런 경우 연료량 클래스는 연료량에 관심을 가지는 클래스에 직접 의존하지 않는 방식으로 설..
-
Array & ListComputer Science 2020. 12. 23. 00:44
배열 (Array)같은 타입의 데이터를 나열한 선형 자료구조연속된 메모리 공간에 순차적으로 저장배열의 크기는 고정. 선언할 때 배열의 크기를 정하고, 변경할 수 없다.시간복잡도삽입/삭제배열의 맨 앞에 삽입 삭제하는 경우 : O(n)배열의 맨 뒤에 삽입/삭제하는 경우 : O(1)배열 중간에 삽입/삭제하는 경우 : O(n)탐색O(1)장점인덱스를 가지고 있어 바로 접근 가능 - O(1)연속된 메모리 공간에 존재하기 때문에 관리가 편하다.단점삽입과 삭제가 어렵고 오래 걸린다.원소를 삽입하거나 삭제할 경우, 해당 원소 이후의 모든 원소들을 한칸씩 밀거나 당겨야 한다.연속된 메모리 공간에 저장되기 때문배열의 크기를 바꿀 수 없다.배열은 처음 생성할 때 크기를 결정하고 고정크기를 변경하기 위해서는 원하는 크기의 새로..
-
Java Collection FrameworkComputer Science 2020. 12. 21. 14:58
컬렉션은 기본 데이터형이 아닌, 참조 데이터형만 저장이 가능하다는 것이다. 따라서 Collection에서의 데이터는 Object 타입의 객체로서 저장이 되는 것인데, 그렇다면 여기서 기본 데이터형은 어떻게 저장하고 관리할 수 있을까? 기본 데이터형인 5를 Wrapper클래스의 Integer 타입 객체로 변환하여 autoboxing으로 저장할 수 있다. 즉, 오토박싱을 통해 기본 데이터형을 컬렉션에 직접 대입하여 저장해도 컴파일러가 자동으로 Wrapper 클래스로 변환해준다 저장된 값을 얻어올 때에도 객체화된 데이터를 기본 데이터형으로 바로 얻어올 수 있는 데, 이 경우 언박싱(unboxing)이라는 용어를 사용한다.List : Interface동일한 데이터의 중복을 허용한다.데이터 저장 순서가 유지된다힙..