# clean

17개의 포스트
post-thumbnail

[Flutter] 예제로 배워보는 BLoC Pattern이란 ?

예제로 배워보는 BLoC Pattern이란 ? bloc | Dart Package flutter_bloc | Flutter Package Lorem Picsum Count App으로 배워보는 BLoC Pattern Count App으로 배워보는 Cubit Equatable 라이브러리 배워보기 [Equatable을 BLoC에서 왜 사용하나 ?]

2023년 5월 18일
·
0개의 댓글
·
post-thumbnail

Clean 과 Google Recommended Architecture 이야기

안드로이드를 개발하면서 프로젝트를 만든 뒤 가장 우선적으로 정해야 하는게 바로 패턴과 아키텍쳐 입니다. 패턴으로는 MVC, MVP, MVVM, MVI 등이 있고 아키텍처로는 Clean 와 Google Recommended 가 있습니다. 두개의 아키텍처 모두 소프트웨어 아키텍처에 대한 가이드라인입니다. 그러나 두 가지 방법론은 서로 다른 목표와 관점을 가지고 있습니다. 그래서 이 둘의 차이와 무엇을 써야 하는지에 대해서도 같이 이야기를 해보려고 합니다. Clean Architecture? Clean Architecture는 소프트웨어 시스템을 간단하게 만들기 위한 것입니다. 이 방법론은 의존성 역전 원칙을 기반으로 하며, 각 계층은 하위 계층에 의존하지만, 상위 계층에 대해서는 알지 못합니다. 이러

2023년 2월 24일
·
0개의 댓글
·
post-thumbnail

서버가 갑자기 안 돌아갈 때 클린을 해보자

팀프로젝트를 수정하기 위해서 오랜만에 workforus 프로젝트를 실행시켰는데 자꾸만 build에 실패했다. 대충 오류를 해석하면 WebSocketConfig가 중복됐다는 것이었다. 이걸 해결하는데 몇 시간을 소비하고 어쩔 수 없이 다른 프로젝트를 건드렸다. 그 당시에는 forus:war을 clean했었는데, 이제 보니 forus:war exploded 를 클린해야 했었다. build Artifacts 클린을 시켜준다. 오류 이외에도 프로젝트가 너무 느려진다면 clean을 해주자!! 오류가 나면 무조건 클린부터😂

2023년 1월 19일
·
0개의 댓글
·
post-thumbnail

Vue dist 위치변경 및 삭제 없이 build 하기

vue에서 만든 페이지를 build 하면 dist에 페이지를 생성하게 되고 github io에서 페이지를 보기 위해서는 index.html 파일을 dist에서 밖으로 꺼내야하는 번거러움이 있습니다. 이를 편하게 하기 위해서 가장 상단에 build 해보겠습니다. dist 위치 변경 dist 위치 변경을 위해서는 vue.config.js 의 이해가 필요합니다. 웹펙을 사용하면서 build가 되는 위치나 여러 plugin을 적용하는 부분이 webpack.config.js 입니다. 하지만 개발을 하다보면 webpack의 몇몇 기능은 초반에만 설정을 하고 잘 바꾸지 않습니다. (ex. vue-loader, file-loader 등) 자주 바꾸는 구간은 build의 위치나 proxy를 설정하는 것이 대부분입니다. vue cli에서는 이를 쉽게 바꿀 수 있도록 제공해 주고 있습니다. 하지만 잘

2022년 11월 12일
·
0개의 댓글
·

분리분리분리분리

폴더 구조.. 리액트 프로젝트를 시작할 때 `CRA`를 많이 사용할 것이다. 나도 웹팩 설정을 통해 하고 싶지만 수련이 부족해서 CRA를 사용하고 있다. 하지만 가장 고민은 앞으로 컴포넌트들을 만들어 나가면서 어떻게 파일들을 적절한 위치에 넣을지 항상 고민을 했다. 내 생각은 그렇다. 내가 만들려고 하는 컴포넌트에 필요한 것들이 전부 분리가 된다면 읽어 내려갈 때 훨씬 편할 것이다. ui와 로직을 분리해서 세부 구현 상황을 몰라도 아,, 이게 이런 컴포넌트구나! 하는 코드가 좋은 코드이지 않을까 하는 생각을 했다. 그래서 나는 react의 타입, styled-components로 제작된 스타일들을 다른 파일로 분리해서 import 시켜 컴포넌트를 구성했다. ![](https://velog.

2022년 8월 17일
·
0개의 댓글
·
post-thumbnail

[Django] 장고 Forms를 활용한 효율적인 데이터 유효성 검사 및 저장#3

1) > validator는 되도록 모델에 정의하고, 모델-폼을 만들 때 자연스럽게 가져오는 것이 좋다. 2) > validator는 필드 값을 변경할 수 없으므로 보다 고압적이고, clean은 값을 변경할 수 있고 일회성 검사나 필드 값 변경을 허용하기 때문에 보다 유연하다. 3) > 템플릿에서 사용하는 값은 보통 views.py에서 렌더 시에 값을 지정해줬으나, message는 해당 사항이 없다. >> settings.py의 TEMPLATES에서 확인할 수 있는 contect_processors는 템플릿에서 사용할 변수 목록을, 매번 views.py에서 모두 지정해주긴 번거로우니, 디폴트로 사전 형태로 반환(return)하는 함수들의 모음이다. 4) Input Output > 장고 프로젝트가 초기화되기 전, 파이썬 소스 코드가 임포트될 때 success_url가 실행된다. 반면 url reverse는 프로젝트가 로딩되고 나서 url 목록을 확인

2022년 7월 8일
·
0개의 댓글
·
post-thumbnail

자바/이클립스 - 클린

이클립스 클린 기능 코드에 오류가 없고 과거에 잘 진행된던 코드에서 에러가 발생한다면 한번쯤 시도해 볼만한 일 이클립스가 사용하던 클래스를 지웠다가 실행하는 것으로 시스템 다시 시작같은 개념으로 생각하자 이클립스의 프로젝트 탭의 clean 청소할 프로젝트를 골라서 실행 하면 끝

2022년 6월 14일
·
0개의 댓글
·

[History] 문제 원인 모름 첫번째

