
[Spring] DI란 무엇인가?
2024. 9. 24. 17:38
TIL/Spring
DI (Dependency Injection) 란?소프트웨어 디자인 패턴 중 하나객체 간의 의존성을 줄여 코드의 유연성과 유지보수성을 높임// DI 사용 Xclass A { B b = new B(); // A가 B에 강하게 결합돼 있음 public void doSomething() { b.someMethod(); // B의 기능을 사용함 }}A 클래스가 B 클래스의 기능을 필요로 한다면 A가 B를 직접 생성해서 사용해야 함그러나 이 방법은 A와 B가 강하게 결합 됨즉, 나중에 B를 다른 걸로 교체, 확장성 저하, 유지보수, 테스트 등이 어렵게 됨A 클래스가 B 클래스의 메서드를 사용한다면, A는 B에 `의존` 하고 있다고 표현 함// DI 사용 Oclass A { p..

[Git][PS] push to origin has encountered a problem 오류 해결
2024. 9. 23. 17:37
Problem Solving
해결 방법`Github` > `Setting` > `Developer Settings` > `Personal access tokens` > `Tokens(classic)` > 토큰 생성할 때 `repo` 체크하고 만들기`push` 할 때 ID엔 기존의 ID 입력, PW엔 토큰 입력하기문제 발생 이유Github 에서 ID/PW 기반 Basic Authentication 인증을 막음ID / Personal Access Token 방식의 Token Authentication 방식으로 전환함따라서 Eclipse 에서 ID/PW 입력하여 commit 하려고 하면 에러 발생함출처1. https://hangyujung.tistory.com/37https://codingdiary99.tistory.com/5

[TIL] UI vs API
2024. 9. 8. 23:55
TIL
UI (User Interface)사용자가 시스템을 제어하기 위해서 사용하는 조작 장치즉, 사용자가 직접 조작하는 화면API (Application Programming Interface)우리가 만든 웹 어플리케이션이 prompt 창을 실행시키기 위해서, 자바스크립트의 문법에 따라 웹 브라우저에게 전달하는 명령즉, 코드의 형태를 띄고 있는 개발자들의 인터페이스API를 통해 웹 브라우저를 제어한다.개발자가 아닌 사람들은 UI를 통해 시스템을 제어하고개발자는 API를 이요해서 웹 브라우저를 제어한다.출처1. https://opentutorials.org/course/3085/188872. https://deep-wide-studio.tistory.com/51

[TIL] 버퍼를 사용하는 이유
2024. 9. 6. 17:23
TIL
버퍼를 사용하는 이유 CPU는 1초에 100개의 데이터를 처리할 수 있지만, 보조 기억 장치는 데이터를 1초에 3개 밖에 보내주지 않는다.CPU는 일을 하고 싶어도 못하므로 효율이 떨어진다. CPU와 보조 기억 장치 사이에 버퍼를 두게 되면CPU는 버퍼에 데이터를 보내놓고 다른 할일을 하면 되고보조 기억 장치 입장에선 다른 할일을 찾아 처리하다가버퍼에 데이터가 어느정도 쌓이면 한꺼번에 가져와서 처리할 수 있으므로 효율이 높아진다.버퍼 (Buffer) 란?두 개의 장치 사이에서 데이터를 전송할 때, 데이터의 전송 속도나 처리 속도의 차이를 완화하는 목적으로 사용하는 기억장치 1. 캐시 또한 버퍼의 한 종류2.캐시와 버퍼의 차이: 데이터 사용 후에 폐기하냐 안 하냐의 차이3. 캐시는 한 번 접했던 데이터를 ..

[TIL/JS] Number 보다 parseInt()를 더 권고하는 이유
2024. 9. 6. 16:18
TIL/JavaScript
문자열 처리 능력`parseInt()`는 숫자로 변환할 때, 문자열에서 숫자 외의 부분이 있으면 처음 등장하는 숫자까지만 변환한다.`parseInt('100개') -> '100' 으로 변환`Number('100개')`-> 문자열 전체를 숫자로 변환하려고 시도하면서 `NaN`을 반환진법 처리`parseInt()`는 두 번째 인자로 진법을 지정할 수 있음`parseInt('100', 2)` -> '100'을 2진수로 해석하고, 10진수인 4를 반환함`Number`는 항상 10진수로만 변환함유연성`parseInt()`는 문자가 포함된 문자열을 처리할 때 더 유연함`Number`는 오로지 숫자로만 구성된 문자열을 제대로 처리할 수 있음 -> 숫자 외의 다른 문자 포함 시, 무조건 NaN 반환