안드로이드 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..
- Total
- Today
- Yesterday
- 이코노미스트
- 오블완
- socket programming
- Hash Map
- 티스토리챌린지
- Android
- 소켓 프로그래밍
- Computer Graphics
- Python
- machine learning
- C++
- The Economist
- 이코노미스트 에스프레소
- 투 포인터
- defaultdict
- I2C
- 안드로이드
- 머신 러닝
- min heap
- 리트코드
- leetcode
- ml
- vertex shader
- DICTIONARY
- join
- tf-idf
- 파이썬
- The Economist Espresso
- 딕셔너리
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |