<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>개발은 처음이라</title>
    <link>https://minjunkass.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Sun, 2 Aug 2026 21:30:22 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>두비_</managingEditor>
    <image>
      <title>개발은 처음이라</title>
      <url>https://tistory1.daumcdn.net/tistory/2375896/attach/8e0c28abaa9644b188839fdbd960bfcd</url>
      <link>https://minjunkass.tistory.com</link>
    </image>
    <item>
      <title>#3-2 IAM 사용자 및 그룹</title>
      <link>https://minjunkass.tistory.com/121</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;IAM 사용 방법에 대해 알아보자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 콘솔창 기준으로 검색창에 IAM을 입력하고 왼쪽 카테고리에 사용자를 클릭한다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1555&quot; data-origin-height=&quot;355&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3bJHd/btsH9fuPpWM/nCFvsX9I7Kx1spDno31Py1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3bJHd/btsH9fuPpWM/nCFvsX9I7Kx1spDno31Py1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3bJHd/btsH9fuPpWM/nCFvsX9I7Kx1spDno31Py1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3bJHd%2FbtsH9fuPpWM%2FnCFvsX9I7Kx1spDno31Py1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1555&quot; height=&quot;355&quot; data-origin-width=&quot;1555&quot; data-origin-height=&quot;355&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오른쪽 상단을 보면 글로벌로 리전이 선택되어있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 IAM은 글로벌 서비스이며 선택할 리전이 없다는 뜻이다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;IAM에서 사용자를 생성하면 언제&amp;nbsp; 어디서든 사용할 수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리가 사용자를 생성하는 이유는 무엇일까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용자를 클릭했을 때 계정 ID가 보인다면&amp;nbsp; 루트 계정을 사용하고 있다는 뜻이다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;루트 계정을 사용하는 것은 최선의 방법이 아니며, 계정을 더 안전하게 사용할 수 있도록 관리자 사용자와같은 사용자를 생성한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 사용자 생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용자 생성 클릭&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;관리 콘솔에 접근해야하기 때문에 권한 제공에 체크하고, 사용자 유형에 IAM 사용자를 생성한다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1443&quot; data-origin-height=&quot;417&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9wrxz/btsIbt5ZEBT/4tibJ6hRMKWmGL4wbYoIDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9wrxz/btsIbt5ZEBT/4tibJ6hRMKWmGL4wbYoIDK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9wrxz/btsIbt5ZEBT/4tibJ6hRMKWmGL4wbYoIDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9wrxz%2FbtsIbt5ZEBT%2F4tibJ6hRMKWmGL4wbYoIDK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1443&quot; height=&quot;417&quot; data-origin-width=&quot;1443&quot; data-origin-height=&quot;417&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보통 관리자라면 자동생성을 하고 다음 사용자가 접속 시 비밀번호를 변경할 수 있게 하겠지만 현재 테스트는 나만 접속할 수 있기 때문에&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;직접 비밀번호르 생성하고 다음으로 넘어간다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1457&quot; data-origin-height=&quot;363&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AD3Tj/btsIbJVmmOB/WRAOgY77u6HTu8y2qPcEkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AD3Tj/btsIbJVmmOB/WRAOgY77u6HTu8y2qPcEkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AD3Tj/btsIbJVmmOB/WRAOgY77u6HTu8y2qPcEkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAD3Tj%2FbtsIbJVmmOB%2FWRAOgY77u6HTu8y2qPcEkk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1457&quot; height=&quot;363&quot; data-origin-width=&quot;1457&quot; data-origin-height=&quot;363&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 사용자에게 권한 추가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;직접 추가도 가능하고 그룹으로 시작할 수도 있다 지금은 그룹으로 생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그룹명은 admin으로 지정하고 Administrator Access의 정책 이름을 설정한다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;814&quot; data-origin-height=&quot;471&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QRVt2/btsH9YlQ698/ECMVkBpCyAzpD9yPFOK8ak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QRVt2/btsH9YlQ698/ECMVkBpCyAzpD9yPFOK8ak/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QRVt2/btsH9YlQ698/ECMVkBpCyAzpD9yPFOK8ak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQRVt2%2FbtsH9YlQ698%2FECMVkBpCyAzpD9yPFOK8ak%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;814&quot; height=&quot;471&quot; data-origin-width=&quot;814&quot; data-origin-height=&quot;471&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생성이 되었다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1493&quot; data-origin-height=&quot;209&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PCkFN/btsIbn51N1x/sps9NhyeCRWnVKS5n8SkXK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PCkFN/btsIbn51N1x/sps9NhyeCRWnVKS5n8SkXK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PCkFN/btsIbn51N1x/sps9NhyeCRWnVKS5n8SkXK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPCkFN%2FbtsIbn51N1x%2Fsps9NhyeCRWnVKS5n8SkXK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1493&quot; height=&quot;209&quot; data-origin-width=&quot;1493&quot; data-origin-height=&quot;209&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 사용자를 admin그룹에 추가할 수 있으며 다음을 클릭하면 지금까지 설정한 값을 검토할 수 있다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1493&quot; data-origin-height=&quot;641&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b2gnEM/btsIaGdYi0R/u0WWUjIB4bZa3LKzKb1ks1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b2gnEM/btsIaGdYi0R/u0WWUjIB4bZa3LKzKb1ks1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b2gnEM/btsIaGdYi0R/u0WWUjIB4bZa3LKzKb1ks1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2gnEM%2FbtsIaGdYi0R%2Fu0WWUjIB4bZa3LKzKb1ks1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1493&quot; height=&quot;641&quot; data-origin-width=&quot;1493&quot; data-origin-height=&quot;641&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;태그 기능은 AWS 어디에서든 볼 수 있으며, 선택 사항이지만 리소스에 메타데이터를 제공할 수 있게 한다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1507&quot; data-origin-height=&quot;381&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tT1BD/btsIaixEkbv/FDpoaJ0bNa6NCAZLo2PLOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tT1BD/btsIaixEkbv/FDpoaJ0bNa6NCAZLo2PLOK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tT1BD/btsIaixEkbv/FDpoaJ0bNa6NCAZLo2PLOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtT1BD%2FbtsIaixEkbv%2FFDpoaJ0bNa6NCAZLo2PLOK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1507&quot; height=&quot;381&quot; data-origin-width=&quot;1507&quot; data-origin-height=&quot;381&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;IAM - User에서 생성된 내역을 확인할 수 있다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1546&quot; data-origin-height=&quot;262&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwse67/btsH92ByPl9/7hDtKlwgd3r4cPle5C1GL1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwse67/btsH92ByPl9/7hDtKlwgd3r4cPle5C1GL1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwse67/btsH92ByPl9/7hDtKlwgd3r4cPle5C1GL1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbwse67%2FbtsH92ByPl9%2F7hDtKlwgd3r4cPle5C1GL1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1546&quot; height=&quot;262&quot; data-origin-width=&quot;1546&quot; data-origin-height=&quot;262&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;왼쪽에 사용자 그룹을 클릭해보자&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;273&quot; data-origin-height=&quot;71&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/r9VKT/btsH9oFktOp/kZ1sG9eCIgq7lkIiEmPROk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/r9VKT/btsH9oFktOp/kZ1sG9eCIgq7lkIiEmPROk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/r9VKT/btsH9oFktOp/kZ1sG9eCIgq7lkIiEmPROk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fr9VKT%2FbtsH9oFktOp%2FkZ1sG9eCIgq7lkIiEmPROk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;273&quot; height=&quot;71&quot; data-origin-width=&quot;273&quot; data-origin-height=&quot;71&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생성한 그룹명(admin)을 클릭하면 아래와 같이 내 계정과 그룹도 볼 수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용자 그룹에서 하단에 보면&amp;nbsp; 사용자 이름(TestDubi)가 그룹에 속한것을 확인할 수 있다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1546&quot; data-origin-height=&quot;587&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/raiUe/btsIbKfDXmX/C7DNilGPfNJ2XEWVcJfUx0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/raiUe/btsIbKfDXmX/C7DNilGPfNJ2XEWVcJfUx0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/raiUe/btsIbKfDXmX/C7DNilGPfNJ2XEWVcJfUx0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FraiUe%2FbtsIbKfDXmX%2FC7DNilGPfNJ2XEWVcJfUx0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1546&quot; height=&quot;587&quot; data-origin-width=&quot;1546&quot; data-origin-height=&quot;587&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;권한을 클릭하면&amp;nbsp; AdministratorAcess가 할당된 것을 확인할 수 있다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1552&quot; data-origin-height=&quot;339&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Fp2TN/btsH9e3LvCX/oGv2mLCJGHc4w6q1ajcHCk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Fp2TN/btsH9e3LvCX/oGv2mLCJGHc4w6q1ajcHCk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Fp2TN/btsH9e3LvCX/oGv2mLCJGHc4w6q1ajcHCk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFp2TN%2FbtsH9e3LvCX%2FoGv2mLCJGHc4w6q1ajcHCk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1552&quot; height=&quot;339&quot; data-origin-width=&quot;1552&quot; data-origin-height=&quot;339&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다시 사용자로 돌아가 이름(TestDubi)을 클릭해보면 똑같이 정책이 확인되는데, 이것은 직접 첨부된 것이 아니며, admin 그룹을 통해 첨부된&amp;nbsp; 것이다 그러므로 자신이 속한 admin 그룹이 가진 모든 권한을 TestDubi가 이어받는다는 의미이다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1543&quot; data-origin-height=&quot;760&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/G9daa/btsIbj3WjBI/UvWrndXHiROebfujtpDji0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/G9daa/btsIbj3WjBI/UvWrndXHiROebfujtpDji0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/G9daa/btsIbj3WjBI/UvWrndXHiROebfujtpDji0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FG9daa%2FbtsIbj3WjBI%2FUvWrndXHiROebfujtpDji0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1543&quot; height=&quot;760&quot; data-origin-width=&quot;1543&quot; data-origin-height=&quot;760&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것이 사용자를 그룹에 넣는 이유이다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 식으로 권한을 관리하는 것이 좀 더 간단하다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 대시보드로 돌아가보자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;TestDubi 사용자로 로그인 시도&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오른쪽에 로그인 URL이 존재한다 쉽게 변경이 가능하며 별칭으로 생성한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;계정 별칭 생성 클릭&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;454&quot; data-origin-height=&quot;134&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDcasG/btsIbRS8DhU/RYMZtAKsfr4VRN6O914UvK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDcasG/btsIbRS8DhU/RYMZtAKsfr4VRN6O914UvK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDcasG/btsIbRS8DhU/RYMZtAKsfr4VRN6O914UvK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDcasG%2FbtsIbRS8DhU%2FRYMZtAKsfr4VRN6O914UvK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;454&quot; height=&quot;134&quot; data-origin-width=&quot;454&quot; data-origin-height=&quot;134&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 별칭으로 사용자 로그인 URL을 간소화할 수도 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생성한 사용자로 로그인을 해보자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 사용자로 로그인하게되면 루트 사용자는 로그아웃된다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 방법을 해제하고자 비공개(시크릿모드)를 사용한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다시 로그인해보자면 변경한 별칭을 입력하고 사용자명을 입력해서 로그인한다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;404&quot; data-origin-height=&quot;594&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwXRyX/btsIbJVmCaG/cvKqqDBFUSy5OYgfAdy770/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwXRyX/btsIbJVmCaG/cvKqqDBFUSy5OYgfAdy770/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwXRyX/btsIbJVmCaG/cvKqqDBFUSy5OYgfAdy770/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwXRyX%2FbtsIbJVmCaG%2FcvKqqDBFUSy5OYgfAdy770%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;404&quot; height=&quot;594&quot; data-origin-width=&quot;404&quot; data-origin-height=&quot;594&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;315&quot; data-origin-height=&quot;110&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1waUR/btsH94e3aXU/TwattxokuocW4BmSyEqs11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1waUR/btsH94e3aXU/TwattxokuocW4BmSyEqs11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1waUR/btsH94e3aXU/TwattxokuocW4BmSyEqs11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1waUR%2FbtsH94e3aXU%2FTwattxokuocW4BmSyEqs11%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;315&quot; height=&quot;110&quot; data-origin-width=&quot;315&quot; data-origin-height=&quot;110&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;루트 사용자가 아닌 IAM 사용자라고 뜬것을 확인할 수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;루트 사용자는 아래 이미지처럼 확인된다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;318&quot; data-origin-height=&quot;83&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cserTq/btsIaHDT4ZS/YNOTtQFKO5RvQXf4AvjjR0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cserTq/btsIaHDT4ZS/YNOTtQFKO5RvQXf4AvjjR0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cserTq/btsIaHDT4ZS/YNOTtQFKO5RvQXf4AvjjR0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcserTq%2FbtsIaHDT4ZS%2FYNOTtQFKO5RvQXf4AvjjR0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;318&quot; height=&quot;83&quot; data-origin-width=&quot;318&quot; data-origin-height=&quot;83&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>AWS/AWS SAA-C03 시험 준비</category>
      <author>두비_</author>
      <guid isPermaLink="true">https://minjunkass.tistory.com/121</guid>
      <comments>https://minjunkass.tistory.com/121#entry121comment</comments>
      <pubDate>Tue, 25 Jun 2024 01:02:03 +0900</pubDate>
    </item>
    <item>
      <title>#3-1 IAM 소개</title>
      <link>https://minjunkass.tistory.com/120</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;IAM 소개: 사용자, 그룹 정책&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;IAM은 Identity and Access Management의 약자로 IAM에서는 사용자를 생성하고 그룹에 배치하기 떄문에 글로벌 서비스에 해당된다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;우린 이미 회원가입 할때 루트 사용자를 생성했기 때문에 더 이상 루트 계정을 사용해서도, 공유해서도 안된다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대신에 사용자를 생성해야 한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;IAM에서 사용자를 생성할 때 하나의&amp;nbsp; 사용자는 조직 내의 한 사람에 해당이 된다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필요하다면 사용자들을 그룹으로&amp;nbsp; 묶을 수도 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 여섯명으로 이루어진 조직이 있다고 가정할 때,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A, B, C, D, E, F가 있으며 모두 조직에 속해있다 A, B, C는 함께 일하고 같은 직종이다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 하나의 그룹을 생성해서 A, B, C를 배치하고 D, E도 함께 일하기 떄문에 전체 그룹을 생성해서 만들어ㅓ 묶어준다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 두 개의 그룹이 생성된다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그룹에는 사용자만 배치할 수 있다 다른 그룹을 포함시킬 순 없다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그룹에 포함되지 않은 사용자도 있을 수 있다 가령 F는 혼자이며 어느 그룹에도 속하지 않는다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 한 사람이 여러 그룹에 속할 수도 있는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;C, D가 감사 팀에서 일한다 가정할 때, C, D이 속한 세 번째 그룹을 만들 수 있으며&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;C, D이 각각 두 개의 서로 다른 그룹에 속한 것을 볼 수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;IAM에서만 사용 가능한 구성이다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 사용자와 그룹을 생성하는 이유가 무엇일까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이들이 AWS 계정을 사용하도록 허용하기 때문이다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;허용을 위해서는 이들에게 권한을 부여해야 한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 위해 사용자 또는 그룹에게 정책, 또는 IAM 정책이라고 불리는 JSON 문서를 지정할 수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JSON 문서는 알기 쉬운 영어로 특정 사용자, 혹은 특정 그룹에 속한 모든 사용자들이 어떤 작업에 권한을 가지고 있는지를 설명해 놓는 것이다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이와 같은 형태의 JSON 문서를 통해 사용자들이 AWS 서비스를 이용하도록 허용하는 것이다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>AWS/AWS SAA-C03 시험 준비</category>
      <author>두비_</author>
      <guid isPermaLink="true">https://minjunkass.tistory.com/120</guid>
      <comments>https://minjunkass.tistory.com/120#entry120comment</comments>
      <pubDate>Mon, 24 Jun 2024 23:25:56 +0900</pubDate>
    </item>
    <item>
      <title>#2 AWS  콘솔 및 서비스  둘러보기</title>
      <link>https://minjunkass.tistory.com/119</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;리전 선택기&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;304&quot; data-origin-height=&quot;930&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AdcC4/btsIboqi5nQ/TCwnIRGv3BGSTtmukn0wP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AdcC4/btsIboqi5nQ/TCwnIRGv3BGSTtmukn0wP1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AdcC4/btsIboqi5nQ/TCwnIRGv3BGSTtmukn0wP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAdcC4%2FbtsIboqi5nQ%2FTCwnIRGv3BGSTtmukn0wP1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;304&quot; height=&quot;930&quot; data-origin-width=&quot;304&quot; data-origin-height=&quot;930&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지리적으로 가까운 지역에 선택해야하기 때문에 저 같은 경우엔 한국에 거주 중이므로 서울을 선택하겠습니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그&amp;nbsp; 이유는 지연시간을 줄이기 위함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 구글에 aws global infrastructure라고 검색하고 아마존 리전 서비스를 들어간다&lt;/p&gt;
&lt;figure id=&quot;og_1719235967081&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;company&quot; data-og-title=&quot;리전별 AWS 서비스 - AWS&quot; data-og-description=&quot;&quot; data-og-host=&quot;aws.amazon.com&quot; data-og-source-url=&quot;https://aws.amazon.com/ko/about-aws/global-infrastructure/regional-product-services/?p=ngi&amp;amp;loc=4&quot; data-og-url=&quot;https://aws.amazon.com/ko/about-aws/global-infrastructure/regional-product-services/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/TE7jZ/hyWrKk4snz/3AizbZ9kHrI7E4lBdQoa50/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/b87JPg/hyWoNRgSbg/tGtGh4s1ru9eSowS9TaRPK/img.png?width=179&amp;amp;height=109&amp;amp;face=0_0_179_109&quot;&gt;&lt;a href=&quot;https://aws.amazon.com/ko/about-aws/global-infrastructure/regional-product-services/?p=ngi&amp;amp;loc=4&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://aws.amazon.com/ko/about-aws/global-infrastructure/regional-product-services/?p=ngi&amp;amp;loc=4&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/TE7jZ/hyWrKk4snz/3AizbZ9kHrI7E4lBdQoa50/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/b87JPg/hyWoNRgSbg/tGtGh4s1ru9eSowS9TaRPK/img.png?width=179&amp;amp;height=109&amp;amp;face=0_0_179_109');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;리전별 AWS 서비스 - AWS&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;aws.amazon.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서비스들이 리전별로 나열되어잇고 어떤 서비스에 대해 공부하고&amp;nbsp; 싶을 때 리전에 없는거 같으면 여기서 찾아볼 수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 서비스가 없다면 전환하기 위해 리전을 사용할 수 있다&lt;/p&gt;</description>
      <category>AWS/AWS SAA-C03 시험 준비</category>
      <author>두비_</author>
      <guid isPermaLink="true">https://minjunkass.tistory.com/119</guid>
      <comments>https://minjunkass.tistory.com/119#entry119comment</comments>
      <pubDate>Mon, 24 Jun 2024 22:41:20 +0900</pubDate>
    </item>
    <item>
      <title>#1 AWS 개요</title>
      <link>https://minjunkass.tistory.com/118</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;AWS로 무엇을 할 수 있을까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS를 통해 복잡하고 확장 가능한 애플리케이션을 만들 수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모두 클라우드를 사용할수 있으며 백업과 스토리지 혹은 빅데이터 분석에서도 사용된다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS는 어떻게&amp;nbsp; 작동할까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS Regions&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS Availability Zones(가용&amp;nbsp; 영역)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS Data Centers(데이터 센터)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS Edge Locationns / Points of Presence(엣지 로케이션,&amp;nbsp; 전송지점)&lt;/p&gt;
&lt;figure id=&quot;og_1719226501378&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;company&quot; data-og-title=&quot;글로벌 인프라 리전 및 가용 영역&quot; data-og-description=&quot;AWS는 컴퓨팅, 스토리지, 데이터베이스, 분석, 네트워킹, 기계 학습 및 AI, 모바일, 개발자 도구, IoT, 보안, 엔터프라이즈 애플리케이션을 비롯하여 광범위한 글로벌 클라우드 기반 제품을 제공하&quot; data-og-host=&quot;aws.amazon.com&quot; data-og-source-url=&quot;https://aws.amazon.com/ko/about-aws/global-infrastructure/regions_az/&quot; data-og-url=&quot;https://aws.amazon.com/ko/about-aws/global-infrastructure/regions_az/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cCJcLp/hyWrKrO4bb/0nGLnpUf4HQqfdG1WqeKY1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/MaEVu/hyWoFr96Vy/e3ALSKsGnHuJf7Dn1PFsOK/img.png?width=179&amp;amp;height=109&amp;amp;face=0_0_179_109&quot;&gt;&lt;a href=&quot;https://aws.amazon.com/ko/about-aws/global-infrastructure/regions_az/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://aws.amazon.com/ko/about-aws/global-infrastructure/regions_az/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cCJcLp/hyWrKrO4bb/0nGLnpUf4HQqfdG1WqeKY1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/MaEVu/hyWoFr96Vy/e3ALSKsGnHuJf7Dn1PFsOK/img.png?width=179&amp;amp;height=109&amp;amp;face=0_0_179_109');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;글로벌 인프라 리전 및 가용 영역&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;AWS는 컴퓨팅, 스토리지, 데이터베이스, 분석, 네트워킹, 기계 학습 및 AI, 모바일, 개발자 도구, IoT, 보안, 엔터프라이즈 애플리케이션을 비롯하여 광범위한 글로벌 클라우드 기반 제품을 제공하&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;aws.amazon.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리전은 데이터 센터의 집합체이며,&amp;nbsp; 리전에는 이름이 부여될 수도&amp;nbsp; 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가령 us-east-1 또는 eu-west-3 같은 것들로..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS 리전 선택에 영향을 미칠 수 있는 몇가지 요인&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 법률 준수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;애플리케이션을 배포할 때 대상 국가 내에 데이터를 보관하길 원하는데 이 경우 해당 국가에 리전에서 출시 해야한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 지연 시간&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 대상 사용자가 미국에 있는 경우, 애플리케이션 역시 사용자와 가까이 있도록 미국에서 출시하는 것이 바람직하다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래야 지연 시간면에서 이득을 챙길 수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;미국 사용자들을 위한 애플리케이션을 호주에서 출시하면 사용자들이 애플리케이션을 사용할 때 심한 렉을 경험하게된다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 리전이 모든 서비스를 가지고 있진 않다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일부 리전에는 서비스가 없을 수 있고 애플리케이션에 특정 서비스를 활용 중이라면 그 애플리케이션을 출시하려는&amp;nbsp; 리전에&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당&amp;nbsp; 서비스가 있는지를 확인해야한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 요금&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리전마다 요금이 달라지는데, 리전 간 요금의&amp;nbsp; 차이를 확인하려면 서비스 요금 페이지를 참고해야 한다&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;가용영역&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가용영역은 리전 내에 존재한다ㅏ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각각의 리전은 많은 가용 영역을 가지고 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보통 3개씩이며 최소 3개, 최대&amp;nbsp; 6개까지 가지고있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예) ap-seoul-1a, ap-seoul-1b, ap-seoul-1c&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각각의 가용영역은 여분의 전원 네트워킹, 통신&amp;nbsp; 기능을 갖춘 하나 또는 두 개의 개별적인 데이터 센터로 이루어져 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ap-seoul-1a 내에 두개의 데이터 센터가 있을 수 있고, 1b에도 2개, 1c에도 두개가 있을 수 있다&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;전송 지점(엣지 로케이션)&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS가 40여 국가의 90+개의 도시에 400개가 넘는 전송 지점을 가지고 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 점으로 인해 최소 지연 시간으로 최종 사용자에게 컨텐츠를 전달하는 데에 아주 유용하다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://aws.amazon.com/ko/about-aws/global-infrastructure/regional-product-services/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://aws.amazon.com/ko/about-aws/global-infrastructure/regional-product-services/&lt;/a&gt;&lt;/p&gt;</description>
      <category>AWS/AWS SAA-C03 시험 준비</category>
      <author>두비_</author>
      <guid isPermaLink="true">https://minjunkass.tistory.com/118</guid>
      <comments>https://minjunkass.tistory.com/118#entry118comment</comments>
      <pubDate>Mon, 24 Jun 2024 22:01:34 +0900</pubDate>
    </item>
    <item>
      <title>Flutter FVM 설치 및 관리</title>
      <link>https://minjunkass.tistory.com/117</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;FVM으로 Flutter 버전 관리를 할 수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://fvm.app/documentation/getting-started/installation&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://fvm.app/documentation/getting-started/installation&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1718917137626&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Installation &amp;ndash; FVM&quot; data-og-description=&quot;&quot; data-og-host=&quot;fvm.app&quot; data-og-source-url=&quot;https://fvm.app/documentation/getting-started/installation&quot; data-og-url=&quot;https://fvm.app/documentation/getting-started/installation&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://fvm.app/documentation/getting-started/installation&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://fvm.app/documentation/getting-started/installation&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Installation &amp;ndash; FVM&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;fvm.app&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 사이트에서 인스톨을 진행한다&lt;/p&gt;
&lt;pre id=&quot;code_1718917192687&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;fvm releases
┌───────────────────┬──────────────┬──────────┐
│ Version           │ Release Date │ Channel  │
├───────────────────┼──────────────┼──────────┤
│ v1.0.0            │ Dec 4, 2018  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ v1.2.1            │ Feb 26, 2019 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ v1.5.4-hotfix.2   │ May 7, 2019  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ v1.7.8+hotfix.2   │ Jul 8, 2019  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ v1.7.8+hotfix.3   │ Jul 9, 2019  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ v1.7.8+hotfix.4   │ Jul 24, 2019 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ v1.9.1+hotfix.2   │ Sep 22, 2019 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ v1.9.1+hotfix.4   │ Oct 1, 2019  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ v1.9.1+hotfix.5   │ Oct 17, 2019 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ v1.9.1+hotfix.6   │ Oct 23, 2019 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ v1.12.13+hotfix.5 │ Dec 11, 2019 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ v1.12.13+hotfix.7 │ Jan 27, 2020 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ v1.12.13+hotfix.8 │ Feb 11, 2020 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ v1.12.13+hotfix.9 │ Apr 17, 2020 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 1.17.0            │ May 6, 2020  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 1.17.1            │ May 13, 2020 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 1.17.2            │ May 28, 2020 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 1.17.3            │ Jun 4, 2020  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 1.17.4            │ Jun 18, 2020 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 1.17.5            │ Jul 1, 2020  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 1.20.0            │ Aug 5, 2020  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 1.20.1            │ Aug 6, 2020  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 1.20.2            │ Aug 13, 2020 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 1.20.3            │ Sep 2, 2020  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 1.20.4            │ Sep 15, 2020 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 1.22.0            │ Oct 1, 2020  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 1.22.1            │ Oct 8, 2020  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 1.22.2            │ Oct 16, 2020 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 1.22.3            │ Oct 30, 2020 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 1.22.4            │ Nov 13, 2020 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 1.22.5            │ Dec 10, 2020 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 1.22.6            │ Jan 25, 2021 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.0.0             │ Mar 3, 2021  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.0.1             │ Mar 4, 2021  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.0.2             │ Mar 12, 2021 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.0.3             │ Mar 19, 2021 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.0.4             │ Apr 2, 2021  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.0.5             │ Apr 16, 2021 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.0.6             │ Apr 30, 2021 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.2.0             │ May 18, 2021 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.2.1             │ May 27, 2021 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.2.2             │ Jun 11, 2021 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.2.3             │ Jul 1, 2021  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.5.0             │ Sep 8, 2021  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.5.1             │ Sep 17, 2021 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.5.2             │ Sep 30, 2021 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.5.3             │ Oct 15, 2021 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.8.0             │ Dec 9, 2021  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.8.1             │ Dec 16, 2021 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.10.0            │ Feb 3, 2022  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.10.1            │ Feb 10, 2022 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.10.2            │ Feb 19, 2022 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.10.3            │ Mar 3, 2022  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.10.4            │ Mar 28, 2022 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 2.10.5            │ Apr 18, 2022 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.0.0             │ May 11, 2022 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.0.1             │ May 20, 2022 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.0.2             │ Jun 10, 2022 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.0.3             │ Jun 22, 2022 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.0.4             │ Jul 1, 2022  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.0.5             │ Jul 13, 2022 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.3.0             │ Aug 30, 2022 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.3.1             │ Sep 7, 2022  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.3.2             │ Sep 14, 2022 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.3.3             │ Sep 28, 2022 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.3.4             │ Oct 5, 2022  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.3.5             │ Oct 19, 2022 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.3.6             │ Oct 26, 2022 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.3.7             │ Nov 2, 2022  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.3.8             │ Nov 9, 2022  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.3.9             │ Nov 23, 2022 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.3.10            │ Dec 15, 2022 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.7.0             │ Jan 24, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.7.1             │ Feb 1, 2023  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.7.2             │ Feb 8, 2023  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.7.3             │ Feb 9, 2023  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.7.4             │ Feb 21, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.7.5             │ Feb 23, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.7.6             │ Mar 1, 2023  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.7.7             │ Mar 8, 2023  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.7.8             │ Mar 22, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.7.9             │ Mar 30, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.7.10            │ Apr 5, 2023  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.7.11            │ Apr 12, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.7.12            │ Apr 20, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.10.0            │ May 10, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.10.1            │ May 17, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.10.2            │ May 24, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.10.3            │ Jun 2, 2023  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.10.4            │ Jun 7, 2023  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.10.5            │ Jun 14, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.10.6            │ Jul 12, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.13.0            │ Aug 16, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.13.1            │ Aug 23, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.13.2            │ Aug 30, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.13.3            │ Sep 8, 2023  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.13.3            │ Sep 13, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.13.3            │ Sep 13, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.13.4            │ Sep 13, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.13.5            │ Sep 20, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.13.6            │ Sep 27, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.13.7            │ Oct 11, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.13.8            │ Oct 18, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.13.9            │ Oct 25, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.16.0            │ Nov 15, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.16.1            │ Nov 27, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.16.2            │ Nov 30, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.16.3            │ Dec 6, 2023  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.16.4            │ Dec 13, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.16.5            │ Dec 20, 2023 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.16.6            │ Jan 10, 2024 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.16.7            │ Jan 11, 2024 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.16.8            │ Jan 17, 2024 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.16.9            │ Jan 25, 2024 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.19.0            │ Feb 15, 2024 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.19.1            │ Feb 21, 2024 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.19.2            │ Feb 28, 2024 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.19.3            │ Mar 8, 2024  │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.19.4            │ Mar 21, 2024 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.19.5            │ Mar 28, 2024 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.19.6            │ Apr 17, 2024 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.22.0            │ May 13, 2024 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.22.1            │ May 22, 2024 │ stable   │
├───────────────────┼──────────────┼──────────┤
│ 3.22.2            │ Jun 6, 2024  │ stable ✓ │
└───────────────────┴──────────────┴──────────┘

Channel:
┌─────────┬─────────┬──────────────┐
│ Channel │ Version │ Release Date │
├─────────┼─────────┼──────────────┤
│ stable  │ 3.22.2  │ Jun 6, 2024  │
└─────────┴─────────┴──────────────┘&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$fvm releases로 버전 확인이 가능하다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원하는 버전을 설치하고 싶을 땐 인스톨 명령어와 버전을 입력한다&lt;/p&gt;
&lt;pre id=&quot;code_1718917315800&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$fvm install 3.22.2
Creating local mirror...
 Counting objects:    [██████████████████████████████████████████████████] 100%
 Compressing objects: [██████████████████████████████████████████████████] 100%
 Receiving objects:   [██████████████████████████████████████████████████] 100%
 Resolving deltas:    [██████████████████████████████████████████████████] 100%
✓ Clone complete
✓ Flutter SDK: SDK Version : 3.22.2 installed! (4.0s)

 dubi@DUBIui-MacBookPro  ~  fvm list
Cache directory:  /Users/dubi/fvm/versions
Directory Size: 76.74 MB

┌─────────┬─────────┬─────────────────┬──────────────┬──────────────┬────────┬───────┐
│ Version │ Channel │ Flutter Version │ Dart Version │ Release Date │ Global │ Local │
├─────────┼─────────┼─────────────────┼──────────────┼──────────────┼────────┼───────┤
│ 3.22.2  │         │ Need setup      │              │              │        │       │
└─────────┴─────────┴─────────────────┴──────────────┴──────────────┴────────┴───────┘&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내가 진행할 프로젝트에 버전을 적용 시키고 싶을 때 먼저 프로젝트 폴더까지 경로를 입력하여 들어간다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따로 경로를 변경하지 않았다면 디폴트 경로로 들어간다&lt;/p&gt;
&lt;pre id=&quot;code_1718917408910&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cd StudioProjects/test_flutter&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;버전설치&lt;/p&gt;
&lt;pre id=&quot;code_1718917462058&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$fvm use 3.22.2
Setting up Flutter SDK: 3.22.2

Flutter 3.22.2 &amp;bull; channel stable &amp;bull; https://github.com/flutter/flutter.git
Framework &amp;bull; revision 761747bfc5 (2 weeks ago) &amp;bull; 2024-06-05 22:15:13 +0200
Engine &amp;bull; revision edd8546116
Tools &amp;bull; Dart 3.4.3 &amp;bull; DevTools 2.34.3

✓ Flutter SDK: SDK Version : 3.22.2 is setup
You should add the fvm version directory &quot;.fvm/&quot; to .gitignore.
✔ Would you like to do that now? &amp;middot; yes                                          
✓ Added .fvm/ to .gitignore

✓ Dependencies resolved. (11.4s)
✓ Project now uses Flutter SDK : SDK Version : 3.22.2&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른 파일에서도 사용하고 싶다면 글로벌 명령어를 사용한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 추가적으로 IDE에서 경로 작업을 해주어야 정상 작동한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 안드로이드 스튜디오로 진행했습니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. Android Studio -&amp;gt; Settings&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;207&quot; data-origin-height=&quot;130&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLthJ0/btsH6CplenG/6eZyBcb1FE9ADhwyUi8gL1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLthJ0/btsH6CplenG/6eZyBcb1FE9ADhwyUi8gL1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLthJ0/btsH6CplenG/6eZyBcb1FE9ADhwyUi8gL1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLthJ0%2FbtsH6CplenG%2F6eZyBcb1FE9ADhwyUi8gL1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;207&quot; height=&quot;130&quot; data-origin-width=&quot;207&quot; data-origin-height=&quot;130&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. Languages &amp;amp; Frameworks -&amp;gt; Flutter -&amp;gt; Flutter SDK path 우측 끝 ... 클릭&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-06-21 오전 6.11.55.png&quot; data-origin-width=&quot;981&quot; data-origin-height=&quot;348&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bG0Btj/btsH6zMU9zv/izICcksUlpKUo1bRHj4DGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bG0Btj/btsH6zMU9zv/izICcksUlpKUo1bRHj4DGK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bG0Btj/btsH6zMU9zv/izICcksUlpKUo1bRHj4DGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbG0Btj%2FbtsH6zMU9zv%2FizICcksUlpKUo1bRHj4DGK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;981&quot; height=&quot;348&quot; data-filename=&quot;스크린샷 2024-06-21 오전 6.11.55.png&quot; data-origin-width=&quot;981&quot; data-origin-height=&quot;348&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 디폴트 경로인 StudioProjects에서 진행할 프로젝트 찾고 내부 파일로 들어간다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 이 상태이지만 숨김파일 보기 단축키로 .fvm을 찾는다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;MAC 은 &lt;b&gt;Shift + Command +.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-06-21 오전 6.13.23.png&quot; data-origin-width=&quot;251&quot; data-origin-height=&quot;239&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Epo4X/btsH7ZDBQ4j/vYBd1ZubvVZsKsfmaApuG1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Epo4X/btsH7ZDBQ4j/vYBd1ZubvVZsKsfmaApuG1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Epo4X/btsH7ZDBQ4j/vYBd1ZubvVZsKsfmaApuG1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEpo4X%2FbtsH7ZDBQ4j%2FvYBd1ZubvVZsKsfmaApuG1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;251&quot; height=&quot;239&quot; data-filename=&quot;스크린샷 2024-06-21 오전 6.13.23.png&quot; data-origin-width=&quot;251&quot; data-origin-height=&quot;239&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;숨김 보기 명령어를 통해 .fvm을 찾고 flutter_sdk 폴더를 지정한 상태로 경로를 선택한다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-06-21 오전 6.14.44.png&quot; data-origin-width=&quot;491&quot; data-origin-height=&quot;131&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNaeuK/btsH6dJ2HpW/sDCsf3mTtrPR3uyUuv8x9k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNaeuK/btsH6dJ2HpW/sDCsf3mTtrPR3uyUuv8x9k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNaeuK/btsH6dJ2HpW/sDCsf3mTtrPR3uyUuv8x9k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNaeuK%2FbtsH6dJ2HpW%2FsDCsf3mTtrPR3uyUuv8x9k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;491&quot; height=&quot;131&quot; data-filename=&quot;스크린샷 2024-06-21 오전 6.14.44.png&quot; data-origin-width=&quot;491&quot; data-origin-height=&quot;131&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;경로 지정하면 아래 이미지처럼 아까 설치한 버전이 적용된다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-06-21 오전 6.15.43.png&quot; data-origin-width=&quot;701&quot; data-origin-height=&quot;94&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bf5qDm/btsH53nrVQ4/cRXnol0Cthdw80qBxqqty0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bf5qDm/btsH53nrVQ4/cRXnol0Cthdw80qBxqqty0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bf5qDm/btsH53nrVQ4/cRXnol0Cthdw80qBxqqty0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbf5qDm%2FbtsH53nrVQ4%2FcRXnol0Cthdw80qBxqqty0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;701&quot; height=&quot;94&quot; data-filename=&quot;스크린샷 2024-06-21 오전 6.15.43.png&quot; data-origin-width=&quot;701&quot; data-origin-height=&quot;94&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;버전 변경방법&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로젝트를 진행할 때 서로 버전을 맞추거나 맞춰야하는 경우가 있다 그럴 때 기존의 방법대로 진행하면 된다&lt;/p&gt;
&lt;pre id=&quot;code_1718918432854&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;fvm install 3.10.5
✓ Flutter SDK: SDK Version : 3.10.5 installed! (5.4s)&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1718918450350&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;┌─────────┬─────────┬─────────────────┬──────────────┬──────────────┬────────┬───────┐
│ Version │ Channel │ Flutter Version │ Dart Version │ Release Date │ Global │ Local │
├─────────┼─────────┼─────────────────┼──────────────┼──────────────┼────────┼───────┤
│ 3.22.2  │ stable  │ 3.22.2          │ 3.4.3        │ Jun 6, 2024  │ ●      │ ●     │
├─────────┼─────────┼─────────────────┼──────────────┼──────────────┼────────┼───────┤
│ 3.10.5  │         │ Need setup      │              │              │        │       │
└─────────┴─────────┴─────────────────┴──────────────┴──────────────┴────────┴───────┘&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1718918480648&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$fvm use 3.10.5
Setting up Flutter SDK: 3.10.5

Downloading Darwin x64 Dart SDK from Flutter engine 45f6e009110df4f34ec2cf99f63cf73b71b7a420...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  203M  100  203M    0     0  24.0M      0  0:00:08  0:00:08 --:--:-- 30.1M
Building flutter tool...
Resolving dependencies... (1.7s)
Got dependencies.
Flutter 3.10.5 &amp;bull; channel stable &amp;bull; https://github.com/flutter/flutter.git
Framework &amp;bull; revision 796c8ef792 (1 year ago) &amp;bull; 2023-06-13 15:51:02 -0700
Engine &amp;bull; revision 45f6e00911
Tools &amp;bull; Dart 3.0.5 &amp;bull; DevTools 2.23.1

✓ Flutter SDK: SDK Version : 3.10.5 is setup
┌─────────────────────────────────────────────────┐
│ ⚠ Flutter SDK does not meet project constraints │
└─────────────────────────────────────────────────┘
SDK Version : 3.10.5 has Dart SDK 3.0.5 does not meet the project constraints of &amp;gt;=3.2.3 &amp;lt;4.0.0.
This could cause unexpected behavior or issues.

✔ Would you like to proceed? &amp;middot; yes                                                                                                                                                                                                                                              
⠹ Resolving dependencies...... (0.2s)
✗ Could not resolve dependencies. (8.5s)

The current Dart SDK version is 3.0.5.

Because test_flutter requires SDK version &amp;gt;=3.2.3 &amp;lt;4.0.0, version solving failed.

The error could indicate incompatible dependencies to the SDK.
✔ Would you like to continue pinning this version anyway? &amp;middot; yes                                                                                                                                                                                                                 
✓ Project now uses Flutter SDK : SDK Version : 3.10.5&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1718918523317&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;┌─────────┬─────────┬─────────────────┬──────────────┬──────────────┬────────┬───────┐
│ Version │ Channel │ Flutter Version │ Dart Version │ Release Date │ Global │ Local │
├─────────┼─────────┼─────────────────┼──────────────┼──────────────┼────────┼───────┤
│ 3.22.2  │ stable  │ 3.22.2          │ 3.4.3        │ Jun 6, 2024  │ ●      │       │
├─────────┼─────────┼─────────────────┼──────────────┼──────────────┼────────┼───────┤
│ 3.10.5  │ stable  │ 3.10.5          │ 3.0.5        │ Jun 14, 2023 │        │ ●     │
└─────────┴─────────┴─────────────────┴──────────────┴──────────────┴────────┴───────┘&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;버전이 로컬에만 추가된걸 확인할 수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존에 했던대로 SDK 경로를 잡아주면 추가한 3.10.5로 변경된 것을 확인할 수 있다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-06-21 오전 6.22.20.png&quot; data-origin-width=&quot;708&quot; data-origin-height=&quot;92&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYhKkB/btsH7l8dGDh/BK94V2sOTvoOv6WxVjYZM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYhKkB/btsH7l8dGDh/BK94V2sOTvoOv6WxVjYZM0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYhKkB/btsH7l8dGDh/BK94V2sOTvoOv6WxVjYZM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYhKkB%2FbtsH7l8dGDh%2FBK94V2sOTvoOv6WxVjYZM0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;708&quot; height=&quot;92&quot; data-filename=&quot;스크린샷 2024-06-21 오전 6.22.20.png&quot; data-origin-width=&quot;708&quot; data-origin-height=&quot;92&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Flutter</category>
      <author>두비_</author>
      <guid isPermaLink="true">https://minjunkass.tistory.com/117</guid>
      <comments>https://minjunkass.tistory.com/117#entry117comment</comments>
      <pubDate>Fri, 21 Jun 2024 06:24:11 +0900</pubDate>
    </item>
    <item>
      <title>Dart 클래스 - 생성자#2</title>
      <link>https://minjunkass.tistory.com/116</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;클래스 첫 음절은 대문자로 시작해야한다 개발자들간의 암묵적인 약속이라고 생각하면 된다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클래스를 생성할 때 기존에 아래 처럼 void main 안에서 코드를 생성하는게 아닌 밖에서 만들게 된다&lt;/p&gt;
&lt;pre id=&quot;code_1718662153450&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;void main() {
  
  
  
}

  //클래스
  class Point {
    
  }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 아래 코드를 생성했는데 에러가 발생했다&lt;/p&gt;
&lt;pre id=&quot;code_1718662239033&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;  class Point {
    double x;
    double y;
  }&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-06-18 오전 7.10.45.png&quot; data-origin-width=&quot;507&quot; data-origin-height=&quot;90&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJMd8O/btsH3OIPDYm/QhV12oMG9DoyutZUEk9aEK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJMd8O/btsH3OIPDYm/QhV12oMG9DoyutZUEk9aEK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJMd8O/btsH3OIPDYm/QhV12oMG9DoyutZUEk9aEK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJMd8O%2FbtsH3OIPDYm%2FQhV12oMG9DoyutZUEk9aEK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;507&quot; height=&quot;90&quot; data-filename=&quot;스크린샷 2024-06-18 오전 7.10.45.png&quot; data-origin-width=&quot;507&quot; data-origin-height=&quot;90&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;x와 y에 값이 들어가 있지 않기 때문에 에러가 발생했으므로 Null 연산자를 선언하여 x와 y값을 사용할 수 있게한다&lt;/p&gt;
&lt;pre id=&quot;code_1718662313616&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;  class Point {
    double? x;
    double? y;
  }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;포인트라는 객체를 만들 땐 class를 사용할껀데 변수를 선언할 때 앞에 타입이 오게 된다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클래스로 만들어진 객체를 만들 때 해당 객체는 클래스의 이름을 따라간다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러므로 void 안에 Point를 넣는다&lt;/p&gt;
&lt;pre id=&quot;code_1718662457614&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;void main() {
  Point point =
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클래스에서 오브젝트를 생성할 땐 이런식으로 사용한다&lt;/p&gt;
&lt;pre id=&quot;code_1718662507564&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;void main() {
  Point point = Point();
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아무값을 입력하지 않은상태에서 생성된 기본 생성자가 이런 형태이다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-06-18 오전 7.16.21.png&quot; data-origin-width=&quot;716&quot; data-origin-height=&quot;94&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDI0DR/btsH1OwVYdV/4bDZtMVxUA2H4vwmJnBf20/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDI0DR/btsH1OwVYdV/4bDZtMVxUA2H4vwmJnBf20/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDI0DR/btsH1OwVYdV/4bDZtMVxUA2H4vwmJnBf20/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDI0DR%2FbtsH1OwVYdV%2F4bDZtMVxUA2H4vwmJnBf20%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;716&quot; height=&quot;94&quot; data-filename=&quot;스크린샷 2024-06-18 오전 7.16.21.png&quot; data-origin-width=&quot;716&quot; data-origin-height=&quot;94&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;print로 확인결과 인스턴스로 잘 생성되었다는 문구가 확인되었다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;명명 생성자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발자가 임의적으로 생성자를 안에 만들어준다&lt;/p&gt;
&lt;pre id=&quot;code_1718662756446&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt; class Point {
    double? x;
    double? y;
    
    Point();
  }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Point();가 기초 생성자 그 자체가 되기 때문에 같은 값으로 나온다&lt;/p&gt;
&lt;pre id=&quot;code_1718662859597&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt; class Point {
    double x;
    double y;
    
    Point(this.x, this.y);
  }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;this로 x와 y에 값을 받는다고 선언했다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;선언했기 때문에 double에 ?인 Null 선언을 지워도된다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 이번에 Point();에 에러가 발생했다&lt;/p&gt;
&lt;pre id=&quot;code_1718662928780&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;compileDDC
main.dart:2:22: Error: Too few positional arguments: 2 required, 0 given.
  Point point = Point();&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 뜻은 x와 y 값은 받기로 했으나 값을 적지 않았기 때문에 발생한 오류이다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1, 2를 넣어줌으로써 x와 y에 값을 넣어주게 된다&lt;/p&gt;
&lt;pre id=&quot;code_1718662984592&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;void main() {
  Point point = Point(1,2);
  print(point);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;this로 인해 넣은 값을 print로 보기위해선 . 을 이용한다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;245&quot; data-origin-height=&quot;116&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cHL2sb/btsH3OIPGq1/a0M1I5vJ6KoHH871fp4CbK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cHL2sb/btsH3OIPGq1/a0M1I5vJ6KoHH871fp4CbK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cHL2sb/btsH3OIPGq1/a0M1I5vJ6KoHH871fp4CbK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcHL2sb%2FbtsH3OIPGq1%2Fa0M1I5vJ6KoHH871fp4CbK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;245&quot; height=&quot;116&quot; data-origin-width=&quot;245&quot; data-origin-height=&quot;116&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 클래스들 안에 있는 객체에 접근가능하다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;691&quot; data-origin-height=&quot;119&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bteXoO/btsH1kpnc8u/7zpmlE8uE5tUD9N0sOVnQk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bteXoO/btsH1kpnc8u/7zpmlE8uE5tUD9N0sOVnQk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bteXoO/btsH1kpnc8u/7zpmlE8uE5tUD9N0sOVnQk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbteXoO%2FbtsH1kpnc8u%2F7zpmlE8uE5tUD9N0sOVnQk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;691&quot; height=&quot;119&quot; data-origin-width=&quot;691&quot; data-origin-height=&quot;119&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Flutter/Dart</category>
      <author>두비_</author>
      <guid isPermaLink="true">https://minjunkass.tistory.com/116</guid>
      <comments>https://minjunkass.tistory.com/116#entry116comment</comments>
      <pubDate>Tue, 18 Jun 2024 07:27:30 +0900</pubDate>
    </item>
    <item>
      <title>Dart 클래스 - 생성자#1</title>
      <link>https://minjunkass.tistory.com/115</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;클래스(Class)란, 일종의 객체를 만들기위한 템플릿이며 클래스를 활용하여 일종의 데이터와 코드를 그룹화하여 관련된 코드를 같이 유지하고, 객체를 쉽게 만들어 객체지향 프로그래밍을 효과적으로 활용할 수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클래스의 구성요소&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필드: 클래스 내부에 선언된 데이터 (변수 / 상수 등)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;메소드: 클래스 내부에 선언 된 기능 (함수)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생성자: 클래스 인스턴스를 생성할 때 사용되는 코드, 생성 시 특정 작업을 지시하는 등의 활용이 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생성자(Constructor)란, 클래스의 인스턴스를 생성하는 데 사용되는 코드이다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생성자를 통해 매개변수를 전달하거나, 클래스 내 필드의 초기값을 설정하는 등의 작업을 할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Default constructors : 기본 생성자로, 생성자를 선언하지 않을 경우 제공되는 생성자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Named constructors: 개발자가 필요에 의해 생성한 생성자로, 클래스에 대한 여러 생성자를 구현하거나, 추가적인 클래스의 명확성을 제공&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Redirecting constructors: 목적이 동일한 생성자로 전달하기 위한 생성자로, 생성자의 본문은 비어 있지만, 전달 된 생성자에 대한 초기값 등을 구현할 때 활용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Const constructors: 상수 생성자로, 클래스가 불변의 객체를 생성하는 경우 활용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Factory constructors: 매번 새로운 인스턴스를 만들지 않는 생성자를 활용할 때 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미 존재한 인스턴스를 반환하거나, 단순한 초기값을 부여가 아닌 연산이 필요한 객체 생성 시 활용&lt;/p&gt;</description>
      <category>Flutter/Dart</category>
      <author>두비_</author>
      <guid isPermaLink="true">https://minjunkass.tistory.com/115</guid>
      <comments>https://minjunkass.tistory.com/115#entry115comment</comments>
      <pubDate>Tue, 18 Jun 2024 07:05:46 +0900</pubDate>
    </item>
    <item>
      <title>Dart 연산자#2</title>
      <link>https://minjunkass.tistory.com/114</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;여러 연산자에 대해 알아보자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;산술 연사자, 비교 연산자, 논리 연산자, 삼향 연산자, 할당 연산자, Null 처리 연산자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 산술 연산자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사칙&amp;nbsp;연산(+,&amp;nbsp;-,&amp;nbsp;*,&amp;nbsp;/)&lt;/p&gt;
&lt;pre id=&quot;code_1718623620080&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;  int num1 = 10;
  int num2 = 20;
  
  print(num1 + num2);
  print(num1 - num2);
  print(num1 * num2);
  print(num1 / num2);
  
  30
 -10
 200
 0.5&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나눗셈의 경우 필연적으로 정수와 정수의 연산 이후에 실수인 소수점이 나오는게 대다수이기 때문에&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;int값이 아닌 double값으로 계산된다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 아래와 같이 나눗셈을 진행한 상황인데 에러가 발생했다&lt;/p&gt;
&lt;pre id=&quot;code_1718624055526&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt; int num3;
  num3 = num1 / num2;
  print(num3);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;599&quot; data-origin-height=&quot;57&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d4iueU/btsH3knJzIl/kugMbJRrG3iKx6j9UV0c11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d4iueU/btsH3knJzIl/kugMbJRrG3iKx6j9UV0c11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d4iueU/btsH3knJzIl/kugMbJRrG3iKx6j9UV0c11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd4iueU%2FbtsH3knJzIl%2FkugMbJRrG3iKx6j9UV0c11%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;599&quot; height=&quot;57&quot; data-origin-width=&quot;599&quot; data-origin-height=&quot;57&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;int값에 해당 값을 할당하려하니 에러가 발생했다는 문구이다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 int가 아닌 double, var, dynamic 중에 바꿔주면된다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사칙 연산은 숫자만 아닌 문자열에도 대입할 수 있다&lt;/p&gt;
&lt;pre id=&quot;code_1718624353067&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;  String str1 = 'hello';
  
  String str2 = str1 + 'world';
  print(str2);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 비교 연산자&lt;/p&gt;
&lt;pre id=&quot;code_1718624616674&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;  int num1 = 10;
  int num2 = 20;
  
  print(num1 == num2);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;값은 flase로 발생한다&lt;/p&gt;
&lt;pre id=&quot;code_1718624657157&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;  int num1 = 10;
  int num2 = 20;
  
  print(num1 != num2);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반대로 != 를 입력하면 값이 다를 경우 true가 나오고 맞을 경우 flase가 발생한다&lt;/p&gt;
&lt;pre id=&quot;code_1718624756105&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;print(num1 &amp;gt; num2);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;부등호도 가능하다&lt;/p&gt;
&lt;pre id=&quot;code_1718624800969&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;print(num1 &amp;gt;= num2);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;크거나 같은지도 비교할 수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 논리 연산자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참, 거짓 논리를 판단할 때 사용한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;논리 연산자의 경우 (&amp;amp;&amp;amp;(and), ||(or))를 사용한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;and는 둘다 모두 참일 때&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;or은 둘중 하나라도 참일 때&lt;/p&gt;
&lt;pre id=&quot;code_1718625047095&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;  print(bool1 &amp;amp;&amp;amp; bool2);
  print(bool1 || bool2);
  
false
true&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참과 거짓을 스위칭하는 연산자가 있다 !를 사용하고&lt;/p&gt;
&lt;pre id=&quot;code_1718625328666&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;  bool bool1 = true;
  
  print(!bool1);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 삼향 연산자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;삼향 연사자에는 논리 연산자가 섞여 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;논리 연산 ? 참일 경우 : 거짓일 경우 를 연산한다&lt;/p&gt;
&lt;pre id=&quot;code_1718627605545&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;  String answer = 10 &amp;lt; 20 ? '10이 20보다 작다' : '10이 20보다 크다';
  print (answer);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 할당 연산자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특정한 값을 추가하고 싶을 때 사용한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;=, +=, -=&lt;/p&gt;
&lt;pre id=&quot;code_1718627894018&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;  int num1 = 10;
  num1 += 20;
  num1 = num1 + 20;
  
  print(num1);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. Null 처리 연산자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물음표를 붙여 사용한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Null 처리 연산자들은 코드의 안정성과 가독성을 높이는데 매우 유용하다&lt;/p&gt;
&lt;pre id=&quot;code_1718628002496&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;  int? num1;
  
  print(num1);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Flutter/Dart</category>
      <author>두비_</author>
      <guid isPermaLink="true">https://minjunkass.tistory.com/114</guid>
      <comments>https://minjunkass.tistory.com/114#entry114comment</comments>
      <pubDate>Mon, 17 Jun 2024 21:43:05 +0900</pubDate>
    </item>
    <item>
      <title>Dart 연산자#1</title>
      <link>https://minjunkass.tistory.com/113</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Dart애서 Null Safety 타입과 연산자가 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Dart 2.12버전부터&amp;nbsp; Null값에 대한 안정성을 위해&amp;nbsp; Null Safety라는 개념이 도입되었다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Nullable Type&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Null을 허용해야하는 타입일때 ? 를 붙인다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;int?, double?, bool?, String?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Non-nullable Type&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Null을 절때 허용하지 않는 타입이다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;int!, double!, bool!,String!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Flutter/Dart</category>
      <author>두비_</author>
      <guid isPermaLink="true">https://minjunkass.tistory.com/113</guid>
      <comments>https://minjunkass.tistory.com/113#entry113comment</comments>
      <pubDate>Fri, 14 Jun 2024 01:09:10 +0900</pubDate>
    </item>
    <item>
      <title>Dart 변수와 타입#2</title>
      <link>https://minjunkass.tistory.com/112</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;늘 그랬듯이 개발을 처음 공부할 때 가장 먼저 하게 되는 Hello World를 입력해보자&lt;/p&gt;
&lt;pre id=&quot;code_1718291014681&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;void main() {
  print('Hello World');
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변수 선언 및 할당을 해보자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;bool: 참 / 거짓형&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;int : 정수형&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;double : 실수형&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;String: 문자열형&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;null: Null 형&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 키워드를 앞에 입력하고 변수를 선언하면된다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;bool 같은 경우 참 혹은 거짓에 대한 값만 받을 수 있기 때문에 true라고 작성햇다&lt;/p&gt;
&lt;pre id=&quot;code_1718291225978&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;void main() {
  bool isTrue = true;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 하면 isTrue값에 true값이 들어가게된다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것을 변수를 선언하고 할당했다고 한다&lt;/p&gt;
&lt;pre id=&quot;code_1718291508193&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;void main() {
  int num = 100;
  
  double num2 = 3.14;
  
  String string = 'Hello World';
  
  Null thisIsNull = null;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막에 &amp;nbsp;print(thisIsNull); 까지 입력하면 선언한 변수명을 print 함수로 확인할 수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가변형&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;var 개념에 대해 알아보자&lt;/p&gt;
&lt;pre id=&quot;code_1718291762192&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;void main() {
  var value = 1;
  value = 2;
  
  print(value);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;var에서 value 변수를 1로 먼저 선언했다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러므로 다음에 추가 지정할때 2도 같은 int로 와야한다&lt;/p&gt;
&lt;pre id=&quot;code_1718291996043&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;void main() {
  dynamic dynamicValue = 100;
  dynamicValue = 'Hello';
  
  print(dynamicValue);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;값은 Hello로 나온다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;dynamic은 같은&amp;nbsp; 가변형이지만 코드를 구현할 때 차이가난다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Flutter/Dart</category>
      <author>두비_</author>
      <guid isPermaLink="true">https://minjunkass.tistory.com/112</guid>
      <comments>https://minjunkass.tistory.com/112#entry112comment</comments>
      <pubDate>Fri, 14 Jun 2024 01:05:35 +0900</pubDate>
    </item>
  </channel>
</rss>