본문 바로가기
반응형

전체 글180

Circular Dependency(순환 의존성)과 해결법 Circular Dependency 이슈Circular Dependency(순환 의존성)란 두 개 이상의 모듈, 클래스, 또는 컴포넌트가 서로를 참조하여 의존 관계가 순환하는 상태를 말한다. (ex. 모듈 A가 모듈 B를 참조하고, 모듈 B가 다시 모듈 A를 참조하는 경우)주로 DI(의존성 주입) 구현을 위해 생성자를 주입하다가 설계 오류로 발생할 수 있다.    이러한 순환 의존성은 다음과 같은 문제를 야기할 수 있으므로 소프트웨어 아키텍처 설계에 있어 주의가 필요하다. 코드 유지보수 어려움: 의존 관계가 복잡해지면, 변경 사항이 다른 모듈에 미치는 영향을 추적하기 힘들다. A 클래스를 변경하는 경우 참조하는 클래스를 모두 변경한 뒤 다시 돌아와 A클래스에 다시 영향을 미칠 수 있다.테스트 어려움: 단.. 2024. 11. 12.
DI(의존성 주입)이란? / reflection(리플렉션) 개념 Dependency Inject (DI/의존성 주입)의존성 주입이란 객체 간의 의존성을 관리하는 디자인 패턴으로, 객체의 생성과 사용의 관심을 분리하는 것이 주된 목적이다.객체가 필요로 하는 의존성을 외부에서 주입하여 생성하게 되며코드의 재사용성이 향상 되고, 테스트 용이성은 높이며, 코드의 유지 관리가 용이해진다. 코드 재사용성 향상: 컴포넌트 간의 결합도가 낮아지면, 각 컴포넌트를 독립적으로 재사용 할 수 있다.테스트 용이성: 테스트 시에 실제 객체 대신 모의 객체를 주입할 수 있어, 테스트를 보다 쉽게 수행 할 수 있다.코드 유지 관리 용이성: 의존성이 명확하게 분리되어 있으면, 코드를 이해하고 수정하기 쉬워진다. 예를 들어 객체 A가 객체 B에 의존하고 있을 때, 객체 B를 A의 생성자 또는 메서.. 2024. 11. 12.
윗코니멀(with conimal) 개인정보처리 방침 제1조 (개인정보의 수집 항목 및 수집 방법)수집 항목with conimal 앱은 사용자의 개인정보를 수집하지 않습니다. 따라서 이메일 주소, 사용자 이름, 비밀번호, 서비스 이용 기록 등 어떠한 항목도 수집하지 않습니다.수집 방법본 앱은 사용자가 직접 제공하는 정보 또는 자동으로 수집되는 정보를 포함한 어떠한 개인정보도 수집하지 않습니다.제2조 (개인정보의 수집 및 이용 목적)with conimal 앱은 개인정보를 수집하지 않으므로, 특정한 이용 목적이 없습니다. 앱 사용 시 발생하는 데이터를 활용하여 개별 사용자의 행태 분석, 맞춤 서비스 제공, 광고 제공 등도 하지 않습니다.제3조 (개인정보의 보유 및 이용 기간)본 앱은 개인정보를 수집하지 않으므로, 개인정보의 보유 및 이용 기간이 존재하지 않습니.. 2024. 10. 28.
mac os 에서 telnet 설치하기 telnet은 원격 접속에 사용되는 명령어로, 다시 말해 인터넷을 통하여 원격지의 호스트 컴퓨터에 접속할 때에 지원되는 인터넷 표준 프로토콜이다.  telnet vs sshtelnet: 데이터를 암호화하지 않으므로 특정 Host Ip의 특정 Port로 접근 가능한지 여부를 파악하기 위해 사용ssh: 데이터를 암호화 하여 통신하므로 보안이 필요한 원격 접속에 주로 사용  Telnet 설치 1. homebrew 설치 (이미 설치되어 있다면 스킵)/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"https://brew.sh/ko/ HomebrewThe Missing Package Manage.. 2024. 8. 27.
개인정보 처리 방침 (하루 한 송이) 개인정보 처리 방침제1조 (개인정보의 수집 항목 및 수집 방법)1. 수집 항목하루 한 송이 앱(이하 회사)은 다음과 같은 개인정보를 수집합니다:필수 항목: SNS 연동 이메일 주소선택 항목: 별명, 프로필 사진자동 수집 항목: 서비스 이용 기록, 접속 로그, 쿠키, 접속 IP 정보추가 수집 항목: 갤러리 접근 권한(사진 및 미디어 파일)2. 수집 방법SNS 연동 로그인 시 사용자가 제공하는 정보앱 사용 과정에서 자동으로 생성되어 수집되는 정보사용자의 갤러리 접근 권한을 통해 수집되는 정보제2조 (개인정보의 수집 및 이용 목적)회원 관리: SNS 연동을 통한 본인 확인, 개인 식별서비스 제공: 앱 내 로그인 정보 표시 및 사용자 맞춤 서비스 제공데이터 관리: 수집된 개인정보는 Firebase에 등록하여 안.. 2024. 8. 12.
[React Native] RN watchman 권한 오류 해결하기 | /Users/user/Library/LaunchAgents/com.github.facebook.watchman.plist 리액트 네이티브로 프로젝트 세팅하고npm start로 실행했는데 처음부터 알 수 없는 오류 등장.. 2024-07-18T21:40:15,920: [cli] Failed to open /Users/user/Library/LaunchAgents/com.github.facebook.watchman.plist for write: Permission deniedFatal error detected at:0 libfolly.0.58.0-dev.dylib 0x0000000102fc1f14 _ZN5folly10symbolizer17getStackTraceSafeEPmm + 121 libfolly.0.58.0-dev.dylib 0x0000000102fc3104 _ZN5folly.. 2024. 7. 18.
[Git] 원격 저장소 URL 주소 변경 git 원격 저장소 url 주소 변경 방법 $ git remote set-url origin  사용법: git remote set-url [--push]   []  또는: git remote set-url --add    또는: git remote set-url --delete      --[no-]push           푸시 URL을 지정합니다    --[no-]add            URL을 추가합니다    --[no-]delete         URL을 삭제합니다 예시) 변경 여부는 아래와 같이 확인 가능하다$ git remote -v  예시)변경 전 (10.82.66.144:1980) 변경 후 (10.82.66.144:1980)   만약 url 변경 후 username 을 입력하라고 뜨는 .. 2024. 7. 9.
[Android Compose] Dialog Compose Preview 잘려서 보일 때 해결방법 dialog를 사용할 때 width가 디폴트 값으로 설정되어 있기 때문에,직접 설정하고 싶다면 아래와 같은 설정이 필요하다 Dialog( properties = DialogProperties( usePlatformDefaultWidth = false //width 강제 지정되지 않도록 설정 )) {//todo 콘텐츠}  하지만 이렇게 설정을 해줘도 막상 Preview에서 확인하면 너비가 잘려서 보이는 것을 확인 할 수 있다 @Preview@Composableprivate fun Preview(){ Theme { MessageDialog() }}   스택 오버플로우에도 이렇다할 해결책이 없어서 찝찝한 상태로 이것저것 시도해보다가 나름 우회하는 방법을 발견했다!.. 2024. 6. 28.
[git] github에 docs html 문서 올리기/page로 공유 1. git 폴더에 docs 폴더 생성 2. docs 문서 안에 올리고자 하는 파일 복사/붙여넣기 (여기서는 kDoc 문서를 업로드할 예정이므로 build/dokka/html 폴더 내부의 전체 문서) 3. 폴더 git push 4. push 내역 확인 5. 레포지토리의 Setting - Pages 선택 6. Branch의 /None/root 를 master(푸쉬한 브랜치)/docs로 변경 후 save 7. 저장 완료 8. 한 번에 page가 보이지 않는 경우 리프레시 하면 링크가 생성된 것을 확인 할 수 있다 예시 페이지) https://nyangzzi.github.io/scrolling-animation-compose/ core nyangzzi.github.io 2024. 3. 6.
반응형