분류 전체보기
-
[Swift] Sheet과 FullScreenCover, NavigationView💻Programming/Swift 2024. 3. 20. 22:55
.sheet 현재 View에서 약 90%부분 정도 overlay되는 View .sheet 사용 ZStack { // Background Color.cyan.ignoresSafeArea() // Content Button { showSheet.toggle() } label: { Text("Button") .foregroundColor(.cyan) .font(.headline) .padding() .background(.white) .cornerRadius(10) } .sheet(isPresented: $showSheet, content: { SheetBasic2() }) } @State property로 선언한 boolean 타입의 showSheet변수를 isPresent 파라미터에 넘겨준 후, 넘겨줄 V..
-
[SpringBoot] JPA란?💻Programming/SpringBoot 2024. 3. 20. 18:48
JPA(Java Persistence API)란? JPA는 Java 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용되는 인터페이스의 모음 Hibernate, Spring JPA등과 같은 구현체가 있고, 이것의 표준 인터페이스가 JPA이다. -> JPA는 인터페이스 실체적으로 구현된 것이 아니라 구현된 클래스와 매핑해주기 위해 사용되는 프레임워크이다. ORM(Object-Relational Mapping)이란? 자바의 객체와 Relational Database(RDB)를 매핑하는 것으로 DB의 특정 테이블이 자바의 객체로 매핑되어 SQL문을 일일이 작성하지 않고 객체로 구현할 수 있도록 하는 프레임워크이다. 기술적으로는 애플리케이션의 객체를 RDB 테이블에 자동으로 영속..
-
[Swift] State와 Binding이 무엇일까?💻Programming/Swift 2024. 3. 18. 17:19
Property Mapper(@) 프로퍼티가 저장되는 방식을 관리하는 코드를 추가시켜 주는 것.(재사용 가능) @State SwiftUI에 의해 관리되는 property wrapper 타입 변수가 변경될 때, View에서도 update 되면서 값이 변경되길 원할 때 사용. @State 사용 struct StateBasic: View { // property @State var backgroundColor: Color = Color.green @State var myTitle: String = "아직 버튼 안눌림" @State var count: Int = 0 } 와 같이 사용 가능. HStack (spacing: 20) { Button { // action backgroundColor = .red myT..
-
[SpringBoot] 스프링 Bean과 의존성 주입(Dependency Injection) feat: 컴포넌트 스캔과 싱글톤 패턴, 제어의 역전💻Programming/SpringBoot 2024. 3. 12. 21:36
Bean 스프링 컨테이너에 의해 관리되는 재사용 가능한 소프트웨어 컴포넌트(component)로, 스프링 컨테이너가 관리하는 자바 객체를 뜻한다. 의존성 주입이란? 보통 스프링에서는 controller 클래스에서 요청을 받고, 해당 요청에 대한 비즈니스 로직에 대한 처리는 service 클래스에서 구현하고, 이 비즈니스 로직에서 필요한 데이터 접근에는 repository 클래스에서 처리를 한다. 이 경우 controller는 service에 의존하고, service는 repository에 의존하는 형식으로 일반적으로 스프링부트 프로젝트가 구성된다. 예를 들어, public class MemberController { private final MemberService memberService; public..
-
[Java] HashMap 사용법💻Programming/Java 2024. 3. 10. 22:44
코테를 풀 때 중요한 HashMap에 대해서 알아보겠다. 우선 HashMap은 Map 인터페이스를 상속받은 클래스로, '키(key)'와 '값(value)'의 쌍으로 구성되는 요소이다. 해시맵은 내부에 '키'와 '값'을 저장하는 자료 구조를 가지고 요소를 삽입하거나 검색 혹은 삭제 수정이 가능하다. HashMap의 선언과 사용 HashMap map = new HashMap();// 해시맵 생성 map.put("apple", "사과");// 값을 삽입. 만약에 키에 해당하는 값이 이미 존재한다면, 수정됨. String kor = h.get("apple"); // 키에 해당하는 값을 검색. HashMap의 장단점 1. 요소의 삽입, 삭제 시간이 매우 빠르다. 요소의 위치를 결정하는 해시 함수가 간단한 코드로 ..
-
[SpringBoot] 정적 컨텐츠와 동적 컨텐츠(feat: MVC, 템플릿 엔진)💻Programming/SpringBoot 2024. 3. 10. 18:09
정적 컨텐츠란? 클라이언트의 요청을 받고, 서버에 미리 저장된 HTML, css, js등의 파일을 그대로 응답해 보여주는 것을 의미. 모든 클라이언트들의 요청에 대해 "동일한 결과"를 보여준다. 동적 컨텐츠란? 어떤 클라이언트가 언제, 어디서, 어떻게 서버에 요청했는지에 따라 각기 다른 결과를 보여준다. MVC와 템플릿 엔진을 사용하는 방식과 API를 사용하는 방식으로 나뉜다. 정적 컨텐츠를 이용한 웹 개발 스프링부트는 기본적으로 정적 컨텐츠 기능을 제공하므로 '/main/resources/static/'의 하위에 정적 파일을 생성할 수 있다. 정적 컨텐츠 입니다. 이 파일의 이름을 hello-static.html이라고 지정하였다고 가정할 경우, "localhost:8080/hello-static.htm..
-
[Algorithm] 연속 부분수열💻Programming/Algorithm 2024. 3. 5. 18:24
문제 N개의 수로 이루어진 수열이 주어집니다. 이 수열에서 연속부분수열의 합이 특정숫자 M이 되는 경우가 몇 번 있는지 구하는 프로그램을 작성하세요. 만약 N=8, M=6이고 수열이 다음과 같다면 1 2 1 3 1 1 1 2 합이 6이 되는 연속부분수열은 {2, 1, 3}, {1, 3, 1, 1}, {3, 1, 1, 1}로 총 3가지입니다. 또 이중 for문을 돌면서 풀이하면 쉽겠지만 그렇게 되었을 경우 시간복잡도가 O(N^2)가 되기 때문에 만약 N이 0~100000000 M도 0~1000000정도 되는 경우에는 엄청난 크기가 되어버린다. 그래서 저번에 배웠던 슬라이딩 윈도우(https://suucong.tistory.com/74)알고리즘과 투포인터(https://suucong.tistory.com/7..
-
[SpringBoot] SpringBoot에서 로그를 사용하는 방법💻Programming/SpringBoot 2024. 3. 3. 19:15
Logging이란? - 정보를 제공하는 일련의 기록인 로그를 생성하도록 시스템을 작성하는 활동 로그를 사용하기에 앞서 학부생 개발자들은 Java에서 오류를 확인하고 싶을 때 보통 System.out.println() 사용한다. 나만 그랬을진 모르겠지만?.. System.out.println() 하지만 현업에서는 무조건 log를 이용하여 오류를 출력한다고 한다. 그 이유는 무엇일까? 1. 스레드 정보, 클래스 이름같은 부가 정보를 함께 볼 수 있고, 출력 모양을 조정할 수 있다. 2. 로그 레벨에 따라 개발 서버에서는 모든 로그를 출력하고, 운영 서버에서는 출력하지 않는 등 로그를 상황에 맞게 조절할 수 있다. 3. 시스템 아웃 콘솔에만 출력하는 것이아니라, 파일이나 네트워크 등 로그를 별도의 위치에 남길..