본문 바로가기

분류 전체보기83

트럼프 "미국, 암호화폐의 수도가 될 것 ... 반드시 완수할 것이다." 현지시간 27일, 테네시주 내슈빌에서 개최된 '비트코인 2024 컨퍼런스'에서 미국 대선 주자 도널드 트럼프가 연설을 시작했다. 그는 "미국은 지구의 암호화폐 수도이자 세계의 비트코인 초강대국이 될 계획을 가지고 있으며, 이를 반드시 완수할 것이다."라며 본인을 "친 암호화폐 대통령"이라고 칭했다.바이든 현 미국 대통령이 SEC 수장인 게리 겐슬러를 앞세워 반 암호화폐 정책을 펼쳐온 것과 비교하면, 트럼프는 반대의 행보를 보인 것이다. 한편, 미국 민주당 대선 주자 카말라 해리스도 가상화폐 업계와의 관계 개선을 위해 노력하고 있으며, 업계와 가까운 인사들과 접촉하고 있다. 트론(TRX)의 창립자 저스틴 선은 지난 14일(현지시간) 자신의 X(구 트위터)를 통해 트럼프의 회복을 기원하며 암호화폐 산업에 트.. 2024. 7. 29.
프로퍼티 초기화 중에 다른 인스턴스 멤버를 직접 참조할 수 없습니다. 간단히 테스트 하려고 코드를 가운데 3줄 집어넣었어요. 이 코드는 동작할까요...?!import SwiftUIstruct ProfileEditor: View { @Binding var profile : Profile var dateRange : ClosedRange{ let min = Calendar.current.date(byAdding: .year, value: -1, to: profile.goalDate)! let max = Calendar.current.date(byAdding: .year, value: 1, to: profile.goalDate)! return min...max } var today = Date() var seven.. 2024. 7. 26.
CloseRange - ClosedRange는 가장 기본적인 범위 타입이다. - 원래는 이 타입이름 ( CloseRange )를 그대로 쓰지 않고 범위 오퍼베이터 ( ..., .. * 1 ... 10 : 1이상 10이하* 1..  위의 표현식은 실제로 다음과 같은 ClosedRange 라는 타입으로 생성된다. * ( 1...10 ).lowerBound // 1* ( 1...10 ).upperBound // 10* ( 1...10).count // 10* (1...10).isEmpty // false 예를 들어서 다음과 같이var testRange : ClosedRange = 1...10// 이렇게 범위 비교를 할 수도(1...10).contains(8) // true1...10 ~= 8 // true// 위 두 코드는 같은.. 2024. 7. 26.
부모뷰에서 자식뷰로 상태를 바인딩해서 전달할 때 : $ 보면 ProfileEditor라는 자식 뷰가 있다. 여기서는 부모에게 Profile 자료형의 어떤 바인딩 상태를 받을 건데, 이걸 어떻게 주냐struct ProfileEditor: View { @EnvironmentObject var displayMode : DarkMode @State private var counter = 0 // 부모뷰로부터 profile을 전달받음 @Binding var profile : Profile .. . . . . .}  자식이 @Binding 된 속성을 요구하고 있기 때문에 이 ProfileEditor라는 자식 뷰의 부모뷰인 ProfileHost는 해당 뷰가 가지고 있는 Profile 자료형의 @Binding 을.. 2024. 7. 26.
@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.