분류 전체보기 87

[Flutter] 프로필 설정 UI 구성하기

앱 개발 프로젝트 중 프로필 설정 UI를 구성해야 하는데, 유튜브에 좋은 샘플이 있어서 따라해봤다. 하지만 유튜브 영상을 보면서 했을 때 마냥 코드만 따라치게 되는 경향이 있다. 뼈대가 없으면 스스로 구현하기 어려워지므로 유튜브에서 구성한 UI의 코드를 리뷰해보고 뜯어본 다음 내 앱에 맞게 변형하는 작업까지 기록해보려 한다. 왜 이 위젯을 사용해서 왜 이렇게 레이아웃을 구성했는지 초점을 두어 분석해보려고 한다.내가 본 유튜브 영상은 아래 링크이다. 맨 아래에 전체 코드가 있다.https://www.youtube.com/watch?v=AS183vv0xxU  📍 GestureDetector 위젯GestureDetector는 사용자의 제스처(클릭, 더블클릭, 오래 누르기, 드래그 등)를 감지하는 위젯이다. ..

Flutter 2024.09.23

[Boj] 백준 C++ #1914 하노이탑

📍 문제링크 : https://www.acmicpc.net/problem/1914📍 알고리즘 분류 : 재귀📍 문제 풀이 : 알고리즘 시간에 배운 내용과 코드를 기반으로 하노이탑 문제를 풀었다. 옮긴 횟수를 출력하는 것 때문에 시간이 오래 걸렸다. 처음에는 재귀함수가 호출될 때마다 카운트를 해가며 구했는데, N📍 코드 :#include #include #include using namespace std;void Hanoi(int n, int a, int b, int c){ if(n>0){ Hanoi(n-1, a, c, b); cout>N; string tmp = to_string(pow(2,N)); // 결과값 double을 string으로 변환하여 저장 ..

Boj 2024.09.20

[MIT 6.5940] EfficientML.ai Lec03: Pruning and Sparsity

MIT 6.5940 송한 교수님의 강의를 참고하며 pruning과 sparsity에 대해 정리해보고자 한다. 강의 영상은 아래와 같다. 이해하기 어려운 부분이 많아서 모든 슬라이드를 확실히 짚기보다는 중요한 슬라이드만 부분적으로 정리할 것이다.https://www.youtube.com/watch?v=95JFZPoHbgQ&list=PL80kAHvQbh-pT4lCkDT53zT8DKmhE0idB&index=6우리는 이 강의에서 Pruning에 대해서 학습할 것이다. Pruning(가지치기) 이란 neural network를 경량화할 때 사용하는 방법이다. 중요도가 낮은 파라미터는 제거하여 모델의 크기를 줄이고 계산의 효율성을 높인다. 위 슬라이드의 그림에서 가지치기가 된 모습을 시각적으로 이해할 수 있다. g..

엣지컴퓨팅 2024.09.18

[논문읽기] Mobile LLM: Optimizing Sub-billion Parameter Language Models for On-Device Use Cases

MobileLLM: Optimizing Sub-billion Parameter Language Models for On-Device Use Caseshttps://arxiv.org/abs/2402.14905 MobileLLM: Optimizing Sub-billion Parameter Language Models for On-Device Use CasesThis paper addresses the growing need for efficient large language models (LLMs) on mobile devices, driven by increasing cloud costs and latency concerns. We focus on designing top-quality LLMs with ..

엣지컴퓨팅 2024.09.15

[Boj] 백준 C++ #11726 2xn 타일링

📍알고리즘 분류: DP 동적 프로그래밍큰 문제를 작은 문제로 나눌 수 있으며 작은 문제에서 구한 정답은 그것을 포함하는 큰 문제에서도 동일할 경우 DP를 사용한다.📍문제 풀이:처음에는 조합(Combination)을 이용한 수식으로 문제에 접근했다. 문제에서 높이는 2로 고정되어 있으므로 2xn 타일을 쪼개보면 타일을 구성할 수 있는 경우는 '2x1' 혹은 '1x2 두개를 위아래로 붙인 2x2' 뿐이다. 그래서 2x1의 모양을 A, 2x2의 모양을 B라고 하자.A는 가로를 1만큼 차지하고 B는 한번에 2만큼 차지한다. 따라서 2xn의 모양에서 n = (1 x A의개수) + (2 x B의개수)라는 수식을 세울 수 있다. A와 B의 범위는 0과 자연수이다. 따라서 A와 B의 순서쌍 조합을 구하면 이 과정에..

Boj 2024.08.11

[Boj] 백준 C++ #2667 단지번호붙이기

