삶은 짧고, 때로는 우리가 꿈꾸는 것들을 미루고 살아가지만, 나는 그 중 하나를 미루지 않으려 한다. 바로, 트리마제 아파트에서 전세로 살아보는 꿈. 이제는 그런 꿈을 이루겠다는 다짐을 확실히 하기로 했다.

트리마제는 그 자체로 하나의 예술이다. 서울의 핵심 지역에 자리잡은 이 아파트는 그야말로 ‘도시 속의 성’ 같아서, 그 안에 살게 된다면 하루하루가 특별할 것 같았다. 차원이 다른 삶을 살고 싶다면, 바로 이런 곳에서의 경험이 필요하다고 생각한다. 트리마제의 우아함과 편리함, 그에 걸맞는 고급스러움을 직접 체험하면서 진정한 삶의 질을 높이고 싶다.

내가 꿈꾸는 것은 단순히 공간의 고급스러움만이 아니다. 그 아파트 안에서의 일상은 내게 많은 영감을 줄 것이다. 도심 속에서 풍경을 바라보며 여유를 가지는 것, 우아하고 세련된 분위기에서 하루를 마무리하는 것, 그런 삶의 고요함 속에서 내가 진정으로 무엇을 원하는지, 어떤 삶을 살아야 할지 더 명확히 알게 될 것이라고 믿는다.

비록 지금은 그곳에서 살아가는 것이 아직은 먼 이야기일지라도, 나는 한 걸음씩 그 꿈을 향해 나아가기로 결심했다. 어쩌면 이런 고급 아파트에서 전세로 사는 것이 현실적으로 어렵다고 생각할 수도 있다. 하지만 그런 불가능한 꿈이라도 이루어내기 위해서는 내가 어떤 목표를 가지고 어떻게 노력할지에 대한 확고한 의지가 필요하다. 그런 의지를 가지고, 언젠가는 내가 그곳에서 전세를 살아보리라 다짐한다.

죽기 전에, 이 꿈을 이루지 않으면 평생 후회할지도 모르겠다. 그래서 오늘 이 순간을 기념하며 이 다짐을 적는다. 이제는 진짜로 이 꿈을 현실로 만들어내기 위해 내 삶을 한층 더 열심히 살아가야겠다. 목표를 향해, 그 어느 때보다 열정적으로 나아갈 것이다.

 

안녕하세요. AntKong입니다.

우리가 원하는 파이어족을 위해 코인을 하고 있지만 먹튀 가능성을 배제할수없기에!! 안정적이고 신뢰할 수 있는 거래소를 선택하는 것이 중요합니다. 여러 거래소들이 있지만, 각각의 특성, 거래 수수료, 보안 수준, 사용자 인터페이스, 고객 지원 등을 고려하여 선택해야 합니다. 다음은 몇 가지 널리 추천되는 코인선물거래소입니다:

1. Binance

  • 장점: 세계 최대의 암호화폐 거래소 중 하나로, 다양한 암호화폐를 지원합니다. 높은 유동성, 낮은 거래 수수료, 강력한 보안 체계를 갖추고 있습니다.
  • 단점: 페이백 이벤트 일절없음

2. BitMEX

  • 장점: 높은 레버리지 거래를 제공하며, 선물 거래에 특화된 거래소입니다. 기술적 분석 도구가 풍부하며, 다양한 주문 유형을 지원합니다.
  • 단점: 규제 문제로 인해 일부 지역에서 서비스 이용이 어려울 수 있습니다.

3. Bybit

  • 장점: 사용자 친화적인 인터페이스와 빠른 거래 실행 속도를 제공합니다. 다양한 암호화폐와 함께 높은 레버리지 옵션을 제공합니다.
  • 단점: 상대적으로 신규 거래소이기 때문에, Binance나 BitMEX만큼의 유동성을 보장하지는 못할 수 있습니다.

4. FTX

  • 장점: 혁신적인 상품과 거래 옵션을 많이 제공하며, 유동성과 거래 속도가 우수합니다. 또한, OTC 거래도 지원합니다.
  • 단점: 미국 사용자는 FTX US를 통해서만 거래할 수 있으며, 일부 기능에 제한이 있을 수 있습니다.

5. Mexc

  • 장점: 다양한 신규 코인들과 레버리지 400배도 가능한 선물거래이며 가끔 페이벡 이벤트도 쏠쏠함
  • 단점: 사용자가 적다는 점과 400배로 눈돌아가기 쉬움.. 
 

오랜만에 비트코인 선물을 다시 시작하게 되었습니다.


시황을 보다보니 트럼프의 한마디로 정말 요동치는 시장이었네요.. 

저는 현재 단기 반등이지만 숏 포지션으로 물량을 늘려가고 있습니다. 

조만간 수익으로 인증해 보이겠습니다. 

 


현재 위처럼 다이아고날 완성시 숏 진입, 본절로 손절치기 좋아보여서 공유 (단, 손절안하면 크게물릴수있음)

브로드컴(AVGO) 최신 시장 분석 요약

1. 기술적 분석

RSI(상대강도지수): 53.56 (중립적 위치)
볼린저 밴드

  • 상한선: 252.61 / 중간선: 228.00 / 하한선: 203.40
  • 하락후 횡보진행 하고 있음
    ATR(평균 진폭): 9.90 → 변동성 정상 수준 유지

2. 지지선 및 저항선

지지선: 196.23
저항선: 249.59

  • 현재 주가(233.04)가 저항선(249.59)에 근접
  • 돌파 시 추가 상승 가능, 저항받으면 조정 가능

3. 글로벌 뉴스 및 시장 심리

📉 BAD

  • 트럼프의 대중 관세 정책이 반도체 시장에 미치는 영향 우려
  • 글로벌 경제 불확실성 지속

📈 GOOD

  • 중국 위안화 안정 및 반도체 시장 성장 기대
  • 브로드컴의 AI 반도체 사업 확장

4. 실적 및 재무 분석


5.  향후 방향 및 예상

  • 미국 (트럼프) 자국 기업에 대한 혜택 지속 예정 및 반도체 시장 살리기
  • 높은 EPS 성장률 & 안정적인 캐시카우

리스크 요인

  • 최근 급등한 주가에 대한 고평가
  • 저항선(249.59) 돌파 실패 시 조정 가능

💡 결론

  • AVGO는 성장성이 크지만 현재 주가가 고평가될 가능성이 있음
  • 저항선 돌파 여부를 주시하면서 신중한 투자 필요

나이가 들다 보니.. 아침에 면도를 하고 출근을 해도 주변에서는 면도를 안하고 왔냐고 

물어보는 경우가 있다. ㅠㅠ 

  -> 나의 수염 제모 일대기를 먼저 얘기해본다. 

  1. 장비 선택
    • 거리가 멀다면 그냥 하지 않는 게 나음. 
      • 회사 근처로 가서 하는게 제일 효과적일듯.  (점심시간에 제모하고 마스크 쓰고 있으면 됨)
    • 젠틀맥스가 가장 효과적.
    • 아포지플러스는 시간·돈 낭비 (22회 경험자).
    • 클라리티2, 아엘플도 가능하지만 가격이 엄청 저렴한게 아니라면 애매하다. 
  2. 제모 횟수
    • 5회보다는 10회 이상 해야 할 확률 높음.
    • 1~2회 받고 효과 있다고 착각하지 말 것.
  3. 1년 무제한 vs 개별 회차
    • 현실적으로 1년 무제한을 해도 12회 정도 받는 게 한계.
    • 10회 가격과 비교해보고 결정.
  4. 시술 전 면도
    • 당일 아침 최대한 깔끔하게 면도하고 가기.
    • 너무 길면 오히려 안 좋음.
  5. 시술 후 관리
    • 특별한 관리 필요 없음. 연고도 필수 아님.
    • 마스크도 굳이 살필요 없음. 
    • 진정 관리는 선택 사항.
  6. 시술 후 면도 시점
    • 보통 3일 후부터 가능. (처음에는 더 지저분하게 자라며, 수염이 잘리지가 않음) 
    • 빨리 면도해도 효과에 영향 없음.
  7. 병원 선택
    • 직접 전화해서 가격과 부위 확인할 것.
    • 본인 상황(거리·가격)에 맞게 선택.
  8. 시술 주기
    • 4~6주 간격이 적절.
    • 개인적으로는 5주가 가장 효과적.
  9. 제모 장점
    • 면도 횟수 감소 → 피부 손상 줄어듦.
    • 수염 자국이 사라져 얼굴이 밝아짐.
    • 피부 상태 개선됨.
  10. 제모 단점
  • 비용 부담 (회당 6~8만원).
  • 시간과 노력 소모 큼 (왕복·대기·시술로 3~4시간 소요).
  • 삼겹살 기름 튀기는걸 얼굴에 계속 한다고 생각하면됨. 

 

개인적으로 신길이 제일 무난했던거 같다. 효과가 가장 좋았지만 대기 하는게 힘들긴하다.. 

궁금한 내용있으면 비밀덧글로 달아주시면 답변드리겠습니다. 

신촌 ㄴㅂ 젠맥프로 12회 60만

신길 ㄴㅂ 젠맥프로 5회 30만 
시청 ㅎㅍㅁㄷ 젠맥프로플러스 10회 66만
강남 ㅇㅅ 아포지엘리트 10회 35만

 

미국 트럼프 정권이 재집권하였고,  테슬라의 CEO "머스크"의 행보에 전세계적 경제가 요동치고 있다. 

또한, 하락의 지표?? 개미들이 모두 미국주식을 사면 돈을번다고 굳게 믿고 있는 현재의 상황에서.. 

금만 사면 될거같다?  내생각은 그렇지 않다. 

차라리 국내(배당)으로 포트폴리오를 수정하고, 사람들의 관심이 많이 떨어진 비트코인쪽으로 눈을 돌리는 방향이 좋아보인다. 

국내 배당 포트폴리오를 변경할겸, 정리한 표를 올려봅니다. 

 

Sha1, Sha256 키를 Firebase console 에 넣기 위해 남들이 쓰는 명령어를 써보았다. 

cd android 

./ gradlew singleReport 

안된다.  안된다고 ! !! 내 노트북은 남들이랑 다르다고 !!

 Integrity check failed: java.security.NoSuchAlgorithmException: Algorithm HmacPBESHA256 not available

해결방법(Solution)

-storetype JKS옵션 사용하기

// 기존
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

// -storetype 옵션
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key -storetype JKS

java9 부터는 default storetype이 pkcs12라고 한다.
본인 pc에 java8이 깔렸는지 java9 이상이 깔려있는지 java9 이상이라면 확인을 하고 위의 해결볍을 사용하면 된다.

자 이렇게  진행하다보니?

구글링을 통한 초기화 비밀번호 android 입력후에 갑자기 키를 생성하라고 나온다. 

 

오 왠지 실마리가 보여서, 내 멋대로 이름도 설정하고, 마음대로 설정했더니 키가 생성이 된다.. ㅠㅠㅠㅠㅠ

2주 걸렸다.. 이것을 해결하다가 . 

* sign.jks 해당 부분에 내가 원하는 파일명을 넣어주면 된다 

예시(sign.jks,  secret.jsk 등등 ) 


keytool -genkey -v -keystore sign.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -keysize 2048 -validity 10000

keytool -genkey -v -keystore release.keystore -alias androidreleasekey -keyalg RSA -keysize 2048 -validity 10000

 

