묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
소켓과 세션에 대해 질문 드립니다.
안녕하세요 루키스님!강의 잘 듣고 있습니다. 세션과 소켓의 관계에 대해 궁금한게 생겼습니다.비유로 인해 오해가 생길까 지웠습니다.Connector를 쓰기 전 까지는 더미 클라이언트에 세션을 쓰지 않아 서버와 클라이언트가 서버에서 발급한 세션을 통해 정보를 공유한다고 생각했습니다.마치 실 전화기 처럼 말이죠.클라 (소켓) ---------------세션--------------(소켓) 서버 근데, 커넥터라는 개념이 들어오고 다시 흐름을 살펴보니 서버도 서버의 세션을 사용하고, 클라도 클라의 세션을 사용하니 위의 비유와는 잘 맞지 않아 다시 생각해봤는데 이해한 바가 맞는지 봐주셨으면 합니다.소켓 : 유심칩세션 : 스마트폰(abstract 를 구현해서 어떻게 행동할지 정의했기 때문에 클라는 클라 전용 스마트폰, 서버는 서버 전용 스마트 폰을 가지고 있다.) 클라 (소켓 + 세션) ------------------- 서버(소켓 + 세션)
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
투포인트/슬라이딩 윈도우 관련
혹시 투포인터/슬라이딩 윈도우 부분도 강의에 있나요?자바 커리큘럼에는 보니까 있는데 파이썬에는 없어서요. 혹시 추가될 예정이 있나요? 아니면 혹시 커리큘럼속에 포함 되어있는데 제가 못찾는 건가요?감사합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
Public MonsterType GetMonsterType() {return type;}은 생략해도 문제없는건가요?
public PlayerType GetPlayerType() { return type; }public MonsterType GetMonsterType() { return type; }해당 메소드는 수업에서 딱히 선언 후 사용 되지 않았기 때문에생략해도 문제는 없는 걸까요? 혹시 사용 한다면 어떤식으로 사용이 되는걸까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
jsp 회원 전체 목록 조회 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]진짜 오타랑 폴더 문제 있는 거를 다 해결했는데도jsp 회원 전체 목록 조회가 500오류가 뜹니다.제 코드 파일 아래에 올려두었습니다.https://drive.google.com/file/d/1nlCQnZW4erNmTiNvcnR9NXAnjxdJmIor/view?usp=drive_link 선생님 코드 파일 실행했을 때는 잘 진행되는 것을 확인하였습니다. 무엇이 문젠지 3시간 동안 고민했는데 모르겠습니다.
-
미해결입문자를 위한 코딩테스트 핵심(이론과 문제풀이) [Python]
체크배열을 set 으로 사용해도될까요?
from collections import deque def solution(home): answer = 0 duplicate = {0} queue = deque([0]) while queue: node_length = len(queue) for _ in range(node_length): node = queue.popleft() if node == home: return answer for child_node in [node - 1, node + 1, node + 5]: if (0 < child_node < 10_000) and (child_node not in duplicate): duplicate.add(child_node) queue.append(child_node) answer += 1강의가 드디어 거의 끝나가네요.. 해당문제를 혼자 풀어봤습니다. 강의에서는 체크배열로 중복을 체크하더군요! 이 중복체크를 체크배열이 아닌 set 로 해결해도 효율적일까요? 어짜피 set 의 시간복잡도는 O(1) 이어서 괜찮지않나 생각하는데 조언좀 부탁드리겠습니다!!
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
이미지 보여주기 @ResponseBody
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.downloadImage 메소드 작성할때 위에 @Responsebody사용한 이유가 이미지를 리턴하기 위해서 사용한게 맞나요 ?그리고 다른 방법은 어떤게 있나요 ?
-
미해결스프링 핵심 원리 - 기본편
컴포넌트 스캔과 의존관계 자동 주입 시작하기 test중 NoSuchBeanDefinitionException 에러
package hello.core.member; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class MemberServiceImpl implements MemberService { //private final MemberRepository memberRepository = new MemoryMemberRepository(); private final MemberRepository memberRepository; @Autowired public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; } @Override public void join(Member member){ memberRepository.save(member); } @Override public Member findMember(Long memberId){ return memberRepository.findById(memberId); } //싱글톤 test용 public MemberRepository getMemberRepository() { return memberRepository; } }basicScan 테스트를 진행하는데 코드를 몇 번씩 비교했는데 저렇게 떠서 왜인지 찾다가 https://www.inflearn.com/questions/799379/nosuchbeandefinitionexception-no-qualifying-bean-of-type-x27-hello-core-member이 사이트에서 OMG님이 제공해주신 test코드 @Test void basicScan() { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class); System.out.println("================"); String[] beanDefinitionNames = ac.getBeanDefinitionNames(); for(String beanDefinitionName : beanDefinitionNames) { BeanDefinition beanDefinition = ac.getBeanDefinition(beanDefinitionName); if (beanDefinitionName.contains("memberService")) { if(beanDefinition.getRole() == BeanDefinition.ROLE_APPLICATION) { System.out.println("beanDefinitionName : " + beanDefinitionName + " beanDefinition : " + beanDefinition); } } } System.out.println("================"); // MemberService memberService = ac.getBean(MemberService.class); // assertThat(memberService).isInstanceOf(MemberService.class); }를 돌리면 제공해주신 출력 예시대로 나오는데 ,정작 강의에서 해주시는 Test코드는 계속 에러가 나고 있습니다 ㅠㅠㅠ어떻게 해결해야할까요..?
-
해결됨[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
5월 부터는 서버를 구현한다고 되어있는데!
안녕하세요 5월부터 시작하는 수업에서BM (광고, 결제) 시스템과 서버 기본기 구현을 배우게 되는것으로 알고있는데요!이과정에서 c#과 AWS를 사용하여 직접 서버를 구축하는 방법을 배우는것인지아니면 파이어베이스나 뒤끝같은 관리형 서비스를 사용하는 방법을 배우는건지 궁금합니다 !
-
미해결
A Comprehensive Overview of Transport Services in the UK
Introduction:The United Kingdom's logistics industry has undergone a significant transformation in recent years, marked by the rise of advanced transport services. This article delves into the intricacies of transport services UK, emphasizing the evolution of full truck load services and container transportation services. Understanding the nuances of Full Container Haulage Services in the UK is crucial for businesses seeking efficient and reliable logistics solutions.The Dynamics of Transport Services in the UK:Transport services in the UK play a pivotal role in facilitating the movement of goods across the country. As businesses strive for efficiency, the demand for advanced logistics solutions, including full truck load services and container transportation services, has surged.The Evolution of Full Truck Load Services:Full truck load services have evolved to meet the growing demands of businesses. These services involve transporting a dedicated truckload of goods from one location to another, ensuring optimal utilization of resources and timely deliveries. Businesses benefit from the flexibility and cost-effectiveness offered by full truck load services.Container Transportation Services: A Critical Component:Container transportation services have become a critical component of modern logistics. These services involve the movement of goods in standardized containers, enhancing security and streamlining the loading and unloading processes. The versatility of container transportation services makes them ideal for various industries.Full Container Haulage Services in the UK – Bridging Gaps:Full Container Haulage Services in the UK have emerged as a bridge between manufacturers, suppliers, and end consumers. These services ensure the seamless transportation of fully loaded containers, optimizing supply chain efficiency and reducing transit times.Cost-Effective Solutions for Businesses:Businesses are increasingly turning to full truck load services and container transportation services in the UK for their cost-effective nature. By maximizing the capacity of each shipment, companies can reduce transportation costs and enhance overall operational efficiency.Efficiency in Supply Chain Management:Efficiency in supply chain management is a key driver for the adoption of advanced transport services. Full truck load services and container transportation services contribute to a streamlined supply chain, minimizing delays and improving overall productivity.Technological Advancements in Transport Services:The integration of technology has significantly enhanced the effectiveness of transport services in the UK. GPS tracking, real-time monitoring, and route optimization are just a few examples of how technology is revolutionizing the logistics landscape, making full truck load and container transportation services more reliable than ever.Environmental Considerations in Logistics:The focus on sustainability has prompted a shift towards environmentally friendly transport services. Companies are exploring greener alternatives in full truck load and container transportation services, aligning with global efforts to reduce the carbon footprint of the logistics industry.Global Connectivity through Container Transportation:Container transportation services play a vital role in establishing global connectivity. The standardized containers used in these services facilitate seamless intermodal transportation, connecting the UK to international markets and fostering economic growth.The Role of Regulations in Transport Services:Regulations governing transport services in the UK have a significant impact on the industry. Compliance with safety standards, weight restrictions, and environmental regulations is essential for businesses offering full truck load and container transportation services.Challenges and Solutions in Full Container Haulage Services:While Full Container Haulage Services in the UK offer numerous advantages, they are not without challenges. Issues such as port congestion, customs delays, and infrastructure limitations pose obstacles that require innovative solutions to ensure smooth operations.Collaboration in the Logistics Ecosystem:Collaboration is key in the logistics ecosystem. Businesses providing full truck load and container transportation services must collaborate with suppliers, manufacturers, and other stakeholders to create a cohesive and efficient supply chain network.Technology-Driven Warehousing in Transport Services:Warehousing is an integral part of transport services, and technological advancements have transformed traditional warehouses into smart, tech-driven hubs. Automation, robotics, and data analytics optimize storage, retrieval, and distribution processes, complementing full truck load and container transportation services.The Future of Transport Services in the UK:As technology continues to evolve, the future of transport services in the UK looks promising. Innovations such as autonomous vehicles, blockchain for supply chain transparency, and sustainable fuel alternatives are likely to shape the next phase of full truck load and container transportation services.Navigating the Landscape of Transport Services:In conclusion, the landscape of transport services in the UK is undergoing a paradigm shift. Businesses must adapt to the changing dynamics by embracing full truck load and container transportation services, leveraging technology, and fostering collaborative relationships to thrive in the evolving logistics industry.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Conditional Variable 과 Event에 대해 이해하고 싶습니다.
제가 이해한것이 맞는지 확인하고 싶어 질문을 남기게 되었습니다. Event는 Signal, Non-Signal 상태를 WaitForSingleObject(handle, INFINITE)를 통해 대기합니다.여기서 INFINITE로 무한정 대기를 통해 불필요한 컨텍스트 스위치가 일어나지 않게 됩니다.하지만 그만큼 자원(메모리? CPU? )의 손해가 일어나기에 생겨난 것이 Conditional Variable입니다. Conditional Variable cv.notify_one();를 통해 대기하고 있던 Thread를 실행합니다. Conditional Variable는 메모리에 Thread를 Wait 시키지 않고 대기 시키다가 cv.notify_one();를 통해 실행하는 것이고 Event는 Thread를 메모리에 WaitForSingleObject(handle, INFINITE)를 통해 대기시켰다가 SetEvent(handle);를 통해 실행시킨 점이 차이라고 이해하면 될지 여쭙고 싶습니다.
-
해결됨C# TCP/IP 소켓 프로그래밍
예제소스 제공 원합니다.
안녕하세요. 강의에서 타이핑 하신 Example Source를 제공받을 수 있을까요?
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
SSH 터널링으로 Lightsail VM 접속하기
안녕하세요..! 또 질문을 드려서 너무 죄송합니다.authorized_keys에 제가 만든 public 키를 추가를 해줬는데 터미널로 접속하려고 하니까 아래와 같이 접속이 거부됩니다..! 혹시나 키를 잘못 기입했나 해서 다시 복사해서 넣었는데도 저렇게 거부가 되는데 다른 이유가 있을까요?너무 죄송합니다..!!답변주시면 정말 감사드리겠습니다!
-
미해결따라하며 배우는 자바스크립트 A-Z
얕은 복사가 주소만 복사하는 것 아닌가요?
영상 3분 47초쯤에//shallow copy with Object.assign()부분에서 bArray와 cArray를 비교하는데, 참조하는 위치가 달라서 같지 않다고 false를 반환합니다. shallow copy가 주소값만을 복사하고 deep copy가 값을 하나하나 복사하려 독립적인 메모리를 차지하는 것으로 알고 있는데, 어느 부분에서 잘못 이해한 건가요?ㅜㅜ
-
해결됨스프링 핵심 원리 - 기본편
실행 결과에 로그
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]저는 실행 결과가 왜 깔끔하게 나오지 않는지 알려주세요..!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Book을 Setter를 열어둬서 dto정보를 받지 않고 빌더 패턴을 사용해서 다음과 같이 구현해보았습니다
상속 받은 엔티티는 @Builder를 사용하는게 아니라, 다음과 같이 @SuperBuilder로 자식, 부모 엔티티 모두에 선언해줘야 한다고 합니다.<Book 엔티티>package jpabook.jpashop.domain.item; import jakarta.persistence.DiscriminatorValue; import jakarta.persistence.Entity; import lombok.*; import lombok.experimental.SuperBuilder; @Entity @DiscriminatorValue("B") @Getter @SuperBuilder @AllArgsConstructor @NoArgsConstructor public class Book extends Item { private String isbn; private String author; }<Item 엔티티>package jpabook.jpashop.domain.item; import jakarta.persistence.*; import jpabook.jpashop.domain.Category; import jpabook.jpashop.exception.NotEnoughStockException; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.experimental.SuperBuilder; import java.util.ArrayList; import java.util.List; @Entity @Getter @SuperBuilder @AllArgsConstructor @NoArgsConstructor @Inheritance(strategy = InheritanceType.SINGLE_TABLE) public class Item{ @Id @GeneratedValue @Column(name = "ITEM_ID") private Long id; private String name; private int price; private int stockQuantity; @ManyToMany(mappedBy = "items") private List<Category> categories = new ArrayList<>(); /*비즈니스 로직*/ //todo: stock 증가 public void addStock(int quantity) { this.stockQuantity += quantity; } //todo: stock 감소 public void removeStock(int quantity) { int restStock = this.stockQuantity - quantity; if (restStock < 0) { throw new NotEnoughStockException("need more stock"); } this.stockQuantity = restStock; } } <ItemController 클래스>package jpabook.jpashop.controller; import jakarta.validation.Valid; import jpabook.jpashop.domain.item.Book; import jpabook.jpashop.service.ItemService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; @Controller @RequiredArgsConstructor public class ItemController { private final ItemService itemService; @GetMapping("/items/new") public String createForm(Model model) { model.addAttribute("form", new BookForm()); return "items/createItemForm"; } @PostMapping("/items/new") public String create(@Valid @ModelAttribute("form") BookForm form, BindingResult result) { if (result.hasErrors()) { return "items/createItemForm"; } Book book = createBook(form); itemService.saveItem(book); return "redirect:/"; } //todo: dto 정보를 받아서 엔티티를 만드는 단순 작업은 컨트롤러에서 처리 private Book createBook(BookForm form) { return Book.builder() .name(form.getName()) .price(form.getPrice()) .stockQuantity(form.getStockQuantity()) .author(form.getAuthor()) .isbn(form.getIsbn()) .build(); } }이렇게 하고, Jpashop의 상품등록에 들어가서 데이터를 입력하면 정상적으로 DB에 데이터가 저장됩니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
프로젝트 초기 설정에서 오류로 실행이 안됩니다.
1월 22, 2024 11:47:46 오후 org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformationINFO: HHH000204: Processing PersistenceUnitInfo [name: hello]1월 22, 2024 11:47:46 오후 org.hibernate.Version logVersionINFO: HHH000412: Hibernate ORM core version 6.4.2.Final1월 22, 2024 11:47:46 오후 org.hibernate.cache.internal.RegionFactoryInitiator initiateServiceINFO: HHH000026: Second-level cache disabled1월 22, 2024 11:47:47 오후 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configureWARN: HHH10001002: Using built-in connection pool (not intended for production use)1월 22, 2024 11:47:47 오후 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreatorINFO: HHH10001005: Loaded JDBC driver class: org.h2.Driver1월 22, 2024 11:47:47 오후 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreatorINFO: HHH10001012: Connecting with JDBC URL [jdbc:h2:tcp://localhost/~/test]1월 22, 2024 11:47:47 오후 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreatorINFO: HHH10001001: Connection properties: {password=****, user=sa}1월 22, 2024 11:47:47 오후 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreatorINFO: HHH10001003: Autocommit mode: false1월 22, 2024 11:47:47 오후 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections <init>INFO: HHH10001115: Connection pool size: 20 (min=1)1월 22, 2024 11:47:47 오후 org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl constructDialectWARN: HHH90000025: H2Dialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default)1월 22, 2024 11:47:47 오후 org.hibernate.engine.transaction.jta.platform.internal.JtaPlatformInitiator initiateServiceINFO: HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)1월 22, 2024 11:47:47 오후 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PoolState stopINFO: HHH10001008: Cleaning up connection pool [jdbc:h2:tcp://localhost/~/test] 코드는 프로젝트 초기 설정 소스 코드 그대로 실행했는데 안됩니다...
-
해결됨깃헙 블로그(Github blog)로 차별화 된 나만의 홈페이지 만들기!
localhost로 브라우저에 보여주는 방법은 뭔가요?
로컬에서 테스트로 브라우저 실행하는 방법이 궁금합니다~!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-I 반례를 잘 모르겠습니다!
http://boj.kr/01660705b14346a68f903e9c57b3553b처음에 설명하신 String을 접근하는 방법과 cmp를 만드는 것 까지 접근했으나 계속 틀렸다고 나옵니다 ㅠㅠ한번 살펴봐주시면 감사하겠습니다!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
localhost8080 에서 json 경로만 500 서버 오류가 납니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]영한님 수업 잘 따라오면서 나머지 강의들은 잘 프로그램이 작동했는데 HTTP요청 데이터 -API 메시지 바디 -JSON강의 실습이후 json요청 페이지에서만 오류가 뜨고 localhost8080에서는 백지 화면이 뜹니다 제가 무지해 혹시 오류가 따로 있을거같아 컴파일보드 메모장으로 첨부해봅니다.. 오후 11:15:43: Executing ':ServletApplication.main()'... > Task :compileJava UP-TO-DATE > Task :processResources UP-TO-DATE > Task :classes UP-TO-DATE > Task :ServletApplication.main() . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.2.2) 2024-01-22T23:15:44.017+09:00 INFO 4424 --- [ main] hello.servlet.ServletApplication : Starting ServletApplication using Java 21.0.1 with PID 4424 (C:\Users\�赿��\Desktop\Spring-mvc\servlet\build\classes\java\main started by �赿�� in C:\Users\�赿��\Desktop\Spring-mvc\servlet) 2024-01-22T23:15:44.018+09:00 INFO 4424 --- [ main] hello.servlet.ServletApplication : No active profile set, falling back to 1 default profile: "default" 2024-01-22T23:15:44.667+09:00 INFO 4424 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) 2024-01-22T23:15:44.676+09:00 INFO 4424 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2024-01-22T23:15:44.677+09:00 INFO 4424 --- [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.18] 2024-01-22T23:15:44.711+09:00 INFO 4424 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2024-01-22T23:15:44.712+09:00 INFO 4424 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 652 ms 2024-01-22T23:15:44.787+09:00 INFO 4424 --- [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: ServletContext resource [/index.html] 2024-01-22T23:15:44.968+09:00 INFO 4424 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' 2024-01-22T23:15:44.973+09:00 INFO 4424 --- [ main] hello.servlet.ServletApplication : Started ServletApplication in 1.2 seconds (process running for 1.426) 2024-01-22T23:15:49.563+09:00 DEBUG 4424 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [0] 2024-01-22T23:15:49.564+09:00 DEBUG 4424 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Received [GET / HTTP/1.1 Host: localhost:8080 Connection: keep-alive Cache-Control: max-age=0 sec-ch-ua: "Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120" sec-ch-ua-mobile: ?0 sec-ch-ua-platform: "Windows" Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Sec-Fetch-Site: none Sec-Fetch-Mode: navigate Sec-Fetch-User: ?1 Sec-Fetch-Dest: document Accept-Encoding: gzip, deflate, br Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7 ] [��ü �Ķ���� ��ȸ] - start [��ü �Ķ���� ��ȸ] - end 2024-01-22T23:15:49.582+09:00 DEBUG 4424 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [704] 2024-01-22T23:15:49.582+09:00 DEBUG 4424 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Received [] 2024-01-22T23:15:49.583+09:00 DEBUG 4424 --- [nio-8080-exec-1] o.apache.coyote.http11.Http11Processor : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@41b5971e:org.apache.tomcat.util.net.NioChannel@8c53d83:java.nio.channels.SocketChannel[connected local=/[0:0:0:0:0:0:0:1]:8080 remote=/[0:0:0:0:0:0:0:1]:51861]], Status in: [OPEN_READ], State out: [OPEN] 2024-01-22T23:15:49.598+09:00 DEBUG 4424 --- [nio-8080-exec-3] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [704] 2024-01-22T23:15:49.599+09:00 DEBUG 4424 --- [nio-8080-exec-3] o.a.coyote.http11.Http11InputBuffer : Received [GET /favicon.ico HTTP/1.1 Host: localhost:8080 Connection: keep-alive sec-ch-ua: "Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120" sec-ch-ua-mobile: ?0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 sec-ch-ua-platform: "Windows" Accept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: no-cors Sec-Fetch-Dest: image Referer: http://localhost:8080/ Accept-Encoding: gzip, deflate, br Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7 ] [��ü �Ķ���� ��ȸ] - start [��ü �Ķ���� ��ȸ] - end 2024-01-22T23:15:49.601+09:00 DEBUG 4424 --- [nio-8080-exec-3] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [604] 2024-01-22T23:15:49.601+09:00 DEBUG 4424 --- [nio-8080-exec-3] o.a.coyote.http11.Http11InputBuffer : Received [] 2024-01-22T23:15:49.601+09:00 DEBUG 4424 --- [nio-8080-exec-3] o.apache.coyote.http11.Http11Processor : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@41b5971e:org.apache.tomcat.util.net.NioChannel@8c53d83:java.nio.channels.SocketChannel[connected local=/[0:0:0:0:0:0:0:1]:8080 remote=/[0:0:0:0:0:0:0:1]:51861]], Status in: [OPEN_READ], State out: [OPEN]
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
workflows 내용 질문입니다.
안녕하세요. 강의 잘 보고 잘 따라가고 있습니다! 우선 좋은 강의 제공해주셔서 감사 인사 드립니다!AWS lightsail 부분 수강하고 있는 와중에 workflows 내용에 대한 질문이 생겼습니다.여기 내용을 보면 npm 설치와 redis 설치가 포함되어있는데 저렇게 설치를 하는 곳은 가상 ubuntu 서버에 하는 거라고 보면 될까요? 이미 AWS lightsail 서버에는 node와 npm 및 redis 설치를 다 끝냈는데 매번 pull request 할 때마다 다시 설치가 되는건가 궁금합니다!같은 맥락으로 도커 이미지를 나중에 만들어서 빌드를 하게 된다면 매번 수정된 내용이 반영되는 이미지를 다시 만들어서 그 이미지를 빌드해서 배포를 하는 건가요? 질문은 이 정도로 마치겠습니다! 긴 질문 읽어주셔서 감사합니다.