묻고 답해요
132만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
시간초과 관련 질문입니다!
안녕하세요 선생님, 먼저 답변 감사드립니다. 이 부분에 대해 완벽히 이해했습니다. 다만, 배열 범위 밖의 인덱스를 참조했음에도 컴파일 오류가 발생하지 않았던 이유가 궁금합니다.(Dev C++을 사용하는데, 잘 동작했고 테스트 케이스도 통과했습니다.) 그리고 왜 백준 사이트에서 컴파일 에러가 아닌, 시간 초과로 표시가 되었는지도 궁금합니다. 좋은 강의 늘 감사드립니다!
-
미해결장고 설계철학으로 시작하는 파이썬 장고 입문
smtp 발송에서
메일이 안보내지고 오류가 났습니다
-
해결됨스프링 핵심 원리 - 기본편
스프링 빈 조회 질문입니다
스프링 빈 조회할때 검증할때 isInstanceOf로 타입 비교를 할 때 느낌상으로는 MemberService 인터페이스를 넣어야될것같은데 MemberServiceImpl이 들어가는 이유가궁금합니다... 너무 당연하긴하지만 MemberService가 들어가도 검증이 되는지 궁금합니다.그리고 하나 더 궁금한건 객체 타입이면 memberService이렇게 들어가면되는데 확장자 이름까지 들어가는지궁금합니다. ex) MemberServiceImpl -> MemberServiceImpl.classpackage 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)); } }
-
미해결비전공자도 이해할 수 있는 AWS 입문/실전
nginx사용여부
위 강의에서는 nginx를 사용하지 않고 있는데,nginx를 대신하는 기능을 하는 것이 이 강의에서 무엇인지 궁금합니다! 또한 위 내용이 맞다면, 8080포트(spring)로 포트포워딩을 nginx를 사용하여 작업하는 것이라고 알고있는데 그 작업또한 이 강의에서는 언제 해야하는건지 질문드립니다!
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
followeeCount, followerCount 증가, 감소를 위한 메소드 일반화하기 코드 공유
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번 사용자가 팔로워를 수락 했을때
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
URL 와 URI 차이
URI : http://localhost/index 위 URI 가 리다이렉트를 통해 index.html을 식별한다면 URI이지만 URL은 아니라는 글을 봤습니다. 그런데 자원은 제한 없이 식별되는 모든 것이라고 했을 때위 URI도 어떤 자원을 찾아내는 URL이 될 수 있는 게 아닌가 싶어서 질문 합니다.위 내용이 맞는 내용인지, 이런 구분 자체가 무의미한 것인지 궁급합니다.(애초에 제가 본 글이 정확하지 않을 수도 있을 것 같습니다)
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
Insight .bat파일 실행안되시는분들은 경로에 공백이나 한글 확인해보시면될거같습니다.
실행안되서 확인해보니 공백때문에 실행이안됬었네요
-
미해결[보안] Wazuh+ELK(SIEM)를 활용한 위협헌팅(Threat Hunting) 시스템 구축 및 운영실습 (기초)
웹사이트에 파일 업로드가 안됩니다.
05_시나리오 #2 (리눅스 웹쉘, 디페이스 공격) 실습 중입니다.구체적으로 이제 web.py 실행하여 웹페이지에 deface.py를 업로드를 하는데 자꾸 No file provided라고 메시지가 출력됩니다. web.py를 아래와 같이 수정해서 어떤 오류가 나타나는지 확인했고from flask import Flask, request, render_templateimport osimport subprocessimport loggingfrom logging.handlers import RotatingFileHandlerapp = 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([]) 이라고 나타나는것을 볼 수 있는데 클라이언트로부터 전송된 파일이 없다고 말합니다.웹페이지는 아래와 같습니다.
-
해결됨Windows 시스템 프로그래밍 - 기본
64KB 단위로 파일을 읽는 것에 대해 궁금한 점이 있습니다.
안녕하세요 선생님, 동기 파일 입출력을 설명해주시면서 64KB 단위로 파일을 읽어오는 이유에 대해 말씀해주셨는데, OS가 Page들을 할당한 후에 그 Page들을 묶어서 관리하는 크기의 단위가 64KB이어서 파일에서 읽어온 데이터를 저장할 버퍼가 특정 Page의 시작 주소부터 16개의 Page에 연속 되도록 데이터를 저장하기 위함으로 이해하면 될까요?
-
미해결실전! Querydsl
fetchResults(), fetchCount() deprecated
fetchResults(), fetchCount()가 deprecated됐는데 강의에서 fetchResults()가 사용되는 QueryResults<Member> queryResults = queryFactory .selectFrom(member) .orderBy(member.username.desc()) .offset(1) .limit(2) .fetchResults();이런 코드들은 어떻게 바꿔야 하나요? 강의자료에 나와있지 않은 것 같습니다.
-
해결됨[취업폭격기] 공공기관 전산직(IT) 취업 준비를 위한 정규과정 (기초~고급)
권한요청 드립니다.
구글 시트 폼으로 권한 요청 드렸습니다. 확인 부탁드립니다.
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
재질문:인텔리제이에서 프로젝트 폴더가 보이지 않는 문제가 있습니다.
다시 프로젝트 생성 순서대로 보여드리겠습니다.new project 생성sdk 확인 프로젝트 폴더가 보이지 않음 프로젝트가 생성 되었지만 폴더가 보이지 않아서 구글링을 통해서 나온 해결 방법인 import module, idea 삭제를 해보았지만 해결되지 않았습니다.
-
해결됨[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
섹션 0: 데이터베이스 리스트 값이 안뜹니다.
안녕하세요!섹션 0 예제 앱 만들기- 4를 보다가 제가 등록한 게시글 내용이 뜨지 않아서 질문 드립니다.코드를 똑같이 작성하였는데(BoardListActivity- getData())abc@abc.com, 12341234 를 입력하고 로그인하면 다음 화면으로 넘어가지 않고 튕깁니다.근데 제가 밑 부분을 주석 치면 당연히 게시글 리스트는 안나오지만 다음 화면으로 넘어가지고// val item= dataModel.getValue(Model::class.java) // list.add(item!!) list.add(Model("a"))list.add(Model("b"))list.add(Model("c")) 를 입력해도 정상적으로 로그인 및 데이터들이 잘 뜹니다.... 왜 작동이 안되는지 알려주시면 감사하겠습니다 ..! (참고로 오류 메시지는 뜨지 않습니다.!) fun getData(){ val database = Firebase.database val myRef = database.getReference("board") val postListener = object : ValueEventListener { override fun onDataChange(dataSnapshot: DataSnapshot) { for (dataModel in dataSnapshot.children){ // val item= dataModel.getValue(Model::class.java) // list.add(item!!) } LVAdaptor.notifyDataSetChanged() } override fun onCancelled(databaseError: DatabaseError) { // Getting Post failed, log a message Log.w("BoardListActivity", "loadPost:onCancelled", databaseError.toException()) } } myRef.addValueEventListener(postListener) }
-
해결됨김영한의 실전 자바 - 기본편
기본편 다음 강의
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]중급, 고급 편이 안 나와서 할인 기간에 다른 강의를 미리 구매해서 공부하다가 중급, 고급 편을 들으려고 해요자바 입문, 기본을 들은 코딩 입문자가 선생님 강의 중 어떤 걸 공부하면 좋을까요? 자바 ORM 표준 JPA 프로그래밍 - 기본편 일까요? 할인 기간이 내일까지라 미리 구매해두려고 해요
-
해결됨Flutter로 SNS 앱 만들기
프로필 이미지 저장
저는 바로 확인할수 없는데... 좀 불편한데요. 달라진것인가요
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
연관관계 편의 메소드 작성 기준 질문 (Order 엔티티의 addOrderItem 메서드 관련)
https://www.inflearn.com/questions/1138263 이분 내용에 이어서 질문 드립니다.(양방향 연관관계에서 연관관계 편의 메서드를 어디에 정의할지 관련)JPA 기본편 내용에서 들었던 것에서 혼동이 조금 생겨서요.원래 "연관관계 주인이 있는 쪽에서 편의메서드를 정의할 것을 권장한다" 로 알고 있었으나,위 링크 답변을 보니 "비즈니스 로직을 개발할 때 자주 사용하게 되는 중심" 에 적용해도 되는 걸로 이해했습니다.그럼 어디에 두던 상관은 없지만, 양방향일 경우 두 엔티티 간 참조 무한루프가 걸릴 수 있으니 한 쪽에만 편의메서드를 정의할 것으로 정리하면 될까요? 감사합니다 🙂
-
해결됨[2024] 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
0은 양수가 아닌거아닌가요? a >= 0 ?이렇게하면 0도 양수가 되는데..
🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨질문 하시기 전에 꼭 확인해주세요- 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다)- 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다)- 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢)질문 하실때 꼭 확인하세요- 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X)- 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지)- 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우)- 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요- 강의의 몇 분 몇 초 관련 질문인지 알려주세요!- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
왜 lombok이 없다고 나올까요...
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]MemberRepositoryTest 중 테스트 실패 원인이 lombok이 존재하지 않는다고 나옵니다.plugin에 lombok이 깔려있는 것을 확인했고annotation도 설정해줬습니다.Member 클래스에도 lombok이 잘 적용됐고요.MemberRepository는 이렇습니다. 마지막으로 MemberRepositoryTest는 이렇습니다. 제가 어느 부분에서 놓친 것인지 잘 모르겠습니다.lombok 재설치와 intellij 재시작을 몇번을 했는지 모르겠습니다.어느 부분에서 제가 놓쳤는지 알려주실 수 있으신가요 ?
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
초록색원안을 클릭하니 새로운 페이지로 가네요...
완성된 프로그램 상에서초록색 원안을 마우스로 클릭하니 밑에 아이콘 2개 생성되구요요 아이콘을 클릭하니 새로운 페이지로 가네요.저만 그런가 해서 문의 드립니다.이것에 대한 코드는 없었는데 궁금해서요캡처 사진 첨부합니다.
-
미해결장박사의 블록체인 이해와 구조
세폴리아 테스트 네트워크
https://www.notion.so/1034f75e78b34187902ba1ca8df0277b?pvs=4에 작성 된 방법대로 http://Infura.io회원가입을 진행하는데 Unable to verify request without a valid Captcha token.이러한 유효한 토큰이 없다고 회원가입 진행이 안되고 있습니다.브라우저 캐시삭제, 브라우저 변경, 스마트폰으로 진행으로 여러 방법을 시도 해보았지만 가입이 불가능한 상태인데 다른 방법이 있을까요?