inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

QueryDSL 5.0.0 기준으로 강의 내용을 정리했는데 올바르게 이해한 것일까요?

미해결

실전! Querydsl

searchPageSimple() : 조회 쿼리와 카운트 쿼리를 한번에 실행 searchPageComplex() : 조회 쿼리와 카운트 쿼리를 분리 QueryDSL 5.0.0부터는 fetchResults() 와 fetchCount() 를 deprecated 메서드로 공지함에 따라, 강의 내용처럼 searchPageSimple() 과 searchPageComplex() 를 구분해서 구현할 필요 없이 searchPageComplex() 의 방식으로만 구현하면 됨. @Override public Page<MemberTeamDto> searchWithPaging(MemberSearchCond cond, Pageable pageable) { // 데이터 조회 쿼리 (페이징 적용) List<MemberTeamDto> content = queryFactory .select( new QMemberTeamDto( member.id.as("memberId"), member.username, member.age, team.id.as("teamId"), team.name.as("teamName") ) ) .from(member) .leftJoin(member.team, team) .where( usernameEq(cond.getUsername()), teamNameEq(cond.getTeamName()), ageGoe(cond.getAgeGoe()), ageLoe(cond.getAgeLoe()) ) .offset(pageable.getOffset()) .limit(pageable.getPageSize()) .fetch(); // count 쿼리 (조건에 부합하는 로우의 총 개수를 얻는 것이기 때문에 페이징 미적용) Long total = queryFactory .select(member.count()) // SQL 상으로는 count(member.id)와 동일 .from(member) .leftJoin(member.team, team) .where( usernameEq(cond.getUsername()), teamNameEq(cond.getTeamName()), ageGoe(cond.getAgeGoe()), ageLoe(cond.getAgeLoe()) ) .fetchOne(); return new PageImpl<>(content, pageable, total); } 이 때, total 을 아래와 같이 구할 수도 있지만 long total = queryFactory .selectFrom(member) .leftJoin(member.team, team) .where( usernameEq(cond.getUsername()), teamNameEq(cond.getTeamName()), ageGoe(cond.getAgeGoe()), ageLoe(cond.getAgeLoe()) ) .fetch() // 조건에 부합하는 전체 데이터를 조회 (List) .size(); // List의 길이로 total을 구하기 count 함수는 SQL 차원에서 지원하기 때문에 굳이 이렇게 전체 데이터를 받아온 뒤에 애플리케이션 레벨에서 별도로 size() 를 호출해서 구할 필요 없고, 처음부터 카운트 쿼리를 호출하는 것이 나음. 이유는 전체 데이터를 불러오고 나서 size() 로 구하는 방식은 영속성 컨텍스트에 데이터를 전부 받아온 뒤에 개수를 따로 세는 것이기 때문에 불필요하게 메모리를 잡아먹기 때문. total 을 구하는 방식에 대한 내용은 강의에 언급되지 않았기 때문에 제가 따로 검색해보고 내린 결론입니다. 제가 생각한 것이 맞는지 궁금합니다. 이외에도 잘못된 부분이 있다면 지적해주시면 감사하겠습니다.

  • java
  • jpa
이현준 댓글 1 좋아요 18 조회수 2403

안녕하세요. 람다에서 외부변수를 사용하는 Closure관련해 궁금해 질문드려요.

미해결

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

안녕하세요. 먼저 질좋은 강의 만들어주시고 제공해주셔서 감사드려요! 강의중 Closure가 자바와 다르게 final이 아닌 var변수를 람다안에서 값을 변경가능한것까지 이해하였습니다. 다른 궁금증이 하나 생겨서요. Closure가 람다를 진입하기전 변수를 포획해서 진행한다고 하셨는데, 이는 동시성 문제로부터 자유롭나요?

  • java
  • kotlin
  • 객체지향
클래식 댓글 1 좋아요 3 조회수 507

회원가입 폼 기능 추가

해결됨

[코드캠프] 시작은 프리캠프

안녕하세요 이제 마지막 파이널 과제를 하고 있고, 기능 추가를 위하여 고민하는데 어떻게 event 값을 반환해야 할 지 감이 안 와서 여쭤봅니다. 제가 추가하고자 하는 기능의 흐름은 // 1. 핸드폰 번호 작성 시에 알아서 옆으로 커서 넘어가도록 만들기. // 2. 비밀 번호와 비밀 번호 확인이 일치하는 경우에 인증번호 전송 가능해지기. // 3. 전송 누르면 인증 번호가 화면에 표시되고, 3분 카운트가 시작된다. 그리고 인증 완료 버튼이 활성화된다. // 4. 3분이 지나면 인증 완료 버튼이 비활성화된다. 이 과정을 통하고 싶어서 2개의 비밀번호 칸에 각각 함수를 생성하여 비밀번호 값을 받아오게 한 뒤에 sendNum 함수에서 2개의 비밀번호 값을 비교하여 동일한 경우에만 인증번호 전송을 가능하게 하고 싶습니다. 그리고 다른 경우에는 alert를 이용하여 비밀번호를 확인하라는 창을 띄우려고 하는데, 비밀번호 값을 얻어내는 함수 pw1 값 꺼내서 어떻게 sendNum 함수에 넣어야 할 지 잘 모르겠습니다... ㅠㅠ 코드 올리겠습니다. 감사합니당..! <!DOCTYPE html> <html lang="ko"> <head> <title>코드캠프 회원가입</title> <link rel="stylesheet" href="./signup.css" /> <script src="./signup.js" defer></script> </head> <body> <div class="container"> <div class="wrapper"> <div class="wrapper__header">코드캠프 회원가입</div> <div class="wrapper__body"> <div class="body__info"> <input type="email" placeholder="이메일을 입력해 주세요." /> <input type="text" placeholder="이름을 입력해 주세요." /> <input type="password" placeholder="비밀번호를 입력해 주세요." id="pw1" onchange="changeValue(event)" /> <input type="password" placeholder="비밀번호를 다시 입력해 주세요." id="pw2" /> <div class="phone"> <input type="text" class="phone__first" maxlength="3" id="p1" oninput="moveCursorFirst()" /> - <input type="text" class="phone__mid" maxlength="4" id="p2" oninput="moveCursorSec()" /> - <input type="text" class="phone__last" maxlength="4" id="p3" /> </div> </div> <div class="body__certificate"> <div class="certificate__send"> <div class="certificate__num" id="certificate__num">000000</div> <button class="send__num" onclick="sendNum()" id="send__num"> 인증번호 전송 </button> </div> <div class="certificate__complete"> <div class="remaining"> <span id="remaining__min">3</span>: <span id="remaining__sec">00</span> </div> <button class="complete__btn" id="complete__btn" disabled> 인증 완료 </button> </div> </div> <div class="body__addition"> <select name="region"> <!-- selected + disabled 같이 이용하면 된다. --> <option value="" selected disabled>지역을 선택하세요.</option> <option value="gg">경기도</option> <option value="seoul">서울</option> <option value="ic">인천</option> </select> <div class="sex"> <div class="women"> <input type="radio" id="women" name="sex" /> <label for="women">여성</label> </div> <div class="men"> <input type="radio" id="men" name="sex" /> <label for="men">남성</label> </div> </div> </div> </div> <div class="divideLine"></div> <div class="wrapper__footer"> <button class="submit">가입하기</button> </div> </div> </div> </body> </html> // 1. 핸드폰 번호 작성 시에 알아서 옆으로 커서 넘어가도록 만들기. // 2. 비밀 번호와 비밀 번호 확인이 일치하는 경우에 인증번호 전송 가능해지기. // 3. 전송 누르면 인증 번호가 화면에 표시되고, 3분 카운트가 시작된다. 그리고 인증 완료 버튼이 활성화된다. // 4. 3분이 지나면 인증 완료 버튼이 비활성화된다. // 1. 핸드폰 번호 작성 시에 알아서 옆으로 커서 넘어가도록 만들기. const moveCursorFirst = () => { const p1 = document.getElementById("p1"); if (p1.value.length === 3) { document.getElementById("p2").focus(); } }; const moveCursorSec = () => { const p2 = document.getElementById("p2"); if (p2.value.length === 4) { document.getElementById("p3").focus(); } }; // 아직 해결하지 못 함. 비밀번호 가지고 나와야 된다. const changeValue = (event) => { let pw1 = event.target.value; return pw1; }; // 2. 비밀 번호와 비밀 번호 확인이 일치하는 경우에 인증번호 전송 가능해지기. let isStarted = false; const sendNum = () => { // 2. 타이머 실행시키기. let time = 5; let isDisabled = document.getElementById("complete__btn"); if (isStarted === false) { isStarted = true; isDisabled.removeAttribute("disabled"); // 비활성화 끄기. // 1. 6자리 수의 인증 번호 생성하고 화면에 보여주기. let certificateNum = document.getElementById("certificate__num"); let number = String(Math.floor(Math.random() * 1000000)).padStart(6, "0"); certificateNum.innerText = number; let timer = setInterval(function () { // 타이머가 실행되는 경우 if (time >= 0) { const remainingMin = Math.floor(time / 60); const remainingSec = String(time % 60).padStart(2, "0"); // console.log(`${remainingMin}분 ${remainingSec}초`); const min = document.getElementById("remaining__min"); const sec = document.getElementById("remaining__sec"); min.innerText = remainingMin; sec.innerText = remainingSec; time = time - 1; } else { // console.log("타이머가 종료되었습니다."); // 타이머를 종료시키는 경우 isDisabled.setAttribute("disabled", ""); // 비활성화 켜기. clearInterval(timer); isStarted = false; } }, 1000); } else { } };

  • HTML/CSS
  • javascript
xudegloss 댓글 1 좋아요 0 조회수 755

아톰 홈페이지가 안나와요.. 서비스 종료됐다는데

미해결

인터랙티브 웹 개발 제대로 시작하기

오늘 강의 처음듣는데 아톰홈페이지가 안뜹니다 ㅠ 30일 무료 라고 해도 깃허브같은것만뜨는데 찾아보니 서비스가 종료됐대요 얼마전에,, vs code로 해도 상관없는건가요?ㄷㄷ ㅠ - 질문에 대한 답변은 강의자가 하는 경우도 있고, 수강생 여러분들이 해주시는 경우도 있습니다. 같이 도와가며 공부해요! :) - 작성하신 소스코드 자체의 오류보다는, 개념이나 원리가 이해되지 않는 부분을 질문해주시는게 좋습니다. 그대로 따라했는데 소스코드에서 버그가 나는 경우는 99%가 오타에 의한거라서, 완성된 소스랑 찬찬히 비교해보시면 직접 찾으실 수 있을 거예요. 개발자도구 console에 오류로 표시된 부분만 완성 코드에서 복사->붙여넣기를 해보시는 것도 방법입니다. - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • HTML/CSS
  • javascript
  • 인터랙티브-웹
