inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

176만명의 커뮤니티!! 함께 토론해봐요.

RecvBuffer 관련

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part5: UE5 & IOCP 서버 연동

안녕하세요, RecvBuffer 관련하여 링버퍼를 사용하시지 않고 다른 방법을 이용하시던데, 강의에서 링버퍼를 별로 안 좋아한다고 얘기를 해주셨는데 이유가 있는지 궁금합니다. 매번 꺼낼때마다 앞쪽에 추가적인 공간이 더 있는지 확인 작업 연산이 더 들어가서 비효율적으로 느껴지긴 하네요..

  • c++
  • unreal-engine
  • windows-server
이성원 댓글 1 좋아요 0 조회수 426

강의연장 신청합니다

해결됨

SW 개발자를 위한 성능 좋은 SQL 쿼리 작성법

안녕하세요. 복습한번 하려고 하는데 강의 연장 가능할까요?

  • sql
  • dbms/rdbms
leekm 댓글 2 좋아요 0 조회수 827

merge 질문이 있습니다.

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

안녕하세요 영한님! 강의를 듣던 중 궁금한 점이 생겨서 질문 남깁니다. 프로젝트를 진행하며 Spring Data JPA를 사용하면서 Entity를 update 하는 방법에 대해서 고민이 생겼습니다. findById를 한 후 save() 메서드를 호출하는 방법과 public Post updatePost(long postId, PostUpdateRequest request) { Post post = findById(postId); post.update(request.getTitle(), request.getContent()); return postRepository.save(post); } 영한님이 말씀하신 dirty checking 을 이용하는 방법 중 어떤게 더 나은 방법인지 궁금해서요. @Transactional public void updatePost(long postId, PostUpdateRequest request) { Post post = findById(postId); post.update(request.getTitle(), request.getContent()); } spring data jpa 의 save() 메서드의 경우 새로운 엔티티일땐 em.persist() 존재하는 엔티티일땐 em.merge() 방식으로 동작한다고 알고 있습니다. findById를 통해 엔티티를 조회해서 영속상태로 만든 후 em.merge를 하게 된다면 dirty checking을 통해 엔티티를 update하는 것과 어떤 차이가 있는건지 궁금합니다. @Transactional을 사용해서 리소스를 사용하는것 보단, save 메서드 호출을 통해 em.merge()를 사용하는게 더 나은 방법이 아닌지, 혹은 update 하는 동안의 트랜잭션은 큰 리소스 사용 없이 동작하기 때문에 dirty checking을 사용하라고 하신 것인지 궁금합니다!

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
dlkfjan 댓글 2 좋아요 0 조회수 411

10초 단위로 실행 방법이 있을까요?

미해결

Airflow 마스터 클래스

10초 단위로 실행 방법이 있을까요?

  • python
  • 데이터-엔지니어링
  • airflow
janyjeon 댓글 1 좋아요 0 조회수 416

15 페이지네이션 에러

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

저기서 자꾸 저런 에러가 뜨는데 어떻게 해결해야 할까요 ㅠㅠ타입을 바꿔봐도 똑같습니다 정확한 오류 메시지는{ page: number; } 형식의 인수는 'Partial<IQueryFetchBoardArgs>' 형식의 매개 변수에 할당될 수 없습니다. 개체 리터럴은 알려진 속성만 지정할 수 있으며 'Partial<IQueryFetchBoardArgs>' 형식에 'page'가 없습니다.입니다 !

  • react
  • node.js
  • seo
  • graphql
  • next.js
댓글 1 좋아요 0 조회수 290

환경세팅 질문드려요

미해결

장고 설계철학으로 시작하는 파이썬 장고 입문

안녕하세요 강사님 1. powershell 로 환경 세팅 > install extras/googlechrome 중 아래와 같이 중간에 경로관련 경고문구가 뜬것같은데 이상없나요? pyenv install 3.10.4 설치가 안돼요..

  • python
  • django
동휘김 댓글 1 좋아요 0 조회수 269

kubectl get svc

해결됨

CloudNet@ - Amazon EKS 기본 강의

관리용 콘솔에서 클러스터 생성 후, kubeconfig 생성 및 업데이트 후, 제목의 명령어를 치면 error: You must be logged in to the server (Unauthorized) 위와 같은 메시지가 뜹니다.

  • 네트워크
  • aws
  • kubernetes
  • amazon-eks
  • eks
Corwin 댓글 2 좋아요 1 조회수 348

27강 관련 질문

미해결

[개념은 호옹~, 실습 빡] 스프링 부트, 입문!

혹시 삭제버튼도 모달로 등록해서 삭제를 할 순없는건가요? 그러면 document.querySelectorAll 을 쓰지않아도 되는거 아닌가요? 추가로 // 삭제 버튼 이벤트를 처리 commentDeleteBtns.forEach(btn => { // 각 버튼의 이벤트 처리를 등록 btn.addEventListener("click", (event) => { // 이벤트 발생 요소를 선택 const commentDeleteBtn = event.target; // 삭제 댓글 id 가져오기 const commentId = commentDeleteBtn.getAttribute("data-comment-id"); console.log(`삭제 버튼 클릭: ${commentId}번 댓글`); }); }); 해당 코드에서 event.relatedTarget이란 함수를 쓰지않는이유는 relatedTarget함수가 모달 전용이라서 그런건가요?

  • spring-boot
최정식 댓글 1 좋아요 0 조회수 251

mac주소에 대해 질문있습니다.

미해결

그림으로 쉽게 배우는 네트워크

초기 다른컴퓨터에 데이터를 전송할때 상대방 컴퓨터의 mac주소를 어떻게 알 수 있나요? 웹브라우저에 ip주소를 입력하고 전송할때 데이터 링크 계층의 프레임 헤더에 전송할 컴퓨터의 MAC주소가 담기나요?? MAC주소는 랜카드 제조업체에서 나오는건데 처음 수신하는 상대방 컴퓨터의 MAC주소까지 프레임에 담겨서 전송되는건가요??

  • 네트워크
짜파게티 댓글 1 좋아요 1 조회수 245

시간초과 관련 질문입니다!

해결됨

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

안녕하세요 선생님, 먼저 답변 감사드립니다. 이 부분에 대해 완벽히 이해했습니다. 다만, 배열 범위 밖의 인덱스를 참조했음에도 컴파일 오류가 발생하지 않았던 이유가 궁금합니다.(Dev C++을 사용하는데, 잘 동작했고 테스트 케이스도 통과했습니다.) 그리고 왜 백준 사이트에서 컴파일 에러가 아닌, 시간 초과로 표시가 되었는지도 궁금합니다. 좋은 강의 늘 감사드립니다!

  • c++
  • 코딩-테스트
김영수 댓글 1 좋아요 0 조회수 232

smtp 발송에서

미해결

장고 설계철학으로 시작하는 파이썬 장고 입문

메일이 안보내지고 오류가 났습니다

  • python
  • django
kindjin12 댓글 2 좋아요 0 조회수 333

스프링 빈 조회 질문입니다

해결됨

스프링 핵심 원리 - 기본편

스프링 빈 조회할때 검증할때 isInstanceOf로 타입 비교를 할 때 느낌상으로는 MemberService 인터페이스를 넣어야될것같은데 MemberServiceImpl이 들어가는 이유가궁금합니다... 너무 당연하긴하지만 MemberService가 들어가도 검증이 되는지 궁금합니다. 그리고 하나 더 궁금한건 객체 타입이면 memberService이렇게 들어가면되는데 확장자 이름까지 들어가는지궁금합니다. ex) MemberServiceImpl -> MemberServiceImpl.class package hello.core.beanfind; import hello.core.AppConfig; import hello.core.member.MemberService; import hello.core.member.MemberServiceImpl; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import static org.assertj.core.api.Assertions.*; class ApplicationContextBasicFindTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); @Test @DisplayName("빈 이름으로 조회") void findBeanByName() { MemberService memberService = ac.getBean("memberService", MemberService.class); assertThat(memberService).isInstanceOf(MemberServiceImpl.class); } @Test @DisplayName("이름 없이 타입만으로 조회") void findBeanByType() { MemberService memberService = ac.getBean(MemberService.class); assertThat(memberService).isInstanceOf(MemberServiceImpl.class); } @Test @DisplayName("구체 타입으로 조회") void findBeanByName2() { MemberServiceImpl memberService = ac.getBean("memberService", MemberServiceImpl.class); assertThat(memberService).isInstanceOf(MemberServiceImpl.class); } @Test @DisplayName("빈 이름으로 조회X") void findBeanByNameX() { //ac.getBean("xxxxx", MemberService.class); Assertions.assertThrows(NoSuchBeanDefinitionException.class, () -> ac.getBean("xxxxx", MemberService.class)); } }

  • spring
  • 객체지향
이찬진 댓글 1 좋아요 0 조회수 237

nginx사용여부

미해결

비전공자도 이해할 수 있는 AWS 입문/실전

위 강의에서는 nginx를 사용하지 않고 있는데,nginx를 대신하는 기능을 하는 것이 이 강의에서 무엇인지 궁금합니다! 또한 위 내용이 맞다면, 8080포트(spring)로 포트포워딩을 nginx를 사용하여 작업하는 것이라고 알고있는데 그 작업또한 이 강의에서는 언제 해야하는건지 질문드립니다!

  • aws
  • aws-elb
  • ec2
한수현 댓글 1 좋아요 0 조회수 462

followeeCount, followerCount 증가, 감소를 위한 메소드 일반화하기 코드 공유

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

increment(conditions: FindOptionsWhere<Entity>, propertyPath: string, value: number | string) 먼저 increment메소드의 propertyPath 부분이 특정 Model의 프로퍼티를 추론 하지 않고 string으로 박혀 있는게 마음에 들지 않아서 대상이 되는 프로퍼티 필드 명을 추론 하게 작성 했습니다. // users.service.ts async incrementFollowerCount( userId: number, fieldName: keyof Pick<UsersModel, 'followerCount' | 'followeeCount'>, incrementCount: number, qr?: QueryRunner, ) { const usersRepository = this.getUsersRepository(qr); await usersRepository.increment( { id: userId, }, fieldName, incrementCount, ); } 1. fieldName: 어떤 프로퍼티를 증가, 감소를 할것인지 특정하는 파라미터 2. incrementCount : 몇 증가 시킬것인지 증가 value // users.service.ts async decrementFollowerCount( userId: number, fieldName: keyof Pick<UsersModel, 'followerCount' | 'followeeCount'>, decrementCount: number, qr?: QueryRunner, ) { const usersRepository = this.getUsersRepository(qr); await usersRepository.decrement( { id: userId, }, fieldName, decrementCount, ); } contoller에서 사용하기 // users.controller.ts @Patch('follow/:id/confirm') @UseInterceptors(TransactionInterceptoer) async patchFollowConfirm( @User() user: UsersModel, @Param('id', ParseIntPipe) followerId: number, @QueryRunnerDecorator() qr: QueryRunner, ) { await this.usersService.confirmFollow(followerId, user.id); await this.usersService.incrementFollowerCount( user.id, 'followerCount', 1, qr, ); await this.usersService.incrementFollowerCount( followerId, 'followeeCount', 1, qr, ); return true; } @Delete('follow/:id') @UseInterceptors(TransactionInterceptoer) async deleteFollow( @User() user: UsersModel, @Param('id', ParseIntPipe) followeeId: number, @QueryRunnerDecorator() qr: QueryRunner, ) { await this.usersService.deleteFollow(user.id, followeeId); await this.usersService.decrementFollowerCount( user.id, 'followerCount', 1, qr, ); await this.usersService.decrementFollowerCount( followeeId, 'followeeCount', 1, qr, ); return true; } filedName 파라미터를 특정 프로퍼티만 올 수 있게 자동완성 잘됩니다. 팔로워 confirm 되면 나의 follower 증가 + 상대방 followee 증가 팔로워 삭제 되면 나의 follower 감소 + 상대방 followee 감소 await this.usersService.incrementFollowerCount( followerId, 'followeeCount', 1, qr, ); userId가 오는 파라미터 자리에 user.id 가 아닌 followerId가 들어간 이유는 followeeCount를 증가 해야 되기 때문이다. 즉, 팔로워를 수락 했으면 나의 followerCount를 증가 시키고 상대방 followeeCount를 증가 시켜야 되기 때문에, 삭제 했을때도 같은 원리 [결과] 2번 사용자가 1번 사용자를 팔로워하고, 1번 사용자가 팔로워를 수락 했을때

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
rhkdtjd_12 댓글 1 좋아요 0 조회수 293

URL 와 URI 차이

미해결

모든 개발자를 위한 HTTP 웹 기본 지식

URI : http://localhost/index 위 URI 가 리다이렉트를 통해 index.html을 식별한다면 URI이지만 URL은 아니라는 글을 봤습니다. 그런데 자원은 제한 없이 식별되는 모든 것이라고 했을 때 위 URI도 어떤 자원을 찾아내는 URL이 될 수 있는 게 아닌가 싶어서 질문 합니다. 위 내용이 맞는 내용인지, 이런 구분 자체가 무의미한 것인지 궁급합니다. (애초에 제가 본 글이 정확하지 않을 수도 있을 것 같습니다)

  • 네트워크
따뜻한 불도새 댓글 1 좋아요 0 조회수 1084

웹사이트에 파일 업로드가 안됩니다.

미해결

한 번에 끝내는 SIEM 구축: Wazuh와 ELK를 활용한 위협 헌팅 첫걸음 (기초)

05_시나리오 #2 (리눅스 웹쉘, 디페이스 공격) 실습 중입니다. 구체적으로 이제 web.py 실행하여 웹페이지에 deface.py 를 업로드를 하는데 자꾸 No file provided라고 메시지가 출력됩니다. web.py 를 아래와 같이 수정해서 어떤 오류가 나타나는지 확인했고 from flask import Flask, request, render_template import os import subprocess import logging from logging.handlers import RotatingFileHandler app = Flask(__name__, template_folder='./uploads') log_location = "/home/wazuh/flask_app.log" logging.basicConfig(filename=log_location, level= logging.INFO ) handler = RotatingFileHandler(log_location, maxBytes=10000, backupCount=3) formatter = logging.Formatter("[%(asctime)s] {%(pathname)s:%(lineno)d} %(levelname)s - %(message)s") handler.setFormatter(formatter) app.logger.addHandler(handler) @app.route('/', methods=['GET']) def index(): return render_template('index.html') @app.route('/execute', methods=['POST']) def execute_file(): app.logger.info (f"Files: {request.files}") app.logger.info (f"Form Data: {request.form}") file = request.files.get('file') if file: filepath = f"./uploads/{file.filename}" file.save (filepath) os.chmod(filepath, 0o755) try: output = subprocess.check_output(filepath, shell=True).decode('utf-8') return f"Output: {output}" except Exception as e: return f"Error executing file: {str(e)}" return "No file provided" if __name__ == '__main__': app.run (debug=True) 아래는 flask_app.log 입니다 ImmutableMultiDict([]) 이라고 나타나는것을 볼 수 있는데 클라이언트로부터 전송된 파일이 없다고 말합니다. 웹페이지는 아래와 같습니다.

  • linux
  • microsoft-windows
  • security
  • wazuh
  • ossec
4D5A 댓글 2 좋아요 1 조회수 677

64KB 단위로 파일을 읽는 것에 대해 궁금한 점이 있습니다.

해결됨

Windows 시스템 프로그래밍 - 기본

안녕하세요 선생님, 동기 파일 입출력을 설명해주시면서 64KB 단위로 파일을 읽어오는 이유에 대해 말씀해주셨는데, OS가 Page들을 할당한 후에 그 Page들을 묶어서 관리하는 크기의 단위가 64KB이어서 파일에서 읽어온 데이터를 저장할 버퍼가 특정 Page의 시작 주소부터 16개의 Page에 연속 되도록 데이터를 저장하기 위함으로 이해하면 될까요?

  • c
  • system-programming
  • vc++
쏘씩오브럽송 댓글 1 좋아요 0 조회수 211

fetchResults(), fetchCount() deprecated

해결됨

실전! Querydsl

fetchResults(), fetchCount()가 deprecated됐는데 강의에서 fetchResults()가 사용되는 QueryResults<Member> queryResults = queryFactory .selectFrom(member) .orderBy(member.username.desc()) .offset(1) .limit(2) .fetchResults(); 이런 코드들은 어떻게 바꿔야 하나요? 강의자료에 나와있지 않은 것 같습니다.

  • java
  • jpa
spacebar 댓글 1 좋아요 1 조회수 631

권한요청 드립니다.

해결됨

[취업폭격기] 공공기관 전산직 취업 치트키 : NCS·전공·PT면접까지 한 번에 뚫는 정규과정

구글 시트 폼으로 권한 요청 드렸습니다. 확인 부탁드립니다.

  • 면접
  • 이력서
  • 기술면접
L_ azzzy 댓글 1 좋아요 1 조회수 193

인기 태그

인프런 TOP Writers

주간 인기글