본문 바로가기

전체 글108

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.
@Observable, @ObservedObject 를 알아봅시다 @Observable1. Swift 5.7에서 새롭게 도입된 속성 래퍼입니다.2. Swift의 새로운 Concurrency 모델과 함께 사용됩니다.3. 클래스를 관찰 가능하게 만들며, 상태 변화를 감지하고 UI업데이트를 자동으로 처리합니다.4. SwiftUI에 기존에 @ObservedObject와 @StateObject가 있었는데 그에 대한 대안으로 만들어졌습니다.5. 최신 Swift에서 도입된만큼 최신 Swift버전에서만 사용가능합니다.  다음은 @ObservedObject입니다. @ObservedObject1. @ObservedObject는 SwiftUI에서 사용할 수 있는 프로퍼티 래퍼입니다. 2. 상태변화를 관찰할 객체를 지정합니다.3. @ObservedObject는 ObservableObject.. 2024. 7. 19.
계산된 속성 * Swift Tutorial3 를 보다가 작성합니다. Swift에서 {}는 클로저를 나타냅니다. 클로저는 일종의 익명함수로 볼 수 있습니다. 변수나 상수에 클로저를 할당할 수 있고, 클로저는 코드 블록을 캡슐화해서 나중에 호출하거나 실행할 수 있도록 합니다.   Swift Tutorial3에 다음과 같은 코드가 있습니다. import SwiftUIstruct LandmarkList: View { @State private var showFavoritesOnly = false var filteredLandmarks: [Landmark] { landmarks.filter { landmark in (!showFavoritesOnly || landmark.isFavo.. 2024. 7. 18.
축약형을 사용해보기 전에 최대한 축약해보지 말아보자 * 먼저 글을 쓰기 전에 본인은 Swift 초보라는 것을 밝힙니더.. ( 맥북 생긴지 1일차 ㅋㅋ.. ) 갑자기 뜬금없지만(?) 자바스크립트 이야기부터 해보려고 한다.  개발을 할 때 컬렉션을 순회하면서 어떠한 액션을 한다던지, 아니면, 무엇을 반환해줘야 하는 경우가 많다.  우리가 일일히 전부 그려줄 수는 없기 때문이다.   먄약에 어떤 배열을 돌면서 안의 json가지고 뭔가를 한다고 해보자.landmarks = [{id : 1,name : 'johnson',age : 30}, // ....]landmarks.map(el => { return }); 아마 자바스크립트로 했다면 저런 모양이었을 거다.  자바스크립트에서도 어떠한 배열안의 객체를 쫙 뽑아내주기 위해서 map을 도는데, 안의 람다식을 여러 형.. 2024. 7. 18.