분류 전체보기 326

니콜라 - 투자해볼만한 이유

미국 수소트럭 제조기업 니콜라 주식을 매수 하였습니다. 미국 기업이라 잘 모르시는 분도 있고, 니콜라 사기업체 아냐? 라고 생각하시는 분이 대부분일 것이라고 생각합니다. 그런데 자세히 들여다보면 나름 투자할만한 이유는 있습니다. 현재 사기업체는 아님 설립자 트레버 밀턴이 사기 치려고 만든 회사는 맞습니다. 그런데 현재는 밀턴은 쫒겨났고, 실제로 회사에서는 수소트럭을 생산중입니다. 수소트럭 출시 2023년 9월 28일에 공식적으로 수소트럭을 출시 하였고 그 이후에 실제 생산되고, 고객에게 인도된 것이 다수 목격 되었습니다. 하지만 2023년 4분기에 얼마나 생산되고 얼마나 인도 되었는지는 모릅니다. 2024년 1월 초에 생산량, 고객 인도량, 수주현황 발표할 것으로 예상 지난 2023년 7월 5일에 전기트..

주식투자 2023.12.27

무료채팅사이트 - 이오이카

채팅 사이트 직접 만들어 봤습니다 ㅎㅎ 이름은 이오이카 입니다. https://www.eoeca.com/ 무료채팅 이오이카 무료채팅 사이트 www.eoeca.com 아주 옛날에 유행했던 지오피아가 떠올라서 그런 컨셉으로 만들었습니다. 그 중에 하나가 HTML 태그가 허용되었던 채팅방인데, 이오이카도 HTML태그 허용되게 했습니다. 시간 투자를 많이 할 수 없기 때문에 썰렁하긴 하지만 기본 기능은 잘 됩니다. 요즘은 대부분 카카오톡 오픈채팅이나 랜덤채팅을 많이 사용하기 때문에 얼마나 활성화 될지 모르겠습니다.

컴퓨터상식 2023.12.24

디오톡 - 동네친구, 무료채팅앱

디오톡 - 동네친구, 무료채팅앱을 오픈 하였습니다. 기존에 위치기반 채팅앱은 대화하려면 포인트 결제가 필요했는데 완전 무료로 사용할 수 있습니다. 아직 오픈 초기여서 회원수가 많지 않습니다. 그런데 꾸준히 증가할 것으로 생각하니 편하게 이용해 주셨으면 합니다. 마지막으로 앱스토어에 리뷰 등록해 주시면 완전 감사합니다. ​· 안드로이드 https://play.google.com/store/apps/details?id=com.rivestsoft.diotalk · 아이폰 https://apps.apple.com/kr/app/디오톡-동네친구-채팅앱/id6471041723

컴퓨터상식 2023.11.21

iOS SwiftUI Button 탭(클릭) 영역 넓히기

SwiftUI에서 이미지나 텍스트로 버튼을 만들면 탭(클릭) 영역이 너무 작은데, 탭 영역을 넓혀주는 방법입니다. 초기코드 Button(action: { dialog = true }, label: { Image(systemName: "ellipsis") }) .buttonStyle(PlainButtonStyle()) 탭 영역 넓힌 코드 label 크기를 키우고, contentShape(Rectangle()) 해줌 Button(action: { dialog = true }, label: { HStack { Image(systemName: "ellipsis") } .frame(width: 60, height: 50, alignment: .center) .contentShape(Rectangle()) }) ...

iOS SwiftUI List Scroll 맨 아래로 이동 방법

SwiftUI에서 스크롤을 맨 아래로 이동하는 방법 입니다. 일반적인 방법 ScrollViewReader를 사용해서 proxy.scrollTo(list.last, anchor: .bottom)로 이동하면 스크롤이 맨 아래로 이동 합니다. 그런데 가장 마지막 row의 높이가 다른 경우 row의 높이를 계산하지 못해서 제대로 이동되지 않습니다. 이 문제는 에뮬레이터에서는 이상 없었는데 아이폰 실제 기기에서 테스트 하니 문제가 발생했습니다. import SwiftUI struct TestView: View { var list: [String] = ["1111", "1111", "1111", "1111", "1111", "1111", "1111" , "1111", "1111", "1111", "1111", "..

iOS SwiftUI current View 상태 관리 예제

SwiftUI에서 Firebase Message 수신 처리를 하는데, 현재 View가 무엇인지 확인하는 예제 입니다. CurrentViewObject.swift 현재 View를 저장할 수 있는 ObservableObject를 선언 합니다. import Foundation import SwiftUI class CurrentViewObject: ObservableObject { // 현재 View 저장 변수 @Published var currentView: (any View)? func setCurrentView(_ view: AnyView) { currentView = view } } metalkApp.swift 메인함수에서 EnvironmentObject를 설정 합니다. UIApplicationDeleg..

iOS SwiftUI HTTP Multipart POST 예제

SwiftUI에서 HTTP Multipart/form-data POST 예제 입니다. import Foundation import SwiftUI import PhotosUI struct UserProfileView: View { // 사진 선택 @State private var selectedPhotosPickerItem: PhotosPickerItem? = nil @State private var selectedPhotosData: Data? = nil var body: some View { VStack { } .task() { } } // 사용자 정보 저장 func btnSave() { // 랜덤 boundary let boundary = "boundary-\(UUID().uuidString)" //..

iOS SwiftUI EnvironmentObject NavigationStack 예제

SwiftUI에서 navigationPath 변수를 EnvironmentObject로 선언 후 사용하는 예제 입니다. NavigationPathObject.Swift 클래스 생성 변수를 ObservableObject 형태로 만들어줘야 합니다 import Foundation import SwiftUI class NavigationPathObject : ObservableObject { @Published var navigationPath = NavigationPath() } 처음 화면 navigationPathObject를 StateObject로 선언 합니다. 그리고 두번째 화면으로 넘어갈때에는 .environmentObject()로 두번째 화면한테 environmentObject 가 무엇인지 알려줘야 합..

iOS SwiftUI 위치 사용권한 요청 예제

SwiftUI에서 위치 사용권한 요청하는 간단 예제 입니다. 프로젝트 설정에서 Privacy - Location When in Use Usage Description 추가 위치 사용권한 요청 예제 import Foundation import SwiftUI import CoreLocation struct AgreeView: View { var body: some View { VStack { } .task() { await startTask() } } func startTask() async { // 위치 사용 권한 설정 확인 let locationManager = CLLocationManager() let authorizationStatus = locationManager.authorizationStatu..