본문 바로가기

전체 글109

@State, @Binding, @ObservedObject Property Wrapper는 감싸고 있는 속성에 변화가 생기면 해당 값을 읽거나, 아님 읽고 어떤 동작을 하거나, 아니면 새로 쓸 수 있는 녀석들이다. @State는 뷰 내부에서 상태를 관리하기 위해 사용된다.- 상태가 변경되면 뷰가 다시 렌더링 된다.- State 변수값이 변경되면 뷰를 다시 렌더링한다. 그렇기 때문에 항상 UI에서 보여주는 state는 최신 값이다.- @State 속성으로 어떤 프로퍼티의 초기값을 지정했다면, 다른 값으로 재할당 할 수 없다. @Binding 변수를 통해서만 가능하다.    ㄴ 개인적으로 이 말이 잘 이해가 안가서 하단에서 좀 자세히 다뤄볼게요.    ㄴ 이건, 약간 설명이 애매모호해요.    ㄴ 결론적으로 변경이 가능합니다. 근데, 다른 @State로 값을 재할당.. 2024. 7. 26.
@Environment @Environment- 프로퍼티 Wrapper 이다. ( 프로퍼티 감싸는 놈 )     ㄴ 그렇기 때문에 값을 꺼내서 쓰려면 ?.wrappedValue 로 꺼내야 한다.- 다른 뷰에서 @Environment 프로토콜을 채택한 프로퍼티가 있으면 그걸 갖다가 가져다 쓰는 해당 뷰의 UI 갱신 여부와 엮을 수 있다.    ㄴ 마치 Redux의 전역 변수 같은 느낌이다.   어떻게 쓸까? * https://seons-dev.tistory.com/entry/SwiftUI-Environment-%ED%94%84%EB%A1%9C%ED%8D%BC%ED%8B%B0-%EB%9E%98%ED%8D%BC 참고  1. 먼저 환경 키를 생성한다. 예를 들어서 이렇게 캡션 컬러키를 Environment 변수로 만들고 싶다면 다음과.. 2024. 7. 26.
Blazor에서 카카오 맵을 쓰려면 * 이 글까지 찾아온 당신은 상당히 열 받아있을 것 같다. 정신건강을 위해서 Blazor에서 카카오맵을 안쓰는 것이 좋겠지만, 어쩔 수 없이 쓰려면 본 글을 참고하면 되겠다. 먼저 카카오 디벨로퍼 https://developers.kakao.com/ Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com여기 들어가서 개발자 등록을 하고 앱 등록을 한다. 그리고 나서 앱 키를 발급받으면 된다. 1. 진입점 중 하나인 App.razor에서 를 추가한다. 2. 당연히 자바스크립트를 쓰는 거기 때문에 우리는 IJSRuntime을 가지고 자바스크립트 함수를 호출하는.. 2024. 7. 25.
SweetAlert를 Blazor에서 썼는데 껍데기만 온다면? 아까 페이지에서 @rendermode InteractiveServer라고 설정한다고 했는데, 문제가 한번 생겼다. 나는 Blazor에서 js 쪽 라이브러리인 SweetAlert2.js를 쓰려고 한다. 그러면 여기는 뭐 npm 이런거 없으니까 내가 직접 cdn을 app.razor에 추가해준다. 신기한 것은 이것이 ridar ( 인텔리제이 ide )의 기능인지는 모르겠다만,,,, 바로 로컬에 다운 받으시것습니까? 라고 뜬다음에 그걸 바로 다른 파일에서 쓸때 안에 들어가 있는 메서드 보여주는 자동완성 인텔리제이 기능까지 딱 보여주는 것이었다.  오오오... 하면서 쓰려고 하고 있는데 페이지에서 테스트 하려고 클릭하니까...  괴상한 SweetAlert가 떠 있는 것이었다.이것은 마치 테무에서 산 Swal이랄까.. 2024. 7. 25.
Blazor의 UI 업데이트 방식 ( feat : 리액트, CSR ) 부서에서 감사하게도, 공부할 시간을 주셔서 이것저것 공부해볼 수 있는 시간을 가지고 있습니다. 요즈음 하루 중 대부분을 Blazor 나 Swift UI 공부하는데에 대부분 할애하고 있는 것 같아요. 오늘은 Blazor로 하루를 먼저 열었습니다. 그래서 블레이저에 대해서 좀 살펴볼게요.   * 블레이저는 뭘까제가 생각할때는 풀스택 웹 프레임워크라고 생각해요.  Next.js가 이걸 따라한 것 같은 느낌이 살짝 들어요. 물론 Next.js가 더 안좋다는건 아니고..Ado.net으로 api를 직접 만들고 메서드로 감싸서 바로 호출 때려버릴 수도 있구요.Entity Framework ( 저는 어려워서 잠시 보류함 ) 라는게 있는데 이거 써서 api 만들 수도 있구요.  확실히 이렇게 프론트 개발하고 쿼리도 직접.. 2024. 7. 25.
Fast API는 진짜 빠르고 편할까? Fast api는 1. 일단 파이썬이라서 문법 너무 간단2. 매우 빠르다고 합니다. 알아본 걸로는 node 보다 빠르고 go 와 비슷하다고 합니다. 싱글스레드일텐데 어캐했누..3. 타입 힌팅을 이용해서 자동으로 Api 문서를 생성한다. 4. 라우트 데코레이터를 이용하여 쉽게 Api를 구현할 수 있다.     ㄴ app.get("/item")5. 다양한 데이터베이스와 연동할 수 있다. ( SQLite, SQL Server, Mysql 다 된다 )6. 개발도구로는 인텔리제이의 파이참 추천 ( 대학교 이메일 있으면 무료로 쓸 수 있어요! )  * main.py ( python 3.9 이상 사용 ) - 프로젝트 구조를 다음과 같이 하면 좋음Projectㄴ main.pyㄴ model.pyㄴ database.py .. 2024. 7. 24.
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.