묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
천천히 친절하고 인텔리제이 친화적인 강의에 감사합니다
[질문 내용]너무 친절하고 무료 강의 감사합니다.너무 좋은 강의라 고민입니다. ㅎㅎ
-
해결됨AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 기간 연장 문의
안녕하세요. 좋은 강의 만들어주셔서 감사합니다. 수강 기간 연장을 부탁드리고자 글을 남깁니다. 감사합니다.
-
해결됨독하게 C를 배운 사람을 위한 선형 자료구조
강의자료 관련
강의자료 인쇄하려고하는데, 검정색 배경화면으로 나오는데 이거 인쇄용으로는 없나요? 너무 잉크 많이 쓰게 되는데 ..
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
액세스가 거부되었습니다. 라고 뜹니다
안녕하세요[응용] 폴더에 있는 한글/파일을 모두 열기 편 실습중이었는데반복문 사용해서 한글파일을 실행하려 하니 액세스가 거부되었습니다. 라고 뜨네요. 이유를 알 수 있을까요??[응용] 폴래더에 있는 한/글 파일을 모두 열기[응용] 폴더에 있는 한/글 파일을 모두 열기
-
해결됨Slack 클론 코딩[백엔드 with NestJS + TypeORM]
getUser 관련
안녕하세요 제로초님! 다음과 같이 로그인후 바로 me를 호출하도록했는데 undefined이 찍혀서 왜 유저값이 들어있지 않은지 잘 모르겠습니다. axios에서 withCredential tue 넣었고 쿠키에 세션값이 저장되고 보낼때 header에 들어간것까지 확인했습니다. 제가 놓친 부분이나 누락한 부분이 있을까요? deserializeUser가 실행이 안되는거 같은데 이유를 모르겠네요
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
회원가입시에 로그인
안녕하세요 제로초님!passport 를 nest에 붙이는 법에 대해 이해하기 쉽게 알려주셔서 감사합니다! 하나 질문이 있는데요! 보통 서비스에서는 회원가입을 완료하면 cookie에 session정보(유저정보)를 넣어줘서 로그인후와 같은 경험을 하도록하는데요. 혹시 그 부분은 어떻게 구현해야할까요?passport에서 session정보를 cookie에 담아 보내는 로직을 모두 포함하다보니 방법이 잘 생각나지 않네요 ㅠ
-
해결됨비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
빅데이터 처리관련
선생님 강좌덕분에 무사히 서버 개설과 웹사이트 로드까지 마친 수강생입니다! 감사합니다 ㅠㅠ제가 만든 사이트는 데이터를 수집하고 그 데이터 중 유저가 원하는 데이터만을 보기좋게 가공해서 화면에 표기해주는 간단하다면 간단한 기능을 수행하고 있습니다. 그런데 그 데이터의 양이 많아지니 로딩 시간이 확 늘어났고 확인해 보니.. sql 쿼리문 자체가 응답시간이 많이 소요되더군요... ㅠㅠ sql 최적화나 index 적용 등은 이미 다했는데도 느리고... 아직 테스트 버젼으로 사실 데이터의 양도 제가 원하는 양에 비하면 턱없이 적은 양인데 벌써 이렇게 느려지니 막막한 심정입니다 ㅠㅠ해당 강좌와는 크게 관련이 없지만 어디 물어볼 곳도 마땅히 없어서...ㅠㅠ 혹시 관련한 해결 방안이나 추천해주실만한 강좌같은게 있으실까요..?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
class validation & class transformer
안녕하세요.수강생입니다. 강의 잘보고 있습니다.한가지 질문이 있습니다. class validation 과 class transformer 도 일종의 pipe 인가요? context를 알고 validation 과 transformer 를 수행하는거 같아서요..
-
미해결홍정모의 따라하며 배우는 C언어
2의 보수 방법에서 양수표현법
강의에서 설명해주신 2의 보수 방법에서, 양수를 표현하는 방법에 관해 질문이 있습니다. 강의에서 -5를 예로 드신 건 이해했는데, 반대로 5를 표현하려 할 때는 어떻게 되나요?5를 2진수로 변환->00000101(2)->보수:11111010(2)->더하기 1: 11111011(2)인데, 그럼 양수 5와 음수 -5의 구분이 안 되지 않나요?강의에서 첫 비트가 1이면 음수, 0이면 양수인 것으로 구분한다고 하셨는데, 8개 비트 앞에 부호에 해당하는 1비트를 더 둔다는 뜻인가요? 그러니까, (1/11111011->-5, 0/11111011->5) 이런 식으로 작동하는 건가요?좋은 강의 감사합니다.
-
해결됨처음 만난 리액트(React)
미니 블로그를 만들며 생긴 궁금증입니다.
지금은 그냥 전부 따라 치고 마지막에 실행해서 결과를 확인하는 방식이지만 실제로 리액트로 개발을 할 때는 css쪽은 직접 화면을 보면서 해야될텐데 만든 컴포넌트가 생각대로 구현이 되어있는지 확인을 하려면 App.js 파일에 직접 컴포넌트를 넣어서 확인해야 하나요?페이지 컴포넌트들 같은 경우 같은 css가 중복되는데 중복되는 코드를 하나로 관리하려면 어떻게 해야할까요?
-
미해결데이터 분석 SQL Fundamentals
range between interval '2' day preceding and current row 질문
안녕하세요. range를 이용해 2일전+오늘자까지의 합이나 평균등을 구할 때 2일전 날짜의 데이타가 없으면 그냥 넘기는 것으로 배웠습니다.근데 만약 이런 비어있는 날들을 어떤 값을 채우고 싶다면 어떻게 해야 할까요?예를들어 71페이지에 7/14, 7/15에 sum_by_daily_cat이 없지만, 100이나 200 혹은 평균값을 임의로 넣어서 sum_range를 구하고 싶다면 어떻게 할까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@Data 를 사용했을때 차이점
https://www.inflearn.com/questions/1087841/spring-3-2-0-%EC%82%AC%EC%9A%A9%ED%95%98%EC%8B%9C%EB%8A%94-%EB%B6%84%EB%93%A4-%EC%A4%91-converteredit%EC%97%90%EC%84%9C-%EC%BB%A8%EB%B2%84%ED%8C%85-%EC%95%88%EB%90%98%EC%8B%9C%EB%8A%94-%EB%B6%84 위 링크에 있는 질문처럼 @Data를 사용하면 오류가 뜨고 따로 @Setter @Getter @RequiredArgsConstructor를 사용했을때 정상작동되는 이유가 궁금합니다.
-
미해결데이터 분석 SQL Fundamentals
마지막 페이지의 between and 1 following and current row는 오타일까요?
직접 해보라고 하시는 between and 1 following and current row에는 and가 2개 있는데 이건 오타일까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-A 백준 순회공연 질문드립니다.
#include <bits/stdc++.h> using namespace std; typedef pair<int,int> pp; typedef map<int,int> m; priority_queue<int, vector<int>,greater<int>> pq; void l(){ cout << "------- " << endl;} int n; vector<pp> v; // day 정렬 bool cSort(const pp &a, const pp &b){ if(a.second != b.second){//sort by day return a.first < b.first; } return a.second > b.second; //sort by money } //input void i(){ cin >> n; int d,p; for(int i=0; i<n; i++){ cin >> p; cin >> d; v.push_back({d,p}); } sort( v.begin(), v.end() ); } //solution void s(){ int money=0; for(pp dp : v){ pq.push(dp.second);//price if(pq.size() > dp.first) pq.pop();// pop } while(!pq.empty()){ money += pq.top(); pq.pop(); } cout << money; } void sol(){ i();s(); } int main() { sol(); return 0; } 위 코드에서 cSort를 써서 소팅 하게 되면 틀리는데 혹시 어떤 문제인지 여쭤봐도 될까요? sort( v.begin(), v.end() ); 평범하게 소팅하면 통과가 되는데, cSort로 order by date, price로 정렬하면 에러가 터집니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
An unhandled exception has occured. See browser dev tools for detail.
blazor ranking app #3을 하던 도중에 스크린샷과 같은 에러가 나타났습니다.콘솔창에는 아래와 같은 에러 메세지가 떠서 제 입력이 userId가 null인 것으로 입력된 것 같습니다.문제가 있을 수 있어 하단에 제가 작성한 ranking.razor와 RankingService.cs의 코드를 첨부하지만 강의의 내용에서 작성한 코드와 동일하게 작성하였습니다.ranking.razor@page "/ranking" @using RankingApp.Data.Models @using RankingApp.Data.Services @inject RankingService RankingService <h3>Ranking</h3> @*LoginDisplay.razor의 내용 참조*@ <AuthorizeView> <Authorized> @*로그인한 경우*@ @if (_gameResults == null) { <p><em>Loading...</em></p> } else { <table class="table"> <thead> <tr> <th>User</th> <th>Score</th> <th>Date</th> </tr> </thead> <tbody> @foreach (var gameResult in _gameResults) { <tr> <td>@gameResult.UserName</td> <td>@gameResult.Score</td> <td>@gameResult.Date.ToString()</td> </tr> } </tbody> </table> @*데이터 추가하기*@ <p> <button class="btn btn-primary" @onclick="AddGameResult"> Add </button> </p> @if (_showPopup) { <div class="modal" style="display:block" role="dialog"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-Header"> <h3 class="modal-title">Add/Update GameResult</h3> <button type="button" class="close" @onclick="ClosePopup"> <span area-hidden="true">X</span> </button> </div> <div class="modal-body"> <label for="UserName">UserName</label> <input class="form-control" type="text" placeholder="UserName" @bind-value="_gameResult.UserName"> <label for="Score">Score</label> <input class="form-control" type="text" placeholder="Score" @bind-value="_gameResult.Score"> <button class="btn btn-primary" @onclick="SaveGameResult"> Save </button> </div> </div> </div> </div> } } </Authorized> <NotAuthorized> <p>You are not Authorized</p> </NotAuthorized> </AuthorizeView> @code { List<GameResult> _gameResults; bool _showPopup; GameResult _gameResult; protected override async Task OnInitializedAsync() { _gameResults = await RankingService.GetGameResultsAsync(); } void AddGameResult() { @*팝업 띄워주기*@ _showPopup = true; _gameResult = new GameResult() { Id = 0 }; } void ClosePopup() { _showPopup = false; } async Task SaveGameResult() { if(_gameResult.Id==0) //새로 데이터를 추가하는 작업, 이때는 id가 없지만 db에 넣어지면id 자동 생성 { _gameResult.Date=DateTime.Now; var result = RankingService.AddGameResult(_gameResult); @*AddGameResult는 rankingService.cs에 있다*@ } else { //TODO } _gameResults = await RankingService.GetGameResultsAsync(); @*다시 바뀐 데이터 다시 가져오기*@ } } RankingService.csusing RankingApp.Data.Models; namespace RankingApp.Data.Services { public class RankingService { ApplicationDbContext _context; public RankingService(ApplicationDbContext context) { _context = context; } //Create public Task<GameResult> AddGameResult(GameResult gameResult) { _context.GameResults.Add(gameResult); _context.SaveChanges(); //db에도 저장 return Task.FromResult(gameResult); } //Read public Task<List<GameResult>> GetGameResultsAsync() { List<GameResult> results = _context.GameResults .OrderByDescending(item => item.Score) .ToList(); return Task.FromResult(results); } //Update //Delete } }
-
미해결[리뉴얼] 타입스크립트 올인원 : Part1. 기본 문법편
class 에서 ts의 private vs js의 private field( # )
안녕하세요 ts 강의랑 책 모두 보고 있는중인데요.강의에서는(클래스의 새로운기능들 4분 10초쯤) protected와 구분하기 쉬운 이유로 ts의 private 를 추천하시는데 책에서는 (ebook 기준 294쪽 쯤) js의 private field( # ) 를 추천하셔서요. 어떤것이 맞는건지 질문드립니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
섹션1 <빌드하고 실행하기>
강의자님께서 mac은 ./gradlew build이고 window의 경우에는 ./gradlew.bat을 build 하면 된다고 하셨는데 ./gradlew.bat 명령어만 치면되는 건가요? (window 사용, bash 터미널 사용 중입니다.!)
-
미해결지옥에서 온 Git
user.name과 user.email 을 등록했는데도 commit에 뜨지 않습니다
git commit 명령어를 치면 열리는 파일 안에 commiter라는 구문이 없습니다
-
해결됨실전! 스프링 데이터 JPA
페치조인과 new 프로젝션
Member Entity@Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @Builder @AllArgsConstructor @ToString(of = {"id", "username", "age"}) @NamedQuery( name = "Member.findByAgeGreaterThanAndUsername", query = "select m from Member m where m.age > :age and m.username = :username" ) public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "member_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "team_id") private Team team; private String username; private int age; /** * 연관관계 편의 메서드 */ public void changeTeam(Team team) { this.team = team; team.getMembers().add(this); } } Team Entity@Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @Builder @AllArgsConstructor @ToString(of = {"id", "name"}) public class Team { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "team_id") private Long id; @OneToMany(mappedBy = "team", fetch = FetchType.LAZY) @Builder.Default private List<Member> members = new ArrayList<>(); private String name; } MemberRepositorypublic interface MemberSpringJpaRepository extends JpaRepository<Member, Long> { List<Member> findByUsernameAndAgeGreaterThan(String username, int age); @Query(name = "Member.findByAgeGreaterThanAndUsername") List<Member> findByAgeGreaterThanAndUsername(@Param("age") int age, @Param("username") String username); @Query(value = "select m from Member m") List<Member> findUsers(); @Query(value = "select new study.datajpa.dto.MemberDto(m.id, m.username, t.name) from Member m join m.team t") List<MemberDto> findMemberDtoWithJoin(); /** * fetch join -> new 프로젝션 예외 터짐 */ // @Query(value = "select new study.datajpa.dto.MemberDto(m.id, m.username, t.name) from Member m join fetch m.team t") // List<MemberDto> findMemberDtoWithFetchJoin(); @Query(value = "select m from Member m join m.team t") List<Member> findMemberJoinWithTeam(); } 질문 /** * join -> new 프로젝션 정상 수행 */ @Query(value = "select new study.datajpa.dto.MemberDto(m.id, m.username, t.name) from Member m join m.team t") List<MemberDto> findMemberDtoWithJoin(); /** * fetch join -> new 프로젝션 예외 터짐 */ // @Query(value = "select new study.datajpa.dto.MemberDto(m.id, m.username, t.name) from Member m join fetch m.team t") // List<MemberDto> findMemberDtoWithFetchJoin();@Query 애너테이션에서 쿼리문을 작성할 때, new 연산자를 사용하여 dto로 변환하여 반환하려고 합니다. Member-Team을 join 후 new 연산자를 사용하여 dto는 정상적으로 반환이 됩니다. 근데 페치조인을 사용 후 new 연산자를 사용하면 아래 예외가 터집니다.fetch join으로는 new 연산자 사용이 안 되는 이유를 알고싶습니다. 발생하는 예외java.lang.IllegalStateException: Failed to load ApplicationContext for [WebMergedContextConfiguration@3d1b6816 testClass = study.datajpa.repository.springjpa.MemberSpringJpaRepositoryTest, locations = [], classes = [study.datajpa.DataJpaApplication], contextInitializerClasses = [], activeProfiles = [], propertySourceDescriptors = [], propertySourceProperties = ["org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true"], contextCustomizers = [org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@1f, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizer@1255b1d1, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@47da3952, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@28a0fd6c, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@5fb97279, org.springframework.boot.test.context.SpringBootTestAnnotation@3f26d230], resourceBasePath = "src/main/webapp", contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null]
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
TSubclassOf 관련
안녕하세요,TSubclassOf 대신 TObjectPtr을 사용하고 StaticClass()를 할당시킬 수는 없나요?전자는 에디터에서 아키타입을 지정할 수 있었고 후자는 인스턴스를 지정할 수 있었는데, 둘의 명확한 차이를 잘 모르겠습니다.