묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
저도 가로 배치가 잘되다가 세로 배치가 되어 질문드립니다.
저도 강의 따라가다가 세로로 갑자기 변환되어서 답변 내용대로 해봤지만 고쳐지지를 않아서 질의 드립니다 아래 코드는 html코드입니다<html> <head> <title>그랩마켓</title> <link href="index.css" type="text/css" rel="stylesheet" /> <body> <div id="header"> <div id="header-area"> <img src="images/images/icons/logo.png"/> </div> </div> <div id="body"> <div id="banner"> <img src="images/images/banners/banner1.png"/> </div> <h1>판매되는 상품들</h1> <div id="product-list"> <div class="product-card"> <img class="product-img" src="images/images/products/basketball1.jpeg"/> <div class="product-contents"> <span class="product-name">농구공 1호</span> <span class="product-price">50000원</span> <div class="product-seller"> <img class="product-avatar" src="images/images/icons/avatar.png"/> <span>그랩</span> </div> </div> </div> </div> <div class="product-card"> <img class="product-img" src="images/images/products/keyboard1.jpg"/> <div class="product-contents"> <span class="product-name">키보드 1호</span> <span class="product-price">30000원</span> <div class="product-seller"> <img class="product-avatar" src="images/images/icons/avatar.png"/> <span>그랩</span> </div> </div> </div> <div class="product-card"></div> <div class="product-card"></div> </div> <div id="footer"></div> </body> </head> </html>아래는 css코드입니다 * { margin: 0; padding: 0; } #header{ height: 64px; display: flex; justify-content: center; border-bottom: 1px solid gray; } #body{ min-height: 100%; width: 1024px; margin: 0 auto; padding-bottom: 24px; } #footer{ height: 200px; background-color: red; } #banner{ height: 300px; background-color: yellow; } #header-area{ width: 1024px; height: 100%; display: flex; align-items: center; } #header-area > img{ width: 128px; height: 36px; } #body > h1{ margin-top: 16px; } #banner > img{ width: 100%; height: 300px; } #product-list{ display: flex; flex-wrap: wrap; margin-top: 12px; flex-direction: row; } .product-card{ width: 180px; height: 300px; margin-right: 12px; margin-bottom:12px; border: 1px solid rgb(230, 230, 230); border-radius: 12px; } .product-img{ width: 100%; height: 210px; } .product-contents{ display: flex; flex-direction: column; padding: 8px; } .product-name{ font-size: 14px; } .product-price{ font-size: 16px; font-weight: 200px; margin-top: 4px; } .product-seller{ display: flex; align-items: center; margin-top: 12px; } .product-avatar{ width: 24px; }바쁘시겠지만 답변 해주시면 감사하겠습니다!+해당 코드 진행 후 개발자 도구 이용해서 보면 flex에 의해 정해지지않은 보라색 칸이 있는데 해당 칸 처리가 힘들어 추가 질문 올립니다!
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
카메라 컨트롤을 어떤 걸 사용해야 할지 모르겠습니다...!
안녕하세요. 1분코딩 선생님 강의를 수강 중인 수강생입니다. 현재 아래 사이트의 화면과 비슷한 기능을 구현해야 하는 상황인데 어떤 카메라 컨트롤을 써야 할지 감이 잡히지 않아 질문 드립니다...https://www.lamborghini.com/en-en/3dFlyControls와 PointerLockControls로 테스트를 해보았는데 FlyControls의 경우는 비슷하게 구현은 되었지만 화면을 계속 움직이다보면 화면이 기울어버리는 경우가 생기고,PointerLockControls의 경우는 움직이려면 lock(); 함수를 실행시키면 마우스가 사라져서 문제가 되었습니다.카메라 컨트롤 셋팅은 glb파일의 카메라 객체를 넣어 생성하였습니다.위의 사이트와 비슷한 기능을 만들려면 어떤 카메라 컨트롤러가 적합할까요...?카메라 객체로 컨트롤 셋팅을 하고 따로 셋팅을 해줘야하는 값들이 있을까요...?답변 및 조언 주시면 정말 감사하겠습니다!
-
미해결스프링 시큐리티
FilterSecurityInterceptor deprecated
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. FilterSecurityInterceptor deprecated 가 돼서 AuthorizationFIlter 를 사용하라고 해서 @Bean 으로 등록하려고 했습니다. @Bean public AuthorizationFilter authorizationFilter() throws Exception { AuthorizationFilter filter = new AuthorizationFilter(authorizationManager(authenticationConfiguration)); filter.set } 여기서 setSeucirtyMetadataSource 같은 메서드가 없어서 어떻게 해야할지 잘 모르겠습니다...
-
미해결AWS(Amazon Web Service) 입문자를 위한 강의
ec2 생성 시 사용자 데이터 코드 오류
yum install php-mysql << 이 구문 때문에 사용자 데이터 편집 코드가 아예 먹통이 되는 현상이 있습니다. 그래서 확인해보니 yum install php-mysqlnd 저 부분만 이렇게 수정해서 붙여넣고 해보세요 이렇게 입력하고 하면 잘 되더라구요...
-
미해결
MSA, DDD 패턴으로 구현할때 고민사항
안녕하세요2일동안 강의 달리면서 실습도 하면서 궁금증을 해소하기위해 달려온 잡부개발자입니다최근 일반 레이어드 아키텍처로만 개발을 진행하니 생긴 문제들(테스트진행이 어려워짐, 소스파악하기 어려워짐 등등)이 생겨서 다른 아키텍처가 있나...찾아보다가 헥사고날 아키텍처가 가장 괜찮았다고 생각했고 DDD 형태로 진행하는게 깔끔할꺼같아서 혼자서 구조를 만들어보았어요아래 설명을 이어붙히도록하겠습니다adapterㄴ 헥사고날중 가장 바깥에 존재하는 controller, dao 부분adapter-modelㄴ adapter 에 쓰이는 모델들을 application 모듈과 연동시키기 위해 만든 model 클래스 모듈 applicationㄴ 각각의 UseCase 구현체와 인터펭이스가 존재하며 adapter-model 을 domain 객체로 변경하는 역할도 가진 모듈 domainㄴ 실제로 비즈니스로직을 가질수있는 POJO 도메인 객체위 구조는 Aggregate 를 적용하지않았기때문에 향후 각각의 작은 서버로 구성할수있는 MSA 로 뺄수있는 구조는 아니에요 다만 그건 aggregate 모듈을 만들어서 빼면 되는거라 생각하는데 그것보다도 가장 궁금한점은..... 비즈니스 로직을 POJO 객체가 있는 domain 모듈로 파싱할때 JPA 기준 A 라는 유저가 가지고있는 게임플레이 히스토리들도 가지고있잖아요? 이건 POJO 객체로 가져올때 히스토리 객체들도 모두 가지고와서 POJO 내에 넣어야하나요?반대의 경우 히스토리에서는 유저객체를 들고있을텐데 이때 의존을 모두 가져와야하나요? 아니면 유저의 키값만 객체로 들고있으면될까요?만약 해당 유저가 한시간에 1000번의 게임을 했다고 가정하면 몇일만 조회해도 엄청 많은 데이터가 램으로 올라가기때문에 좀 부담스러운데 히스토리가 필요한경우 쿼리에 비즈니스로직을 담아 타협해야하나요?물론 드라마틱한 성능차이가 없다면 도메인에서 처리해도되겠지만 성능상 차이가 많이 난다면 쿼리에 비즈니르로직을 담아야하는게 아닌가싶어서요글이 좀 생각의 흐름대로 쓰인거같아 미리 죄송합니다 ㅠ
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-I qSize를 쓰는 것과 안 쓰는것의 차이
가 뭔지 잘 모르겠습니다 ㅠㅠ어떻게 달라지는지 알려주실 수 있나요
-
해결됨배달앱 클론코딩 [with React Native]
1명은 맥, 1명은 윈도우로 협업하는 것이 가능한가요?
현재까지 배운 내용(섹션 0- 리액트 네비게이션까지 수강 ) 으로는 환경 설정 부분의 차이 때문에 github를 이용한 협업을 할 경우(프로젝트 폴더를 pull받을 때 특히), 상당히 충돌할 것으로 예상되는데해결할 방법이 있을까요? 학습을 모두 마치고 여쭤보려고도 했지만, 처음부터 협업이 어려울 수도 있다는 생각이 들어서 다 듣기 전에 여쭈어 보는 점은 죄송합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-H next > MAX라고 하면 틀리는 이유
http://boj.kr/21fd549ee17c48b9be877802112b7a91if문에서next > MAX라고 하면 틀리네요next >= MAX라고 하면 맞구요 왜 그런걸까요그리고 v.push_back(i) 할 때1, 2, 3 이렇게 넣으면 1 , 2, 3 순서대로 들어가는게 아니라 3, 2, 1 이렇게 되네요 처음 알았습니다
-
미해결모의해킹 실무자가 알려주는, SQL Injection 고급 공격 기법 : PART 2
QueryBox 다운로드 불가
쿼리박스 공식 홈페이지에서 더이상 다운로드가 불가능합니다.해당 파일 어디서 다운받아야 하나요?
-
미해결[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z
build.gradle 폴더 내 viewBinding 오류
안녕하세요~!룸 데이터 베이스 구성하기 수업 중 build.gradle.kts 폴더 내 뷰바인딩 추가하면 싱크 오류가 납니다ㅠㅠ오류명은 하기와 같고, 관련해서 스샷 첨부드립니다!Build file '/Users/claireyoon/AndroidStudioProjects/Todolist/app/build.gradle.kts' line: 41Cannot invoke "org.jetbrains.kotlin.com.intellij.openapi.application.Application.getService(java.lang.Class)" because the return value of "org.jetbrains.kotlin.com.intellij.openapi.application.ApplicationManager.getApplication()" is null
-
미해결GSAP의 ScrollTrigger를 활용한 포트폴리오 제작
섹션10에 자료파일이 안보여요.
섹션10 스크롤에 반응하는 이미지와 텍스트 애니메이션 제작에 자료파일이 안보여요.
-
미해결iOS/Android 앱 개발을 위한 실전 React Native - Basic
안드로이드 에뮬레이터 에러...
react-native run-android info Running jetifier to migrate libraries to AndroidX. You can disable it using "--no-jetifier" flag.(node:18259) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency(Use node --trace-warnings ... to show where the warning was created)Jetifier found 866 file(s) to forward-jetify. Using 12 workers...info Starting JS server...info Launching emulator...info Successfully launched emulator.info Installing the app...FAILURE: Build failed with an exception.* What went wrong:Could not initialize class org.codehaus.groovy.runtime.InvokerHelper> Exception java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.reflection.ReflectionCache [in thread "Daemon worker"]* Try:Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.* Get more help at https://help.gradle.orgBUILD FAILED in 255mserror Failed to install the app. Make sure you have the Android development environment set up: https://facebook.github.io/react-native/docs/getting-started.html#android-development-environment. Run CLI with --verbose flag for more details.Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081FAILURE: Build failed with an exception.* What went wrong:Could not initialize class org.codehaus.groovy.runtime.InvokerHelper> Exception java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.reflection.ReflectionCache [in thread "Daemon worker"]* Try:Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.* Get more help at https://help.gradle.orgBUILD FAILED in 255ms at checkExecSyncError (node:child_process:885:11) at execFileSync (node:child_process:921:15) at runOnAllDevices (/Users/heejinroh/Desktop/희진/react-native/my_first_app/node_modules/@react-native-community/cli-platform-android/build/commands/runAndroid/runOnAllDevices.js:94:39) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Command.handleAction (/Users/heejinroh/Desktop/희진/react-native/my_first_app/node_modules/@react-native-community/cli/build/index.js:182:9)
-
해결됨우아한 고성능 프로그래밍 언어 Rust 입문 및 활용
Integer는 자동으로 copy되서(copy type)(integer 는 stack에 할당되서)
예문을Integer먼저 넣고 두번째 변수는 String 이게 더 좋지 않을까요? 출처 https://www.reddit.com/r/rust/comments/up1yhg/rust_ownership_for_integer_vs_string_literals/What’s going on under the covers is that when a variable who’s type has a constant length (like an integer) gets passed to a function, rust allocates space on the call stack for that variable and copies it’s value into the function’s call stack. Thus the instance of X that your function gets is different (is at a different memory address) than the copy of X that was passed to it. For strings, the compiler doesn’t know how much space to allocate (because the function could be called with your constant length string or any other string).
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
섹션4 - 모의고사1 - 3번 문제
안녕하세요 수강생입니다.강의듣다가 질문이 있어 이렇게 글남깁니다. 섹션4 - 모의고사1 - 3번 문제의 replace를 활용하거나 map을 활용하는 부분입니다. 저는 .replace.replace.replace를 반복하지 않고 아래와 같이 곧바로 딕셔너리 형태로 코드를 치니 마치 map에 딕셔너리를 리스트로 담은 것처럼 동작을 하던데 올바른 방법인지 모르겠습니다.막상 답이 133으로 동일하게 나오다보니 replace나 map의 차이점 또는 딕셔너리의 올바른 활용(?) 부분이 궁금해지네요. import pandas as pd df = pd.read_csv('members.csv') df = df.dropna(subset=['views']) # print(df.isnull().sum()) df['f3'] = df['f3'].fillna(0) df['f3'] = df['f3'].replace({'silver':1, 'gold':2, 'vip':3}) # print(df.head()) print(int(df['f3'].sum()))
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
동시성 부분 추가 공부하면서 헷갈리는 부분 질문 드립니다.
안녕하세요 선생님!동시성과 병렬성 관련해 기초가 약해 해당 강의를들으면서 OS 부족한 부분을 많이 알게되어 도움이 많이되고 있습니다. 다름이 아니라 해당 강좌 범위는 벗어나지만..구글링해도 명확하게 해결되지 않아 질문 드립니다. 동시성을 구현하는 방법으로멀티쓰레드나 코루틴 방법으로 구현을 할 수있고멀티쓰레드 방법에서 쓰레드 전환 간 context switch가 많기 때문에 오버헤드도 많아 Coroutine 방법을 많이 쓰고 또한 유저가 이벤트루프(스케쥴링)을 app에서 관리한다는 측면에서 디버그가 유용하다 정도로 이해하고 있습니다. 많은 블로그에서멀티쓰레드보다 코루틴을 소개하면서 동시성 구현시 코루틴을 더 상위(혹은 좋은) 방법으로 서술이 많이 되어 있더라구요.I/O작업이 빈번할 경우 코루틴이 더 유리하다는 이해가 됩니다. 싱글스레드 + async싱글스레드멀티스레드 + async멀티스레드2개의 구현방법이 레이어가 다르다(thread와 task)보니 4가지 경우의 수를 적용할 수 있는데 실제 동시성을 적용해야되는 상황이면 어떻게 판단하고 최적의 구현방법(4가지 중 선택)을 적용할 수 있을까요?(파이썬 스택을 쓰고 있으며 GIL도 이해하고 있는 상태입니다.) 다시한번 해당 강의와 조금 벗어난 질문드려 죄송합니다. ( _ _ )
-
미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
Model에서의 UIKit import
안녕하세요. 강의 정말 잘 듣고 있습니다.코드 import와 관련하여 궁금한 점이 생겨서 질문을 남깁니다.MVC 패턴과 관련하여 공부하다보니 Model에서는 UIKit을 import 하지 않도록 구현을 해야한다고 들었습니다. 혹시 현재 BMI 리팩토링한 코드와 같이 UIKit을 Model에서 import 하는건 문제가 없는지 알고 싶습니다. 감사합니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
코드 질문있습니다.
<DiaryItem key={it.id} {...it} />스프레드 연산자는 이해가 가는데 key={it.id} 옆에 바로 붙혀서 state객체를 넣을수 있는건가요 ?? 이건 어떤 문법일까요 <DiaryItem key={it.id} {...it} /><DiaryItem key={it.id} diary={it} />...을 써서 넣는거랑 안쓰고 앞에 diary = {it}으로 명시하고 넣는거랑 어떤차이가 있을까요 ? 전 이렇게 바꿨는데 ..이해가 안되서import DiaryItem from "./DiaryItem"; const DiaryList = ({diaryList})=> { console.log(diaryList); return ( <div className="DiaryList"> <h2>일기리스트</h2> <h4>{diaryList.length}개의 일기가 있습니다</h4> <div> {diaryList.map((it) => ( <DiaryItem key={it.id} diary={it} /> ))} </div> </div> ); }; DiaryList.defaultProps = { diaryList : [], } export default DiaryList;
-
해결됨문법 공부 다음엔, 자바스크립트 프로젝트 101
해결되지않는 부분이 있어서 질문드려요
삭제버튼도 아이콘폰트로 바꾸고 이것저것 추가해서 해봤습니다.근데 모든 작동이 다 잘되는데, 만약 5개의 목록이 있고 처음에 각 항목의 삭제버튼을 클릭할시에는 다 잘 되는데요,근데 1,2개 삭제해보고 나서 새로고침을 누른 후에는 각 항목의 삭제버튼을 클릭하면 화면상에는 제대로 되는데 로컬스토리지는 무조건 다 삭제가 됩니다. delItem 부분에서는 잘못이 있는걸까요?const form =document.querySelector('form'); const input =document.querySelector('input'); const ul = document.querySelector('ul'); const todoCount = document.querySelector('.todo-count'); const clearAll = document.querySelector('.clear-all'); let todos = []; const save = () => { localStorage.setItem('todos', JSON.stringify(todos)); }; const updateTodoCount = () => { todoCount.textContent = todos.length; }; const delItem = (event) => { const target = event.target.parentElement; todos = todos.filter((todo) => todo.id !== parseInt(target.id)); save(); target.remove(); updateTodoCount(); }; const addItem = (todo) => { if(todo.text !== ''){ const li = document.createElement('li'); const span =document.createElement('span'); const icon = document.createElement('i'); icon.classList.add('fa-solid','fa-trash-can'); span.innerText = todo.text; icon.addEventListener('click',delItem); ul.appendChild(li); li.appendChild(span); li.appendChild(icon); li.id = todo.id; updateTodoCount(); } }; const handler = (event) => { event.preventDefault(); const todo = { id: Date.now(), text: input.value, }; if((input.value) !== '') { todos.push(todo); addItem(todo) save(); input.value = ''; } }; const init = () => { const userTodos = JSON.parse(localStorage.getItem('todos')); if(userTodos){ userTodos.forEach((todo) => { addItem(todo); }); //todos = userTodos; todoCount.textContent = 0; } }; clearAll.addEventListener('click', () => { ul.innerHTML = ''; todoCount.textContent = 0; todos = []; localStorage.removeItem('todos'); }); init(); form.addEventListener('submit',handler);
-
해결됨[코드캠프] 시작은 프리캠프
final 과제 타이머 부분 질문드립니다!
안녕하세요! 제가 파이널 과제를 진행하다가 인증번호 전송부터 인증 완료 단계의 자바스크립트 코드를 작성하면서 어려움을 겪고 있어서 문의드립니다. 해당 코드를 적용하여 html 파일을 실행시킨 결과 인증완료 버튼을 눌러도 인증번호만 초기화가 되고 타이머는 그대로 1초씩 감소하는 상태가 유지되었습니다. clearInterval(timer)를 하면 반복함수가 멈춰 document.getElementById("timer").innerText = "3:00";의 결과로 3:00이 되는 것으로 생각했는데 왜 초기화가 되지 않는지 도통 모르겠습니다. <div class="certification"> <div id="certificationNumber">000000</div> <button id="sendButton" disabled = "true" onclick="submit()">인증번호 전송</button> </div> <div class="certification"> <div id="timer">3:00</div> <button id="completeButton" disabled = "true" onclick="completeMessage()">인증 확인</button>let timer let isStarted = false const submit = () => { const token = String(Math.floor( Math.random() * 1000000)).padStart(6, "0"); document.getElementById("certificationNumber").innerText = token; document.getElementById("sendButton").setAttribute("disabled", "true") document.getElementById("completeButton").removeAttribute("disabled") if(isStarted === false) { // 타이머가 작동중이 아닐때 isStarted = true let time = 180 timer = setInterval(function(){ if(time >=0) { let min = Math.floor(time/60) let sec = String(time%60).padStart(2, "0") document.getElementById("timer").innerText = min + ":" + sec; time = time -1 } else { document.getElementById('completeButton').disabled = true; isStarted = false document.getElementById("certificationNumber").innerText = "000000"; document.getElementById("timer").innerText = "3:00"; clearInterval(timer) } },1000) } else { } } const completeMessage = (timer) => { clearInterval(timer) alert("인증이 완료되었습니다.") document.getElementById('completeButton').disabled = true; isStarted = false document.getElementById("completeButton").innerText = "인증 완료" document.getElementById("signup").disabled = false; }
-
미해결실리콘밸리 엔지니어와 함께하는 Apache Airflow
my_first_dag.py 파일 질문 입니다
Standalone 환경을 처음 세팅하게 되면 dags 디렉토리가 별도로 없는데 사용자가 직접 만들어주면 되는지 질문드립니다. 그리고 standalone 으로 airflow 서버를 작동시킨 이후 다시 exit 할 경우 자꾸 localhost에 서버가 남아있어 재 실행이 안되서 컴퓨터 리붓을 해야하는데 혹시 다른 방법이 있을까요?아래와 같은 방식으로 PID 서버를 kill 하지만 그래도 안될 경우가 많은 것 같습니다.(수정) 아래 방법은 작동하는 것 같네요ps -ef | grep airflowsudo kill -9 [PID port]