oilater 댓글 1 좋아요 0 조회수 625

안녕하세요 회원 가입 과제 수행 중 어려운 부분이 있어서 질문 드립니다

해결됨

[코드캠프] 시작은 프리캠프

과제 진행 상태는 이러합니다. 이번에 강의를 보며 처음 입문하게 되어, 부족한 부분이 너무 많다보니 어떤 부분을 수정하면 좋을지 혼자서는 감이 안잡히더라고요. 제가 보았을 땐 라디오 박스와 체크박스는 너무 미숙해 보이고 폰트 사이즈 수정도 잘 안되더라고요, 다른 부분도 완성도가 좋진 않은 것 같아서 피드백을 여쭙고 싶어요. 좋은 강의 알게되어 잘 배우고 있습니다 감사합니다. <!DOCTYPE html> <html lang="ko"> <head> <title>회원가입과제</title> <link rel="stylesheet" href="./03-homework.css"> </head> <body> <div class="pb1"> <p></p><p></p> <div class="A1"><h2>회원 가입을 위해 <br>정보를 입력해주세요</h2></div><p></p> <input class="B1" style="border-color: #AACDFF;" type="text" placeholder="* 이메일"><br> <input class="B1" type="text" placeholder="* 이름"><br> <input class="B1" type="password" placeholder="* 비밀번호"><br> <input class="B1" type="password" placeholder="* 비밀번호 확인"><br> <div><p></p> <input class="C1" type="radio" name="gender">여성 <input class="C1" type="radio" name="gender">남성 </div><p></p> <input class="D1" type="checkbox">이용약관 개인정보 수집 및 이용, 마케팅 활용 선택에 모두 동의합니다. <p><br></p> <div class="E0"> <button class="E1">가입하기</button> </div> </div> </body> </html> CSS 파일 * { box-sizing: border-box; } body { display: flex; justify-content: center; } .pb1 { width: 670px; height: 960px; border: 1px solid #AACDFF; border-radius: 20px; box-shadow: 7px 7px 39px rgba(0, 104, 255, 0.25); display: flex; flex-direction: column; align-items: center; } .A1 { width: 466px; height: 94px; color: #0068FF; } .B1 { width: 466px; height: 80px; padding-bottom: 40px; border: 0px; border-bottom: 1px solid #CFCFCF; } .C1{ width: 20px; height: 19.95px; border: 1px solid #D2D2D2; } .D1 { width: 419px; height: 20px; padding-bottom: 40px; border: 0px; border-bottom:1px solid #CFCFCF; } .E0 { width: 470px; height: 70px; padding-top: 30px; border: 0px; border-top:1px solid #CFCFCF; } .E1 { width: 470px; height: 75px; border: 2px solid #AACDFF; border-radius: 10px; background-color: white; font-size: large; font-weight: 500; color: rgb(27, 106, 252); }

  • HTML/CSS
  • javascript
jihunpark3 댓글 1 좋아요 1 조회수 535

Scanner, FileReader, BufferedReader 등 각각의 차이점 및 섹션 14. 퀴즈 #13의 호출 순서와 관련된 질문입니다...ㅎ

해결됨

나도코딩의 자바 기본편 - 풀코스 (20시간)

안녕하세요, 나도코딩 선생님...ㅎ 동영상 강의들 중 섹션 14. 입출력과 파일을 보다가 궁금증이 생겨서 질문을 하게 되었습니다...ㅎ (1) 섹션 14. 입출력과 파일을 공부하면서, 파일을 읽는 여러 가지 방법들을 접하고 있습니다. 공부하면서 BufferedReader, FileReader, Scanner등 여러 가지 방법들이 있는데, 이들은 어느 때 쓰이는 것이 가장 좋은가요? 예를 들면, BufferedReader는 큰 용량의 파일을 읽는데 적합하다 던가, 아니면 Scanner는 키보드 입력을 받는 것 외에도 파일을 읽고자 할 때, FileReader와 같은 역할을 한다 이런거요! 만약 어느 한 텍스트 파일을 읽고자 할 때, Scanner를 예로 들면, 이렇게 코드를 적어볼 수 있을까요? 모든 건 이미 import가 있다고 가정하고 작성해봤습니다...ㅎ: ... // 이전 코드 생략 try { File file = new File("testing.txt"); Scanner scanner = new Scanner(file); while(scanner.hasNext()) { System.out.println(scanner.next()); // 여기서 만약에 여러 줄들로 이루어진 텍스트에서 한 글자씩 따오려면, // 이전에 문자열 관련 질문 처럼 scanner.next().charAt을 쓰나요? } scanner.close(); } catch (FileNotFoundException e1) { e1.printStackTrace(); // 예외 처리 1 } catch (IOException e2) { e2.printStackTrace(); // 예외 처리 2 } (2) 섹션 14에 있는 퀴즈 #13과 관련된 질문입니다! 제가 try문 안의 String input; scanner의 호출 스택(순서)을/를 제대로 이해했는지 알고 싶습니다...ㅎ ... // 이전 코드 생략 Scanner scanner = new Scanner(System.in); try (BufferedReader br = new BufferedReader(new FileReader("saying.txt"))) { ... // 퀴즈 시작 및 제목 출력 String quiz; String answer; String input; while (true) { quiz = br.readLine(); answer = br.readLine(); if (quiz == null || answer == null) { break; } System.out.println(" (문제) " + quiz); System.out.println(" (답 입력) "); input = scanner.next(); ... // input.equal(answer), if-else문 생략 } ... } catch (IOException e) { e.printStackTrace(); // 예외 처리 } 여기 이 코드에서, quiz랑 answer는 1줄 1줄 br.readLine();을 통해 단어 및 문장들을 인식하는 반면, 입력하는 답안의 경우에는 우선 try문 안에서 String input;을 선언하고, 대입 연산자 = 를 통해 .next();로 입력을 받은 다음, string으로 선언된 input을 .equal();로 입력받은 값과 정답을 비교하여 최종 결과를 출력하는 건가요? 프로그래밍 언어를 공부하다보니 여러 질문들과 궁금증이 많이 쌓이는데, (특히 최근에 들어선 더 많아졌네요...ㅎ) 그 때마다 제 궁금증을 답글을 통해 잘 해소줘서 진심으로 감사합니다..ㅎ :)

  • java
  • 객체지향
  • 파일
  • file
  • 입출력
  • input
  • output
댓글 1 좋아요 1 조회수 957

../ 을 통한 상위 폴더로의 이동없이 어떻게 <img src="images/icons/logo.png />만으로 사진을 불러오신건가요

미해결

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

../ 을 통한 상위 폴더로의 이동없이 어떻게 <img src="images/icons/logo.png />만으로 사진을 불러오신건가요? 제가 앞에 ../을 붙이지 않았을 경우에는 그림이 제대로 불러와지지 않습니다 <img src="../images/icons/logo.png />를 해야만 정상적으로 사진이 불러와 집니다

  • HTML/CSS
  • javascript
  • react
  • node.js
  • react-native
  • 머신러닝
  • express
  • tensorflow
tostarmk 댓글 1 좋아요 1 조회수 422

생성자 안에 메소드...?!

해결됨

나도코딩의 자바 기본편 - 풀코스 (20시간)

안녕하세요, 선생님...ㅎ 갑작스럽게 생각난 질문인데요...ㅎ 제가 예시로 아래처럼 클래스를 만들어 봤는데, 혹시 상속받은 클래스의 super(); 생성자 안에 이렇게 메소드도 넣을 수 있나요? 자바를 공부하면서 지금 여러 소스 코드들을 보고 있는데, 어느 소스코드는 super(); 생성자 안에 메소드를 집어 넣은 경우가 있더라구요?! 만약에 이렇게 만들 수 있다면, 언제 어느 때 가능할까요? 클래스는 정말 제가 생각나는대로 적어서 컴파일 에러 같은 건 생각하지 않았습니다. 부디 너그럽게 봐주셨음 합니다...ㅎ class Kid extends SomethingAwesome { Kid(int age) { super(comment(age)); // super() 생성자 안에 comment메소드 삽입 } public String comment(int age) { String saySometing = ""; if (age > 3 && age < 7) { saySomething += "엄마, 과자 사줘!"; } else if (age >= 7 && age < 11) { saySomething += "엄마, 이젠 로보트 사줘!"; } return saySomething; } public static void main(String[] args) {...} // 메인 메소드 실행 } 또한 일반적인 생성자 (Constructor)를 만들 때도, 생성자 안에 전달 값외에도 메소드를 넣을 수 있는가요? 이것도 마찬가지로 위에 예시로 코드를 적은 것 처럼 제 나름대로...ㅎ 써봤습니다...ㅎ 위의 예시 처럼 정말로 생성자 안에 메소드를 넣는게 가능한지 궁금해서 약간 무리수를 두면서(?) 코드를 적어봤습니다..ㅎ 이것도 너그럽게 봐주세요...ㅎ 감사합니다 : ) class ThankYouNote { // 제가 생각해도 좀 많이 이상하지만, // 메소드를 이렇게 선언해서 do = thanks(); // this.do = do; 이렇게는 많이 무리수죠? ㅠㅠ // 저렇게 위 클래스 처럼 super 생성자 안에 메소드를 넣는건 처음봐요 ㅠㅠ ThankYouNote() { thanks(); // this(thanks()); // 너무 많이 무리수 인듯하지만 일단 적어봤습니다...ㅠㅜ } public void thanks() { System.out.println("나도코딩 선생님, 감사합니다. :)"); } public static void main(String[] args){ ... } // 메인 메소드 실행 }

  • java
  • 객체지향
  • 생성자
  • 상속
  • super
  • this
  • 메소드
  • method
댓글 2 좋아요 0 조회수 1165

PhantomReference 가 소멸되는 시점을 보는 코드 부분이 약간 이상한것 같습니다.

미해결

이펙티브 자바 완벽 공략 1부

public class PhantomReferenceExample { public static void main(String[] args) throws InterruptedException { BigObject strong = new BigObject(); ReferenceQueue<BigObject> rq = new ReferenceQueue<>(); BigObjectReference<BigObject> phantom = new BigObjectReference<>(strong, rq); strong = null; System.gc(); Thread.sleep(3000L); // TODO 팬텀은 유령이니까.. // 죽었지만.. 사라지진 않고 큐에 들어갑니다. System.out.println(phantom.isEnqueued()); Reference<? extends BigObject> reference = rq.poll(); BigObjectReference bigObjectCleaner = (BigObjectReference) reference; bigObjectCleaner.cleanUp(); reference.clear(); } } 위에 코드에서 커스텀하게 만든 BigObjectReference 로 형변환을 하고 cleanUp을 따로 호출 하는 부분이 이해가 잘 가지 않습니다. cleanUp 메서드도 단순히 출력만하는데 굳이나 상속을 받아서 커스텀하게 만든 형태가 만든게 무의미한 것 같습니다. 기선님이 의도한 소멸되는 시점을 확인하고자 하면 아마 아래와 같이 clear 메서드를 오버라이딩하는게 좀 더 맞지 않나 조심 스럽게 의견을 내봅니다. public class BigObjectReference<BigObject> extends PhantomReference<BigObject> { public BigObjectReference(BigObject referent, ReferenceQueue<? super BigObject> q) { super(referent, q); } @Override public void clear() { super.clear(); System.out.println("clean up"); } } public class PhantomReferenceExample { public static void main(String[] args) throws InterruptedException { BigObject strong = new BigObject(); ReferenceQueue<BigObject> rq = new ReferenceQueue<>(); BigObjectReference<BigObject> phantom = new BigObjectReference<>(strong, rq); strong = null; System.gc(); Thread.sleep(3000L); // TODO 팬텀은 유령이니까.. // 죽었지만.. 사라지진 않고 큐에 들어갑니다. System.out.println(phantom.isEnqueued()); Reference<? extends BigObject> reference = rq.poll(); reference.clear(); } } 출력화면

  • java
정권호 댓글 2 좋아요 1 조회수 582

box-sizing을 전체선택자에 주면 안되나요

미해결

[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드

다음과 같이 box-sizing을 전체선택자에 줄경우 크롬에선 적용이 되고 엣지에선 적용이 안되는데 *{ margin: 0; padding: 0; box-sizing: border-box; } (각 div 영역에 box-sizing:border-box줄때는 됩니다.) 웹디자인 기능사에선 크롬,엣지,익스플로러(이제 익스플로러는 퇴출이겠지만..?) 동일하게 출력되어야 할거 같은데.... 결론적으로 전체선택자에 box-sizing:border-box를 주면 안되는걸까요? 아래 캡처화면은 크롬과 엣지에서 실행시킨 결과입니다. 엣지 화면 크롬 화면 전체 코드입니다. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="css/style.css"> </head> <body> <div class="container"> <header> <div class="logo"> </div> <nav> <ul> <li>menu1</li> <li>menu2</li> <li>menu3</li> <li>menu4</li> </ul> </nav> </header> <div class="slide"> <div></div> </div> <div class="items"> <div class="notice"> </div> <div class="banner"> </div> <div class="link"> </div> </div> <footer> <div class="logo2"> </div> <div class="copyright"> </div> <div class="sns"> </div> </footer> </div> <!-- <script src="https://code.jquery.com/jquery-3.6.3.min.js" integrity="sha256-pvPw+upLPUjgMXY0G+8O0xUf+/Im1MZjXxxgOcBQBXU=" crossorigin="anonymous"></script> --> <script src="script/jquery-1.12.4.js"></script> <script src="script/custom.js"></script> </body> </html> *{ margin: 0; padding: 0; box-sizing: border-box; } .container{ border: 1px solid hotpink; width: 1200px; height: 700px; margin: auto; } header{ width: 1200px; height: 100px; border: 1px solid green; } header .logo{ width: 200px; height: 100px; border: 1px solid yellow; float: left; } header nav{ width: 600px; height: 100px; border: 1px solid blue; float: right; } header nav ul { } .slide{ } .slide div{ border: 1px solid green; height: 300px; } .items{ overflow: hidden; } .items div{ border: 3px solid purple; height: 200px; float: left; box-sizing: border-box; } .notice{ width: 500px; } .banner{ width: 350px; } .link{ width: 350px; } footer{} footer div{ border: 2px solid blue; height: 100px; float: left; box-sizing: border-box; } .logo2{ width: 200px; } .copyright{ width: 800px; } .sns{ width: 200px; }

  • HTML/CSS
  • jquery
  • 웹-디자인
lipper2501 댓글 1 좋아요 1 조회수 550

자바의 메소드 (Method), return, 전달 값(Parameter)가 갑자기 헷갈립니다...ㅎ

해결됨

나도코딩의 자바 기본편 - 풀코스 (20시간)

안녕하세요, 다름이 아니라 제가 메소드 (Method), 전달 값 (Parameter), return 개념을 공부하는 도중, 갑작스레 개념이 헷갈려서 이렇게 글을 남깁니다. 나도코딩 자바편에 나온 동영상 강의와 함께, 커뮤니티에도 등록된 글을 보면서 다시 한 번 복습을 하고 있는데요...ㅎ String getAddress(){ return "서울시 어딘가"; } 이제 전달 값, 그러니까 Parameter가 없는 메소드인 경우, 그냥 위와 같이 return으로 문장을 출력하는 반면에, 갑작스레 parameter와 return이 함께 있는 메소드가 헷갈리더라구요...ㅎ (반환 타입) 메소드 이름 (전달값1, 전달값2, ...) { 반환 값 선언 // 예시 : int result = 0 // 메소드가 수행하는 여러 명령문들 수행 동작 1; // 괄호 안의 전달 값들을 사용 및 동작 수행 수행 동작 2; // 전달 값1, 2들을 이용하여 수행 2 수행 동작 3; // 전달 값1, 2들을 이용하여 수행 3 ... return 반환 값; // return result - 결과 값 반환 } int add (int x, int y) { int result = x + y; // 이미 int result = 0;을 내포함 return result; } 제가 위의 메소드들에서 이해 한 부분은 (혹시 몰라서 다른 예시도 들고 왔습니다..ㅎ), void를 제외한 나머지 자료형 타입 (String, int 등...)들은 return을 가지고, 이 때 return을 하는 것은 반환 값이 되는데, 여기서 return 반환 값은 이미 이전에 괄호 안의 전달 값들을 이용하여, 수행 동작들을 마친 다음 반환 값을 저장하는 과정으로 이해하는 게 맞을까요? 이렇게 메소드가 수행 된 다음엔, main 메소드에서 참조변수를 통해 수행되는 과정으로 최종 결과를 출력하는 거구요...ㅎ 이렇게 이해하는게 올바르게 이해 한 것일까요? (반환 타입) variable = 메소드 이름(); System.out.println(variable); System.out.println();을 쓰는게 일반적이진 않지만, (다른 메소드를 불러서 처리하거나, 아니면 메소드 안에 이미 print문이 저장되어 있을 수도 있기 때문에) 제 스스로 이해를 돕기 위해서 일련의 과정을 위에 나온 것처럼 제 나름대로 정리해봤습니다. 또한 프로그래밍 공부를 계속하면서, 객체 지향 프로그래밍언어(OOP)의 기초 부분에서 가끔 헷갈릴 때가 있는데 (평상시에는 잘 씀에도 불구하고,) 그 때 마다 좋은 답글을 남겨주셔서 감사합니다. 덕분에 어려운 Java 프로그래밍 공부 잘 헤쳐 나가고 있습니다 :) 다시 한 번 감사합니다 :)

  • java
  • 객체지향
  • method
  • 메소드
  • return
  • 반환값
  • 전달값
  • parameter
댓글 2 좋아요 0 조회수 2174

질문있습니다

미해결

반응형 웹사이트 포트폴리오(App Official Landing Website)

사진과 같이 award-list 가 한화면에 한그룹씩 3개의 슬라이드를 구현하려고 하는데요 슬릭슬라이더 를 입력하니까 구조감이 깨져버립니다. 어떤게 문제인지 봐주시면 감사하겠습니다. <!--section : award --> <section class="award"> <div class="award-inner"> <h3 class="title">AWARDS</h3> <div class="award-cont"> <ul class="award-list"> <li class="list-item"> <p class="award-tit"> 2018 경상북도 건축문화상 최우수상<br> 2019 한국건축문화대상 우수상 </p> <span class="award-txt"> 다산면 행정복합타운 </span> <a href="#none"> <span class="read-more-btn"> <em>read more</em> </span> </a> </li> <li class="list-item"> <p class="award-tit"> 2019 한국문화공간상<br> 2018 김해건축대상 대상 </p> <span class="award-txt"> 김해 서부문화센터 </span> <a href="#none"> <span class="read-more-btn"> <em>read more</em> </span> </a> </li> <li class="list-item"> <p class="award-tit"> 2016 청주시 아름다운 건축상 은상 </p> <span class="award-txt"> 한국전력공사 충북본부 사옥 </span> <a href="#none"> <span class="read-more-btn"> <em>read more</em> </span> </a> </li> <li class="list-item"> <p class="award-tit"> 2017 한국문화공간상<br> 2016 한국건축문화대상 우수상<br> 2016 경상북도 건축문화상 대상 </p> <span class="award-txt"> 고령군 문화체육복지관 </span> <a href="#none"> <span class="read-more-btn"> <em>read more</em> </span> </a> </li> <li class="list-item"> <p class="award-tit"> 2015 한국건축문화대상 우수상 </p> <span class="award-txt"> 서울대학교 치의학대학원 첨단교육연구복합단지 </span> <a href="#none"> <span class="read-more-btn"> <em>read more</em> </span> </a> </li> <li class="list-item"> <p class="award-tit"> 2012 서울시 건축상 우수상 </p> <span class="award-txt"> 올림픽홀 복합문화공간 </span> <a href="#none"> <span class="read-more-btn"> <em>read more</em> </span> </a> </li> </ul> <ul class="award-list"> <li class="list-item"> <p class="award-tit"> 2011 경주시 건축상 금상 </p> <span class="award-txt"> 월성스포츠센터 </span> <a href="#none"> <span class="read-more-btn"> <em>read more</em> </span> </a> </li> <li class="list-item"> <p class="award-tit"> 2011 제주건축문화대상 본상 </p> <span class="award-txt"> 한전 제주지사 사옥 </span> <a href="#none"> <span class="read-more-btn"> <em>read more</em> </span> </a> </li> <li class="list-item"> <p class="award-tit"> 2013 경주시 건축상 금상 </p> <span class="award-txt"> 한국원자력환경공단 환경친화단지 방문객센터 </span> <a href="#none"> <span class="read-more-btn"> <em>read more</em> </span> </a> </li> <li class="list-item"> <p class="award-tit"> 2018 경상북도 건축문화상 최우수상<br> 2019 한국건축문화대상 우수상 </p> <span class="award-txt"> 서울대학교 의과대학 의생명과학관 </span> <a href="#none"> <span class="read-more-btn"> <em>read more</em> </span> </a> </li> <li class="list-item"> <p class="award-tit"> 2007 부산다운 건축상 우수디자인 건축물부분 동상<br> 2007 이원 환경 건축,조경대상 환경건축대상 </p> <span class="award-txt"> 신고리 원자력 지역협력시설 </span> <a href="#none"> <span class="read-more-btn"> <em>read more</em> </span> </a> </li> <li class="list-item"> <p class="award-tit"> 2004 한국건축문화대상 우수상 </p> <span class="award-txt"> 서울대학교 이공계 멀티미디어 강의동 </span> <a href="#none"> <span class="read-more-btn"> <em>read more</em> </span> </a> </li> </ul> <ul class="award-list"> <li class="list-item"> <p class="award-tit"> 2007 경상남도 건축대상 은상<br> 2005 대한민국 토목, 건축대상 최우수상 </p> <span class="award-txt"> 김해 문화의 전당 </span> <a href="#none"> <span class="read-more-btn"> <em>read more</em> </span> </a> </li> </ul> </div> </div> </section> /*css*/ /*section - award*/ .award-inner { margin: auto; padding: 130px 0 0; } .award-cont { width: 1300px; padding: 50px; margin: 0 auto; justify-content: center; } .award-cont ul { width: 1200px; height: 565px; margin: auto; border: 1px solid red; } .award-cont li { float: left; width: 33.3333%; height: 30vh; border: 1px solid blue; } /* Slick Slider : award */ $(document).ready(function(){ $('.award-list').slick({ dots: false, infinite: true, speed: 300, slidesToShow: 1, adaptiveHeight: true }); });

  • HTML/CSS
  • jquery
  • 반응형-웹
황재중 댓글 1 좋아요 1 조회수 565

결과 페이지 만들기 -js편 execCommand를 더이상 지원하지 않습니다.

미해결

<M.B.I.T> 테스트 페이지 만들기! with Django

프론트엔드 마지막편을 보고 있는데 더이상 execCommand 명령어를 지원하지 않는다고 하여 다른 명령어를 찾아봤는데 옳은 코드 인가요? 현재 url을 복사하는 함수를 작성한 것입니다. function copyUrl(){ let url = window.location.href; navigator.clipboard.writeText(url) .then(()=>{ alert('URL을 클립보드에 복사했습니다.'); }); }

  • HTML/CSS
  • javascript
  • django
현겸 댓글 1 좋아요 0 조회수 1582

수업시 사용하는 툴이 궁금합니다.

미해결

쉽고 빠른 스타일링 Tailwind CSS 기초 가이드

수업시 사용하는 툴이 궁금합니다. 윈도우에서 강의 하실때 사용하시는 그리기 툴 이름 알 수 있을까요?

  • HTML/CSS
김형 댓글 2 좋아요 0 조회수 502

loginProcessingUrl 절대경로 상대경로 차이점

미해결

스프링 시큐리티

3) Form Login 인증 강의처럼 코드 작성하였는데 로그인이 안되고 계속 /login 페이지로 이동해서 코드를 자세히 보니 경로 설정이 잘못되었더군요. .loginProcessingUrl("/login_proc") 위 코드로 정상적으로 로그인이 되는데 경로를 슬래쉬를 붙이지 않고 'login_proc' 으로만 넣어주니까 로그인 먹통이었습니다. 혹시 어떤 이유에서 그런지 문의드려도 될까요? 아래처럼 태그를 보면 어차피 루트에서 이동하는건데 슬래쉬가 있고 없고의 차이점이 궁금하네요. 감사합니다. <form class="form-signin" method="post" action="login_proc">

  • java
  • Spring Security
  • spring-security
  • spring-boot
원데이 댓글 1 좋아요 0 조회수 1466

mysql 1064에러

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] h2말고 기존 mysql을 설치한게있어 heidisql을 이용하여 강의자료 코드 복붙하였습니다. 계속 1064 신택스 에러가 떠서 찾아봐도 해결이 되지않아 직접 생성했는데 아래처럼 해도 상관없나요?

  • spring
  • java
  • MVC
  • spring-boot
나마스테 댓글 1 좋아요 0 조회수 622

tfjs-node 안깔려서

미해결

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

tfjs-node 안깔려서 해보라고 하는거 해보다가 잘 되던 nodemon server.js 도 안되고 뭐가 잘못됐는지 모르겠습니다. 빨리 마무리하고 싶은데 답답하네요 강의 업데이트 좀 해주셨으면 좋겠는데 생각 없으신가요

  • react-native
  • 머신러닝 배워볼래요?
  • nodejs
  • tensorflow
  • HTML/CSS
  • express
  • react
  • javascript
exwhite 댓글 1 좋아요 0 조회수 1132

getter setter 질문

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 마지막 8분 22초에서 System.out.println 으로 member의 getName을 찍어서 확인하는데 Form html에서 input name을 name="name"이 아닌 name="asd"로 변경후 Form class에서도 private String name을 private String asd로 바꾸고 getter에서 return도 name->asd로 변경했습니다 이때 메서드명은 getName() 그대로 남겼는데 sout(시스템아웃프린트)로 찍어보니까 null이 뜹니다. 메서드명을 getAsd()로 바꾸니까 정상적으로 작동이 되구요 게터와 세터 메서드명을 꼭 변수의 이름과 맞춰야하는건가요? 이유가뭔가요?

  • spring-boot
  • spring
  • java
  • MVC
나마스테 댓글 1 좋아요 0 조회수 501

JDK 설치(해결완료 )

미해결

나도코딩의 자바 기본편 - 풀코스 (20시간)

설치부터 막히네요 ㅎㅎ 일단 echo로 시작하는 두 문장은 터미널에 붙여 넣고 실행했습니다. 그리고 brew help 터미널에 적고 다음으로 brew tap adoptopenjdk/openjdk 실행했습니다. brew search jdk한 후 brew install --cask adoptopenjdk8했는 데 오류가 뜨네요. 이유를 모르겠습니다.

  • java
  • oop
크레이지핫독 댓글 3 좋아요 0 조회수 1759

함수형 인터페이스(전반전)에서 작성한 코드가 이해되지 않습니다.

미해결

나도코딩의 자바 기본편 - 풀코스 (20시간)

안녕하세요 선생님🙇‍♀️ 함수형 인터페이스(전반전) 강의를 듣다 이해가 되지 않는 부분이 있어 질문 드립니다. public class _04_FunctionalInterface { public static void main(String[] args) { KRWConverter converter = new KRWConverter(); // converter.convert(2); convertUSD(converter, 2); } public static void convertUSD(Convertible converter, int USD) { converter.convert(USD); } } public static void convertUSD(Convertible converter, int USD) {converter.convert(USD);} 에서 (Convertible converter, int USD) 이 부분이 이해가 되지 않았습니다. Convertible converter 를 사용한 이유가 무엇인가요?

  • oop
  • java
고 예진 댓글 1 좋아요 0 조회수 487

인기 태그

인프런 TOP Writers

주간 인기글