📍알고리즘 분류: DFS, BFSDFS란 Depth First Search, 깊이 우선 탐색. 트리나 그래프에서 한 루트로 탐색하다가 특정 상황에서 최대한 깊숙이 들어가서 확인한 뒤 다시 돌아가 다른 루트로 탐색하는 방식이다. 재귀호출이나 스택 배열로 구현할 수 있다.📍문제풀이: 재귀호출 방식의 DFS로 문제를 풀었다. dfs가 처음 호출되면 인접한 집들을 다 탐색하여 한 단지를 구성하는 집의 개수를 모두 센다.📍코드#include #include #include #include using namespace std;#define MAX_N 26int map[MAX_N][MAX_N];bool visited[MAX_N][MAX_N];int dx[4] = {-1,1,0,0};int dy[4] = {0,0..

Boj 2024.08.11

[Boj] 백준 C++ #2309 일곱 난쟁이

https://www.acmicpc.net/problem/2309📍  풀이 방법: 합이 100이 되는 7명의 난쟁이를 구하는 것이 아니라, 9명의 난쟁이 키 합에서 뺐을 때 100이 되는 2명의 난쟁이를 구하면 된다. 📍 알고리즘 분류: 브루트포스brute force(무식한 힘). 즉 무식하게 가능한 경우의 수를 모두 탐색해보는 완전탐색 알고리즘.📍  소스코드#include #include using namespace std;int main() { int dwarf[9]; int sum = 0; for(int i=0;i> dwarf[i]; sum += dwarf[i]; } sort(dwarf,dwarf+9); for(int i=0;i 처음에 break문으..

Boj 2024.08.08

[컴퓨터 네트워크] Mobility

# 컴네 12일차 - 뒷부분모빌리티(이동성)에 대해서 알아볼 것이다.모바일 노드의 이동성을 처리하기 위한 방법은 2가지가 있다.1. 라우팅으로 처리하기라우터가 이동할 노드의 주소를 알리라우터가 이동 노드의 위치를 관리하여 엔드 시스템의 변경 없이 통신을 유지한다. 2. 엔드 시스템이 처리하기엔드 시스템이 이동 노드의 위치를 처리하는 두 가지 방법2-1. 간접 라우팅(indirect routing) : 홈 네트워크를 통해 이동 노드로 패킷을 전달2-2. 직접 라우팅(direct routing) : 송신자가 이동 노드의 외부 주소를 알고 직접 패킷을 전달용어 설명! 이동 장치가 네트워크를 이동할 때 발생하는 등록 과정(Mobility Registration) 단계 1:설명: 이동 장치가 방문한 네트워크에 진..

[컴퓨터 네트워크] WiFi - 12-1

# 컴네 12일차WiFi는 전자기기들이 무선 랜에 연결할 수 있게 해주는 기술로서 IEEE 802.11에 기반한다. 먼저 IEEE 802.11 랜 아키텍처를 살펴보자.무선 호스트들은 기지국(=base station, access point)들과 통신한다. BSS(Basic Service Set)이란 기지국이 데이터를 주고 받을 수 있는 범위를 말한다. cell이라고도 한다.802.11은 해당 범위의 주파수를 대략 11개의 채널로 나눈다. 같은 채널에 여러 AP가 있을 경우 간섭이 발생할 수 있다.호스트는 반드시 AP와 연결되어야 한다. 호스트는 채널을 스캔하여 AP의 이름(SSID)와 MAC 주소를 포함하는 비콘 프레임을 확인한 후 연결할 AP를 선택한다. 연결이 완료되면 DHCP를 통해 IP 주소를 할..

[컴퓨터 네트워크] LANs : addressing, ARP

#컴네 10일차 - (3)ARP(Address Resolution Protocol)란 주소 결정 프로토콜이다. IP주소를 MAC주소와 매칭시키기 위한 프로토콜이다.먼저 IP 주소와 MAC 주소 각각에 대해 알아보자.IP주소는 32bit(in IPv4)로 네트워크 계층(3계층)에서 패킷을 전달하는데 사용되는 주소이다.MAC주소는 대부분 48bit길이이며 로컬 네트워크 내에서 물리적으로 연결된 인터페이스 간의 통신(프레임 전달)을 위해 사용된다.중요한 차이점은 IP주소는 네트워크 3계층에서, MAC주소는 데이터 링크 2계층에서 사용된다는 것이다.LAN(Local Area Network)란 제한된 지리적 범위 내에서 네트워크를 형성하는 것이다. 각 LAN에 연결된 장치는 고유한 LAN주소를 가지고 있는데 이를..