상황설명 : Commit 해 놓은 로컬 Repo에서 git add , Merge 수행 후 Git push. Putty로 서버를 끄고 Filezila 통해 War 파일 backup, update 폴더에 백업하고 변경. 서버에서 확인하니 페이지 이동은 원활하나 404 error페이지로 넘어가는 것을 확인. (merge하고 로컬에서 문제가 있었는지는 확인 못하였다.) Fiddler로 웹 디버깅으로 이동 확인. (Controller를 통해 이동이 잘 되었다. URL 주소 경로 맞음) 출력으로 console에서 잘 출력이 되는지 확인 시도 ( (출력이 원활하지 못함, 문제 발견) 경로 초기화를 위해 clean 기능 사용 project clean 수행 이후 메인 페이지도 경로 에러 발생 tomcat path 수정 후 재시도, 에러 유지

2022년 6월 13일
·
0개의 댓글
·

[Flutter] flutter_bloc_clean_architecture

목적 플러터를 혼자 개발하다보면 내가 잘하고있는건지 우물안 개구리는 아닌지 항상 생각하게 된다. 우물안을 벗어나 넓은 세상을 가도 해결책이 되겠지만 나는 우물안의 사람들 비즈니스가 좋아 우물에 있지만서도 내가 우물에 있지 않으려고 노력한다. 본격적인 개발 전 짬이나서 flutterblocclean_architecture라는 키워드로 검색을 하였는데 좋은 글이 있어서 읽어보았다. 내용 블록당 하나의 화면을 담당하기 엄마 위젯당 하나의 블록 동일한 작업을 하고, 필요한 데이터만 찾는 독립 위젯이 여러 화면에서 공유되는 경우 하나의 블록으로 독립 중복을 피해라 결론 생각보다 간단하다 잘 적용해보자

2022년 1월 18일
·
0개의 댓글
·
post-thumbnail

git clean

깃을 사용하며 checkout을 시도했지만 다음과 같은 오류를 만났습니다. 트래킹되지 않은 파일이 현재 브랜치를 변경하면 overwritten된다는 오류네요! 현재 브랜치의 주요 코드는 origin에 모두 올라가 있고 제가 추가로 수정한 부분을 날려버리고 싶기에 git clean을 사용하려고 합니다. error: The following untracked working tree files would be overwritten by checkout: (오류가 발생한 파일) Please move or remove them before you switch branches. Aborting 참고 블로그에 따르면 아래의 command로 저희가 만난 오류를 거의 해결할 수 있다고 합니다. 막상 해결하고 나니 저 명령어는

2021년 10월 1일
·
0개의 댓글
·
post-thumbnail

[Clean Architecture] 3부. 설계 원칙

SOLID 원칙 함수와 데이터를 클래스로 배치하는 방법과 이들 클래스들을 서로 결합하는 방법을 설명한다. 중간 수준 의 구조를 아래와 같이 만들기 위한 목적을 지닌다. 변경에 유연한 이해하기 쉬운 다양하게 쓰일 수 있는 컴포넌트의 기반이 되는 > 🤔 코드수준 , 중간수준 , 고수준 이란 무엇인가? > 코드수준 : 실제 소스 코드 > > 설계 원칙(SOLID)이 중간 수준의 소프트웨어 구조를 형성하는데 작용한다. > > 중간수준 : 모듈 수준, (컴포넌트 원칙) > > 고수준 : 아키텍처 > 🤔 클래스, 모듈의 개념적 차이는? > - 동일한 개념을 뜻한다. > - 클래스 : 단순히 함수와 데이터를 결합한 집합 (62p) > - 모듈 : 단순히 함수와 데이터로 응집된 집합 (67p) SRP: 단일 책임 원칙 오해 모듈은 단 하나의

2021년 9월 25일
·
0개의 댓글
·
post-thumbnail

우아한 테크 캠프 프로 2기 회고

안녕하세요. 우아한 테크 캠프 프로 2기로 활동한 김일호 입니다. 이번 넥스트스텝에서 진행한 우아한 테크 캠프 프로는 소프트웨어의 장인을 배출하고자 하는 넥스트스텝의 비전, 소프트 웨어 개발자에 대한 인력을 양성하겠다는 우아한 형제들의 의지, 그리고 자신의 성장을 추구하는 개발자들의 노력이 함께 하였다고 생각합니다. 8주간 진행되는 교육과 미션들을 모두 완성해야 과정이 수료가 되는데요. 저는 모든 과정을 수료하였고, 우수 수료생으로 선정되기도 하였습니다. 정말 많은 것을 배웠고, 개발의 과정이 이렇게 재밌을수도 있구나 라고 생각했네요. 앞으로 남기려는 내용은 주로 어떤 것을 배웠고 어떤것을 고민했는지 남기려고 해요. 각 주차별로 주제가 정해져 있지만, 대체로 클린코딩, 객체지향, 레이어드 아키텍쳐와

2021년 7월 20일
·
0개의 댓글
·
post-thumbnail

Django : full_clean() vs clean_fields() vs clean()

Model.full_clean() : Model.cleanfields(), Model.clean(), Model.validateunique() 세 개의 메소드가 연달아 호출된다. Model.clean_fields(): 모델에 정의한 필드들을 validate한다. exclude 속성을 사용하면 validate하지 않을 필드를 정할 수 있다. 필드들이 검증을 통과하지 못하면 ValidationError를 발생시킨다. ![](https://i

2021년 6월 4일
·
0개의 댓글
·
post-thumbnail

HTML Purifier - XSS 방어

HTML Purifier > http://htmlpurifier.org/ > https://blog.devflow.kr/212 whitelist에 있는 안전하고 허용된 태그들만 남기고 그 외 악성 코드(XSS)를 제거한다. W3C 스펙에 맞는 표준 준수 여부도 확인해준다. > blacklist를 사용하면 목록에 없는 악성코드는 막을 수 없기 때문에 안전한 코드만 허용할 수 있게 whitelist 사용 허용하길 원하는 엔티티를 whitelist 목록에 추가할 수 있다. config\purifier.php 같이 사용하면 좋은 extension iconv : utf-8 인코딩 변환 bcmath : 단위 변환, 이미지 충돌 보호 tidy : html 보기 좋게 같이 사용하면 좋은 라이브러리 CSSTidy : css 보기 좋게 html purifier 사용하기 라이브러리 포함하기 library/ 폴더만 필수

2021년 4월 18일
·
0개의 댓글
·
post-thumbnail

Intro

Clean Architecture를 읽어가며 생각한 내용들을 정리한 내용. 인트로 부분에서 저자는 좋은 코드와 아키텍쳐가 무엇인지 설명을 하고 왜 필요한지에 대해서 설명을 하게된다. 1. "굴러"가기만 하는 코드 나의 개발 역사를 조금 설명하자면 첫째도 구현, 둘째도 구현 ... 마지막도 구현이었다. 사업과 서비스를 만들어 가기 위해서 개발을 시작했고 구현만 됐으면 됐고 그 다음 또 다른 기능의 구현이었다. 당연히 좋은 코드에 대해서는 관심이 없었던 과거였다. 저자도 첫장에서 "그들이 만든 코드는 아마도 예쁘지 않을 것, 그러나 작동한다" 라고 이야기 한다. 2. 정도를 걷는 것은 힘든 것 저자는 개발을 제대로 정도로 하는 것은 매우 힘들다고 한다. 이 부분에서 깊은 사고력과 통찰력이 필요하다고 하는데 "굴러"가기만 하는 코드를 작성하는 사람들은 그것이 문제인지 아닌지에 대한 자각도 없는데 어떻게 그런 사고력과 통찰력이 있을 수 있을까? 나는 당연히 그

2021년 2월 15일
·
0개의 댓글
·
post-thumbnail

[git] restore, clean 을 이용하여 로컬 변화 취소하기 (feat. reset)

Discard Local change (로컬 변화 취소하기) > 로컬에서 작업하고 있는 staging area나 working directory에서 작업하는 내용을 초기화 하는 방법에 대해서 알아보자. unstaging a staged file 명령어 수행 전 명령어 수행 후 > 초록색은 staging area에 있는 상태 > >

2021년 2월 7일
·
0개의 댓글
·

clean code 에 대하여

모든 이들이 코드를 작성할때, 좋은 코드를 작성하려 하는 건 당연할 것이다. 1. 클린코드란 무엇을 말하는 것일까? 먼저 클린코드에 대해 소프트웨어의 대가들의 생각을 정리해 보았다. 클린코드는 한 가지를 제대로 한다 - 바야네 스트롭스트룹(C++창시자) 훌륭한 프로그래머는 사람이 이해할 수 있는 코드를 짠다. - 마틴파울러(리팩토링 저자) 클린코드는 단순하고 직접적이다. - 그레디 부치 (객체지향 대가) 특정 목적을 달성하는 방법은 여러가지가 아니라 하나만 제공한다. - 데이브 토마스 (실용주의 프로그래머) 클린코드는 언제나 누군가 주의 깊게 짰다는 느낌을 준다. - 마이클 페더즈 ("Working Effective with Legacy Code" 저자) 코드를 읽으면서 짐작했던 기능을 각 루틴이 그대로 수행한다면 클린코드라 불러도 되겠다. - 워드 커닝엄 (위키창시자, 익스트림 프로그래밍 창시자) 공통점은 다음과 같다. 코드

2019년 11월 25일
·
0개의 댓글
·