묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
끝말잇기 제시어 입력 반영 코드 질문
첫번째 순서 사람이 처음 제시어를 작성하고, 이 제시어가 상단 제시어에 나타내게 하는 코드에서 질문이 있습니다. 선생님께서는 const $word =document.querySelector('#word'); 라고 한 후 onClickButton 함수 안 if (!word)에 $word.textContent = word; 를 쓰셨습니다. 그런데 저는 위에 const $word ~ 선언 없이, 바로 onClichButton 함수 안 $word.texTContent 파트에 document.getElementById('word').innerText=word;라고 썼습니다. 이 방식과 선생님께서 알려주신 방식과 비교해보면, const $word ~ 자체가 굳이 필요없다고 느껴지고, 제 코드 한줄이 줄었기에 조금 더 효율적이라고 생각합니다. 혹시 const $word~ 변수 선언을 해준 다른 이유가 있을까요?
-
미해결홍정모의 따라하며 배우는 C++
템플릿 자동 인식 경우
템플릿 타입을 <>로 지정하지 않고, 자동으로 인식할 수 있는 경우는 int, double과 같은 기본 자료형만 해당될까요?
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
순서도 오류
6분 52초에 있는 순서도에 한가지 오류가 있는 것 같습니다. 게임을 시작할 때 첫번째 참가자인지 확인하는 과정에서 첫번째 참가자가 아니라면 '첫번쨰 참가자로 시작해주세요.'라는 alert이 뜨거나 해야하는 거 아닐까요? 첫번쨰 참가자가 아닌 경우, 순서도에서 '입력한 단어가 올바른가?'로 연결되어 문의드립니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
런타임시 에러
안녕하세요 기존에 h2 설정된 프로젝트 경로가 C:\Users\3kofk\study\hello-spring << 이 경로 인데요. 2021-12-09 15:21:57.356 INFO 27972 --- [ main] h.hellospring.HelloSpringApplication : Starting HelloSpringApplication using Java 11.0.9 on Journey-Gon with PID 27972 (C:\Users\3kofk\study\hello-spring\out\production\classes started by Gon_Chang in C:\Users\3kofk\study\hello-spring) 스프링부트 jpa 활용 강의를 하면서 다른 경로에 프로젝트를 생성 했습니다. 2021-12-09 16:17:30.532 INFO 25348 --- [ main] jpabook.jpashop.JpashopApplication : Starting JpashopApplication using Java 11.0.9 on Journey-Gon with PID 25348 (C:\Inflearn_Edu\Java_JPA\jpashop\build\classes\java\main started by Gon_Chang in C:\Inflearn_Edu\Java_JPA\jpashop) 이런 경우 jpashop 런타임 할 경우 h2 찾을수 없다고 에러가 뜹니다. 2021-12-09 16:17:35.934 ERROR 25348 --- [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization. org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database "C:/Users/3kofk/jpashop" not found, either pre-create it or allow remote database creation (not recommended in secure environments) [90149-200] 2021-12-09 16:17:35.935 WARN 25348 --- [ main] o.h.e.j.e.i.JdbcEnvironmentInitiator : HHH000342: Could not obtain connection to query metadata org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database "C:/Users/3kofk/jpashop" not found, either pre-create it or allow remote database creation (not recommended in secure environments) [90149-200] 이런 경우는 h2 설정을 변경해줘야 하나요..? 어떻게 해야 할지 알려 주시면 감사드립니다.
-
해결됨SwiftUI 초급 강의 - 기본 개념 익히기
Picker 요소
안녕하세요 다름이 아니라 Picker 사용하기를 보면서 잘 안되는게 있어서 질문 드립니다. 코드를 그대로 쳤음에도 저한테는 Picker 안의 label 의 텍스트가 화면에는 보이지 않습니다 또한 이 Text 를 VStack 에 넣었음에도 바로 왼쪽으로 붙는것은 따로 설정을 하신게 아닌지 궁금합니다!
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
JsonFilter 오류 문의
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! 강의 수강중에 오류 해결에 대한 내용이 없어 문의 드립니다. User 도메인에 아래 필터를 적용하고 admin이 아닌 /users 조회시 오류가 발생합니다. @Data@AllArgsConstructor@NoArgsConstructor@JsonFilter("userInfo")public class User { private Integer id; @Size(min=2, message = "Name은 2글자 이상 입력하세요.") private String name; @Past private Date joinDate; private String password; private String ssn; } 오류) http://localhost:8088/users { "timestamp": "2021-12-09T07:15:47.368+00:00", "message": "Type definition error: [simple type, class com.ㄱestful.user.User]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot resolve PropertyFilter with id 'userInfo'; no FilterProvider configured (through reference chain: java.util.ArrayList[0])", "details": "uri=/users" }
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
원하는대로 DB에 저장이 안됩니다.ㅠㅠ 어느 부분을 잘못한 것일까요?
@Entity@Getter@Setter@ToStringpublic class Item { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "item_id") private Long id; //아이템 고유번호 @Column(name = "sentence_info") private String sentenceInfo; //문장 정보 @ManyToOne(fetch = LAZY) @JoinColumn(name = "member_id") private Member member; public static Item createItem(Item itemList, Member member) {Item item = new Item(); item.setMember(member); item.setSentenceInfo(itemList.sentenceInfo); return item; }} @Entity@Getter@Setter@ToStringpublic class Member { @Id// @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "member_id") private String memberId; //회원 아이디 private String name; //회원이름 private String email; //이메일 @OneToMany(mappedBy = "member", cascade = CascadeType.ALL, fetch = LAZY) private List<Item> itemList = new ArrayList<>(); //== 연관관계 편의 메서드==// public void setItems(Item item) { itemList.add(item); item.setMember(this); } //==회원가입 ==// public static Member createMember(MemberForm memberForm) { Member member = new Member(); String password = passwordEncoder.encode(memberForm.getPassword()); member.setMemberId(memberForm.getMemberId()); member.setName(memberForm.getName()); member.setEmail(memberForm.getEmail()); return member; }} @Getter@Setter@ToStringpublic class MemberForm { @NotEmpty(message = "아이디는 필수 입력 값입니다.") private String memberId; @NotEmpty(message = "이름은 필수 값 입니다.") private String name; @NotEmpty(message = "이메일은 필수 입력 값입니다.") @Email(message = "이메일 형식에 맞지 않습니다.") private String email;} 위와같이 설정을 하고 @Controller@RequiredArgsConstructorpublic class MemberController { private final MemberService memberService; /** * 회원가입 폼 호출 * * @param model * @return */ @GetMapping("/members/new") public String createForm(Model model) { model.addAttribute("memberForm", new MemberForm()); return "members/createMemberForm"; } /** * 회원가입 * * @param form * @param result * @return */ @PostMapping("/members/new") public String create(@Valid MemberForm form, BindingResult result, Item item) { if (result.hasErrors()) { return "members/createMemberForm"; } memberService.save(form, item); return "redirect:/"; }} @Service@Transactional(readOnly = true)@RequiredArgsConstructorpublic class MemberService { private final MemberRepository memberRepository; private final ItemRepository itemRepository; /** * 회원가입하기 테스트 */ @Transactional public void save(MemberForm form, Item item) { //회원 저장 Member savedMember = Member.createMember(form); //아이템 저장 Item savedItem = Item.createItem(item, savedMember); memberRepository.save(savedMember); System.out.println("SavedFinished"); } /** * 회원가입 * @param member * @return */ @Transactional public String join(Member member) { validateDuplicateMember(member);//중복회원 검증 memberRepository.save(member); return member.getMemberId(); } private void validateDuplicateMember(Member member) { List<Member> findMembers = memberRepository.findByName(member.getMemberId()); //회원수를 카운트 해서 0보다 클 경우에 문제가 있다... 하면 최적화가 될 수 있다. if (!findMembers.isEmpty()) { throw new IllegalStateException("이미 존재하는 회원입니다."); } }} @Repository@RequiredArgsConstructorpublic class MemberRepository { private final EntityManager em; /** * 회원 저장 * @param member */ public void save(Member member) { em.persist(member); }} @Repository@RequiredArgsConstructorpublic class ItemRepository { private final EntityManager em; /** * 저장 * @param item */ public void save(Item item) { em.persist(item); }} 위와같이 설정을 했는데 생각했던대로 동작이 안되서 도저히 이해가 안되서 문의드립니다. 원하는 결과는 1. 회원가입을 한다.2. 회원가입을 할 때 Item 테이블에 있는 항목도 같이 입력을 한다.3. 회원가입 완료 후 회원가입 테이블에 등록한 회원이 저장되고, 관련 Item테이블에도 FK가 설정이 되어있으니 정보가 저장된다.Item테이블이 Many라 (회원 한 명당 Item을 여러개 등록할 수 있어서) ManyToOne을 Item에 넣었고, JoinColumn도 Item에 설정을 하고 PK를 member_id로 설정했습니다.Member는 참조만 되는 테이블이라 OneToMany로 설정하고 mappedBy를 member로 설정했습니다.그리고 연관관계 편의 메서드를 아이템을 저장할 때 회원정보도 저장하게 했습니다.회원가입, 아이템 엔티티에 create~ 메소드를 만들어서 service단에서 저장을 할 수 있도록 설정을 했습니다.제가 어느 부분을 잘못 설정을 했는지 MemberService에서 memberRepository.save~를 호출해서 저장을 하면 생성되는 쿼리에 insert문이 두개가 생성이 됩니다. 어?? 이상하다 해서 MemberService에서 createMember에서 저장한것은 반영이 안된다고 알고 있는데..이상하다고 생각을 해서 혹시나 해서 memberRepository.save~~를 주석처리하면 당연히 저장이 안되고 insert쿼리문도 출력이 안됩니다.(repository 안에 em.persist(~)를 save()에서 호출하기 때문에 save를 반드시 호출해야 저장이 되기때문에 안되는게 당연하겠죠.)궁금한점이..위와같이 소스를 작성할 때 어느부분이 잘못됐는지 DB에 원하는 정보들이 저장이 안되는것과 createMember가 왜 insert쿼리문이 생성이 되는지.. 아니면 제가 잘못 알고있는게 있는지 궁금합니다.(insert쿼리가 두개가 만들어지는게 이해가 안됩니다.)
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
Postman 데이터 연동시 콘솔창 이슈
포스트맨을 이용하여 작성 후, 개발자 메뉴에서 콘솔을 봤을 때, 강사님께서 올려주신 것 처럼 Array(3) 아래 데이터가 나열되지 않고, 다음과 같이 하나의 텍스트?로만 표현이 됩니다. 진행중인 스크립트와 postmon도 이상 없이 따라하고 있었습니다. 혹시 해당 이슈에 대해서 팁이나 조언 부탁드립니다
-
해결됨C#과 유니티, 실전 게임으로 제대로 시작하기 (저자 직강)
안녕하세요. 생성자와 속성의 역할에 대해 질문드립니다.
전 강의와 현재의 코드들을 보고 궁금한 점이 생겨서 질문드립니다. 생성자와 속성의 기능에 대한 질문입니다. Human 클래스안에 속성과 생성자가 둘다 들어있는데 이 강의에서 상속을 예시로 설명하실 때 Name, Height, Age 를 각각 속성으로 설정하시고 Adult, Baby 객체를 만들고 변수에 접근 할 때 속성을 사용하셨는데 그렇다면 생성자는 언제 쓰이고, 왜 필요한 것 인지 모르겠습니다. 그리고 속성의 구조에서 get, set의 기능을 잘 모르겠습니다. 예를 들어 age 변수 값을 설정할때는 tom.Age = 20; 이런식으로 설정하는데 여기서 set 메서드가 작동한다면 value라는 변수는 어떤 역할을 하는것인지 모르겠습니다. value 대신에 아무 단어라도 들어가면 작동하는건가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
안녕하세요 이번 강의에 궁금한 점이 있어 질문 드립니다.
TryDelete에서 popCount를 검사하는 부분에서 이중으로 검사하는 이유가 정말 궁금합니다. 혹시나 다른 수강생도 궁금하셨을까 싶어 찾아보니 이미 질문주신 분이 있어 답변을 보았습니다. 다만 popcount가 1인 것을 검사하고 펜딩 리스트를 분리까지 하였다면 그 이후에 다른 스레드가 어떤 식으로 참견하여도 delete에 방해가 될 수 없다는 생각이 자꾸 듭니다. 분리 이후엔 사실상 popCount가 의미가 없는 것이 아닌지 여쭙고 싶습니다.
-
미해결쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
쿠버네티스에서의 통신
안녕하세요. 강의 잘 보고 있습니다. 쿠버네티스 구성에 대해서 많은 것을 배우고 갑니다. 쿠버네티스 구성은 MSA라고 할 수 있습니다. 그럼, 쿠버네티스 내에서 통신은 어떻게 해야 하는지 궁금합니다. Pod → Pod 호출 Deployments → Deployments 호출 Pod → Deployments 호출 Deployments → Pod 호출 Pod 내 Container → Container 호출 위와 같은 통신은 어떻게 설정을 해야 하는지 궁금합니다. 혹은, 다음 강좌에서 학습을 할 수 있나요? 저의 최종 목표 쿠버네티스에 현재 개발하고 있는 MSA를 로컬에서 셋팅을 하고 싶습니다.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
강의 커리큘럼 관련되서 질문 드립니다.(커리큘럼 관련되서 질문할 곳을 찾지 못해서 ㅠㅠ 여기다 올린점 양해 부탁드려요 ㅠ)
안녕하세요. 커리큘럼 관련되서 질문드리고자 이렇게 글 올립니다. 저는 일단 C++을 사용하는데 있어 큰 무리없이 사용하는 편입니다. (modern c++포함) 반면 C#은 거의 모르는 상태인데요, 강사님 커리큘럼중에 C#을 이용해서 MMORPG를 만드는 커리큘럼도 있던데 아래처럼 병행해서 커리큘럼을 짜도 될지 궁금해서 문의 드립니다. [C#과 유니티로 만드는 MMORPG게임 개발시리즈] Part1, Part3, Part7, Part9 만 듣고, [C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4 이렇게 들어서 일단 Unreal 로 연동하는 강의가 나올때까지, 유니티 2D게임을 C++게임서버에 연동해보고 싶은데요, 굳이 C# 게임서버 제작 강의를 들어야할 필요가 있을까요?? C#으로 게임서버를 만들어야겠다는 생각이 들면 듣겠지만, 지금은 우선 게임 클라이언트 자체를 서버에 연동시키는것(구체적으로 맵을 어떻게 서버에서 처리하고, 스킬이나 hit 판정을 어떤식으로 하는지에 대한 것들)을 목표로 하고 있는데, C#게임서버 강의랑 C++ 게임서버 강의가 겹치는 부분이 많아서 C#게임서버 강의를 통해 들어야할지 고민이 됩니다. 결론으로 C# 강의 Part1, Part3, Part7, Part9 와 C++강의 Part4 이렇게 병행하는데, 무리 없이 커리큘럼을 수행할 수 있는지 궁금합니다. 긴글 읽어주셔서 감사드리며, 항상 좋은 강의 올려주셔서 감사합니다.!!!
-
미해결웹 게임을 만들며 배우는 React
getWinNumbers가 여러번 실행되지 않는데 업데이트된건가요?
콘솔로 getWinNumbers를 찍어보았는데 componentDidMount때 딱 한 번 실행되고 재실행되지 않는 것 같습니다. 제가 코드를 강의와 똑같이 작성한다고 한건데, 혹시 잘못 작성해서 의도와 다르게 작성된 부분이 있어서 그런 것인지 아니면 버전이 업데이트된 것인지 궁금해서 질문 남깁니다! const React = require('react'); const { useState, useRef, useEffect } = React; const Ball = require('./Ball'); function getWinNumbers() { console.log('getWinNumbers'); const candidate = Array(45).fill().map((v, i) => i + 1); const shuffle = []; while (candidate.length > 0) { shuffle.push(candidate.splice(Math.floor(Math.random() * candidate.length), 1)[0]); } const bonusNumber = shuffle[shuffle.length - 1]; const winNumbers = shuffle.slice(0, 6).sort((p, c) => p - c); return [...winNumbers, bonusNumber]; } const LottoHooks = () => { const [winNumbers, setWinNumbers] = useState(getWinNumbers); const [winBalls, setWinBalls] = useState([]); const [bonus, setBonus] = useState(null); const [redo, setRedo] = useState(false); const timeouts = useRef([]); useEffect(() => { for (let i = 0; i < winNumbers.length - 1; i++) { timeouts.current[i] = setTimeout(() => { setWinBalls((prevWinBalls) => [...prevWinBalls, winNumbers[i]]); }, (i + 1) * 1000); } timeouts.current[6] = setTimeout(() => { setBonus(winNumbers[6]); setRedo(true); }, 7000); return () => { // componentWillUnmount timeouts.current.forEach((v) => { clearTimeout(v); }); }; }, [timeouts.current]); const onClickRedo = () => { setWinNumbers(getWinNumbers()); setWinBalls([]); setBonus(null); setRedo(false); timeouts.current = []; }; return( <> <div>당첨 숫자</div> <div id="결과창"> {winBalls.map((v) => <Ball key={v} number={v}/>)} </div> <div>보너스!</div> {bonus && <Ball number={bonus}/>} {redo && <button onClick = {onClickRedo}>한 번 더!</button>} </> ); } module.exports = LottoHooks;
-
미해결홍정모의 따라하며 배우는 C언어
출력 오류가 발생합니다.
강의에서 말씀해 주신 pointer를 이용해서 예제를 작성했는데 첫 줄만 출력되고 둘째줄 부터는 출력이 되지 않습니다. print_books 함수에서 books[1]->name, books[2]->name 등이 접근이 되지 않는데 코드에 무슨 문제가 있는 걸까요? 확인 부탁드립니다. 감사합니다. #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> // strrlen(), strcmp() #include <string.h> // malloc(), free() #define SLEN 100 struct book { char name[SLEN]; char author[SLEN]; }; void print_books(const struct book *books[], int n); int main(void) { struct book* my_books = (struct book*)malloc(sizeof(struct book) * 3); my_books[0] = (struct book){ "a","b" }; my_books[1] = (struct book){ "baa","f" }; my_books[2] = (struct book){ "g","a" }; print_books(&my_books, 3); free(my_books); return 0; } void print_books(const struct book *books[], int n) { for (int i = 0; i < n; i++) printf("Book %d : %s written by %s \n", i + 1, books[i]->name, books[i]->author); }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
hello-static.html 위치가 맞는데도 실행시 오류가납니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]https://github.com/herry215/hello-spring-0.0.1-SNAPSHOT.jar.git 크롬으로 바로 실행하면 잘 출력이 되는데 , localhost:8080/hello-static.html 로 실행하면 실행이 안되네요.. 위의 깃허브 주소에 파일을 올려놨습니다. 무엇이 잘못되었는지 알려주실수 있으신가요ㅠㅜ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
오류가 납니다 ㅠㅠ
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]1, [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' 오류가 나면서 실행이 안되는데 dispatcherServlet설정을 어디서 하나요... 초반에 제가 설치해야 하는 부분을 설치 못한건지 궁금합니다.. 2, 번외로 죄송하지만 콘솔 글꼴을 변경하고싶어서 자주하는 질문에 있는 글을 보고 수정 하였는데도 변경이안되어 혹시 다른 방법 알고계시면 감사하겠습니다 ㅠㅠ 가독성이 너무 떨어져서..인터넷 찾아보고 해도 잘 안되네요..
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
gist 권한 요청
안녕하세요. 강의를 듣고있는 수강생입니다. 아침에(2021.12.09)에 gist 권한을 요청했는데 승인됐는지 확인할 수 없습니다. 인프런 아이디 : bskhan912@gmail.com인프런 이메일 : bskhan912@gmail.com깃헙 아이디 : bskhan깃헙 Username : bskhan-- 수강생 맞는데 자동 로그인 되서 ID가 맞는지 모르겠습니다. 틀리면 알려주세요 확인 부탁드립니다. 제 또다른 e-mail은 bskhan@nate.com입니다. 감사합니다.
-
미해결반응형 웹사이트 포트폴리오(Architecture Agency)
선생님, 수업에는 나오지 않는 부분인데 궁금한게 있어서 질문드립니다.
안녕하세요 선생님! 먼저 선생님 강의를 잘듣고있는 학생입니다. 기본CSS부터 FLEX 그리고 포트폴리오강의까지 너무나 잘듣고 있습니다.^^ 포트폴리오 강의에는 해당 내용이 없는것 같은데 제가 너무 궁금해서 질문드립니다. 요즘 웹페이지를 보면 흔하게 볼수 있더라구요. 페이지가 전환될때나 스크롤을 내리면서 컨텐츠가 보일때 페이드인 되면서 애니매이션이 작동하는 방식이요! 페이지가 전환될때도 페이드아웃되고요. 부드럽게 넘어가는게 고급스러운 느낌을 주더라구요 ^^; (그래서 저도 써보고 싶어서 이리저리 검색해봤는데 며칠째 원하는 답을 찾지못했습니다.ㅜㅜ 그렇게 간단하지 않은것 같더라구요. DOM의 실행순서와 자바스크립트의 연관성이 있어보이던데...) 어떤 코드를 입력해야 구현이 가능한걸까요? 도움주시면 너무 감사하겠습니다!! http://andneeds.co.kr/ (여기웹을 보시면 home에서 shop으로 넘어갈때 애니메이션이 발생합니다. 그리고 shop에서 아래로 스크롤을 하면 애니메이션이 또 발생합니다.)
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
response.sendError와 return ModelAndView 관계
sendError(400) 를 호출했기 때문에 WAS에서 다시 오류 페이지( /error )를 내부 요청한다. 라는 의미는 WAS에서 다시 디스패쳐 서블릿을 통해서 해당 에러를 요청하는 컨트롤러까지 다시 호출된다는 의미로 이해가됩니다. 그런데, sendError를 하면서 return ModelAndView를 하게 되면 이 에러는 resolve되어서 WAS에서는 정상적인 response로 처리된다고 이해를 했습니다. ResponseStatusExceptionResolver.applyStatusAndReason 여기를 보면 이렇게 처리되어있습니다. 하지만 위 글의 첫 문장처럼 sendError를 하게되면 WAS에서는 내부적인 처리를 다시한다고 써있습니다 (dispacterType == ERROR) ModelAndView를 반환해도, sendError를 같이 리턴하게 되면 다시 WAS 내부적으로 호출된다고 이해하면 되나요?
-
해결됨비전공자를 위한 진짜 입문 올인원 개발 부트캠프
한개의 item에 height와width를 설정 상태에서 margin/padding/border등을 주면, item크기가 어떻게 변하나요?
한 개의 item에 height와width를 설정 상태에서 margin/padding/border등을 주면, item크기가 어떻게 변하나요? 예를 들어 #item1의 크기를 height/width를 300px, 300px로 설정하고 padding을 30px로 준다고 하면, 330px, 330px이 되는 건가요? 아니면 300px, 300px은 변하지 않고 안에 padding이 생기는 건가요? 마찬가지로 border, margin을 30px씩 준다면 item1의 크기가 어떻게 변하는지 궁금합니다.