일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 백엔드 직무 변경
- 운영체제 공룡책
- spring exception cause remove
- 운영체제 개념
- 운영체제 커널모드
- spring exceptionHandler response cause
- spring sql injection
- IT 직무 변경
- spring sql injection 방지
- ec2 scp 파일 전송
- spring exceptionHandler reposnse stackTrace
- spring responseEntity response cause
- spring responseEntity response stackTrace
- 운영체제 다중모드
- 운영체제 멀티 프로그래밍
- Android Timer
- spring paging sort sql injection
- spring 동적 쿼리 주의사항
- 개발 포지션 변경
- IT 포지션 변경
- 운영체제 작동방식
- aws ec2 scp 파일 전송
- 백엔드 포지션 변경
- spring dynamic query sql injection
- OS 자원관리
- 운영체제 멀티 태스킹
- android 타이머
- 운영체제 자원관리
- spring exception stackTrace remove
- 개발 직무 변경
- Today
- Total
목록분류 전체보기 (60)
오늘도 삽질중
본 포스팅은 개인정리 목적으로 작성된 글입니다.잘못된 정보가 있을 수 있으며, 피드백은 겸허히 받겠습니다. 해당 챕터를 읽고 인지하면 좋을만한 내용을 간단하게 정리해 봤다. 클래스는 작아야 한다.클래스를 만들 때 첫번 째 규칙은 크기다. 클래스는 작아야 한다.함수는 물리적인 행 수로 크기를 측정하지만 클래스는 다른 척도를 사용한다.클래스가 맡은 책임을 센다. (여기서 책임이란 각자 생각하는 관점 마다 다를것으로 생각한다. 하나의 기능일수도 있고, 큰 카테고리 범주에서 생각하는 것일수도 있고...)* 클래스 내 함수의 갯수가 작다고 해서 만족하는 것이 아니라, 해당 함수들은 하나의 책임을 가지고 그에 해당하는 기능만 구현하는 것이 바람직 하다. 단일 책임 원칙(SRP) 을 준수한다.클래스나 모듈을 변경할 ..
Android Oreo 이상 앱 종료시점 캐치하기 해당 블로그는 다음과 같은 분들에게 도움이 될꺼라 판단합니다. 앱 종료시점(슬라이드 종료) 를 캐치하는데 Oreo 이상은 startForegroundService를 실행하는건 알고 있다.문제는 startForegroundService 는 노티피케이션 ui가 생기는데 이걸 제거하고 싶다. 또는 간단한 백그라운드 서비스를 구현하려고 할 때 startForegroundService를 사용하여 편법으로 백그라운드에서 서비스를 돌릴수 있을까? 아마 이 블로그를 들어온 사람들은 거의 비슷하게 생긴 예제들을 봤을거라고 생각합니다.서비스 시작시 OS 버전을 체크하여 서비스를 실행한다. if (Build.VERSION.SDK_INT >= Build.VERSION_CODE..
본 포스팅은 개인정리 목적으로 작성된 글입니다.잘못된 정보가 있을 수 있으며, 피드백은 겸허히 받겠습니다. 해당 챕터를 읽고 인지하면 좋을만한 내용을 간단하게 정리해 봤다. TDD의 법칙 3가지1. 실패하는 단위 테스트를 작성할 때 까지 실제 코드를 작성 하지 않는다.2. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.3. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다. 해당 Flow를 따를 경우 개발과 테스트가 대략 30초 주기로 묶인다.(TDD 작성법이 원할하다고 가정 할 때) 일회용 테스트 코드만 짜다가 자동화된 단위 테스트를 짜기란 쉽지 않다. 둘 사이의 간극은 아주 크다.테스트코드는 간결하고 명확해야 한다. 이유는? 지저분한 테스트 코드로 진행을 하는것..
Http URL로 파일 업로드를 구현해야 하는 일이 있어서 SAF 로 파일생성이나 폴더생성 예제를 찾아보았지만 제가 원하는 예제는 존재하지 않았습니다.그래서 파일 및 폴더 생성 부분만 간단하게 직접 테스트해보고 구현해봤습니다.내부저장소에 폴더 및 파일을 생성하게 됩니다. 해당 소스로 Android OS 7.0도 문제 없는걸로 보아 하위버전까지 호환이 가능한거 같습니다. 앱내 저장소는 FilePath 를 사용하여 작업이 가능하나, 저장소 정책이 변경되어 FilePath를 사용하는 코드는 모든 상황에 대응하기 힘들다고 판단하였습니다.해당 로직의 핵심은 FilePath를 사용하지 않습니다.오로지 uri로 모든 작업을 처리하였습니다. 해당 유튜브 영상과 블로그가 도움이 많이 되었습니다. 참고해보시면 좋을꺼 같습..
본 포스팅은 개인정리 목적으로 작성된 글입니다.잘못된 정보가 있을 수 있으며, 피드백은 겸허히 받겠습니다. 클린아키텍처 chapter. 경계는 이런 내용을 설명하고 있다.시스템에 들어가는 모든 소프트웨어를 직접 개발하는 경우는 드물다.때로는 패키지를 사고, 때로는 오픈소스를 이용한다.또는 사내 다른팀이 제공하는 컴포넌트를 이용한다.어떤식으로든 외부 코드를 우리 코드에 깔끔하게 통합해야만 한다. 외부코드 잘못된 사용 예시val sensors: HashMap = HashMap() val sensor = sensors[sensorId] as Sensor //... //... getDataInRefresh(sensor)이렇게 사용하면 안된다.여러 화면이나 기능에서 HashMap을 사용하여 데이터를 전달할 경우에..
본 포스팅은 개인정리 목적으로 작성된 글입니다.잘못된 정보가 있을 수 있으며, 피드백은 겸허히 받겠습니다. 클린아키텍처 오류처리 챕터를 읽으며 문득 이런생각이 들었다.흔히 개발할때 "예외처리 어떻게 했어요?" 란 질문을 받거나 해본적이 있지만"오류(에러)처리 어떻게 했어요?" 라는 말은 해본적도 없고 들어본적이 없었다.막연하게 보면 둘다 비슷한 뜻을 가지고 있다고 생각을 했지만막상 찾아보니 다른 내용이 많았다.이번글은 여러 블로그를 찾아보며 해당 내용에 대한 정리와 개인적인 생각을 첨언했다. 오류(에러) 와 예외의 차이점? 오류(에러) : 시스템에 비정상적인 상황이 생겼을 때 발생한다.즉 시스템 레벨에서 발생하기 때문에 심각한 수준의 오류이며, 개발자가 예측하여 처리할 수 없다.ex) Out Of Mem..
본 포스팅은 개인정리 목적으로 작성된 글입니다.잘못된 정보가 있을 수 있으며, 피드백은 겸허히 받겠습니다. 추상화란 무엇일까? 위키에 추상화에 대한 정의가 이렇게 내려져 있다. 공통의 속성이나 기능을 묶어 이름을 붙이는 것, 객체 지향 관점에 클래스를 정의하는 것을 추상화 라고 할 수 있다.불필요한 부분을 생략하고 객체의 속석 중 가장 중요한 것에만 중점을 두어 개략화 하는 것즉 모델화 하는 것으로 데이터의 공통된 성질을 추출하여 슈퍼 클래스를 선정하는 개념이다. 그외에도 여러 블로그를 찾아보며 개념을 정리해보았다. 여러 가지 사물이나 개념에서 공통되는 특성이나 속성 따위를 추출하여 파악하는 작용구체적인 것을 감추고 보고 싶어하는 전체적인 특성을 드러내는 것추상화는 표현의 일부이다. 소프트웨어 개발관점에..
Rx로 레트로핏 네트워크 통신시 HttpCode를 확장함수로 처리해보자. 회사 프로젝트의 네트워크통신을 Rx로 변경하고 있다.물론 기본적인 방법으로도 httpCode를 가져 올수는 있지만 매번 호출마다 subscribe에서 분기처리를 해줘야 하니 뭔가 영 마음에 들지 않았다. 우선 httpCode를 받아와야 하니 당연히 Single 를 리턴하는 api 가 존재할것이다.@FormUrlEncoded @POST("login/Auth") fun loginApiPhoneSignIn(@FieldMap map: Map ) : Single 그 다음엔 api를 호출하여 보통 이런식으로 처리를 했었다.compositeDisposable.add( loginUseCase.phoneSignIn(apiBodyMap) .subsc..
클린코드 chapter. 객체와 자료구조를 읽고 개인적인 생각을 정리한 글입니다. 틀린 내용이 존재 할수도 있는점 양해 부탁드립니다.부족한 부분이나 개선사항은 언제든 환영입니다.피드백은 겸허히 받겠습니다. 객체와 자료구조 본문 내용은 검색 해보면 많이 나온다.난 이 챕터를 읽고 중요한 포인트와 의문점을 정리해 보았다. 즉, 모든 내용을 다루진 않는다. 해당 챕터의 가장 중요한 결론은 1. 객체는 동작을 공개하고 자료를 숨긴다 , 추상화 뒤로 자료를 숨긴 채 자료를 다루는 함수만 공개한다.2. 자료구조는 자료를 그대로 공개하며 별다른 함수는 제공하지 않는다. 이말이 무슨뜻인지 확실히 이해하진 못했지만 글을 작성하며 생각을 정리하려 한다. 보통 이런 코드를 많이 사용한다.나 또한 그렇다. public cla..
우연히 클린코드 책을 읽을 기회가 생겼다.막상 읽어보니 공감가는 부분이 많았다.특히 책의 첫장인 "깨끗한 코드" 챕터에는 나쁜코드로 치르는 대가에 있는 내용이 가장 공감이 되었다.나중에 해야지, 추후에 재설계를 하는 행동 등등.....이 책에서는 이렇게 말한다. 그 순간은 오지 않는다. 뭔가 씁쓸하면서도 맞는말 같다. 나중이란 없고 이미 결과물이 만들어 졌다면 손을 대는것도 겁이나고 하기 싫어질테니까 아무튼 클린코드 책을 읽고 개인적으로 정리하기 위해서 블로그를 작성한다. 1. 의미 있는 이름- 의도를 분명히 밝혀라- 발음하기 쉬운 이름을 사용해라- 검색하기 쉬운 이름을 사용해라- 기발한 이름은 피하라- 한 개념에 한 단어를 사용해라 2. 함수- 함수의 기능은 한가지만 해라- 작게 만들어라-인수가 없는것..