목록분류 전체보기 (205)
주뇽's 저장소
Getx를 사용한 Flutter 개발: 컨텍스트 없는 내비게이션 오류 해결하기Flutter 개발에서 내비게이션은 매우 중요한 부분이다. 화면 간의 이동을 처리하고 데이터를 전달하는 등의 작업을 수행하기 위해 내비게이션을 사용한다. Flutter에서는 기본적으로 Navigator 위젯을 사용하여 내비게이션을 구현할 수 있지만, 더 편리하고 강력한 방법으로 Getx 패키지를 사용할 수 있다. GetXGetx는 Flutter를 위한 경량화된 상태 관리, 종속성 주입 및 라우트 관리 솔루션이다. Getx를 사용하면 코드를 간결하게 작성할 수 있으며, 내비게이션을 더 쉽게 처리할 수 있다. 특히 Getx는 컨텍스트 없는 내비게이션을 지원하여 더 간편하게 라우트를 관리할 수 있다. 하지만 Getx를 사용할 때 ..
Spring Security는 웹 애플리케이션의 인증과 인가를 담당하는 강력한 프레임워크이다. 이번 글에서는 Spring Security에서 제공하는 @AuthenticationPrincipal 어노테이션을 사용하여 로그인한 사용자의 정보를 쉽게 가져오는 방법에 대해 알아보자. Authentication최근에 Spring Boot와 Spring Security를 사용하여 웹 애플리케이션을 개발하던 중, 로그인한 사용자의 정보를 컨트롤러에서 사용해야 하는 상황에 직면했다. 처음에는 Authentication 객체를 직접 주입받아 사용하는 방법을 시도했다.(게시글에 좋아요 기능 추가)@PostMapping("/like")public ResponseEntity likePost(@PathVariable Long..
목차 1. 현행시스템 분석 - 플랫폼 기능 분석(⭐️) - 플랫폼 성능 특성 분석(⭐️⭐️) - 운영체제 분석(⭐️) - 네트워크 분석(⭐️) - DBMS 분석(⭐️⭐️) - 비즈니스 융합 분석(⭐️) 👉 1. 현행시스템 분석 현행 시스템 분석은 기존 시스템의 문제점과 개선 방향을 도출하는 중요한 과정이다. - 플랫폼 기능 분석(⭐️) 플랫폼은 애플리케이션을 구동시키는 데 필요한 소프트웨어 환경으로, 동일 플랫폼 내에서는 상호 호환이 가능하다. 플랫폼의 유형에는 싱글 사이드, 투 사이드, 멀티 사이드 등이 있다. 싱글 사이드: 제휴 관계를 통해 소비자와 공급자를 연결하는 형태 투 사이드: 두 그룹을 중개하고 모두에게 개방하는 형태 멀티 사이드: 다양한 이해관계 그룹을 연결하여 중개하는 형태 플랫폼은 운영..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cTvx72/btsGEYgPkAy/YMiXJ87z9Kt3McyJoPKgEK/img.jpg)
목차 1. 손실함수 2. Cross-Entropy - 정보 - 기댓값 - 엔트로피(Entropy) - Cross-Entropy 👉 1. 손실함수 인공지능 모델을 학습시킬 때 중요한 개념 중 하나가 손실함수(loss function)이다. 손실함수는 모델의 예측과 실제 데이터 간의 차이를 수치화하여 나타낸다. 이 손실함수의 값을 최소화하는 것이 모델 학습의 목표이다 간단한 예로. 선형회귀 모델을 생각해 보자 이 모델은 입력 데이터 x와 출력 y 사이의 관계를 선형 방정식 y = wx + b로 모델링한다. 여기서 w와 b는 모델이 학습해야 할 파라미터이다. 이때 손실함수로 자주 사용되는 것이 평균제곱오차(Mean Squared Error, MSE)이다. 평균제곱오차는 모델의 예측값과 실제값 간의 차이를 제곱..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ueoEi/btsGCczF05H/d5fDwL4NgvUJt5ZTTuOiW1/img.png)
https://www.acmicpc.net/problem/11725 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 256 MB 82478 36840 25903 42.457% 문제 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 노드의 개수 N (2 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N-1개의 줄에 트리 상에서 연결된 두 정점이 주어진다. 출력 첫째 줄부터 N-1개의 줄에 각 노드의 부모 노드 번호를 2번 노드부터 순..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/5iB5e/btsGBWRhB8Y/nfU7xvT5rkesGJvT9MWDJk/img.png)
https://web.stanford.edu/class/cs224w 목차 1. GNN 학습(3) Supervised vs UnSupervised - Supervised - UnSupervised 2. Training Piepeline - Loss Function - Classificaion Loss - Regression Loss - Evaluation metrics 👉 1. GNN 학습(3) Supervised vs UnSupervised - Supervised 지도학습은 그래프 외부에서 얻은 레이블 정보를 활용하는 방식이다. 예를 들어 인용 네트워크 그래프에서 각 노드(논문)가 어떤 주제 분야에 속하는지를 예측하는 문제에서는 외부에서 제공되는 논문의 주제 분야 정보가 레이블로 사용될 수 있다. 트랜잭..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/KZEgt/btsGAZNBkIm/vClndAPNDb8sPMkmEGdzW1/img.png)
https://web.stanford.edu/class/cs224w 목차 1. GNN 학습(2) Hierarchical - Hierarchical Pooling - Hierarchical Aggregate - Graph-Level Issue : Graph Level의 예측을 수행할 때 Gloabal pooling은 그래프 정보를 유실시킬 수 있다. ex): Node embeddings for G1 : {-1, -2, 0, 1, 2} Node embeddings for G2 : {-10, -20, 0, 10, 20} G1과 G2 그래프는 완전히 다른 노드 임베딩을 가지고 있고 구조적으로도 완전히 다르다. 만약 여기서 gloabl sum pooling을 사용하게 된다면 결과값은 다음과 같다. Predicti..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/t06I0/btsGzmIH3xw/tyBKfEiJrA9vhOM6HPkel1/img.png)
https://web.stanford.edu/class/cs224w 목차 1. GNN 학습(1) Prediction-head - Node-Level - Edge-Level - Graph-Level 👉 1. GNN 학습(1) Prediction-head GNN의 출력은 노드 임베딩의 집합 {𝐡v ∈ ℝd, ∀𝑣 ∈ 𝐺} 이다. 이 노드 임베딩들을 가지고 최종적인 prediction을 생성하기 위해서는 prediction head 모듈이 필요하며 Prediction head는 노드, 에지, 그래프 레벨의 예측 작업에 따라 다르게 설계된다. - Node-Level 방법: 가장 간단한 방법은 노드 임베딩에 대해 선형변환을 수행하는 것이다. 노드 분류 문제의 경우 선형변환 결과에 Softmax를 적용해 multi..