자 이제 cmd에서 명령어를 쳐보도록 하자. 

keytool -v -list -keystore [Keystore 파일]

생성 된다..   소리질르자 !!!!!! 

/* 인증서 파일 알고싶은경우 해당 명령어 치면 작동한다. */ 

DEBUG KEY 확인
keytool -list -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android

RELEASE KEY 확인
keytool -list -v -keystore release.keystore -alias androidreleasekey -storepass android -keypass android

앱 서명 KEY 확인
keytool -list -v -keystore key.jks

23년 11월 기준으로 작성합니다.

다른 블로그들과 유튜브 강의를 보다가 오히려 정리가 안되어 독이 되어 버리는.. 상황이 발생했다.

남들은 로그인 구현이 단순하다 하지만,,  가끔씩 시간 내서 하는 직장인에게 계속 발생하는 오류는 개발 동력을 잃게 만들어서, 2주의 시간이 흘러버렸다. 

혹시나 제 블로그를 보시는 분들을 위해 차근차근 작성해봅니다. 

1. Firebase 서비스 이용하기

Firebase 관련 서비스를 이용하기 위해서는 파이어베이스 콘솔에 앱을 등록하고,

Firebase_core라는 라이브러리가 필요하다.

파이어베이스 콘솔에 앱을 등록하는 과정은 전에 올린 포스팅을 보면 됩니다.

이후 콘솔에서 앱 등록을 완료했다면, 다음 과정을 따라하면 된다.

 

 

파이어베이스 콘솔에서 "Authentication >> 로그인 방법" 항목으로 들어가 로그인 제공업체 목록에서 Google을 선택한다.

 

사용 설정을 활성화 시키고 프로젝트의 공개용 이름과 지원 이메일 주소를 선택한다. 공개용 이름은 사용자가 구글 인증을 시도할 때 보여질 앱 이름이다.

Flutter 프로젝트에서 패키지 추가하기

패키지를 추가한 pubspec.yaml

 

플러터 프로젝트에서 파이어베이스 구글 인증을 사용하기 위해 관련 패키지를 추가해야한다.

pubspec.yaml에 firebase_auth, google_sign_in 패키지를 추가하자.

// pubspec.yaml

dependencies:
  flutter: 
    sdk: flutter
  firebase_auth: ^0.15.0+1
  google_sign_in: ^4.0.14

Android에 적용하기

이 항목은 플러터 안드로이드에만 해당되는 내용이다.

 

 

android/app/ 위치에 google-services.json이 있는지 확인한다.

 여기에서 sha 지문을 인증하기 위해 모든 블로그를 뒤져 재 정리를 해보았다. 

SHA 지문 을 위해 키등록이 필요한데, 해당 포스팅에 대해서는 밑에 포스팅에서 확인하시면 될거같다. 

https://antkong.tistory.com/48

 

파일이 없다면 파이어베이스 콘솔의 내 앱 항목에서 다운받을 수 있다.

 

buildscript {
	
    ...
    
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath 'com.google.gms:google-services:4.3.3' // << 추가
    }
}

프로젝트 레벨의 build.gradle에 위 코드를 추가한다.

 

apply plugin: 'com.google.gms.google-services'

app 레벨의 build.gradle에 위 코드를 추가한다.


iOS에 적용하기

이 항목은 플러터 iOS에만 해당되는 내용이다.

 

 

ios/Runner/ 위치에 GoogleService-Info.plist가 있는지 확인한다.

 

 

파일이 없다면 파이어베이스 콘솔의 내 앱 항목에서 다운받을 수 있다.

 

 

GoogleServices-Info.plist

 

ios/Runner/ 위치에 GoogleServices-Info.plist를 넣었으면 파일을 열어 REVERSED_CLIENT_ID의 값을 복사한다.

 

 

Info.plist

 

