묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
HTTP API란 무엇인가요?
매우 추상적인 질문일 수 있을 것 같습니다.HTTP API 자체에 대한 개념이 잘 이해가 되질 않습니다.클라이언트에서 서버로 데이터 전송에 4가지 상황이 있는 것으로 보입니다.그 중 4번째가 HTTP API인 것 같은데, 3번째로 말씀해주신 HTML FORM 사용과 4번째 HTTP API에도 HTML FORM 사용이 속해 있는 것으로 보입니다.그렇다면 HTTP API가 상위 범주에 있고 HTTP API 설계 방식 중 HTML FORM 사용이 그 중 하나인 것이라고 생각하면 되는게 맞는지 궁금합니다.또한 1.의 말이 맞다면 HTTP API는 HTML FORM을 통해 데이터를 전송하는 이외의 데이터를 메세지 바디에 데이터를 넣는다거나, GET으로 URI에 쿼리를 직접 넣는 방식, 그외 전송 방식들을(AJAX,JSON - 이것들이 정확이 무엇인지는 모르겠지만) 이용하는 것이 HTTP API 방식이라고 생각하는게 맞는지 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
시간초과가 나옵니다
안녕하세요 좋은 강의 감사합니다.저는 _mp[세로줄][점선] 이렇게 생각해서 구현했습니다.문제에서 나온것과는 다르게 사다리가 놓을수 있는 곳을 세로로 생각해서 코드를 짰습니다. 그래서 UP DOWN이 있습니다.구현과정에서 인덱스는 0부터 시작하도록 설정했습니다.http://boj.kr/a4dda6bde3c04184b402349de75eefbc시간초과가 나서 수정해보다가 안되서 질문올립니다. 감사합니다.
-
미해결자바 코딩테스트 - it 대기업 유제
서로 다른 빈도수 만들기
public int solution(String s){ int answer = 0; HashMap<String, Integer> map = new HashMap<>(); HashSet<Integer> hs = new HashSet<>(); //유일하게 존재해야한다 => 해시셋 사용 String[] list = s.split(""); for(int i=0; i<list.length; i++) { map.put(list[i], map.getOrDefault(list[i], 0)+1); } for(String x : map.keySet()) { int check = map.get(x); while(hs.contains(check)) { //셋에 이미 숫자가 있으면 하나를 감소 check--; if(check==0) { //0은 넣지 않는다. answer++; break; } answer++; } hs.add(check); } return answer; }이처럼 작성했는데 답은 모두 맞게 출력되는데, 강사님이 작성하신 알고리즘이랑 동일한 건가요???
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
FND 칩 이름이 다른 이유
안녕하세요! 강의에서 나온 칩 이름은 TM74HC595인데, 제가 가지고 있는 칩 이름은 74HC595D라 뭐가 다른지 ChatGPT한테 물어보니 제조사만 다른 거라고 하더라고요! 기능은 동일하다고 합니다. 아래는 답변 내용입니다.TM74HC595D와 74HC595D는 모두 8비트 시프트 레지스터입니다. 이 두 개의 부품은 동일한 기능을 가지고 있지만, 제조사에 따라 다를 수 있는 부품 번호 또는 패키지 유형입니다."TM74HC595D"는 티아이(Texas Instruments)가 제조한 74HC595D 시리즈의 부품을 나타내는 표기입니다. 티아이는 74HC595D를 자사의 브랜드로 표기하기 위해 "TM"을 사용합니다. 따라서 "TM74HC595D"는 티아이의 74HC595D 시리즈에 해당하는 부품을 의미합니다.반면에 "74HC595D"는 표준적으로 사용되는 부품 번호로, 다양한 제조사에서 생산한 74HC595D 시리즈의 부품을 의미합니다. 예를 들어, 닛세이(NXP) 또는 페어차일드(Fairchild) 등의 다른 제조사에서도 74HC595D를 제조하고 있을 수 있습니다. 따라서 "TM74HC595D"와 "74HC595D"는 기능적으로 동일하지만, 제조사에 따라 부품 번호 표기가 다를 수 있습니다.요약하자면, "TM74HC595D"와 "74HC595D"는 동일한 8비트 시프트 레지스터를 가리키지만, "TM74HC595D"는 티아이(Texas Instruments)의 부품 번호 표기 방식을 사용하고, "74HC595D"는 표준적으로 사용되는 부품 번호입니다. 혹시나 다른 분들께 참고가 되지 않을까 싶어 남겨봅니다!
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
JSEXP 문의드립니다.
function ratingDetail(num) { // 여기에 코드를 작성하세요. let result; if (num >=90 && num <=100 ) { result = "A"; if (num >= 96) { result += "+"; } else if (num <= 93) { result += "-"; } else { } } else if (num >= 80 && num < 90) { result = "B"; if (num >= 86) { result += "+"; } else if (num <= 83) { result += "-"; } else { } } else if (num >= 70 && num < 80) { result = "C"; if (num >= 76) { result += "+"; } else if (num < 73) { result += "-"; } else { } } else if (num >= 60 && num < 70) { result = "D"; if (num >= 66) { result += "+"; } else if (num < 63) { result += "-"; } else { } } else if (num > 0 && num < 60) { result = "등급미달"; } else { result = "잘못된 값입니다"; } return result;}ratingDetail(60); output에 맞추다 보니 이렇게 코드가 길고가독성이 떨어지게 되었습니다.if문을 중첩으로 사용하는 것 외의다른 방법으로 코드를 최적화할 수 있는 방법이 궁금합니다. 커리큘럼 중 어느 부분을 찾아서 공부하고 응용하면 될까요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
파이썬 초보
print(‘%1.8f’% (3.121232176312))가 왜 출력하면 3.12123217이 아니고 3.12123218로 출력되죠?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
sasm 오류
sasm 수업 아무리 다시 보고 따라 해도 처음부터 오류가 뜨는데 sasm으로 하는 수업 전부다 버리고 c++만 들어도 될까요? 11만 원 주고 강의 구매했는데 .. 그냥 버리기 너무 아까워요 ..
-
미해결핸즈온 리액트 네이티브
nanoid 생성 에러
안녕하세요? nanoid를 생성할 때 에러가 발생합니다.import "react-native-get-random-values"; import { nanoid } from "nanoid";를 이용하여 nanoid를 생성할 때 1번째 까지는 정상적으로 생성되나 2번째부터const id = nanoid();위의 생성 부분에서 ERROR TypeError: undefined is not a function, js engine: hermes 에러가 발생합니다.대신 나노id를 non-secure로 생성하면 계속해서 생성해도 문제 없이 생성됩니다. 버전은 아래와 같습니다만 react-native-get-random-values는 1.9.0 버전으로변경해도 동일한 문제가 발생합니다.버전 정보 "dependencies": { "@react-navigation/native": "^6.1.6", "@react-navigation/native-stack": "^6.9.12", "expo": "~48.0.15", "expo-status-bar": "~1.4.4", "expo-updates": "~0.16.4", "nanoid": "^4.0.2", "prop-types": "^15.8.1", "react": "18.2.0", "react-native": "0.71.8", "react-native-get-random-values": "~1.8.0", "react-native-safe-area-context": "4.5.0", "react-native-screens": "~3.20.0" },이 문제가 반드시 짚고 넘어가야하는 부분인가요? 별로 중요하지 않으면 그냥 비보안 모드나 uuid를 사용하는걸로 넘어가고싶은데 답변 부탁드립니다.감사합니다.
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
파이썬 알고리즘 코딩테스트 입문 강의와 차이점이 어떤게 있나요?
파이썬 알고리즘 코딩테스트 입문 강의와 차이점이 어떤게 있나요? 문제 차이나 난이도 혹은 업데이트된 부분이 있을까요?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
refreshToken 활용한 로그인 로직에 대한 궁금증
안녕하세요. jwt를 발급할 때 refresh와 aceess 토큰에 담긴 페이로드는 동일할까요 ?accessToken의 탈취 당했을 때를 대비해서 accessToken의 만료기한 을 짧게두고 refreshToken의 만료기한을 길게 두는 것으로 알고 있는데,refreshToken이 탈취당했을 때 refreshToken으로도 사이트에 인가된다면 굳이 이 두개를 나누는 의미가 없을 것 같은데,,현업에서는 어떠한 식으로 이뤄지는지 궁금합니다..
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
왜 저는 todoItem.item 하면 값이 안나오는걸까요?
TodoList.vue코드<template><div><ul><!-- <li v-for="(todoItem, index) in todoItems" v-bind:key="todoItem.item" class="shadow">{{todoItem}}<i class="checkBtn fa-solid fa-check" v-bind:class="{checkBtnCompleted: todoItem.completed}" v-on:click="toggleComplete(todoItem, index)"></i>v-bind:class="{A:a}" A클래스의 a속성이 false면 안나타남, true면 나타남 --><!-- <span v-bind:class="{textCompleted: todoItem.completed}">{{ todoItem.item }}</span><span class="removeBtn" v-on:click="removeTodo(todoItem, index)"><i class="fa-solid fa-trash-can"></i></span></li>> --><li v-for="(todoItem, index) in todoItems" v-bind:key="todoItem" class="shadow"><i class="checkBtn fa-solid fa-check" v-bind:class="{ checkBtnCompleted: todoItem.completed }" v-on:click="toggleComplete(todoItem, index)"></i>{{ todoItem.item }} {{ index }}<!-- //v-bind:class="{A:a}" A클래스의 a속성이 false면 안나타남, true면 나타남 --><span v-bind:class="{ textCompleted: todoItem.completed }">{{ todoItem}}</span><span class="removeBtn" v-on:click="removeTodo"><i class="fa-solid fa-trash-can"></i></span></li></ul></div></template> <script>export default {data: function () {return {todoItems: []}},methods: {removeTodo: function (todoItem, index) {console.log('remove items');console.log(todoItem, index);localStorage.removeItem(todoItem);this.todoItems.splice(index, 1);},toggleComplete: function (todoItem, index) {todoItem.completed = !todoItem.completed;console.log(index);console.log(todoItem.item);//로컬스토리지 갱신localStorage.removeItem(todoItem.item);localStorage.setItem(todoItem.item, JSON.stringify(todoItem));}},created: function () {if (localStorage.length > 0) {for (var i = 0; i < localStorage.length; i++) {if (localStorage.key(i) !== 'loglevel:webpack-dev-server') {console.log(JSON.parse(localStorage.getItem(localStorage.key(i))));this.todoItems.push(localStorage.key(i));}}}}}</script> <style scoped>ul {list-style-type: none;padding-left: 0px;margin-top: 0;text-align: left;}li {display: flex;min-height: 50px;height: 50px;line-height: 50px;margin: 0.5rem 0;padding: 0 0.9rem;background: white;border-radius: 5px;}.removeBtn {margin-left: auto;color: #de4343;}.checkBtn {line-height: 45px;color: #62acde;margin-right: 5px;}.checkBtnCompleted {color: #b3adad;}.textCompleted {text-decoration: line-through;color: #b3adad;}</style> TodoInput.vue코드<template> <div class="inputBox shadow"> <input type= "text" v-model="todoItems" v-on:keyup.enter="addTodo"> <span class="addContainer" v-on:click="addTodo"> <i class="fas fa-plus addBBtn"></i> </span> </div> </template> <script> export default { data: function(){ return{ todoItems: "" } }, methods:{ addTodo: function(){ if(this.todoItems !== ''){ //저장하는 로직 //localStorage.setItem(key, value); //localStorage.setItem(this.newTodoItem, this.newTodoItem); var obj = {completed: false, item: this.todoItems}; //localStorage.setItem(this.newTodoItem,obj); localStorage.setItem(this.todoItems, JSON.stringify(obj)); //obj 객체 > string화 this.clearInput(); } }, clearInput: function(){ this.todoItems = ''; } } } </script> <style scoped> input:focus{ outline: none; } .inputBox { background: white; height: 50px; line-height: 50px; border-radius: 5px; } .inputBox input { border-style: none; font-size: 0.9rem; } .addContainer { float: right; background: linear-gradient(to right, #6478FB, #8763FB); display: block; width: 3rem; border-radius: 0 5px 5px 0; } .addBtn { color: white; vertical-align: middle; } </style>
-
미해결
[인프런x코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스 로그인 기능
안녕하세요 강의 결제 전 궁금한 점이 있어 질문 드립니다 카카오 로그인 이나 네이버 로그인 기능 강의는 없는 걸 까요?
-
미해결운영체제 공룡책 강의
1.운영체제가 뭐길래 7분 58초 질문이요
1.운영체제가 뭐길래 에서 7분58초에 1Mb를 2의 1024승이라고 말씀하셨는데, 찾아보니 1Kb가 2의 1024승 이던데요... 제가 잘못찾은걸까요?
-
미해결Vue.js + TypeScript 완벽 가이드
두번째 프로젝트 권한 요청 드립니다.
깃헙 계정 : hjyoo.dev@gmail.comusername: hyunjiyoo 입니다.
-
미해결스프링 부트 - 핵심 원리와 활용
스프링부트 버전 문의
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 영한님! 이번 강의에서 프로젝트 생성하실 때 "스프링 부트 3.x 대 이상으로 하셔야 합니다" 라고 말씀해주셨는데 2.x대 버전이 아닌 3.x 대로 해야하는 특별한 이유가 있을까요~? 3.x 대의 업데이트에 대한 내용은 공식문서와 많은 블로그에 나와있어서 확인을 했는데 혹시 강의에 있어서 특별한 이유가 있는지 궁금합니다~!
-
미해결팝스타 공식 뮤비 제작 & 유튜브 2천만 뷰 크리에이터의 애니메이트 X 이모티콘 클래스
이미지가 겹쳐 보여요
복습하다보니 캐릭터 뒷부분에 연한색으로 캐릭터가 겹치는데 왜 그럴까요?
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
Xilinx Zynq FSBL 방법에 대해서 궁금합니다.
보드로 맛비님 강의도 듣고, 실습 해보던 중에Zynq FSBL(First Stage Bootloader) 방법이 있더라구요.이 방법과 강의에서 사용하는 방법이 어떻게 다른지,Zybo Z7-10 보드로도 가능한 것인지 궁금합니다!
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
HTTP 메시지 전송 그림 질문
그림에서 웹 브라우저가 HTTP 메시지를 생성한다고 할때 클라이언트가 서버를 치게 될 때를 말씀하시는게 맞을까요??SOCKET 라이브러리를 통해 전달 부분에서 A : TCP/IP 연결 한다는 말씀을 하셨는데 그것은 패킷 그림과 별도로 서버와 가상의 연결을 한다는 말씀이 맞을까요?? ((추측) 이때도 TCP/IP 패킷을 전달하는데 영상에 그려진 패킷과는 다른 패킷을 전달하는게 맞을까요? 맞다면 이 TCP/IP 패킷은 어떤 정보를 담아서 전달하는건지 간단하게 궁금합니다.) (즉, SOCKET 라이브러리에 요청(서버) IP,PORT 정보가 있기 때문에 패킷 그림과 별도로 해당 IP, PORT에 사전에 3 hand shaking을 하는 것이 맞을까요??)2.번이 맞다면 사전의 3hand-shaking을 통한 TCP/IP패킷 전달을 통해 먼저 가상의 연결을 한 다음 웹 브라우저 HTTP 메세지 정보 패킷 + OS에서 해당 TCP/IP 패킷을 포함 시켜서 해당 서버로 보낸다는 말씀이 맞을까요??
-
미해결[2025년 출제기준] 웹디자인기능사 실기시험 완벽 가이드
d 1 레이아웃 연습중에 궁금한것이 있어서 질문 남깁니다.
<!DOCTYPE html><html lang="ko"><head><meta charset="UTF-8"><title>D 타입 연습</title><link rel="stylesheet" href="css/style.css"></head><body><div class="container"><div class="main-content"><div class="left"><header><div class="header-logo"></div><div class="navi"></div><div class="spot-menu"></div></header></div><div class="right"><div class="slide"><div class="slide-image"></div><div class="slide-banner"></div></div><div class="items"><div class="shorcut"></div><div class="news-galley"></div></div></div></div><footer><div class="footer-logo"></div><div class="cpoyright"></div><div class="sns"></div></footer></div> <script src="script/jquery-1.12.4.js"></script> <script src="script/custom.js"></script></body></html>ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ@charset "utf-8";body { background-color:#fff; color:#000; margin:0;}a { text-decoration:none; color:#000;}.container {}.main-content { display:flex;}.left { width:200px; border:1px solid #000;}.right { flex:1; border:1px solid red;}header {}.header-logo { height: 100px; border:1px solid red;}.navi { height:400px; border:1px solid #000;}.spot-menu { height: 50px; border:1px solid red;}.slide { height:400px;}.slide-image { border:1px solid green; height:inherit;}.slide-banner { width:150px; height: 300px; border: 1px solid red; position:absolute; top:0; right:0;}.items {}.shortcut { height:200px; border: 5px solid gold;}.news-gallery { height:250px; border:1px solid blue;}footer { display: flex;}footer > div { border:1px solid #000; height:100px;}.footer-logo { width: 200px;}.copyright { flex:1;}.sns { width:300px;}
-
미해결만들면서 배우는 프론트엔드 DO IT 코딩 (Next.js, Typescript)
전체 예제 소스좀 올려주세요
실무 vue nuxt 사용 프론트 개발자입니다.. 다른건 다이해가 가는데 firebase admin 이부분 좀 소스코드예시를 파일로 올려주시면 안될까요? 아니면 깃허브에서 전체 예제 소스를 다운받을 수 있도록 해주시면 감사하겠습니다..