이야기를 나눠요
143만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
스프링 핵심 원리 - 기본편
클래스 다이어그램에 추가적으로 객체 다이어그램이 필요하군요
아래 처럼 이해했는데 맞을까요? < 클래스 그림>=> 점선: 상속, 실선: 뭔가 사용하는 인터페이스?- 회원 서비스에 하나의 인터페이스 MemberService- 이것의 구현체 MemberServiceImpl 이 있다- 회원 저장소에 대한 인터페이스 MemberRepository 를 두고- MemberServiceImpl 은 인터페이스 MemberRepository 를 조작 < 객체 그림>=> "new 한 인스턴스 끼리의 참조"- 어떤 MemberRepository 를 쓸지를 나타냄=> 회원 서비스 (impl) 은 메모리 회원 저장소 사용 (MemoryMemberRepository)
-
스프링 핵심 원리 - 기본편
다음 강의 듣기 전 설계해봤어요. 어떤 점을 개선해야 할까요?
설계:< 미확정 부분에 대한 설계 >회원역할: DB 클래스를 추상화구현: 자체 DB인지 외부 시스템 인지에 따라 달라짐 주문과 할인 정책역할: 할인 정책구현: VIP의 할인 정책, 나중에 정할 할인 정책감사드립니다.
-
백엔드 개발자 성능 개선 초석 다지기
부하테스트는 배포 환경에서 하려면 어떻게 해냐하나요?
현재 로컬에서 강의 내용에 나온대로 부하테스트를 돌려봤는데요. 이걸 바탕으로 AWS EC2에 배포하고 부하테스트를 해보려고 합니다. 하지만 현재 프리티어를 사용하고 있어 비용문제는 어떻게 되는지가 궁금합니다. 여기서 궁금한 부분은 다음과 같습니다. EC2 환경에서도 똑같이 하면 되는건지?트래픽을 보내면 요금이 청구될텐데 어떻게 해야하는지?
-
백엔드 개발을 위한 필수 강의 - 스프링 부트
백엔드 개발은 현대 소프트웨어 개발에서 중요한 부분을 차지하고 있습니다. 이는 웹 애플리케이션의 핵심 기능을 구현하고 데이터베이스와의 상호 작용을 관리하는 역할을 합니다. 그 중에서도 스프링 부트는 백엔드 개발자들 사이에서 널리 사용되고 있는 프레임워크 중 하나입니다. 이 강의는 백엔드 개발을 위한 필수 강의로서, 스프링 부트에 초점을 맞추어 개발자들에게 필요한 기본적인 지식을 제공합니다.스프링 부트 강의 내용스프링 부트 소개: 스프링 부트의 개요와 특징, 그리고 왜 이를 사용해야 하는지에 대한 설명을 포함합니다.스프링 부트의 구성 요소: 스프링 부트에서 사용되는 주요 구성 요소들에 대한 소개와 각각의 역할을 설명합니다.스프링 부트의 설정: 스프링 부트 프로젝트의 설정 방법과 주요 설정 파일들에 대해 다룹니다.RESTful 웹 서비스 개발: 스프링 부트를 사용하여 RESTful 웹 서비스를 개발하는 방법에 대해 학습합니다.데이터베이스 연동: 스프링 부트에서 데이터베이스와의 연동 방법을 다루고, JDBC나 JPA를 이용한 데이터 액세스 방법을 학습합니다.보안과 인증: 스프링 시큐리티를 이용하여 보안과 인증 기능을 구현하는 방법을 학습합니다.테스트: 스프링 부트 애플리케이션의 테스트 방법과 중요성을 다루며, JUnit과 Mockito를 이용한 단위 테스트와 통합 테스트를 학습합니다.배포: 스프링 부트 애플리케이션을 클라우드 환경에 배포하는 방법을 다룹니다.PHP를 사용하여 간단한 모델을 만들어보겠습니다. 이 모델은 간단한 사용자 관리 시스템을 구현할 것입니다. 사용자 정보를 데이터베이스에 저장하고, 사용자를 추가하고 조회하는 기능을 갖추고 있습니다.<?php // 데이터베이스 연결 $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; $conn = new mysqli($servername, $CertsTime., $password, $dbname); // 데이터베이스 연결 확인 if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // 사용자 추가 if ($_SERVER["REQUEST_METHOD"] == "POST") {https://qrfrab6273.expandcart.com/index.php?route=product/product&product_id=403 $username = $_POST["CertsTime.com"]; $email = $_POST["email"]; $sql = "INSERT INTO users (username, email) VALUES ('$username', '$email')"; if ($conn->query($sql) === TRUE) { CertsTime.com echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } } // 사용자 조회 $sql = "SELECT id, username, email FROM users"; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["username"]. " - Email: " . https://qrfrab6273.expandcart.com/index.php?route=product/product&product_id=404$row["email"]. "<br>"; } } else { echo "0 results"; } // 데이터베이스 연결 종료 $conn->close(); ?> <?php // 데이터베이스 연결 $servername = "https://qrfrab6273.expandcart.com/index.php?route=product/product&product_id=405"; $username = "username"; $password = "https://qrfrab6273.expandcart.com/index.php?route=product/product&product_id=406"; $dbname = "myDB"; $conn = new mysqli($servername, $username, $password, $dbname); // 데이터베이스 연결 확인 if ($conn->https://qrfrab6273.expandcart.com/index.php?route=product/product&product_id=407) { die("Connection failed: " . $conn->connect_error); } // 사용자 추가 if ($_SERVER["REQUEST_METHOD"] == "POST") { $username = $_POST["username"]; $email = $_POST["email"]; $sql = "INSERT INTO users (username, email) VALUES ('$username', '$email')"; if ($conn->query($sql) === TRUE) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } } // 사용자 조회 $sql = "SELECT id, username, email FROM users"; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["username"]. " - Email: " . $row["email"]. "<br>"; } } else { echo "0 results"; } // 데이터베이스 연결 종료 $conn->close(https://qrfrab6273.expandcart.com/index.php?route=product/product&product_id=408); ?> 이 코드는 MySQL 데이터베이스를 사용하여 사용자 정보를 저장하고 조회하는 기능을 제공합니다. 데이터베이스 연결 설정은 각자의 환경에 맞게 수정해야 합니다. 사용자 추가를 위해 POST 요청을 사용하며, 사용자 조회를 위해 데이터베이스에서 사용자 정보를 가져와 출력합니다.스프링 부트의 중요성스프링 부트는 자동 구성과 개발 생산성을 높이는 기능들을 제공하여 백엔드 개발을 더욱 쉽고 빠르게 만들어 줍니다. 또한 스프링의 생태계를 기반으로 하고 있기 때문에 스프링 프레임워크의 다양한 기능들을 활용할 수 있습니다. 이러한 이유로 많은 기업과 개발자들이 스프링 부트를 선택하여 안정적이고 확장 가능한 웹 애플리케이션을 개발하고 있습니다.백엔드 개발을 공부하고자 하는 모든 이들에게 스프링 부트 강의는 필수적인 자원이 될 것입니다. 스프링 부트를 통해 백엔드 개발의 기초를 탄탄히 다지고, 현업에서 활용할 수 있는 실전적인 기술을 습득할 수 있습니다.
-
스프링 핵심 원리 - 기본편
강의 정리 해보았는데요. 어떤가요?
깨달음- OCP, DIP를 지키면 => 스프링 프레임워크를 만들게 됨정리- 설계 핵심: 역할과 구현 분리-- 모든 설계에 인터페이스를 부여하자--- 추상화란 비용 => 장점 보다 단점이 클 때---- 변화 할 것 같다 => 인터페이스. 안변한다 => 구현클래스.
-
김영한의 실전 자바 - 기본편
스프링 넘어가기 전에 들어야할 로드맵 질문
원래는 실전편 듣고 스프링을 수강하려고 했는데요최근에 선생님께서 중급편 강좌도 업로드하셨던데, 그것까지 마치고 넘어가는게 맞을까요?
-
실무에 바로 적용하는 프런트엔드 테스트 - 2부. 테스트 심화: 시각적 회귀・E2E 테스트
[필터 기능] incldues.text vs .each 사용에 대한 차이점 문의
// shopping-mall-e2e-test-with-answer cy.findAllByTestId('product-card').each($el => { cy.wrap($el).findByText('Shoes').should('exist'); }); // 제 답변 cy.findAllByTestId('product-card').should('includes.text', 'Shoes');필터 기능을 공식문서를 참고해서 직접 작성해보다가 궁금한 점이 생겼습니다.Github에 있는 답변처럼 반복문을 돌려 Shoes가 존재하는 지 검증하는 테스트와 제가 작성한 includes.text를 활용하는 방법 사이에 큰 차이점이 있을까요?어떤게 더 효율적인 테스트 작성방법인지 문의드립니다!
-
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
앱 개발 프로젝트에 대한 고민이 있습니다.
앱 개발 프로젝트로 flutter랑 백엔드 spring 연동해서 앱을 만들고 싶은데, 어디 정도 까진 들어야 하거나 또는 어디 부분을 들어야, 조금 급하더라도 프로젝트를 진행할 때 응용을 할 수 있을까요? (로드맵 mvc 1편까지는 완강했습니다.)
-
어느 정도까지 공부하면 어플을 만들 준비가 될까요?
지금 김영한님의 강의 중 입문편 다 듣고 기본편을 듣는 중입니다.어느 파트까지 공부를 하면 어플을 만들 수 있는지 궁금합니다. 만들고 싶은 어플이라 하믄, 안드로이드 어플이고 챗봇과 대화하는 느낌의 프로그램을 만들고 싶습니다.
-
스프링 핵심 원리 - 기본편
강의 자료에 사용하시는 그림
안녕하세요! 강의 자료에 사용하시는 그림 만드실 때 따로 사용하시는 도구가 있는지 궁금합니다.
-
프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
안녕하세요
안녕하세요 현재 입문강의를 듣고 있습니다혹시 코딩테스트 연습하려면 최소 어떤 강의까지 듣고 하면 될까요?
-
코드로 배우는 React with 스프링부트 API서버
백엔드가 너무어려워요
삭제된 글입니다
-
코드로 배우는 React with 스프링부트 API서버
사이트 만들고 공유해도 되나요?
따라서 만들고 있는데요. 다 만들고 여기에 공유해도 되나요?
-
스프링 핵심 원리 - 기본편
이해 잘한 것일까요?
SRP 단일 책임 원칙- 하나의 책임이라는 것은 모호하다.=> 문맥과 상황에 따라 다르다==> 책임을 잘 조절하는 것이 묘미- 기준이란 것은 변경=> 변경이 있을 때 파급 효과가 적도록OCP 개방-폐쇄 원칙- 확장: O, 변경: X=> 별도의 뭔가가 필요하다- 핵심: 별도의 뭔가 - 스프링 컨테이너LSP 리스코프 치환 원칙- 핵심: 인터페이스 규약을 맞춰야 한다ISP 인터페이스 분리 원칙- 핵심: 인터페이스는 잘게 나눠라=> 물론 이것도 너무 잘게 말고. 잘 조절하는 것이 묘미DIP 의존관계 역전 원칙- 핵심: (역할) 기능은 인터페이스의 역할 안에서 모두 설명되어야 한다.=> 클라이언트는 (구현) 을 모르고 (역할) 만 가지고 해야 한다.==> 근데, 다형성을 쓰더라도 parent = child 를 대입하여, child 에 의존한다.- 어떻게 해야 해?=> spring
-
제대로 파는 Git & GitHub - by 얄코
인간적으로 너무 빠릅니다..
git이나 github 을 숙련된자들이 복습삼아 하는 느낌이에요.. 진짜 너무 빨라요 멈추면서 해도 화면이 휙휙돌아가고 전환도 빠르고 차라리 느리게 말씀하시고 느리게 느껴지는 사람은 배속할 수 있게 하는게 훨씬 나아보입니다..
-
백엔드 개발자 성능 개선 초석 다지기
학습한 내용을 바탕으로 부하테스트를 하려는데 고민이 있습니다.
안녕하세요. 강의 잘 들었습니다.이제 강의 들은 내용을 참고하여 현재 개발중인 서버의 부하 테스트를 진행해보려고 하는데 고민이 있어서 질문을 남김니다.현재 하려는게 spike test인데 vUsers 몇명에 duration을 어떻게 설정하고 해야할지 감이 안옵니다. 현재 사용하고 있는 툴은 nGrinder이고 시나리오 테스트를 통해서 진행하려고 하는데 아직 초보 개발자라 주변에 물어볼곳도 없고 하여 이렇게 글을 남깁니다.보통 vUsers를 어떻게 잡아야할까요? 그냥 점진적으로 증가시키는 부하 테스트를 통해서 찾은 최대 수용 유저 수를 가지고 해야할까요? 그리고 시나리오 테스트 하려는 서비스가 결제부분인데 현재 PG사 기능을 mock server처리 하였는데 실제로 이렇게 진행하는게 맞을지도 궁금합니다.아직 초보 개발자라 부족한게 많은데... 답변 부탁드립니다 ㅠㅠ
-
백엔드 애플리케이션 성능 테스트하기
학습한 내용을 바탕으로 부하테스트를 하려는데 고민이 있습니다.
안녕하세요. 강의 잘 들었습니다.이제 강의 들은 내용을 참고하여 현재 개발중인 서버의 부하 테스트를 진행해보려고 하는데 고민이 있어서 질문을 남김니다.현재 하려는게 spike test인데 vUsers 몇명에 duration을 어떻게 설정하고 해야할지 감이 안옵니다. 현재 사용하고 있는 툴은 nGrinder이고 시나리오 테스트를 통해서 진행하려고 하는데 아직 초보 개발자라 주변에 물어볼곳도 없고 하여 이렇게 글을 남깁니다.보통 vUsers를 어떻게 잡아야할까요? 그냥 점진적으로 증가시키는 부하 테스트를 통해서 찾은 최대 수용 유저 수를 가지고 해야할까요? 그리고 시나리오 테스트 하려는 서비스가 결제부분인데 현재 PG사 기능을 mock server처리 하였는데 실제로 이렇게 진행하는게 맞을지도 궁금합니다.아직 초보 개발자라 부족한게 많은데... 답변 부탁드립니다 ㅠㅠ
-
김영한의 실전 자바 - 중급 1편
OpenJDK 버전 업데이트에 대한 문의 드립니다.
영한님 안녕하세요!입문, 기본편에 이어 따끈따끈한 중급편을 수강중인 수강생입니다. https://openjdk.org/projects/jdk/22/위 링크에서 보면 OpenJDK 22버전이 2024. 03. 19에 출시되었습니다.그래서 IntelliJ 에서도 OpenJDK 22 버전이 기본으로 선택되도록 변경되었더라구요.정확한 이유는 모르겠지만 OpenJDK 구버전은 UI에서 제공하지 않는 것 같습니다. 강의를 수강하는데 버전업에 따른 문제는 크지 않을 것 같지만, 강의에서는 특정 버전이 명시되어 있어서..최신 버전 호환에 대한 말씀은 따로 없으셔서 한번 언급해주시면 좋을 것 같아서 문의 남깁니다! [2024. 03. 28 - 기본 버전이 22][21버전 선택해도 Oracle OpenJDK 21은 없음]
-
북미권 공기업 개발자 실제 서바이벌 영어 & 전략
안녕하세요, 캐나다 Computer Programming 컬리지 졸업 후, QA Software Engineer로 현지 2곳의 사기업을 거쳐, 현재는 공기업에서 Developer로 일하고 있습니다.최대 1.5h 잡고, 프리랜서 개발자 / Big Tech / 디지털 노마드를 목표로 사이드 프로젝트를 현업과 진행하고 있어서, 지난 반 년 정도 개발자 분들을 타겟으로 해서 20명 정도와 '영어 그룹 스터디'를 진행하면서 서로 정보 공유를 해왔습니다.영어 시범 과외 후, 현재는 1:1로 영어과외, 해외취업 관련 멘토링을 하고 있습니다.(본업이 있고 시차 때문에 금요일 오후, 주말(오전/오후)에만 가능합니다 - 한국시간 기준) 캐나다 현지 개발자 영어과외=> 기존의 스터디는 1:1이 아니기 때문에 '요리, 헬스, 최신 유행 자료, V-log, Generative AI, Prompt Engineering, 미국 드라마, 영국 드라마, 비즈니스 영어, Meme, Reels' 등 '다양한 자료를 이용해왔습니다. 샘플 자료가 궁금하신 분들은 밑에 링크를 확인해주세요!☑영어스터디 1편☑영어스터디 2편 토익/오픽/토스 경험 X -> 당장 뭐부터 공부해야 할 지 모르는 분토익 OR 오픽 OR 토스 경험 O -> 템플릿 위주로 외워서 막상 실전영어 안되는 분외국계기업 타겟으로 하고 있는데, 실전 영어 하고 싶으신 분개발공부 시 문서/영상 등 영어로 된 콘텐츠 때문에 한계 느끼셔서 영어공부 필요하신 분캐나다 컬리지 + 취업 멘토링=> 2,000명 정도 직원 있는 IT회사에서 8개월 인턴쉽 후, 졸업 후 보안회사 QA Software Engineer로 취업을 하고, 현재는 15,000명정도 있는 공기업에서 개발자로 일하고 있습니다. 멘토링을 해 온 결과캐나다 컴공 입학 전 백그라운드 - 참고로 25살까지 토익공부 경험 X, 비전공자 입니다.캐나다 컬리지 입학 조건졸업 한 컬리지 (선택한 이유, 다른 컬리지와 다른 점)컬리지 총 학비캐나다 싱글 생활비인턴쉽 연봉 / 졸업 후 다녔던 곳 연봉 / 현재 회사 연봉이력서 쓰는 법영어면접 준비방법영어공부 가이드(직장인 기준, 최대한 시간 관리 할 수 있도록)현지 회사에서 쓰이는 기술스택 & 툴커뮤니케이션 / 의견 충돌 있을 경우에 대처방법입사 후 1년도 되지 않은 상태에서, 매니저 추천서로 승진 신청할 수 있었던 방법(In-progress)출국 전 꼭 해야 하는 10가지(현지에서 생활하면서만 깨달을 수 있는 것들)최대한 포인트를 잡았을 때 이 정도 질문이 있었습니다.영어스터디와 / 멘토링=> 1:1이기 때문에 문의 해주실 때, 본인 상황에서 원하시는 것을 저한테 자세히 설명해주시면, 그에 맞게 커리큘럼을 같이 짜고 진행하기 때문에 커리큘럼 / 가격 / 시간 문의는 아래의 링크로 연락해주세요!https://open.kakao.com/o/sOZCFSeg
-
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
시간복잡도에 대한 질문이 있습니다.
안녕하세요. 큰돌쌤!자바로 알고리즘을 하고있는 학생입니다. 시간복잡도에 대한 고민이 들어 질문을 하게 되었습니다.백준 기준으로 시간 제한이 1초일땐 대략 1억번의 연산이 가능하다고 생각하고 문제를 푸는데, 2초 혹은 3초에 대해서는 몇번의 연산이 가능한지 궁금합니다.지인의 말에 의하면 2초면 10억까지 가능하다는 사람이있고, 2억번까지만 가능하다는 말이 있어서 명확하게 알고 시간계산을 하고싶습니다. 그리고 이게 같은 시간제한이어도 언어마다 연산의 횟수가 얼마나 달라지는지도 알고싶습니다.1초, 2초 ... n초에서의 자바는 몇번의 연산이 가능하고, C++은 몇번의 연산이 가능한지 대략적으로나마 알려주시면 고민이 해결될 것 같습니다.