본문 바로가기

전체 글83

Swift UI 메서드 정리 ( 계속 추가 ) 1. resizable()- 이미지를 재조정할 수 있게 한다. - 원본의 크기를 무시하고 뷰의 크기에 맞게 조정할 수 있다. import SwiftUIstruct ContentView: View { var body: some View { Image("exampleImage") // 이미지 이름 .resizable() // 이미지를 재조정할 수 있게 함 .aspectRatio(contentMode: .fit) // 뷰의 비율을 유지하면서 맞춤 .frame(width: 100, height: 100) // 프레임 크기 설정 }}  2. scaledToFill()- 이미지가 뷰의 프레임을 채우도록 크기를 조정한다.- 뷰의 크기를.. 2024. 7. 24.
축약형에 대한 주저리 주저리 (feat. C#, JS, Swift) 공부하다가 보니까 자꾸 그런 생각이 든다. 그냥 쓰면 되는데, 왜 자꾸 축약형을 만들고 그래가지고 축약형을 사용하는 경우에는 원형과 어떤게 다르고, 어떤 걸 주의해야하고... 이런걸 숙지해야하는지  마치 그런 기분이다. 그 뭐라하지.. 그냥 손으로 과일을 먹으면 되는데 그걸 굳이 나무젓가락으로 먹는다고 해서 젓가락 쓰는 법도 배워야하고, 나무젓가락을 쓸 때의 주의점 (예를 들면 손으로 훑다가 가시 박힐 수도 있는 ) 을 숙지해야하는 그런 느낌적인 느낌....  어쨋든 그런 느낌적인 느낌이 들었다는 것이고 할 건 해야지.   여러 언어 ( 물론 그래봤자 내가 아는게 몇가지 안되지만 ) 를 살펴보면서 메서드를 어떤식으로 줄여나가는지 한번 살펴보자.  먼저 자바스크립트의 map을 한번 볼까. 람다식을 써서 가.. 2024. 7. 23.
이것저것 Swift 메모용(찾아갈만한게 있을 수도 있고 없을 수도 있어요) Rangeimport Foundationlet range : Range = 0.0.. 0.0 .. 0.0 ... 5.0 은 0.0 이상 5.0 이하    구조체가 Hashable 프로토콜을 채택하는 경우- Hashable 프로토콜은 구조체나 클래스가 해시값을 가질 수 있도록 해주는 프로토콜- 해시 값은 특정 객체를 빠르게 찾거나 비교할 때 사용하는데, Hashable을 채택한 구조체는 Set이나 Dictionary 같은 컬렉션에서 키로 사용할 수 있게 된다.    Identifiable 프로토콜- 객체를 고유하게 식별할 수 있도록 해주는 프로토콜- 이 프로토콜을 채택하면 객체마다 고유한 식별자를 가지게 되어, 컬렉션이나 리스트에서 특정 객체를 쉽게 찾거나 업데이트할 수 있다. 주요 조건은 다음과 같다.1.. 2024. 7. 23.
비주얼 스튜디오를 맥에 설치하려고 했는데, 이제 지원안한다고 해서 걱정된다면? https://www.jetbrains.com/ko-kr/lp/rider-web/ Rider for Full-Stack Web DevelopmentDevelop both classic ASP.NET and ASP.NET Core applications in Rider, a fast and powerful cross-platform .NET IDE by JetBrains.www.jetbrains.com Ridar 쓰세요 두번 쓰세요... 닷넷 개발 다 되고, 비주얼 스튜디오보다 UI도 훨씬 이쁜 것 같음.... 혹시 대학생이거나, 졸업한지 얼마 안된 직장인이라면 교육 계정을 쓰면 공짜입니다... 2024. 7. 23.
@Environment로 커스템 데이터모델을 환경에서 가져오기 ModelData 라는 데이터 모델이 있다고 가정하고 이를 Swift UI의 환경에 주입한 후, 뷰에서 이것을 사용해보기! 1. 데이터 모델 정의 먼저, ModelData라는 간단한 데이터 모델을 정의합니다.import Foundationimport Combineclass ModelData : ObservableObject{ @Published var someData : String = "Initial Data"} - @Published는 데이터 모델의 특정 속성이 변경될 때, 이를 자동으로 알리고, 그 변화를 구독하는 모든 뷰를 업데이트합니다.   2. 데이터 모델을 환경에 주입합니다. Swift UI 앱의 진입점에서 데이터 모델을 환경에 추가합니다.import SwiftUI@mainstruct Exa.. 2024. 7. 22.
Ado.net 그리고 DataTable, DataSet, DataRow에 대해서 알아봅시다. 들어가면서사실 DataTable, DataSet, DataRow는 Blazor에 대한건 아니고, 디비에서 데이트 가져와서 처리할 때 주로 쓰이는 클래스들입니다. 프론트엔드 개발을 하면 우리가 사실 api를 짤 일은 거의 없습니다. 보통은 rest api 쓰는 거에서 그치는데, 마소(마이크로소프트)에서 만든 것들을 보면, 아예 쿼리까지 짜서 한번에 가져오거나 (ado.net) 아니면 디비 설계부터 수정까지 전부 원스톱으로 끝내버리는 (Entity Framework) .... 그런 방법을 쓰더라구요.  EF 같은 경우는 편하긴하지만, 수정하는게 너무 복잡합니다. 그리고 기존의 데이터베이스를 모델에 동기화 시키는데에 있어서 예기치 않은 문제점이 너무 많이 발생했어요. 이 부분은 추후에 정리해서 다루겠습니다. .. 2024. 7. 22.
@Binding 과 .constant에 대해서 알아봅시다 * 오늘도 마찬가지로 여전히 Swift 생초보입니다.* Blazor라는 걸 공부하다가 왔는데 으우 너무 스트레스 받았어요. Swift UI Tutorial 3 : 사용자 입력처리를 보는데 다음과 같은 코드가 나옵니다.  import SwiftUIstruct FavoriteButton: View { @Binding var isSet : Bool var body: some View { Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/) }}#Preview { FavoriteButton(isSet: .constant(true))} 이런 코드인데, 몇가지 생소한 표현이 보입니다. - 1. @Binding ( .. 2024. 7. 22.
LINQ(C#)과 Blazor를 활용한 사용자 검색 웹페이지 (공부를 위한 예시코드) 1. 데이터 모델 정의// Models/User.cspublic class User{ public int Id { get; set; } public string Name { get; set; } public int Age { get; set; }}  2. 데이터 서비스 정의// Services/UserService.csusing System.Collections.Generic;using System.Linq;public class UserService{ private List users = new List { new User { Id = 1, Name = "Alice", Age = 25 }, new User { Id = 2, Name = "Bob", A.. 2024. 7. 22.
블레이저 ( Blazor )에 대해서 대략적으로 알아보자. 개요 - 블레이저로 산출된 웹은 `웹앱`이라고 명명함 - CSR, SSR 모두 가능 - 대화형 SSR..? ㄴ 대화형 페이지의 페이지 콘텐츠는 미리 렌더링된다.  - 대화형 렌더링 모드(대화형 SSR) ㄴ 기본적으로 서버 옵션을 사용하도록 설정된다.     ㄴ CSR에서만 대화형 작업을 사용하도록 설정하려면 웹 어셈블리 옵션을 사용한다.      쓸만한 블레이저 UI 라이브러리 1. MudBlazor https://mudblazor.com/components/drawer#usage2. Fluentui-Blazor by Microsoft https://www.fluentui-blazor.net/Tabs3. Blazor Bootstrap https://docs.blazorbootstrap.com/gettin.. 2024. 7. 22.
키 패스 KeyPath 에 대해 알아봅시다 * Swift 배운지 얼마되지 않았습니다. 양해바랍니다 :)  - Swift / SwiftUI를 배우다보면 다른 언어에서 볼 수 없는 것들이 많은 것 같습니다.- 그러다보니 좀 생소한 표현법들이 많은 것 같아요.- KeyPath도 좀 그런 느낌이긴한데... \. 는 Swift의 KeyPath를 나타내는 문법입니다.- 타입 안전한 방식으로 객체의 속성에 접근할 수 있게 해줍니다. 그럼 예시코드를 살펴보겠습니다. import SwiftUIstruct ContentView : View{ @Environment( /.layoutDirection ) var layoutDirection : LayoutDirection var body : some View{ Text(layoutDirection .. 2024. 7. 19.