반응형
목록
분류 전체보기 (292)
[꼼꼼한 개발자] 꼼코더
😊 @Autowired의 장점 코드를 간결하게 작성할 수 있다. 코드 양이 줄어들어 가독성이 좋아진다. 어노테이션을 사용하여 의존성 주입이 간편해진다 😂 @Autowired의 단점 순환참조(circular dependency)가 발생할 가능성이 있다. 어디서 어떤 의존성이 주입되는지 명확하게 파악하기 어렵다.(특히 테스트 시 더욱 부각되는 단점) 순환참조란? 간단하고 쉽게 이해하기 > https://ccomccomhan.tistory.com/143 😊 생성자 주입의 장점 순환참조(circular dependency) 방지 가능하다. 코드의 명확성과 안정성이 높아진다. 또한 컴파일 시점에 오류를 발견할 수 있어서 오류를 빠르게 수정할 수 있다. 테스트 시점에서 의존성을 주입하기가 쉬워지기 때문에 테스트 코..
🫨 순환참조(circular dependency)란? 둘 이상의 클래스나 빈(Bean)이 서로를 참조하는 상황을 의미한다. 🎥 예시 클래스 A가 클래스 B를 참조하고 클래스 B가 클래스 C를 참조하고 클래스 C가 다시 클래스 A를 참조하는 경우를 말한다. 👨🏻🏫 마무리 순환참조가 발생하면, 객체 생성 시점에서 무한루프에 빠지게 되어 프로그램이 정상적으로 동작하지 않을 수 있다. 이러한 문제를 해결하기 위해서는 순환참조가 발생하지 않도록 설계를 잘해야 하며 객체 간의 의존성을 최소화하고 의존성 주입 방법을 적절히 선택하여 이를 해결할 수 있다.
🧑🏻🏫 간단 정리 HTTPS : HTTP에서 S(Secure) 보안이 추가된 것, 즉 HTTP보다 보안이 향상된 것 암호화 : '전송 데이터'를 '암호화 데이터'로 변환 복호화 : '암호화 데이터'를 '일반 데이터'로 변환 대칭키 : 암호화, 복호화에 사용하는 비밀키가 서로 같은(대칭) 방식 비대칭키 : 암호화와 복호화에 사용하는 비밀키가 서로 다른(비대칭) 방식 🌐 HTTPS란? HTTPS는 Hyper Text Transfer Protocol Secure의 약어로 인터넷에서 정보를 안전하게 전송하기 위한 프로토콜이다. HTTPS는 일반 HTTP와는 달리, 데이터를 암호화하여 보호한다. 예시로 이전에는 로그인 페이지에서 로그인 도중 제3자가 중간에 정보를 엿볼 수 있었다.(ID, PW같은 정보또한 마찬..
🙋🏻♂️ 간단 정리 동기 : 순차적으로 코드를 실행하는 방식 비동기 : 동시에 여러 작업을 처리하는 방식 🫱 동기(Synchronous) 동기는 순차적으로 코드를 실행하는 방식. 즉, 어떤 작업이 끝날 때까지 다음 작업을 실행하지 않는다. 따라서 순서대로 진행되기 때문에 결괏값이 예측 가능하고, 코드가 간단하고 직관적입니다. 🤝 비동기(Asynchronous) 비동기는 동시에 여러 작업을 처리하는 방식입니다. 어떤 작업이 완료될 때까지 기다리지 않고 다음 작업을 실행합니다. 이는 병렬적으로 진행되기 때문에 결괏값이 예측하기 어렵고, 코드가 복잡해질 수 있습니다. 🧹 결론 동기와 비동기는 아래와 같은 각각의 장단점이 있다. 따라서 어떤 방식을 선택할지는 상황에 따라 다르게 결정해야 한다. 동기는 코드가 ..
👀 이슈 개발 관련은 아니지만 노션으로 여러 가지를 정리하고 있는 와중 프로젝트 팀 스케줄 관리에 필요한 노션 달력 데이터베이스를 사용했고 크기를 줄이고 싶었던 나는 평소와 알던 크기조절과 다른 상황에 난감해하고 있었다 (크기 때문에 다른 내용 확인이 매우 어렵고 여러모로 불필요하게 크다고 생각이 들었다.) 👍🏻 해결방법 1. 나누기 위한 공간을 미리 만들어준다 * 1개의 공간을 2개의 공간으로 나눠준다.(빈(글) 공간 두 개를 병합(?)한다.) 2. 미리 나눈 공간에 달력을 끼워 넣어준다. 🧹 마무리 기존 컨텐츠들은 내용끼리 붙여서 공간을 나누었지만 캘린더는 단독으로 이동이 불가하여 다른 컨텐츠로 이동이 불가하여 미리 공간을 만들어 놓고 그 공간에 달력을 옮겨줬다.
🚨 이슈 학습 도중 제이슨(JSON) 데이터가 한 줄로 출력되어 가독성 있게 출력되길 원했다. 👍🏻 해결방법 크롬 웹 스토어에서 "JSON Formatter" 또는 "JSON Viewer"와 같은 제이슨 뷰어 확장 프로그램을 다운로드하고 설치. 설치가 완료되면, 브라우저에서 제이슨 데이터가 포함된 페이지 열기. 이 방법을 사용하면, 제이슨 데이터가 한 줄로 출력되는 것보다 더 가독성 있게 출력됩니다.
나는 문득 이런 생각이 들었다 "동기화는 '충돌방지' 원자적 연산도 '충돌방지' 그럼 동기화 == 원자적 연산 같은 말 아니야?" 그래서 나름 찾아보고 글을 적어본다! ♻️ 동기화 멀티스레드 환경에서 여러 스레드가 공유하는 데이터를 안전하게 접근하고 조작하기 위해 사용하는 기술. 동기화는 공유 데이터에 접근하는 스레드들이 서로 충돌하지 않도록 해주는 역할을 한다. ⚛️ 원자적 연산 한번에 실행되거나 실행되지 않는 연산을 의미. 원자적 연산은 연산이 실행되는 도중에 다른 스레드에 의해 방해받지 않는 것이 보장되어야 하며 실행결과도 항상 일관성이 있어야 한다. 👀차이점 동기화와 원자적 연산은 비슷한 개념이지만, 같은 의미는 아니다. 예를 들어, "i++" 연산은 하나의 단위 연산이 아니므로( 현재 i의 값을..
🧐 MIME TYPE 이란?(Multipurpose Internet Mail Extensions) MIME TYPE은 인터넷에서 전송되는 다양한 종류의 데이터를 식별하기 위한 형식 ,주로 웹 브라우저가 웹 서버로부터 받은 데이터를 해석할 때 사용된다. 예를 들어, HTML 문서의 MIME TYPE은 "text/html"이고, JPEG 이미지의 MIME TYPE은 "image/jpeg"이다. MIME TYPE은 파일의 확장자나 내용에 따라 결정됩니다. MIME TYPE은 HTTP 헤더에서 Content-Type 등으로 지정됩니다. 🔨 웹 개발 시 MIME TYPE의 역할 MIME 유형은 웹 개발에서 중요한 역할을 한다. MIME 유형은 서버가 클라이언트에게 전송하는 컨텐츠의 종류를 알려주는 메타데이터(me..