<key>CFBundleURLTypes</key>
<array>
	<dict>
		<key>CFBundleTypeRole</key>
		<string>Editor</string>
		<key>CFBundleURLSchemes</key>
		<array>
			<string>여기에 REVERSED_CLIENT_ID 값 넣기</string>
		</array>
	</dict>
</array>

복사한 REVERSED_CLIENT_ID 값을 이용해 Info.plist에 커스텀 URL을 등록한다.

이 과정은 구글 웹페이지에서 로그인에 성공하면 브라우저 레벨에서 iOS 앱으로 자동 연결되게 하기 위하여 수행하는 것이다.

(※ 이 프로세스를 딥링크라고 부른다.)


인증 소스코드 구현

힘들게 설정 과정을 모두 거쳤으니 소스코드를 구현할 차례이다.

 

FirebaseAuth auth = FirebaseAuth.instance;
GoogleSignIn googleSignIn = GoogleSignIn();

FirebaseAuth 싱글톤 객체를 가져오고, GoogleSignIn 객체를 할당한다.

FirebaseAuth 클래스는 파이어베이스에서 어떤 방식으로 인증을 수행하든 항상 사용되는 필수 클래스다.

 

GoogleSignInAccount account = await googleSignIn.signIn();
GoogleSignInAuthentication authentication = await account.authentication;

GoogleSignIn 객체의 signIn( )함수를 사용하면 안드로이드에서는 구글 로그인 화면이, iOS에서는 구글 로그인 웹페이지가 나타나며, 로그인한 유저 정보를 반환한다.

 

 

안드로이드에서 실행한 모습

 

AuthCredential credential = GoogleAuthProvider.getCredential(
	idToken: authentication.idToken,
	accessToken: authentication.accessToken);

AuthResult authResult = await auth.signInWithCredential(credential);
FirebaseUser user = authResult.user;

그 다음, GoogleAuthProvider을 이용해 credential을 만들고 FirebaseAuth 객체의 signInWithCredential( ) 함수를 이용해 최종 인증결과를 가져온다.

최종적으로 로그인 성공한 유저의 정보는 AuthResult 객체의 user 프로퍼티 안에서 찾을 수 있고, FirebaseAuth 객체의 auth.currentUser() 함수를 이용해서도 찾을 수 있다.

위 과정을 모두 수행했다면 파이어베이스를 이용해 구글 로그인에 성공한 것이다.

[Login코드]

import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
import 'package:google_sign_in/google_sign_in.dart';

class LoginPage extends StatelessWidget {
  const LoginPage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(child: Column(
        crossAxisAlignment: CrossAxisAlignment.center,
        children: [
          Expanded(child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              InkWell(
                onTap: (
                    ) {
                signInWithGoogle();
                },
                child: Card(
                  margin : EdgeInsets.fromLTRB(20, 20, 20, 0),
                  shape: RoundedRectangleBorder(
                    borderRadius: BorderRadius.circular(7)
                  ),
                  elevation: 2,
                  child: Row(
                    mainAxisAlignment: MainAxisAlignment.center,
                    children: [
                      Image.asset('images/google.png'),
                      const SizedBox(width: 10,),
                      Text('sign in google', style: TextStyle(color: Colors.grey),)
                    ],
                  ),
                ),
              )
            ],
          ))
        ],
      ),),
    );
  }
  Future<UserCredential> signInWithGoogle() async {
    // Trigger the authentication flow
    final GoogleSignInAccount? googleUser = await GoogleSignIn().signIn();

    // Obtain the auth details from the request
    final GoogleSignInAuthentication? googleAuth = await googleUser?.authentication;

    // Create a new credential
    final credential = GoogleAuthProvider.credential(
      accessToken: googleAuth?.accessToken,
      idToken: googleAuth?.idToken,
    );

    // Once signed in, return the UserCredential
    return await FirebaseAuth.instance.signInWithCredential(credential);
  }

}

+ Recent posts