여름 일본은 지옥인거 알지만 매번 여름 여행중
예전만큼 더위 안타서 나름 괜찮^^

친절한 보리차(?) 슴슴하니 맛있당
동생 픽 = 생콜라 : 한국 들여와주라

냅다 키티부터 입양 때려주기
포차코에서 키티로 갈아타는 중인데
너무 유행이라 좀. . ^^
산리오샵에서 중국인이 키링 털어가는거 봄 ㄷ ㄷ

교토에도 있다니?! 551 호라이 만두 ♥♡♥
고기완자에 왕만두가 먹고싶었다구
내 원픽 고기완자 겨자랑 먹으면 더맛있음 후후
(이제 교자만 먹으면 전메뉴 뿌시기 완료)

의외로 3번이 노상 좋다고 하는게 웃김
어딜가나 좁은 가게에 시끌벅적 분위기가 좀 힘겹긴 해
느즈막히 가모강 바라보며 맥주🍻

스페셜 토핑의 조개 스프 라멘
'조개 스프'가 이름값 했다. 완전 해장용
온천란도 적당하게 짭잘해서 존 맛
그치만 재방문 의사는 없..ㅋ

교토 = 말차
라벨이 맘에들어서 구매한 말차맥주
안주는 말차 죽순 + 초코송이
(혈관에 말차 흐르는 중)

이날 목표는 맛있는 당고 먹기라고 선포했더니
길 지나갈때마다 1번이랑 3번이 당고 안먹? 물어봄ㅋㅋ
(진짜 진짜 맛집을 기다리고 있다구)
 
🍡노부부가 운영하는 떡집🍡
그냥 지나치려다가 3번이 하나만 먹자고 들려줌ㅎ.ㅎ
🙏 감사 감사 🙏
떡은 흐물텅 식감인데 말차랑 팥이 개사기 존맛

간식거리도 잔뜩
일본식 치킨 튀김이라는데 MZ 학생들이 많았다
바람잡이가 되었는지 다른 관광객도 줄줄이 사감ㅋㅋ
맛은 그냥 불량한 치킨 너겟? (초코 소스가 있는게 함정)
 
오니기리.. 는 맛집 프랜차이즈인가
사람도 많고 길거리에 봉지 들고다니는 사람들이 많았다
잘 구운 짭잘한 주먹밥! (밥은 내취향이 아니얌ㅎ)

블루보틀 아아 🐶맛없다
시즌 음료 주문했는데 그나마 괜찮.. 우유 맛집인듯 (꼬숩)
그냥 잔디밭이 좋았다🌿 선선한 바람 + 여유
다들 좋아해서 다행쓰. 비만 안왔으면 잔디에 드러누웠을지도

계획은 규카츠 오픈런이었는데
3번의 '규카츠 안좋아함' 소신 발언
+ 가려던 곳의 리뷰 박살과 이해 못할 가격
 
옆의 텐동집으로 노선 변경 후
오픈 시간까지 방황하다가
다시 왔는데 한국인 가족이 들어가다 마는거 발견
+ 쎄함 감지
 
구글 지도 뒤져뒤져
조용한 나만 알고싶어 느낌의 텐동집 발견
인상 굉장히 선한 부부가 운영하는 작은 가게
계속 사람한테 치이다가 편안한 분위기에서 식사 완!

관광지는 오픈런
오르막길 적응 안되서 허벅지 터질거같음
입장전에 다리 박살나기 직전

한바퀴 돌고 내려왔더니 관광객으로 꽉 차버린
비오는 기요미즈데라..ㅋ 빠른 손절
역시 관광지는 오픈런^^
 
여유롭게 산넨자카 니넨자카 내려가기
오전시간이라 상가는 안열었지만 오히려 예쁨
비오는데 웨딩촬영하는 분들도 있었다
보는 입장에선 예쁜데 당사자 매우 힘들듯ㄷ

교토에는 오코노미야끼 말고 와라이야끼가 있다
계란만 들어간 오코노미야끼?
부들부들한 오믈렛같고 맛있음^^
시오야끼소바도 맛없없! 간장 야끼소바 보다 내취향
 

간사이 공항 > 교토행 키티 열차
교토가 뭐 키티 본가임? 어딜가나 키티가 반겨줌
교통카드도 키티버전 있다고 했는데 힝구

