본문 바로가기

생각정리

[Android] RxJava에 대해서 RxJava를 시작하기 앞서, Reactive Programming이 무엇인지에 대해 알아보려 한다. Reactive Programming이란 데이터 흐름과 전달에 관한 프로그래밍 패러다임이다. 우리는 주로 알고리즘 문제와 같이 절차를 명시하여 순서대로 실행되는 Imperative Programming(명령형 프로그래밍)을 한다. 반면 Reactive Programming이란 데이터의 흐름을 먼저 정의하고 데이터가 변경되었을 때 연관된 작업이 실행된다. 즉 프로그래머가 어떠한 기능을 직접 정해서 실행하는 것이 아닌, 시스템에 이벤트가 발생했을 때 알아서 처리되는 것이다.(선언형 프로그래밍) 예시) //명령형 for(int number : numbers){ if(number >6){ sum += numbe.. 더보기
[Android] 객체지향에 대해서 (feat. 절차지향) 객체지향에 대해서 알아보던 중 좋은 글을 발견했습니다. 보시면 좋을것 같습니다! https://brownbears.tistory.com/407 절차지향 VS 객체지향 절차지향(Procedural Programming)이란? 절차지향 프로그래밍이란 물이 위에서 아래로 흐르는 것처럼 순차적인 처리가 중요시 되며 프로그램 전체가 유기적으로 연결되도록 만드는 프로그래밍 기법 brownbears.tistory.com https://jeong-pro.tistory.com/95 결국 객체 지향 키워드 5가지와 관련된 내용과 장단점을 알고 있는지에 대한 질문이다. (객체 지향의 5원칙(SOLID)을 말하는 것은 아니다.) 객체 지향 프로그래밍의 장, 단점 간단하게 설명해주세요 - 장점 ▶코드 재사용이 용이 남이 만든 .. 더보기
[Android] Dependency Injection. DI 에 대해서 Dependency Injection 에 대해서 정리를 해보도록 하겠습니다 . https://developer.android.com/training/dependency-injection Android의 종속 항목 삽입 | Android 개발자 | Android Developers Android의 종속 항목 삽입 종속 항목 삽입(DI)은 프로그래밍에 널리 사용되는 기법으로, Android 개발에 적합합니다. DI의 원칙을 따르면 훌륭한 앱 아키텍처를 위한 토대를 마련할 수 있습니다. 종속 developer.android.com 일단 이 Dependency Injection의 뜻은 '의존성 주입' 이라는 뜻 입니다. 의존성이란 그럼 무엇인지에 대해 설명을 해보자면 일단 예를 들어보도록 하겠습니다 . Car .. 더보기
[Android APP Architecture] 안드로이드 아키텍처 오늘은 앱 아키텍처에 대해 적어보겠습니다. https://developer.android.com/jetpack/guide 앱 아키텍쳐는 앱의 각 부분과 부분들이 가져야 할 역할의 경계를 정의한다. 앱의 크기가 커짐에 따라 앱의 확장 , 앱의 견고성 향상 , 테스트 용의성을 높일 수 있다. 일단 아키텍처의 설명을 해보자면 1. 집중도, 역할의 분리이다 . 코드들을 액티비티 또는 프래그먼트에 모두 쓰는 것은 일반적인 실수라고 할 수 있겠다. 이런 UI 기반 클래스(액티비티, 프래그먼트)에는 UI 및 운영체제 상호작용을 처리하는 로직만 포함을 하는 것이 좋고 이렇게 함으로써 라이프 사이클과 관련된 많은 문제를 피하고 테스트성이 용이해진다. 개발자는 액티비티와 프래그먼트를 만드는 사람이 아니다 . Android.. 더보기
에이블디(Able.d) 수료 후기 ! 정말 길다면 길고 짧다고하면 짧은 1년 반개월이 지나서 드디어 코딩학원인 에이블디를 수료하게 되었다. 대학교까지 음악을 전공하고 컴퓨터 코딩의 'ㅋ' 자도 모르고 내 인생에서 코딩은 생각도 안해봤던 내가 28살에 여러 고민과 생각끝에 개발자의 길로 인생의 방향을 틀게 되었다. 개발자로서 한번 해보자 마음먹고 나 같은 경우에는 마지막 도전이라 생각을 하며 정말 미친듯이 코딩학원에 대해 검색을하며 정보를 알아보았다. 국비지원학원도 여러번 상담을 받아보고 여러 학원도 가보며 상담을 받고 유튜브를 통해서도 정보를 찾아봤다. 물론 좋은 국비지원학원도 있고 잘 된 케이스인 분들도 많을 것이라고 생각이 들지만 나 같은 경우에는 6개월동안 코딩을 배우고 취업이 되고 다니면서 용돈도 받는다 라는 것이 정말 달콤하지만 믿.. 더보기
생명주기에 대하여 어느 분이 너무 정리를 잘 해주셔서 올리게 되었습니다 . 참고 https://www.notion.so/Activity-Fragment-LifeCycle-a5ba57dc06d1487da622358989f5a724 Activity LifeCycle Activity LifeCycle은 Activity가 시작되고 종료되는 시점까지의 상태를 Activity LifeCycle이라 한다. Activity LifeCycle에는 onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy(), onRestart()가 있다. onCreate()-전체 LifeCycle 동안 "한 번"만 발생한다. -이 메서드에는 XML, 멤버 변수 정의, 일부 UI구성 등 설정을 한.. 더보기
Socket.io에 대해서 오늘은 Socket.io에 대해서 적어보겠습니다 일단 Socket.io 이름만 들어도 Socket이란것이 무엇인지 알아야 될 것 같은 느낌을 줍니다. 소켓 이란? 소켓 → 프로토콜, ip주소, 포트넘버로 정의 됨. 떨어져 있는 두 호스트를 연결해주는 도구로써 인터페이스 역할. 데이터를 주고 받을 수 있는 구조체로 소켓을 통해 데이터 통로가 만들어 진다. 소켓의 역할에 따라 클라이언트 소켓, 서버소켓으로 구분된다. 이렇게 간단히 소개할 수 있겠습니다. 간단하게 말하면 프로토콜과 ip주소, 포트넘버로 떨어져있는 두 디바이스를 연결해주는 역할을 하고 있다고 알고 계시면 되겠습니다. 그럼 Socket.io란 무엇인가??? Socket.io란 Websocket을 기반으로 실시간 웹 애플리케이션을 위한 JavaSc.. 더보기
WebRTC 동작원리 및 나의 생각 오늘은 WebRTC에 대한 동작원리를 제가 아는 만큼 설명을 해보겠습니다 . Webrtc란 별도의 소프트웨어 도움이 없이 음성 , 영상 미디어, 텍스트 ,파일 데이터를 주고받을 수 있게 하는 기술이다. 다시말하자면 어떤 플러그인(상업회사에서 개발되어 배포되는 소프트웨어 (ex adobe flash, window media player) 필요없이 음성채팅, 화상채팅, 데이터 교환이 가능하다. 라고 생각하시면 되겠습니다. WebRTC는 P2P통신을 하기위해 적합한 기술인데요 이유로는 WebRTC가 여러 API를 제공해주기 때문입니다. MediaStream : 사용자의 카메라 혹은 마이크 등 input 기기의 데이터 스트림에 접근한다. RTCPeerConnection : peer간 안정적이고 효율적인 통신 설.. 더보기