728x90
반응형
- [ etc./... ]위경도로 지도상 위치 찾기2025-01-17 11:42:58구글맵(https://www.google.com/maps)을 이용해 위경도 위치 찾기 및 특정 포인트 위경도 정보 확인이 가능하다.1. 위경도 입력하여 위치 찾기 2. 특정 위치 위경도 정보 획득하기
- [ etc./... ]C4 모델을 이용한 소프트웨어 시스템 아키텍처 시각화2025-01-17 11:08:03C4 모델소프트웨어 시스템의 아키텍처를 시각화하기 위한 계층적 다이어그램 기법이다. 이 모델은 시스템을 네 가지 수준으로 추상화하여 표현한다.시스템 컨텍스트 다이어그램: 시스템과 외부 사용자 및 다른 시스템 간의 관계를 보여준다. 기술에 익숙하지 않은 사람들과 아키텍처를 소통할 때 특히 유용하다.컨테이너 다이어그램: 시스템을 애플리케이션이나 데이터 저장소와 같은 여러 컨테이너로 분해하여 이들 간의 상호작용을 나타낸다.컴포넌트 다이어그램: 각 컨테이너를 구성하는 컴포넌트와 그들 간의 관계를 상세히 보여준다.코드 다이어그램: 컴포넌트의 내부 구조를 코드 수준에서 상세히 표현한다.C4 모델은 특정 표기법이나 도구에 종속되지 않으며, 소프트웨어 개발 팀 내외부의 의사소통, 신규 직원의 효율적인 온보딩, 아키텍처..
- [ 언어·프레임워크/GitHub ][GitHub] API key 등 민감한 정보 히스토리 삭제2025-01-16 22:35:12github를 사용하다 보면 실수로 API key와 같은 민감한 정보를 push해버리는 경우가 있다. github에서 해당 파일을 삭제하더라도 history에는 여전히 민감한 내용이 노출되고 있다. 해당 project를 private으로 전환할 수도 있겠지만 클라우드에 노출되어 있다는 점은 변함없다. 이 난감한 상황을 해결하기 위한 "민감한 history를 제거하는 방법 두 가지"를 정리해 보았다. 1. git filter-branch 명령어를 사용하여 히스토리 삭제git filter-branch --force --index-filter "git rm --cached --ignore-unmatch " --prune-empty --tag-name-filter cat -- --all이 명령어는 Git 저장소..
- [ etc./... ]VSCode 한글 끝 글자 두번 입력 문제 해결2025-01-03 16:49:361. 한글 끝 글자 두 번 입력 문제VSCode를 사용하다가 어느 순간부터 [그림 1]과 같이 한글 끝 글자가 두 번 입력되는 문제가 발생했다. 이 문제는 VSCode의 문제가 아니라 윈도우의 문제였다. 2. 윈도우 설정 변경1) "win + i"를 눌러 설정 창을 띄운다.2) "시간 및 언어 > 언어 및 지역 > 옵션 > Microsoft 입력기"로 이동한다.3) [그림 2]와 같이 "이전 버전의 Microsoft IME"를 "켬"으로 토글 한다. 👍참고한 자료: https://velog.io/@nuyhes/문제해결-한글-입력-시-마지막-글자가-2번-생기는-오류
- [ 언어·프레임워크/React.js ][React.js] 재귀 함수를 이용한 무한한 깊이의 체크 박스 구현2024-12-23 14:34:351. 무한한 깊이(depth)의 체크 박스 구현[그림 1]과 같이 무한한 깊이의 체크 박스를 구현할 필요가 있었다. 목차에 사용되는 데이터는 category 배열인데 이 배열의 요소는 객체이다. 이 객체 하나가 체크 박스 하나를 구성한다. 객체는 subcategory를 가지고 있어서 이를 통해 무한한 깊이의 목차를 만들 수 있다. 구현하고자 하는 기능은 다음과 같다.부모와 자식 체크 박스를 렌더링 할 때 시각적으로 구분이 가능하도록 margin-left 값을 자동으로 부여해야 한다.부모 체크 박스를 체크/해제하면 자식 체크 박스도 부모와 동일하게 체크/해제되어야 한다.자식 체크 박스를 체크/해제할 때는 부모 체크 박스에 영향을 주지 않아야 한다. 2. 구현 코드위 기능을 구현함에 있어 중요한 포인트는 재..
- [ 언어·프레임워크/React.js ][React.js] 네이버 지도 API 리사이즈 트리거2024-12-17 20:25:051. 지도 영역 크기 변경 후 지도 잘림 현상 문제 발생좌측 aside를 숨기는 기능을 구현하였다. 메인 콘텐츠 영역에는 [그림 1]과 같이 네이버 지도가 렌더링 되어 있다. aside 숨김 버튼을 클릭하면 [그림 2]와 같이 지도 부분이 비정상적으로 잘려서 표시된다. 2. 지도 리사이즈 이벤트 강제 트리거로 문제 해결지도 영역 변경 발생 시 리사이즈 이벤트를 강제 트리거하여 문제를 해결하였다. 강제 트리거 방법은 " naver.maps.Event.trigger()"를 호출하는 것이다. 아래는 적용된 코드 예시이다.useEffect(() => { // naverMap은 useRef()이다. if (naverMap.current) { setTimeout(() => { const { nav..
- [ CS/Linux ][Linux] SSH 포트를 22가 아닌 다른 포트로 변경2024-12-11 18:31:561. CentOS1) SSH 설정 파일 수정sudo vi /etc/ssh/sshd_config파일에서 아래 내용을 찾는다.#Port 22주석(#)을 제거하고 사용할 포트 번호로 변경한다(아래 예는 2022로 변경).Port 2022 2) 새 포트를 방화벽에 추가새 포트를 방화벽에 허용 한다(아래 예는 포트 2022 허용).sudo firewall-cmd --permanent --add-port=2022/tcpsudo firewall-cmd --reload 3) SSH 데몬 재시작SSH 데몬을 다시 시작하여 설정을 적용한다.sudo systemctl restart sshd 4) 새 포트로 접속 테스트변경한 포트로 SSH 접속이 잘 되는지 확인한다.ssh -p 2022 사용자명@서버주소 5) SELinux ..
- [ CS/Linux ][Ubuntu] 새로운 사용자 생성 및 기존 사용자 잠금2024-12-09 11:16:331. 새로운 사용자 생성1) 새로운 사용자 생성adduser 명령으로 새 사용자를 생성한다.sudo adduser uniqueuseruniqueuser: 새로 생성할 사용자 이름명령 실행 중, 새 사용자의 비밀번호를 설정하고 기본 정보를 입력하도록 요청받게 되는데, 기본 정보는 생략(엔터 연타) 해도 된다.2) 관리자 권한 부여sudo usermod -aG sudo uniqueuser 2. 기존 사용자 잠금1) 잠금 설정usermod 명령으로 사용자를 잠금 상태로 설정하면 해당 사용자는 더 이상 로그인할 수 없다.sudo usermod -L newuser-L 옵션: 사용자의 비밀번호를 비활성화하여 로그인하지 못하게 한다.2) 잠금 상태 확인sudo passwd -S newuser결과에 L(locked)..
728x90
반응형