여름 감성 교토 좋아
여행 내내 비소식 있어서 걱정했는데
날씨 개좋음! 오히려 좋아!

P들의 여행..? 무계획 속의 계획이랄까
냅다 가고싶은 곳 | 구경하고 싶은거 구경하기
매일 기본 2만보 채우면서 돌아다니기 굿

알고보니 여기 내가 보고싶었던 건물ㅋㅎ
폐건물인가 암튼 문화건물로 재건축? 한곳인데 매우 예쁨
도시 한복판에서 들어오면 펼쳐지는 정원 느낌

관광지는 오픈런 22
재방문 아라시야마 대나무 숲
맘에 드는데 포토스팟에 관광객 너무 많음ㅠ ㅠ

 나오는 길에 텐류지도 방문
돌 정원 멍때리기를 기대했는데 (별루 별루) 
메인 빌딩은 입장료 별개로 또 돈받음 ㄷ
내가 원한건 료안지 느낌이었으

여기 당고 유명하다고 해서..
미타라시 | 호지 | 말차 | 어쩌구 종류 많은데
동생이 안먹는다고 해서 하나만 픽
그냥 달아서 다들 좋아하나봄
 
쫌쫌따리 먹으면서 돌아다니다가
미피 상점 발견했는데 음식물 반입 금지라 못들어감 ^^
쉬다가 교토대 학생의 설문조사도 해줬닼ㅋㅋ

버스기다리면서 상점 구경
미니 유키오 발견!! 이건 희귀하자나
+ 가방이랑 찰떡콩떡 +

가와라마치 거리쪽으로 돌아와서
오늘의 먹방은 내사랑 초밥
 
다들 지라시 스시 먹던데 대쪽같이 초밥 주문^^
(지라시는 너무 주먹밥 st..)
미슐랭 스타 까지는 아니고 가이드? 암튼 맛집이었다
대 존 맛 ♥ ♡

뭐지 빈티지 상점이었나
사장님 DP 솜씨가 예술이었다
그냥 구경하는 재미~.~

? 유명한 도넛집인가 ?
사람 왕왕 많음 | 도넛도 많음
근데 먹고싶은건 딱히.. 끌리는게 없다
하찮은 도넛 트레이.. 영어 구매 담당은 접니다 Hello..

또왔다 블루보틀 정원
오늘은 다른 카페에서 아아
커피 기다리는데 라떼가 맛있는 이유를 알았다 ㄷ
🥛북해도 우유🥛

상점가에서 그릇 구경도 해주고요~.~
여기도 사장님이 DP를 잘해놓은건지
다른 가게에 비해 관광객 많음
 
베이킹 도구들 구경하고 싶었는데
파는 곳을 못봣다ㅠ ㅠ

유키오 획득 22 (이번 시즌은 메론인가)
색감이 맞아서 행복해~.~
가방에 영구박제

저녁 예약 실패 후 숙소 근처 초밥집
웨이팅 한시간 도라방스구요
기다리는 동안 메뉴 정독하면서 뭐시킬지 계산ㅋㅋ

연어알 존 맛 ! 하나도 안비리고 식감 미쳤다
나의 픽 : 중뱃살 + 간장절임 참치 + 등푸른 3종 + 대뱃살
1시간 기다리고 10분 컷으로 흡입한거 같다 ㄷ

쇼핑 전에 교자도 맛만 보자며 호로록
여기도 미슐랭ㅋㅎ 양배추가 살아있어서 오독오독 맛있다
인당 2개씩 딱 적절한 양이었다^^

귀여운게 최고얌!
다이소에서 키티 칫솔꽂이도 발견했는데
멕아리가 없어서 사용 불가ㅋㅋ
그냥 관상용으로 놔둠

유키오 일대기
진짜 희귀 + 멍청한 녀석으로 데려가야해
슬픔이 같이 생긴 녀석도 고민했는데
약간 엘리멘탈 닮은듯

마지막 야식은 말차 범벅
쫀득 당고를 기대했는데 와라비 모찌였다
그래도 맛있음ㅎ.ㅎ

일본어 잘하고싶다ㅠ
여행다닐때마다 느끼는건데 언어 잘하면 너무 좋을듯
불어랑 스페인어는 꼭 배워야지 🔥🔥

마지막 아침 카페까지 야무지게
역시 우유 맛집인듯.. 다르다..
(약간 일본은 달라 병인거 같은데 암튼 다름)
말차가루 사서 매일 만들어먹기 실천중

💛💚💛여행은 즐거워💛💚💛
다음번엔 소도시 중심으로 가보자구
🙍‍♀️🙍‍♀️🙍‍♂️

시작은 어버이날 카드를 만들어서 보내고 싶었던 컴공 졸업자의 깔짝임..


 

Github pages 설정을 이용하면 서버 연동 없이 웹사이트를 배포할 수 있다는 사실..!

(단, 동적인 페이지는 불가능하며 정적 페이지만 가능하다 HTML, CSS, JS)

 

repository > settings > pages > branch

 

branch와 경로 설정 후 레포지토리 첫 페이지로 돌아가면

deployments가 생긴걸 확인할 수 있다! (시간이 조금 걸림)

 

 

이제 이 링크를 보내주면 끝!

 

 

테스트 글쓰기 ing


레트로 스킨을 좋아하는 사람으로 직접 만들어볼까 했는데;;

귀찮아서 어찌저찌 배포된 기본 환경에 깔짝거리며 커스텀 진행

 

정작 모바일에선 아무것도 안보이는게 흠이지만

pc로 보면 조금 달라진다는 점이 괜찮을지도..

 

 

근데 또 이게 safari에서 볼때랑 chrome으로 볼때랑 달라지는게 맘에 안든단 말이죠

직접 만들어야 맘에 들려나 조금 고민입니다

??? 서버 ip + /api/v1/~~

 

get 요청을 보냈는데 오류를 얻었다

has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

 

 

 

1. CORS

Cross Origin Resource Sharing

 

Origin = url 주소상에서 프로토콜, Domain 이름, 포트까지 포함

로컬에 띄운 http://localhost:5500 이 Origin

 

Cross Origin Resource Sharing = 서로 다른 Origin 간의 리소스 교환!!

 

 

2. CORS Error

Same Origin 의 경우 요청이 오는 곳 / 처리하는 곳이 동일해서 보안상 처리해줄 이유 X

 

브라우저에서 결과의 헤더 값을 통해 CORS 확인

브라우저에서는 서버에서 전달 받은 응답 중 헤더에  Access-Control-Allow-Origin 값을 확인하고

이 값에 현재 Origin이 포함되는지 확인

 

포함 O -> CORS 수행

포함 X -> 에러

 

 

3. CORS Solution

 

Access-Control-Allow-Origin 전체 허용

백엔드에서 모든 주소를 Access-Control-Allow-Origin 으로 주면 해결 가능..

 

배포용으로 적절한 방법이 아님

브라우저가 CORS 방어를 해줄 수 X > 보안 취약

>>> 특정 도메인만 추가해서 사용하는 것 추천

 

>>> 프록시 서버 사용하기

브라우저가 보낸 요청을 프론트엔드에서 받아서 대신 보내는 방법

서버 간 데이터 교환상에서는 CORS가 이루어지지 않기 때문에

 

프론트 서버에서 받은 정보를 브라우저에 업데이트

[paper] [code: detectron2]

 

 

Faster R-CNN = 2개의 모듈로 구성

- 영역 제안을 위한 deep fully convolutional network

- 제안된 영역을 사용하는 Fast R-CNN detector


더보기

이전에..

R-CNN

CNN을 사용해서 객체 감지에 높은 성능

input 이미지를 SS 알고리즘 사용해 후보 영역 생성 ~ 2000여개의 region proposal

후보 영역을 cnn 입력으로 >> [cnn은 이미 imagenet으로 pre-trained 된 네트워크]

 

cnn을 통해 나온 feature map > 벡터 추출

- 클래스별로 svm classifier 학습 > 2000개의 박스들은 어떤 물체일 확률값을 가진다

- 가장 확률값이 높은 박스를 사용하기 위해 IoU 적용, 물체를 전체 대상화 할 수 있는 박스 하나 만들어내

    > NMS

 

Regressor: bounding box regression

SS 를 통해 찾은 박스 위치가 부정확 > 모델 성능을 높이기 위해 박스 위치 교정

좌표/너비/높이 조정하는 함수 가중치 곱해 선형 회귀

 

> 입력을 위해 고정된 크기의 wrap/crop 사용 필요

> 이미지 정보 손실 & 2000여개 영역마다 cnn 적용

> SVM/Regression 학습 시간 오래 걸려

 

더보기

SPP-Net

R-CNN 단점 보완

 

입력으로 region proposal 하나하나 사용 X 

> 이미지 자체를 conv net 통과 > feature map 만들어서

> feature map으로부터 region proposal 만들기

> 학습 속도 개선

 

더보기

Fast R-CNN

R-CNN + SPP-Net 의 단점 개선

 

전체 이미지를 CNN 통과시켜 Feature map 추출

Feature map에서 RoI(입력 이미지에서 SS로 찾아 feature map에 적용) 검출

> SS 로 찾은 RoI에 대해 RoI Pooling = 고정 크기의 벡터 추출 (저차원 벡터로 축소)

> 벡터를 FC 통과

    > Softmax: (SVM 대체) RoI가 어떤 물체인지 classification

    > Bounding Box Regression: SS로 찾은 박스 위치 조절

 

 

전체 시스템은 객체 감지를 위한 하나의 unified network로

Selective Search 가 느린 이유는 cpu에서 돌기 때문

-> region proposal 생성하는 네트워크도 gpu 에 넣자고.. 

 

 

 

 

알고리즘 : RPN과 Fast R-CNN으로 구성 

- RPN 모듈은 Fast R-CNN 모듈에게 어떤 부분이 중요한지 설명해주는 attn 메커니즘 수행

 

RPN과 Fast R-CNN의 convolutional features를 공유 > 하나의 네트워크로

 

+ RPN이 RoI를 제대로 만들어야 학습이 잘 됨 → 4단계에 거쳐 모델 학습 

(RPN은 FCN의 한 종류, detection proposlas 를 위해 end-to-end 학습이 가능)

 

+ Anchor box 도입해 속도 향상

 

1. ImageNet Pretrained model 불러와:

원본 이미지를 입력으로 feature map 얻는다

 

2. feature map이 RPN에 전달되어 region proposal 산출

 

3. 과정[1]에서 얻은 feature map과 region proposal 통해 

RoI Pooling => 고정 크기의 feature map 얻어

 

4. Fast R-CNN 모델에 고정 크기 feature map 입력해서

classification 과 bounding box regression 수행

 


RPN

+ Anchor box

 

 

기존 sliding window는 고정된 window 이미지에서 움직이면서 객체 탐지 

> anchor를 사용하면 가운데 픽셀 기준으로 k개의 anchor box 이용해

하나의 window에서 여러가지 scale | aspect ratio 의 bounding box 고려

3가지 scale & 3 aspect ratio ==> k = 9 anchor box 사용

 

 

입력과 출력

 

1. pre-trained cnn 통과 > feature map (w,h,c)를 입력

2. 3x3 conv 연산 수행 | zero-padding = 1, intermediate feature map 크기를 w,h로 유지

3. 1x1 conv 연산 수행 -> [cls] ojbect 존재를 위한 classification | [reg] obj 위치를 위한 bounding box regression

4. classification result = w, h, 18(2*9): sliding position의 중심점

5. bounding box regression result = w, h, 36(4*9) 4개의 좌표를 가지고 regerssion

 


 

Loss function

 

: index of an anchor
: predicted probability
: parameterized coordinates
: mini-batch size
: the number of anchor locations
: balancing parameter (default = 10)
: cross-entropy loss
: L1 smooth loss

 


Sharing features for RPN and Fast R-CNN

 

 

Fast R-CNN 모듈은 RPN을 통해 RoI를 받는다

Non-maximum suppression을 사용해 2000개의 RoI 사용

 

 

* Training

anchor target layer | Proposal target layer 존재 > 학습을 위한 ground truth 만들어

 

 

* Detection

 

 

 

 

 


Ref. pytorh로 구현된 Faster R-CNN repository: github

 

 

^.^

[Paper]. [Github

 


 

✏️ 제안

1. Graph R-CNN: 객체 <-> 이미지간의 관계 detecting
    ➞ Relation Proposal Network(RePN)

2. attentional Graph Convolutional Network

    ➞ obj & relation 사이 contextual 정보 파악

3. evaluation metric

    ➞ 존재하는 metric 보다 holistic & realistic ^^

(a) Object node extraction (b) Relationship edge pruning (c) Graph context integratoin

 

 

 

Visual Scene 

    ➞ 이미지 내 객체에 초점을 둔게 대부분

img classification | obj detection | segmentation

 

scene 을 객체간의 집합?collection으로 표현하면 관계를 파악하기 어려워

    ➞ obj 를 포함하고 있는 그래프로 이해하자

그래프 표현:

node = obj, edge = relationship 형태의 fully connected graph

객체수가 증가하면? 그래프 표현이 의미가... ㄴㄴ

 

Graph R-CNN (for scene graph generation)

1. obj node 추출 ➞  utilize standard obj detection pipeline[32] Faster R-CNN

2. relation edge pruing

3. graph context integration

 


 

Scene Graph

* Image region

* relationships:

   - V: set of nodes corresponding to localized obj regions in I

   - E: relationships between obj

   - O: object , R; relationship labels

 

 

model을 다음과 같이 나타낼 수 있음

 

I: Image V: 이미지 내의 object node set E: object 간의 relationship O: object label, R: Relationship label

 

 

 

1. Object Region Proposal

   Faster R-CNN으로 객체 영역 제안

객체 i와 관련 있는 영역 rio=[xi,yi,wi,hi]과 feature vector , class에 대한 확률분포 를 추출한다.

(classes = { 1, ..., k })

 

  • spatial region 
  • feature vector 
  • class에 대한 확률분포 를 추출

 

 

2. Relationship Proposal Network

: (원래) vertex의 잠재적인 edge의 uniform random sampling 을 통해 구하는데

: 논문에서는 RePN 제안 > 전체 생성 프로세스를 end-to-end 방식으로 학습할 수 있도록 함

 

n개의 obj가 있을 때 O(n^2)개의 관계 만들어지는데

RePN -> pruning 

 

 

 

(pio),ψ(pjo)는 sub, obj를 구별하기 위한 projection function)

            >  [poi, poj] 를 concate 해서 MLP 하는 방법도 있는데 메모리/계산량 측면에서 매우 그지같음

 

>>> asymmetric kernel fucntion 사용

 

Overlap 계산

 

두 객체 쌍 {u, v} & {p, q}

 

I: computed intersection area between 2 boxes

U: union  area

 

모든 pair 는 sigmoid 를 거쳐 0 ~ 1 사이의 score 가져

       내림 차순으로 정렬하고 K 개의 pair 에 대해 NMS 수행

               결과 = sparse Graph = (V, E) 얻어

 

edge 에는 object pair 의 union box의 feature 추출한 visual representation 담긴다..

: number of relation)

나머지 m 객체 쌍은 관계 E를 가진 후보로 간주해 - G=(V, E) 그래프를 얻는다?

 

 

Vanila GCN

노드 i의 표현 zi: 모든 이웃 노드들 zj에  선형변환 가중치 aij 곱해 update

a는 0 ~ 1 사이의 값으로 feature의 symmmetically normalized adjacency matrix에 의해 미리 계산됨.

 

 

 

여기에 attention 을 도입하면

 

[* , *]: concatenation operation: concate 한 node feature 를 2 layer MLP에 통과 > softmax

== a를 구한다

 

* object node

 

* relationship node

 

N 개의 object node 와 m개의 relationships + 모든 object nodes 끼리 skip-connect edge를 연결시켜global context를 고려한 representation update

 

 

 

3. Graph labeling

: iterative refinement process


 

 

Loss function

  • P(V | I )
    • RPN과 동일한 loss: binary cross entropy loss
  • P(E|V ,I)
    • another binary cross entropy loss on relation proposals
  • P(R,O|V,E,I)
    • 2 multi-class cross-entropy losses
    • object classification & predicate classification

 

Evaluating Scene Graph Generation

SGGen+ formulated:

 

 

  • C(O): number of object nodes correctly localized and recognized
  • C(P): for predicate → depends on the location of the subject and object
  • C(T): triplet
  • N: number of entries (sum: objects, predicates, relationships)

1. 본인 컴퓨터 환경에 맞는 가상환경 설치

https://www.virtualbox.org/wiki/Downloads

Visual c++ 2019 redistributable package 설치

(https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170)

 

2. Ubuntu 20.04 설치

(https://releases.ubuntu.com/20.04/)

 

3. 새로 만들기

- ISO = Linux

- 종류, 버전 선택 = Ubuntu 20.04 LTS

 

>기본 메모리 = 4096

>CPU 4개

>비디오 메모리 32MB

>공유 폴더: 자동 마운트/항상 사용하기

 

✂️ Trobule

* 키보드 설정시 계속하기 버튼 안보여..

참고 (https://min0114.tistory.com/29)

= display settings에서 해상도 설정하면 보여요

 

 

 

4. 공유 폴더

Terminal 에서 root 권한 실행: 

$ su

 

공유 폴더 생성

$ mkdir {name} (mkdir VB_share)

 

공유 폴더 마운트

$ mount -t vboxsf {windows 공유 폴더} { 생성한 공유 폴더 경로 }

 

5. 필요한 library 설치

apt-get update

apt-install python3-pip

pip install pytorch-lightning==1.9.5

pip install transformers

pip install onnx

pip install onnxruntime

 

VScode 설치

 


ssh 서버 설치 및 로컬에서 접속

 

* open ssh 서버와 클라이언트 모두 설치

$ sudo apt-get install ssh

 

$ sudo systemtl status ssh

서버가 활성화 상태인지 확인ㅇㅇ -> active(running) 보이면 실행중인 상태

 

방화벽 상태를 확잉ㄴ하고 사용중이라면? ssh 허용하도록 변경

$ sudo ufw status

$ sudo ufs allow ssh

 

서버 접속을 위한 ip 주소 알아내기

$ ifconfig

필요한 경우 net-tools 설치

$ sudo apt install net-tools

 

inet 값이 ip 주소!!

 

 

 

 

또 무슨 뻘짓거리를 하려고..?

 

1. ubuntu 20.04를 시작으로 공유 폴더를 설정하고 싶은데

 

폴더 > other location 에서 spice client folder라는게 보여야 한다.. > 안보여

 

sudo apt install spice-vdagent spice-webdavd

 

 

reboot > other locations > 조금 지나면 spice client folder 가 보인다

 

 

이러면 된건가? 아무튼 성공

 

 

++ 네트워크 검색 지원한느 samba, 일부 유형의 드라이브 마운트 가능.. 어쩌구

sudo apt install samba gvfs-backends 

 

 

 

2. 갑자기 길을 잃고 VS Code를 쓰고싶어

 

sudo apt install net-tools

ifconfig

 

mac 터미널로 돌아와서 

ssh [username]@[ip address]

오.. 된다.. VSC > ssh config file 에 host 추가해서 사용하기 가능^^

 

 

3. mount 하고 싶다고

unknown filesystem type 'vboxsf'

vagrant plugin install vagrant-vbguest
vagrant vbguest

 

vbox가 아니잖아..?

 

애초에 파일 마운트가 뭔데ㅠ ㅠ

> 컴퓨터 파일 시스템 -> 다른 dir로 연결하거나 합치는 작업ㅇㅇ 

- file system: 파일과 dir 구성하고 저장하는 방식 정의 [운체 시간에 배운거 아닌가]

- mounting: 파일 시스템을 운영체제의 dir 구조에 연결하는 프로세스 > 다른 파일 시스테므이 파일|dir에 접근 가능

- mount point: 마운트할 파일 시스템을 운영체제의 dir 트리에 연하는 지점

- Network File System(nfs): local 파일 시스템처럼 마운트 가능 > 네트워크를 통해 원격 서버의 파일 시스템에 접근 가능

 

 

3. anaconda 

 

# ubuntu 20.04

# 버전 확인

 

.sh 파일 다운로드 > wget

wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-aarch64.sh

bash Anaconda3-2023.09-0-Linux-aarch64.sh

 

설정하다가 자동 활성화 해버렸다.. > 해제

 

conda config --set auto_activate_base false

source ~/.bashrc

 

 

4. tensorboard error: 403

 

ssh -L 8878:localhost:6009 {username}@{ip address} -p 2222

 

jupyter notebook => 403 error

 

왜 ?? => 브라우저 쿠키 설정의 오류^^ 🍪🍪🍪

 

 

 

5. 뭔짓거린지 모르겠음

 

그냥 window 쓰는게 맘 편할거 같다는 생각이 들어요

+ Recent posts