본문 바로가기
728x90
반응형

분류 전체보기174

기본 키를 설정하지 않았는데 테이블이 만들어진다?! DB에는 중요한 속성 하나가 있다. 바로 key다. 그 중에서도 기본 키는 유일성과 최소성을 만족하며 선택된 key로 null과 중복이 안된다. 그런데 MySQL에서 기본키를 설정하지 않아도 테이블이 만들어진다고 한다?! 지금까지 자동으로 _id 필드 생성해주는 MongoDB만 판 사람으로써 3초 동안 무슨 말인지 이해가 안됐다. 아니 왜 기본키를 설정하지 않고... 아... 권장사항이지 필수가 아니라고요... 하지만... 실무에서 그러면 모가지 아닌가요? 이거 맞아요...? 당황스러운만큼 새로운 사실에 흥미를 느껴서 한 번 정리해보고자 한다. 기본키 없이 테이블 만들어보기CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCH.. 2025. 10. 15.
[SwiftUI] 직접 만든 앱 testflight로 배포해서 테스트하기 Apple developer 멤버쉽 가입testfight를 사용하기 위해선 먼저 앱을 등록해야한다.근데 멤버십을 구입해야지 앱을 등록할 수 있다.129,000원 bye 💸~ 근데 구입 처리하는데 최대 48시간이 소용된다고 1분이 지났는데도 대기 중이다...한국인이 싫어하는 속도... 2주가 지나도 아무런 반응이 없어서 환불 메일을 보내니 그때서야 부랴부랴 해줬다 😡나처럼 처리 속도에 화딱지 나는 사람들은 아래 주소로 가서 이메일 보내면 된다https://developer.apple.com/contact/topic/SC1101/subtopic/30006/solution/select 로그인 - Apple idmsa.apple.com Communication with Apple failed 해결하.. 2025. 6. 21.
[SwiftUI] 결국 Assets으로 색상 변수 관리 하기 + 다크모드 도입 개인적으로 다크모드를 사랑하는 1인으로써 앱을 만들다보니 당연히 다크모드 도입을 하게됐다.SwiftUI에서 다크모드는 어떻게 하는 것일까? 방법은 두가지다.1. Assets 기반 시스템 대응2. 코드 기반으로 라이트/다크를 분기 처리 나의 경우 이미 '전역 포인트 색상 변수 선언하기'를 통해 코드로 관리하고 있기 때문에 2번으로 진행하려고 했다.하지만 다크모드를 감지하기 위해 모든 view 파일에 @Environment(\.colorScheme) var colorScheme 코드를 삽입해야 했다.비효율적이고 새로운 View 파일을 생성한 뒤 잊어버리면 다크모드가 안되는 이슈가 있기 때문에 1번으로 하기로 했다. 그러기 위해선 두가지 작업이 필요하다.1. Assets에 New Color Set 추가2. 기.. 2025. 6. 2.
[SwiftUI] 다국어 지원하는 방법 Localization 섹션 아래에 +버튼을 클릭 후 원하는 언어 선택하기 File > New > File from Template 클릭 후 String Catalog 클릭파일 명을 Localizable이라고 하고 생성 생성된 파일 선택하면 위와 같이 나와 있음Localization에서 설정한 언어대로 설정할 수 있음 이때 English에서 key엔 한글을 작성 그 옆에 English에서 영어 입력해줘야 함Korean에선 Default Localization이 key 값 따라가서 수정 불가함그러니 먼저 English에서 key 값과 Englsih 값 넣어주고 Korean 가서 State 필드 확인하기 ✨ 꿀팁 테스트를 위해서 한, 두가지만 key 값에 넣기반영 확인을 위해 시뮬레이터 돌리면 알아서 k.. 2025. 5. 23.
[SwiftUI] 전역 포인트 색상 변수 선언하기 앱을 만들던 중 포인트 색상을 바꾸게 됐다. 영원히 안 바뀔 줄 알았지! 그래서 색상 코드를 넣었는데... 바꾸게 생겨서 27개를 하나하나! 내가! 직접! 바꿔야 한다...하아... 반복적인 행동은 개발자를 힘들게 해요.. 이번 기회에 포인트 색상을 변수로 선언해서 사용할 생각이다.이렇게 하면 또 포인트 색상이 바뀌더라도 전연 변수 하나만 변경하면 되니깐!(처음부터 그러지 그랬니^ㅠ) Color+Extension 파일 생성iOS에서 원하는 색상 정의하여 사용하는 방법은 두가지다. 첫 번째는 Assets.xcassets 파일에서 New Color Set 추가하기.두 번째는 Color+Extension 파일 생성하기. // Extensions > Color+Extension.swiftimport Swi.. 2025. 5. 19.
관계형 데이터베이스의 중간 테이블 예를들어, 목표가 있다고 하자. 그 목표에는 이름도 있고 날짜도 있다. 그리고 태그도 있다. 여기에서 태그에는 라벨과 이모지가 데이터가 들어간다. 기존에 쓰던 MongoDB와 같은 문서 기반에서는 아래와 같이 쓴다.{ "name": "Spring 공부하기", "tags": [ { "label": "공부", "emoji": "📚" }, { "label": "개발", "emoji": "💻" } ]}이런 식으로 Goal 안에 tags를 박아버리면 끝이다. 하지만 관계형 데이터 베이스에선 그러면 안된다. 왜냐하면 Goal과 Tag가 다대다(N:N) 관계이기 때문이다. 예를들어 하나의 목표(=Spring 공부하기)에 여러 태그(=공부, 개발)가 있을 수 있다. 그리고 하나의 태그(=공부)가 여.. 2025. 4. 13.
[Spring Boot] Component Scan Spring Boot에서 Hello, World라는 글자를 브라우저에 띄우고 싶다고 하자. 그러면 우리는 어떻게 실행시켜줘야 할까? HelloController가 아닌 MySteplyApplication을 run 시켜줄거다. 왜? 왜 글자가 있는 HelloController가 아니라 MySteplyApplication을 실행시킬까? Spring Boot의 Component ScanSpring Boot는 @SpringBootApplication 어노테이션이 붙은 클래스 기준으로, 하위 패키지에 있는 모든 Bean들을 자동으로 찾아 등록해준다. 이때 @SpringBootApplication 안에는 @ComponentScan이 숨어 있다. @ComponentScan(basePackages = "com.exam.. 2025. 4. 13.
PostgreSQL GUI 프로그램 TablePlus 설치 운영체제에 맞는거 선택설치 후 실행하면 상단에 있는 + 클릭 후  PostgreSQL 선택user, password, database 입력 후 connect.굳. 2024. 11. 5.
#10 알고리즘적 접근: times 값을 최신순으로 재배치 + 알고리즘 문제로 만들기 times 값을 최신순으로 재배치하고 이를 시각화하는 문제사용자가 새로운 데이터를 작성하면 그 즉시 UI에 반영되도록 구현하는 것은 흔한 요구 사항입니다. 하지만 데이터를 단순히 나열하는 것보다 더 중요한 것은 이를 직관적으로 파악할 수 있도록 시각적으로 배치하는 것입니다. 이러한 요구에 따라 최신 데이터를 기준으로 재배치하고, 이를 시각적으로 표현하는 UI를 구현하게 되었습니다. 이 UI는 사용자가 데이터의 최신 상태를 한눈에 파악할 수 있도록 돕기 위해 설계되었습니다. 기본적으로 times 값을 기반으로 그리드가 생성됩니다. 예를 들어, 최신 회차(회차 수를 나타내는 times 값)가 12인 경우, 12개의 정사각형이 그리드를 구성하며, 각 데이터의 times 값에 따라 정사각형의 색상이 결정됩니다... 2024. 8. 17.
728x90
반응형