Django에 대해 알아보자. Django는 안전하고 유지 관리가 가능한 웹 애플리케이션을 신속하게 개발할 수 있는 고급 Python 웹 프레임워크다. MVC (Model-View-Controller) 아키텍처 패턴을 따른다. Django에서는 MVT (Model-View-Template) 이라고도 한다. Django는 reusability, scalability, simplicity 를 강조하는 것으로 유명하며 개발자에게 데이터베이스 상호 작용, 라우팅, 사용자 인증 등을 처리할 수 있는 포괄적인 도구 세트를 제공한다. Django의 주요 기능ORM (Object-Relational Mapping): 데이터베이스와 Python 코드를 원활하게 연결한다.Security: SQL injection, cr..
Locaiton Service나 onClick에 대한 Listener (예: LocationCallback with FusedLocationProviderClient 또는 LocationListener with LocaitonManager)는 전통적인 의미에서 별도의 스레드, 서비스 또는 인터럽트로 작동하지 않는다. 위치 업데이트를 처리하기 위해 별도의 스레드가 필요한 경우 (예: 무거운 연산을 윟) Thread, HandlerThread 또는 ExecutorService 를 사용해 명시적으로 생성하고 관리해야 한다. 작동 방식을 아래와 같다. Listener MechanismCallback-Based: LocationCallback 또는 LocationListener와 같은 Listener는 콜백 메..
안드로이드 Activity를 생성하면 onCreate() 메서드가 자동으로 생성이 되고 그 안에는 하기 코드가 함께 생성되는 것을 확인할 수 있다. 해당 코드에 대해 알아보자.ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); return insets;}); 이 코드는 status bar, navigation ..
Spring은 엔터프라이즈 애플리케이션 구축에 가장 널리 사용되는 Java 프레임워크 중 하나로, REST API부터 전체 규모의 마이크로서비스까지 모든 것을 개발할 수 있는 모듈식 포괄적인 에코시스템을 제공한다. Spring의 핵심 개념Inversion of Control (IoC) and Dependency Injection (DI)목적: 종속성의 생성 및 주입을 관리해 긴밀하게 결합된 코드의 필요성을 줄인다.예시: UserRepository에 의존하는 UserService, 여기서 Spring은 UserRepository를 UserService에 주입한다.준비: DI의 개념, 필드 주입을 위해 @Autowired를 사용하는 방법, @Component, @Service 및 @Repository 어노테..
안드로이드 프레임워크에서 제공하는 Location 관련 API에 대해 알아보자. LocationManager와 FusedLocationProviderClient는 모두 안드로이드에서 위치 서비스에 사용되지만, 몇 가지 차이점과 구체적인 사용 사례가 있다. LocationManager는 더 많은 제어 기능을 제공하지만 더 많은 관리가 필요한 반면, FusedLocationProviderClient는 사용하기 쉽고 배터리 및 성능에 더 최적화되어 있다. 대부분의 최신 앱의 경우 단순성과 기본 제공 최적화 기능으로 인해 FusedLocationProviderClient가 권장된다. LocationManagerNative API: 기기의 위치 서비스에 액세스하는 데 사용되는 Android의 오래된 기본 제공 A..
네트워크 커뮤니케이션에서 사용되는 HTTP 메서드인 GET과 POST에 대해 알아보자. GETPurpose: 지정된 리소스로부터 더이터를 요청하는 데 사용된다.Characteristics서버의 상태를 변경하지 않아야 하는 안전하면 무권력적(idempotent) 적이다.매개변수는 URL (query string)의 일부로 전송된다.일반적으로 데이터를 검색하는 데 사용된다. (예: 사용자 정보 가져오기).Uasge: URL 길이 제한으로 인해 데이터 전송이 제한된다.POSTPurpose: 리소스를 만들거나 업데이트하기 위해 서버로 데이터를 전송하는 데 사용된다.Characteristics비동기식 (여러 요청을 보내면 다른 효과를 낼 수 있음) 이 아니다.매개변수가 요청 본문으로 전송되어 더 큰 페이로드를 허..
J2EE는 대규모의 다계층 분산 애플리케이션을 쉽게 구축할 수 있도록 지원하는 사양 및 API 모음이다. J2EE의 핵심 구성 요소Servelets목적: HTTP 요청과 응답을 처리해 서버 측에서 동적 콘텐츠 생성을 가능하게 한다.예시: 로그인 요청을 처리하고, 자격 증명을 확인하고, 인증 결과에 따라 사용자를 리디렉션하는 LoginServelet.준비: 서블릿을 만들고, 요청 및 응답 개체를 처리하고, 세션을 관리하고, 사용자를 리디렉션하는 방법을 알고 있어야 한다.JavaServer Pages (JSP)목적: HTML 내에서 자바 코드를 삽입해 동적 웹 페이지 생성을 간소화한다.예시: 사용자 데이터를 기반으로 개인화된 대시 보드를 표시한 JSP 페이지.준비: JSP 구문, JSP의 수명 주기, 표현..
추상화는 사용자에게 구현 세부 사항을 숨기고 필수적인 특성만 노출하여 복잡한 시스템을 단순화하는 데 중점을 둔다. Abstract classes와 Interfaces 특정 구현을 강제하지 않고 동작을 정의함으로써 이를 용이하게 한다. Core PrinciplesInterfaces vs. Abstract Classes: 인터페이스는 동작을 정의하지 않고 계약을 지정하는 반면 (Java 8 이전), 추상 클래스는 부분적인 동작을 정의하고 공유 특성을 적용할 수 있다.Implementation Hiding: 추상화는 구현 세부 사항을 사용자에게 숨겨서 복잡성을 줄이고 코드 유지는 관리성을 향상시킨다.Advanced UsageAbstract Classes with Concrete Methods: 추상 클래스는 ..
Java를 통해 객체 지향 프로그래밍에 대해 알아보자. Encapsulation (캡슐화): 캡슐화는 데이터(필드/속성)와 해당 데이터에서 작동하는 메서드를 단일 단위 또는 클래스로 묶는 개념이다. 데이터의 무결성을 보호하기 위해 객체의 일부 구성 요소에 대한 직접 액세스를 제한한다. 하기 코드에서 balance는 BankAccount 클래스 안에 캡슐화되어 있다. deposit(), withdraw()와 getBalance() 메서드를 통해서만 액세스하거나 수정할 수 있다. 이는 잠재적으로 유해할 수 있는 직접적인 balance 조작을 방지한다.public class BankAccount { private double balance; // Private data member, not accessi..
다형성을 사용하면 객체를 실제 클래스가 아닌 부모 클래스의 인스턴스로 취급할 수 있다. 이를 통해 객체의 런타임 유형에 따라 실행되는 메서드가 달라지는 유연성과 동적 메서드 디스패치를 지원한다. Core PrinciplesDynamic Binding: 다형성을 사용하면 런타임에 실제 객체 유형에 따라 실행되는 메서드가 결정되는 지연 바인딩이 가능하다.Interfaces and Abstract Classes: 인터페이스와 추상 클래스는 다형성을 허용하여 여러 클래스가 공유 동작을 위한 공통 인터페이스를 제공할 수 있도록 한다.Advanced UsageMethod Overloading (Compile-time Polymorphism): 이름은 같지만 매개 변수가 다른 여러 메서드를 사용할 수 있어 유연성을 ..
- Total
- Today
- Yesterday
- 벡터
- 파이썬
- join
- tf-idf
- Python
- Vector
- Computer Graphics
- socket programming
- 안드로이드
- leetcode
- vertex shader
- Hash Map
- 투 포인터
- defaultdict
- 머신 러닝
- 리트코드
- min heap
- 딕셔너리
- 이코노미스트 에스프레소
- machine learning
- Android
- ml
- 소켓 프로그래밍
- The Economist Espresso
- 컴퓨터 그래픽스
- 이코노미스트
- java
- The Economist
- C++
- DICTIONARY
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |