<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>고마구의 개발 블로그</title>
    <link>https://rhakrn.tistory.com/</link>
    <description>계속 성장하는 개발자입니다.</description>
    <language>ko</language>
    <pubDate>Tue, 19 May 2026 17:53:03 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>고마구</managingEditor>
    <item>
      <title>241029 수료후 1주차 화요일</title>
      <link>https://rhakrn.tistory.com/152</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;이력서 하루 10개씩 집어넣고 있지만 연락이 오지를 않는다.&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;월욜 자바, 화욜 DB 이런식으로 번갈아가면서 공부중..&lt;/p&gt;</description>
      <category>KDT풀스택과정 공부</category>
      <author>고마구</author>
      <guid isPermaLink="true">https://rhakrn.tistory.com/152</guid>
      <comments>https://rhakrn.tistory.com/152#entry152comment</comments>
      <pubDate>Tue, 29 Oct 2024 15:50:01 +0900</pubDate>
    </item>
    <item>
      <title>241024 27주차 목요일 - 수료</title>
      <link>https://rhakrn.tistory.com/151</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;자바,db공부 위주로 진행할것&lt;/p&gt;</description>
      <category>KDT풀스택과정 공부</category>
      <author>고마구</author>
      <guid isPermaLink="true">https://rhakrn.tistory.com/151</guid>
      <comments>https://rhakrn.tistory.com/151#entry151comment</comments>
      <pubDate>Thu, 24 Oct 2024 23:50:44 +0900</pubDate>
    </item>
    <item>
      <title>241023 27주차 수요일</title>
      <link>https://rhakrn.tistory.com/150</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;*ORM (Object-Relational Mapping)**은 객체 지향 프로그래밍 언어에서 객체와 관계형 데이터베이스 간의 데이터를 매핑하여, 객체를 데이터베이스 테이블과 자동으로 연결해주는 기술입니다. ORM을 사용하면 SQL 쿼리를 직접 작성하지 않고도 객체 형태로 데이터베이스 작업을 할 수 있습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;ORM의 개념&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;객체 지향 프로그래밍&lt;/b&gt;에서는 데이터를 객체로 다룹니다. 반면, &lt;b&gt;관계형 데이터베이스&lt;/b&gt;에서는 데이터를 테이블로 관리합니다.&lt;/li&gt;
&lt;li&gt;ORM은 객체와 데이터베이스 테이블 간의 불일치를 해결해주는 역할을 합니다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;객체의 속성은 데이터베이스의 열(Column)에 매핑되고, 객체의 인스턴스는 데이터베이스의 행(Row)에 매핑됩니다.&lt;/li&gt;
&lt;li&gt;이를 통해 개발자는 SQL을 직접 작성하지 않고도 데이터베이스 작업을 쉽게 처리할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Sequelize란?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Sequelize&lt;/b&gt;는 Node.js 환경에서 사용되는 대표적인 ORM 라이브러리로, 여러 데이터베이스(MySQL, PostgreSQL, SQLite, MSSQL 등)를 지원합니다. Sequelize는 JavaScript 객체를 데이터베이스 테이블과 매핑해주며, 데이터베이스 쿼리를 쉽게 작성할 수 있도록 도와줍니다.&lt;/p&gt;</description>
      <category>KDT풀스택과정 공부</category>
      <author>고마구</author>
      <guid isPermaLink="true">https://rhakrn.tistory.com/150</guid>
      <comments>https://rhakrn.tistory.com/150#entry150comment</comments>
      <pubDate>Wed, 23 Oct 2024 23:45:36 +0900</pubDate>
    </item>
    <item>
      <title>241022 화요일 면접대비</title>
      <link>https://rhakrn.tistory.com/149</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;DB 테이블에서 인덱스를 사용하는 이유는 &lt;b&gt;데이터 검색 성능을 향상&lt;/b&gt;시키기 위함입니다. 인덱스는 테이블의 특정 열(혹은 열들의 조합)에 대해 &lt;b&gt;정렬된 데이터를 저장&lt;/b&gt;하여, 검색이나 조회 시 테이블 전체를 탐색하는 것이 아니라 인덱스를 통해 더 빠르게 원하는 데이터를 찾아낼 수 있게 합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;인덱스를 사용하는 주요 이유&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;데이터 조회 속도 향상&lt;/b&gt;: SELECT 쿼리의 성능을 크게 향상시킵니다. 인덱스가 없으면 테이블의 모든 행을 탐색하는 &lt;b&gt;Full Table Scan&lt;/b&gt;이 발생하지만, 인덱스를 사용하면 필요한 데이터만 빠르게 찾아낼 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;정렬 성능 향상&lt;/b&gt;: ORDER BY 절이 있는 쿼리에서 인덱스를 사용하면 추가적인 정렬 작업이 줄어들어 성능이 개선됩니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;중복 방지&lt;/b&gt;: 유니크 인덱스를 사용하면 특정 열에 중복된 값이 들어가지 않도록 제약을 둘 수 있습니다.&lt;/li&gt;
&lt;li&gt;자동으로 생성되는 인덱스
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;PRIMARY KEY&lt;/b&gt;: 기본 키로 지정된 열에는 자동으로 인덱스가 생성됩니다. id 컬럼이 기본 키로 설정되어 있으므로, 이 컬럼을 기준으로 한 검색은 이미 인덱스가 적용된 상태입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;요약&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;인덱스를 생성하여 데이터 조회 성능을 향상시킬 수 있습니다.&lt;/li&gt;
&lt;li&gt;자주 사용되는 열에 인덱스를 설정하거나, 중복을 방지하기 위해 유니크 인덱스를 사용할 수 있습니다.&lt;/li&gt;
&lt;li&gt;복합 인덱스를 통해 여러 열에 대해 최적화된 검색을 할 수 있으며, 필요 없거나 성능에 영향을 미치는 인덱스는 삭제할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>KDT풀스택과정 공부</category>
      <author>고마구</author>
      <guid isPermaLink="true">https://rhakrn.tistory.com/149</guid>
      <comments>https://rhakrn.tistory.com/149#entry149comment</comments>
      <pubDate>Tue, 22 Oct 2024 20:15:16 +0900</pubDate>
    </item>
    <item>
      <title>241021 월요일 -깃꾸미기, 면접대비</title>
      <link>https://rhakrn.tistory.com/148</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://rahuldkjain.github.io/gh-profile-readme-generator/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://rahuldkjain.github.io/gh-profile-readme-generator/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1729496982138&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;GitHub Profile Readme Generator&quot; data-og-description=&quot;Prettify your github profile using this amazing readme generator.&quot; data-og-host=&quot;rahuldkjain.github.io&quot; data-og-source-url=&quot;https://rahuldkjain.github.io/gh-profile-readme-generator/&quot; data-og-url=&quot;https://rahuldkjain.github.io/gh-profile-readme-generator/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/fxDsI/hyXlKdNo76/t5XnQ8om5jP1Nkv7f3FC61/img.png?width=512&amp;amp;height=512&amp;amp;face=0_0_512_512&quot;&gt;&lt;a href=&quot;https://rahuldkjain.github.io/gh-profile-readme-generator/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://rahuldkjain.github.io/gh-profile-readme-generator/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/fxDsI/hyXlKdNo76/t5XnQ8om5jP1Nkv7f3FC61/img.png?width=512&amp;amp;height=512&amp;amp;face=0_0_512_512');&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;GitHub Profile Readme Generator&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Prettify your github profile using this amazing readme generator.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;rahuldkjain.github.io&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;h3 data-ke-size=&quot;size23&quot;&gt;1. &lt;b&gt;JVM, JRE, JDK의 차이점&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;JVM&lt;/b&gt;(Java Virtual Machine): 자바 바이트코드를 실행하는 가상 머신입니다. 플랫폼 독립적인 특성을 제공하며, 프로그램이 운영체제와 하드웨어와 상관없이 실행될 수 있도록 해줍니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;JRE&lt;/b&gt;(Java Runtime Environment): JVM과 함께 자바 프로그램을 실행하는 데 필요한 라이브러리와 기타 구성 요소들을 포함한 실행 환경입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;JDK&lt;/b&gt;(Java Development Kit): JRE와 함께 자바 애플리케이션을 개발하는 데 필요한 개발 도구(컴파일러, 디버거 등)를 포함합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;면접에서 답변 예시&lt;/b&gt;:&lt;br /&gt;&quot;JVM은 자바 바이트코드를 실행하는 역할을 하고, JRE는 JVM과 필요한 라이브러리들을 포함해 자바 프로그램을 실행할 수 있는 환경을 제공합니다. JDK는 개발자가 자바 애플리케이션을 개발할 수 있도록 JRE와 함께 컴파일러, 디버거 등의 개발 도구를 포함하고 있습니다.&quot;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. &lt;b&gt;Java의 메모리 관리&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;힙 영역(Heap)&lt;/b&gt;: 객체와 인스턴스 변수가 저장됩니다. 가비지 컬렉터가 관리합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;스택 영역(Stack)&lt;/b&gt;: 메서드 호출 시 생성되는 프레임과 지역 변수가 저장됩니다. 메서드 호출이 끝나면 해당 메모리가 자동으로 반환됩니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;가비지 컬렉션(Garbage Collection)&lt;/b&gt;: 더 이상 참조되지 않는 객체를 자동으로 메모리에서 해제하는 자바의 메모리 관리 메커니즘입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;면접에서 답변 예시&lt;/b&gt;:&lt;br /&gt;&quot;자바에서는 메모리를 크게 힙과 스택으로 나누어 관리합니다. 힙에는 객체가 저장되며, 가비지 컬렉터에 의해 관리됩니다. 스택에는 메서드 호출 시 생성된 프레임과 지역 변수가 저장되며, 메서드 실행이 끝나면 자동으로 메모리가 해제됩니다.&quot;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. &lt;b&gt;OOP의 4대 특성&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;캡슐화&lt;/b&gt;: 객체의 데이터를 보호하고, 외부에서 직접 접근하지 못하도록 제어하는 개념입니다. 주로 private 키워드와 함께 사용됩니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;상속&lt;/b&gt;: 기존 클래스의 기능을 물려받아 새로운 클래스에서 재사용하거나 확장할 수 있는 기능입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;다형성&lt;/b&gt;: 같은 인터페이스나 부모 클래스를 통해 여러 가지 형태의 객체를 사용할 수 있게 하는 개념입니다. 메서드 오버로딩과 오버라이딩이 그 예입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;추상화&lt;/b&gt;: 복잡한 시스템을 간단하게 표현하기 위한 방법으로, 중요한 부분만을 표현하고 나머지는 숨기는 것을 의미합니다. 추상 클래스나 인터페이스로 구현됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;면접에서 답변 예시&lt;/b&gt;:&lt;br /&gt;&quot;객체지향 프로그래밍의 4대 특성은 캡슐화, 상속, 다형성, 추상화입니다. 캡슐화를 통해 객체의 데이터를 보호하고, 상속을 통해 기존 클래스를 재사용할 수 있습니다. 다형성을 통해 부모 클래스를 통해 다양한 자식 객체를 사용할 수 있으며, 추상화를 통해 복잡한 개념을 단순하게 표현할 수 있습니다.&quot;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. &lt;b&gt;Java에서의 예외 처리&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Checked Exception&lt;/b&gt;: 컴파일 시점에서 발생할 수 있는 예외로, 반드시 예외 처리(try-catch)를 해야 합니다. 예: IOException, SQLException&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Unchecked Exception&lt;/b&gt;: 런타임에 발생하는 예외로, 컴파일러가 체크하지 않으며 선택적으로 처리할 수 있습니다. 예: NullPointerException, ArrayIndexOutOfBoundsException&lt;/li&gt;
&lt;li&gt;&lt;b&gt;예외 처리 방법&lt;/b&gt;: try-catch 블록으로 예외를 처리하고, 필요시 finally 블록을 사용해 리소스 정리를 할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;면접에서 답변 예시&lt;/b&gt;:&lt;br /&gt;&quot;Java에서는 Checked Exception과 Unchecked Exception으로 예외를 구분합니다. Checked Exception은 컴파일 시점에서 반드시 예외 처리를 해야 하며, 주로 IO 작업에서 발생합니다. Unchecked Exception은 런타임에 발생하며, 선택적으로 예외 처리를 할 수 있습니다. 일반적으로 try-catch 블록을 사용해 예외를 처리하고, 필요시 finally 블록을 통해 리소스를 정리합니다.&quot;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. &lt;b&gt;Spring Framework의 핵심 개념&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;IoC (Inversion of Control)&lt;/b&gt;: 객체의 생성 및 관리를 개발자가 아닌 Spring 컨테이너가 담당하는 개념입니다. 주입을 통해 객체 간 결합도를 낮출 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;DI (Dependency Injection)&lt;/b&gt;: 필요한 객체를 Spring이 주입해주는 방식으로, 생성자 주입, 세터 주입 등의 방법이 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;AOP (Aspect-Oriented Programming)&lt;/b&gt;: 공통된 로직(예: 로깅, 트랜잭션)을 분리해 코드의 중복을 줄이고, 핵심 비즈니스 로직에 집중할 수 있게 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;면접에서 답변 예시&lt;/b&gt;:&lt;br /&gt;&quot;Spring의 핵심 개념은 IoC, DI, AOP입니다. IoC는 객체 생성을 Spring 컨테이너에 맡기고, DI는 의존성을 주입하여 결합도를 낮춥니다. AOP는 공통된 로직을 핵심 로직과 분리하여 코드의 중복을 줄이는 데 도움이 됩니다.&quot;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. &lt;b&gt;RESTful API와 SOAP의 차이점&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;REST&lt;/b&gt;: Representational State Transfer의 약자로, HTTP 프로토콜을 활용한 아키텍처 스타일입니다. 주로 JSON 형식을 사용하고, URL을 통해 자원을 식별합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;SOAP&lt;/b&gt;: Simple Object Access Protocol의 약자로, XML 기반의 프로토콜입니다. 주로 보안이나 트랜잭션이 중요한 시스템에서 사용됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;면접에서 답변 예시&lt;/b&gt;:&lt;br /&gt;&quot;REST는 경량 프로토콜로 HTTP를 사용하며, 주로 JSON 형식으로 데이터를 주고받습니다. 반면 SOAP는 XML을 기반으로 한 프로토콜로, 보안과 트랜잭션 처리에 강점이 있어 금융 시스템 같은 곳에서 주로 사용됩니다.&quot;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;7. &lt;b&gt;JPA(Hibernate)란 무엇이며, 왜 사용하는가?&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;JPA&lt;/b&gt;: Java Persistence API로, 자바 객체를 관계형 데이터베이스에 매핑하기 위한 표준입니다. SQL을 직접 작성하지 않고도 객체와 데이터베이스 간의 상호작용을 쉽게 관리할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Hibernate&lt;/b&gt;: JPA의 대표적인 구현체로, 복잡한 데이터베이스 쿼리를 간소화하고 개발자가 객체 중심으로 데이터베이스 작업을 할 수 있게 해줍니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;면접에서 답변 예시&lt;/b&gt;:&lt;br /&gt;&quot;JPA는 객체를 데이터베이스에 쉽게 매핑할 수 있게 해주는 자바 표준입니다. Hibernate는 JPA의 구현체로, 복잡한 SQL 쿼리를 추상화하여 객체 지향적인 방식으로 데이터베이스를 다룰 수 있게 해줍니다.&quot;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;8. &lt;b&gt;멀티스레딩과 동기화 (Synchronization)&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;멀티스레딩&lt;/b&gt;: 여러 스레드가 동시에 실행되어 프로그램의 성능을 향상시킬 수 있습니다. 하지만 여러 스레드가 동시에 자원을 공유할 경우, 동기화가 필요합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;동기화&lt;/b&gt;: 여러 스레드가 동시에 접근할 때 발생할 수 있는 데이터 불일치를 방지하기 위해 synchronized 키워드를 사용하여 임계 구역을 보호합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;면접에서 답변 예시&lt;/b&gt;:&lt;br /&gt;&quot;멀티스레딩은 여러 스레드가 동시에 실행되어 성능을 높일 수 있지만, 동기화되지 않은 상태에서 자원에 접근할 경우 문제가 발생할 수 있습니다. 이를 방지하기 위해 synchronized 키워드를 사용해 임계 구역을 보호합니다.&quot;&lt;/p&gt;</description>
      <category>KDT풀스택과정 공부</category>
      <author>고마구</author>
      <guid isPermaLink="true">https://rhakrn.tistory.com/148</guid>
      <comments>https://rhakrn.tistory.com/148#entry148comment</comments>
      <pubDate>Mon, 21 Oct 2024 16:49:43 +0900</pubDate>
    </item>
    <item>
      <title>241019 토요일</title>
      <link>https://rhakrn.tistory.com/147</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;향후 계획&lt;br&gt;코테 플젝 - 게시판 등 나머지 추가(2종류추가)&lt;br&gt;aws배포 완료(노드,부트플젝)&lt;br&gt;이론 공부&lt;/p&gt;</description>
      <category>KDT풀스택과정 공부</category>
      <author>고마구</author>
      <guid isPermaLink="true">https://rhakrn.tistory.com/147</guid>
      <comments>https://rhakrn.tistory.com/147#entry147comment</comments>
      <pubDate>Sat, 19 Oct 2024 22:57:01 +0900</pubDate>
    </item>
    <item>
      <title>241017 26주차 목요일 - 배포</title>
      <link>https://rhakrn.tistory.com/146</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://choo.oopy.io/cb67651a-6a89-4489-94cd-588ba6060266&quot;&gt;Docker 활용 및 배포 자동화 실습 (oopy.io)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1729152478401&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;Docker 활용 및 배포 자동화 실습&quot; data-og-description=&quot;본 게시글은 하단 강의를 듣고 학습한 내용을 요약, 정리한 글입니다.&quot; data-og-host=&quot;choo.oopy.io&quot; data-og-source-url=&quot;https://choo.oopy.io/cb67651a-6a89-4489-94cd-588ba6060266&quot; data-og-url=&quot;https://choo.oopy.io/cb67651a-6a89-4489-94cd-588ba6060266&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cjJ1fY/hyXhQe2dac/iIo8IijVmKe0gJbL7yXX4k/img.png?width=1732&amp;amp;height=492&amp;amp;face=0_0_1732_492,https://scrap.kakaocdn.net/dn/bSoG6Y/hyXhLx1Ogq/zrhz2ta7IQaOur2Frf4i6k/img.png?width=1515&amp;amp;height=332&amp;amp;face=0_0_1515_332,https://scrap.kakaocdn.net/dn/bCWwGH/hyXlQdm7q5/jzKtSRAPzLl1PENidqLqq0/img.png?width=512&amp;amp;height=512&amp;amp;face=0_0_512_512&quot;&gt;&lt;a href=&quot;https://choo.oopy.io/cb67651a-6a89-4489-94cd-588ba6060266&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://choo.oopy.io/cb67651a-6a89-4489-94cd-588ba6060266&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cjJ1fY/hyXhQe2dac/iIo8IijVmKe0gJbL7yXX4k/img.png?width=1732&amp;amp;height=492&amp;amp;face=0_0_1732_492,https://scrap.kakaocdn.net/dn/bSoG6Y/hyXhLx1Ogq/zrhz2ta7IQaOur2Frf4i6k/img.png?width=1515&amp;amp;height=332&amp;amp;face=0_0_1515_332,https://scrap.kakaocdn.net/dn/bCWwGH/hyXlQdm7q5/jzKtSRAPzLl1PENidqLqq0/img.png?width=512&amp;amp;height=512&amp;amp;face=0_0_512_512');&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;Docker 활용 및 배포 자동화 실습&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;본 게시글은 하단 강의를 듣고 학습한 내용을 요약, 정리한 글입니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;choo.oopy.io&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;a href=&quot;https://hanjungyo.tistory.com/48&quot;&gt;AWS를 이용하여 Node.js + MongoDB 배포하기 [Co-Code] &amp;mdash; 개발 바닥 (tistory.com)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1729156039883&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;AWS를 이용하여 Node.js + MongoDB 배포하기 [Co-Code]&quot; data-og-description=&quot;최근에 Co-Code라는 코딩 교육 플랫폼 프로젝트를 시작하면서 백엔드를 맡게 되었습니다!!&amp;nbsp;가장 먼저 하게된건 서버 배포하기...&amp;nbsp;바로 시작하겠습니다&amp;nbsp;&amp;nbsp;가장 먼저 EC2부터 생성해보았다!(제 블로&quot; data-og-host=&quot;hanjungyo.tistory.com&quot; data-og-source-url=&quot;https://hanjungyo.tistory.com/48&quot; data-og-url=&quot;https://hanjungyo.tistory.com/48&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bYXhxw/hyXlSoJFka/lTnCwvUZU639KCpNTJCBmK/img.jpg?width=446&amp;amp;height=444&amp;amp;face=0_0_446_444,https://scrap.kakaocdn.net/dn/bnbY1C/hyXlJk1xfk/tBMSxBm2qjXPXXz08nGmUK/img.jpg?width=446&amp;amp;height=444&amp;amp;face=0_0_446_444,https://scrap.kakaocdn.net/dn/8hJwK/hyXhRyfZni/DWzk6NbKZlEuCNSKriplS1/img.png?width=1397&amp;amp;height=586&amp;amp;face=0_0_1397_586&quot;&gt;&lt;a href=&quot;https://hanjungyo.tistory.com/48&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://hanjungyo.tistory.com/48&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bYXhxw/hyXlSoJFka/lTnCwvUZU639KCpNTJCBmK/img.jpg?width=446&amp;amp;height=444&amp;amp;face=0_0_446_444,https://scrap.kakaocdn.net/dn/bnbY1C/hyXlJk1xfk/tBMSxBm2qjXPXXz08nGmUK/img.jpg?width=446&amp;amp;height=444&amp;amp;face=0_0_446_444,https://scrap.kakaocdn.net/dn/8hJwK/hyXhRyfZni/DWzk6NbKZlEuCNSKriplS1/img.png?width=1397&amp;amp;height=586&amp;amp;face=0_0_1397_586');&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를 이용하여 Node.js + MongoDB 배포하기 [Co-Code]&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;최근에 Co-Code라는 코딩 교육 플랫폼 프로젝트를 시작하면서 백엔드를 맡게 되었습니다!!&amp;nbsp;가장 먼저 하게된건 서버 배포하기...&amp;nbsp;바로 시작하겠습니다&amp;nbsp;&amp;nbsp;가장 먼저 EC2부터 생성해보았다!(제 블로&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;hanjungyo.tistory.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;</description>
      <category>KDT풀스택과정 공부</category>
      <author>고마구</author>
      <guid isPermaLink="true">https://rhakrn.tistory.com/146</guid>
      <comments>https://rhakrn.tistory.com/146#entry146comment</comments>
      <pubDate>Thu, 17 Oct 2024 17:08:39 +0900</pubDate>
    </item>
    <item>
      <title>241016 26주차 수요일 - 플러터 배포 오류시</title>
      <link>https://rhakrn.tistory.com/145</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://seosh817.tistory.com/395&quot; target=&quot;_self&quot;&gt;&lt;span&gt;[Android] Gradle 빌드시에 Signing key로 서명하도록 설정하기 — SH's Devlog (tistory.com)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;[Android] Gradle 빌드시에 Signing key로 서명하도록 설정하기&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;이번 포스트에서는 Gradle 빌드시에 Signing key를 서명하도록 설정하는 방법을 정리하겠습니다. Play store에 앱을 업로드하려면 Bundle 혹은 APK에 앱 서명을 해야합니다. 그래서 서명하기 위한 일반적&quot; data-og-host=&quot;seosh817.tistory.com&quot; data-og-source-url=&quot;https://seosh817.tistory.com/395&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/ddONhk/hyXhWTzlmQ/wJk5wBbxKpIprw5wIIK6E0/img.png?width=700&amp;amp;height=410&amp;amp;face=0_0_700_410,https://scrap.kakaocdn.net/dn/IzsRO/hyXhOgUktg/HkvZuFBKQ5WTgYC3Aqatc0/img.png?width=700&amp;amp;height=410&amp;amp;face=0_0_700_410,https://scrap.kakaocdn.net/dn/V3o3W/hyXhSQ967U/SyD1AIo0Dop0Hy7tNh4vGK/img.png?width=700&amp;amp;height=410&amp;amp;face=0_0_700_410&quot; data-og-url=&quot;https://seosh817.tistory.com/395&quot;&gt;&lt;a href=&quot;https://seosh817.tistory.com/395&quot; target=&quot;_blank&quot; data-source-url=&quot;https://seosh817.tistory.com/395&quot;&gt;&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/ddONhk/hyXhWTzlmQ/wJk5wBbxKpIprw5wIIK6E0/img.png?width=700&amp;amp;height=410&amp;amp;face=0_0_700_410,https://scrap.kakaocdn.net/dn/IzsRO/hyXhOgUktg/HkvZuFBKQ5WTgYC3Aqatc0/img.png?width=700&amp;amp;height=410&amp;amp;face=0_0_700_410,https://scrap.kakaocdn.net/dn/V3o3W/hyXhSQ967U/SyD1AIo0Dop0Hy7tNh4vGK/img.png?width=700&amp;amp;height=410&amp;amp;face=0_0_700_410')&quot;&gt; &lt;/div&gt;&lt;div class=&quot;og-text&quot;&gt;&lt;p class=&quot;og-title&quot;&gt;[Android] Gradle 빌드시에 Signing key로 서명하도록 설정하기&lt;/p&gt;&lt;p class=&quot;og-desc&quot;&gt;이번 포스트에서는 Gradle 빌드시에 Signing key를 서명하도록 설정하는 방법을 정리하겠습니다. Play store에 앱을 업로드하려면 Bundle 혹은 APK에 앱 서명을 해야합니다. 그래서 서명하기 위한 일반적&lt;/p&gt;&lt;p class=&quot;og-host&quot;&gt;seosh817.tistory.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;div style=&quot;background-color: #1e1f22; color: #bcbec4;&quot;&gt; 
 &lt;pre class=&quot;flix&quot;&gt;&lt;code&gt;// start of Gradle 서명 구성
def keystorePropertiesFile = rootProject.file('key.properties')

def keystoreProperties = [:] // Groovy의 Map을 사용하여 키-값 쌍 저장

if (keystorePropertiesFile.exists()) {
    keystorePropertiesFile.eachLine { line -&amp;gt;
        def (key, value) = line.split('=')
        keystoreProperties[key.trim()] = value.trim() // 키-값 쌍을 Map에 추가
    }
}

// end of Gradle 서명 구성&lt;/code&gt;&lt;/pre&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;1.Gradle의 Groovy DSL에서 Java의 Properties 클래스를 직접 사용할 수 없기 때문에 발생하는 Cannot resolve symbol 'Properties'가 발생시 위와 같이 작성하자&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;div style=&quot;background-color: #1e1f22; color: #bcbec4;&quot;&gt; 
 &lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;signingConfigs {
    release {
        storeFile file('') // keystoreProperties에서 경로 가져오기
        storePassword '' // 비밀번호
        keyAlias '' // 키 별칭
        keyPassword '' // 키 비밀번호
    }
}&lt;/code&gt;&lt;/pre&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;2.flutter build appbundle 오류&lt;br&gt;위와 같이 작성되게 없으면 작성&lt;br&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>KDT풀스택과정 공부</category>
      <author>고마구</author>
      <guid isPermaLink="true">https://rhakrn.tistory.com/145</guid>
      <comments>https://rhakrn.tistory.com/145#entry145comment</comments>
      <pubDate>Wed, 16 Oct 2024 11:47:37 +0900</pubDate>
    </item>
    <item>
      <title>241015 26주차 화요일 - flutter 개인 플젝 02,배포</title>
      <link>https://rhakrn.tistory.com/144</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&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;a href=&quot;https://mcc96.tistory.com/90&quot;&gt;[Docker] Oracle 12c 서비스 가상화 (CentOS7) (tistory.com)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1729062207744&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Docker] Oracle 12c 서비스 가상화 (CentOS7)&quot; data-og-description=&quot;Summary&amp;nbsp;이번 글에서는 리눅스 7.X 환경의 Docker를 활용하여 Oracle DB 를 가상화하는 방법을 알아보겠습니다.&amp;nbsp;Docker를 통해 Oracle 12c를 가상화하면 시스템 자원을 효율적으로 사용할 수 있으며,다양한&quot; data-og-host=&quot;mcc96.tistory.com&quot; data-og-source-url=&quot;https://mcc96.tistory.com/90&quot; data-og-url=&quot;https://mcc96.tistory.com/90&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/SwFIZ/hyXhNbh9FD/2LzHJCbW14K2bs4ebe4me1/img.jpg?width=800&amp;amp;height=684&amp;amp;face=0_0_800_684,https://scrap.kakaocdn.net/dn/MLC1E/hyXhJNtXZg/e6r6Ap2MXcVyP0gmD8MqnK/img.jpg?width=800&amp;amp;height=684&amp;amp;face=0_0_800_684,https://scrap.kakaocdn.net/dn/bWdqjQ/hyXhP7ZaKt/RJexjK7DejWdr8MmHuUWmk/img.png?width=702&amp;amp;height=417&amp;amp;face=0_0_702_417&quot;&gt;&lt;a href=&quot;https://mcc96.tistory.com/90&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://mcc96.tistory.com/90&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/SwFIZ/hyXhNbh9FD/2LzHJCbW14K2bs4ebe4me1/img.jpg?width=800&amp;amp;height=684&amp;amp;face=0_0_800_684,https://scrap.kakaocdn.net/dn/MLC1E/hyXhJNtXZg/e6r6Ap2MXcVyP0gmD8MqnK/img.jpg?width=800&amp;amp;height=684&amp;amp;face=0_0_800_684,https://scrap.kakaocdn.net/dn/bWdqjQ/hyXhP7ZaKt/RJexjK7DejWdr8MmHuUWmk/img.png?width=702&amp;amp;height=417&amp;amp;face=0_0_702_417');&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;[Docker] Oracle 12c 서비스 가상화 (CentOS7)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Summary&amp;nbsp;이번 글에서는 리눅스 7.X 환경의 Docker를 활용하여 Oracle DB 를 가상화하는 방법을 알아보겠습니다.&amp;nbsp;Docker를 통해 Oracle 12c를 가상화하면 시스템 자원을 효율적으로 사용할 수 있으며,다양한&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;mcc96.tistory.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;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bdOzLD/btsJ5z54IWR/KJSzfJNhgGLDEiDcDThe2K/app-arm64-v8a-release.apk?attach=1&amp;amp;knm=tfile.apk&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;app-arm64-v8a-release.apk&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;12.45MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&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;플러터앱 완성 배포파일&lt;/p&gt;</description>
      <category>KDT풀스택과정 공부</category>
      <author>고마구</author>
      <guid isPermaLink="true">https://rhakrn.tistory.com/144</guid>
      <comments>https://rhakrn.tistory.com/144#entry144comment</comments>
      <pubDate>Tue, 15 Oct 2024 21:26:46 +0900</pubDate>
    </item>
    <item>
      <title>241015 26주차 화요일 -aws 먹통시 해결</title>
      <link>https://rhakrn.tistory.com/143</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Git&amp;nbsp;Bash가&amp;nbsp;멈춘&amp;nbsp;후&amp;nbsp;다시&amp;nbsp;연결할&amp;nbsp;수&amp;nbsp;없는&amp;nbsp;상황은&amp;nbsp;종종&amp;nbsp;SSH&amp;nbsp;연결이&amp;nbsp;비정상적으로&amp;nbsp;종료되었을&amp;nbsp;때&amp;nbsp;발생합니다.&amp;nbsp;이&amp;nbsp;경우&amp;nbsp;다음&amp;nbsp;단계를&amp;nbsp;시도해&amp;nbsp;보세요: &lt;br&gt;&lt;br&gt;SSH&amp;nbsp;Agent&amp;nbsp;재시작: &lt;br&gt;&lt;br&gt;Git&amp;nbsp;Bash에서&amp;nbsp;SSH&amp;nbsp;에이전트를&amp;nbsp;재시작해&amp;nbsp;보세요.&amp;nbsp;다음&amp;nbsp;명령어를&amp;nbsp;입력합니다: &lt;br&gt;&lt;br&gt;eval&amp;nbsp;$(ssh-agent&amp;nbsp;-s) &lt;br&gt;그런&amp;nbsp;다음&amp;nbsp;SSH&amp;nbsp;키를&amp;nbsp;다시&amp;nbsp;추가합니다: &lt;br&gt;&lt;br&gt;ssh-add&amp;nbsp;&quot;mainKey.pem&quot; &lt;br&gt;SSH&amp;nbsp;연결&amp;nbsp;강제&amp;nbsp;종료&amp;nbsp;확인: &lt;br&gt;&lt;br&gt;SSH&amp;nbsp;연결을&amp;nbsp;확인하고&amp;nbsp;강제&amp;nbsp;종료해야&amp;nbsp;할&amp;nbsp;프로세스가&amp;nbsp;남아있지&amp;nbsp;않은지&amp;nbsp;다시&amp;nbsp;확인합니다: &lt;br&gt;&lt;br&gt;ps&amp;nbsp;aux&amp;nbsp;|&amp;nbsp;grep&amp;nbsp;ssh &lt;br&gt;남아있는&amp;nbsp;프로세스가&amp;nbsp;있다면&amp;nbsp;kill&amp;nbsp;또는&amp;nbsp;pkill&amp;nbsp;명령어로&amp;nbsp;종료합니다. &lt;br&gt;kill -9 1694&lt;br&gt;&lt;br&gt;서버&amp;nbsp;측&amp;nbsp;SSH&amp;nbsp;설정: &lt;br&gt;&lt;br&gt;인스턴스에서&amp;nbsp;SSH&amp;nbsp;서비스가&amp;nbsp;정상적으로&amp;nbsp;실행되고&amp;nbsp;있는지&amp;nbsp;확인합니다.&amp;nbsp;인스턴스에&amp;nbsp;다른&amp;nbsp;방법(예:&amp;nbsp;EC2&amp;nbsp;Instance&amp;nbsp;Connect&amp;nbsp;또는&amp;nbsp;SSM)으로&amp;nbsp;접근할&amp;nbsp;수&amp;nbsp;있다면,&amp;nbsp;SSH&amp;nbsp;서비스를&amp;nbsp;재시작해&amp;nbsp;보세요: &lt;br&gt;&lt;br&gt;sudo&amp;nbsp;systemctl&amp;nbsp;restart&amp;nbsp;sshd &lt;br&gt;&lt;br&gt;&lt;br&gt;ssh&amp;nbsp;-v&amp;nbsp;-i&amp;nbsp;&quot;mainKey.pem&quot;&amp;nbsp;ubuntu@ec2-52-63-199-91.ap-southeast-2.compute.amazonaws.com&lt;/p&gt;</description>
      <category>KDT풀스택과정 공부</category>
      <author>고마구</author>
      <guid isPermaLink="true">https://rhakrn.tistory.com/143</guid>
      <comments>https://rhakrn.tistory.com/143#entry143comment</comments>
      <pubDate>Tue, 15 Oct 2024 09:45:35 +0900</pubDate>
    </item>
  </channel>
</rss>