묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실전! Querydsl
order by 에 대한 궁금증이 있습니당
안녕하세용 예를 들어 [1, 3, 7, 2, 5] 이렇게 member id에 대한 list가 주어졌을떄 1, 3, 7, 2, 5 이 순서대로 member 엔티티리스트가 조회되도록 할수 있는 방법은 없는 건가요?
-
미해결
Ultralytics 설치해서 쓸려고 하는데
Traceback (most recent call last): File "C:\Users\[user name]\AppData\Local\Programs\Python\Python39\lib\tempfile.py", line 256, in mkstempinner fd = _os.open(file, flags, 0o600)PermissionError: [Errno 13] Permission denied: 'C:\\Users\\tmp4jb5bpf2'위와 같은 문제가 계속 발생합니다. 다른 패키지들은 전혀 문제가 없는데 저 ultralytics만 계속 권한 거부 문제가 뜹니다. tempfile을 chmod로 임의로 수정하는건 안됩니다. 해봤는데 그럼 다른 패키지들마저 오류가 생깁니다.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
동일한 쓰레드의 소유권 정책에 대해 궁금합니다.
안녕하세요!동일한 쓰레드가 write_lock을 잡고 있을 때는 read_lock을 잡을 수 있지만 read_lock을 잡고 있을 때에는 write_lock을 잡을 수 없다는 것 까지는 이해가 됐습니다.그래서 ReadLock() 메소드에서 같은 쓰레드가 write_lock을 잡고있는지 체크를 해서 잡고있다면 단순하게 read flag를 1 증가해서 통과해주고 있죠.근데 그렇다면 WriteLock() 메소드에서는 동일한 쓰레드가 read flag로 0을 갖고있는지 확인해야 하는 것 아닌가요? R -> W가 허용되지 않는다면, write_lock을 시도 할 때에 동일 쓰레드의 read flag가 0인지 체크하는 코드가 없어도 되는 이유가 뭔지 궁금합니다!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
NumberFormatException
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]public class MemberSaveControllerV3 implements ControllerV3 { private MemberRepository memberRepository = MemberRepository.getInstance(); @Override public ModelView process(Map<String, String> paramMap) { String username = paramMap.get("username"); int age = Integer.parseInt(paramMap.get("age")); Member member = new Member(username, age); memberRepository.save(member); ModelView mv = new ModelView("save-result"); mv.getModel().put("member", member); return mv; } }이 코드에서 자꾸 run을 하고 new-form에서 작성하게 될 시http://localhost:8080/front-controller/v3/members/save 이 경로에서 이런식으로 뜨게 되는 데 로그에서 어떤 오류가 발생했는 지 확인해본 결과username=son&age=26]2023-03-21T02:35:34.035+09:00 ERROR 16792 --- [nio-8080-exec-1] a.c.c.C.[.[.[.[frontControllerServletV3] : Servlet.service() for servlet [frontControllerServletV3] in context with path [] threw exceptionjava.lang.NumberFormatException: Cannot parse null string이런식으로 에러가 난 겁니다. int age = Integer.parseInt(paramMap.get("age"));이 코드떔에 에러 난건데강의 듣고 라이브코딩한거라 어떤 부분에서 잘못된건지 모르겠네요... 알려주시면 감사하겠습니다.
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
테스트 코드 관련하여 질문
안녕하세요.nestjs boilerplate강의 관련해서 마지막에 users.service.spec.ts의 테스트 코드들에 대하여 설명을 해주신다고 하였는데 제가 찾지 못한건지 아니면 추후에 강의가 올라오는지 궁금합니다 .
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
libs후 localhost:8080 안됨
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.libs 폴더에 jar파일 있는 것까지 했는데localhost:8080가면 안됩니다..
-
해결됨홍정모의 따라하며 배우는 C++
소멸자, delete 질문
중요한 내용은 아닌 것 같지만 궁금해서 질문 올려봅니다.8:06 쯤에 작성한 코드 delete[] my_int_arr.m_arr;처럼 쓰지 않고, 클래스 안에서 소멸자와 함께 delete를 쓴다... 는 것은 이해했습니다.그런데 만약에 main함수 속 while문 안에서 delete[]를 쓴다면, 강의처럼 m_arr에 빨간줄을 띄우지 않고 쓸 수 있는 방법이 있나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
index.html 코드에서 자꾸 오류가 생깁니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]@Controller public class HelloController { @GetMapping("hello") public String hello(Model model) { model.addAttribute("data", "hello!!"); return "hello"; }이부분에서 String 다음 hello 이부분을 인식으로 못해서 자꾸 페이지에서 안녕하세요. null이런식으로 나옵니다. 방법좀 알려주세요 ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@Autowired 문의
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 @Autowired 궁금한게 있어서 문의드립니다테스트코드가 아닌 코드에서 @Autowired 를 쓸때에는 생성자를 작성하는게 당현한걸까요? 안쓰는 분들의 코드만 봤어서 Autowired 어노테이션 사용시 생성자를 만드는 코드보고 어? 이렇게도 쓰는구나 해서 강의따라만 하다가 강사님처럼 쓰는게 정석적인게 맞는지 궁금해서요."그냥 Autowired는 객체 만들때 외부에서 생성자나 필드,set,get 주입하려고 쓴다" 라고만 알고 있었는데.. 강사님께서는 Service 필요한 객체에 @Autowired를 붙이고 생성자를 만드셨잖아요 강사님처럼 이렇게 코드짜는게 정석적인 걸까요?
-
미해결따라하며 배우는 MySQL on Docker
gluster 설치관련 질문입니다
앞에 gluster 패키지들은 잘 다운이 되지만 yum install -y centos-release-gluster7.noarchyum install -y glusterfs-server.86_64 이 두가지의 명령어는 계속해서 이용불가능한 패키지라고 뜹니다 ㅜㅜ 왜그럴까요 .. 알려주세요!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
HelloSpringApplication 작동시 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]이런식으로 오류가 나옵니다 분명환경변수 17로 바꿨는데 뭐가 문제인가여?? 또한 Executing pre-compile tasks...Running 'before' tasksChecking sourcesParsing java… [hello-spring.main]java: warning: source release 17 requires target release 17Checking dependencies… [hello-spring.main]Dependency analysis found 0 affected filesErrors occurred while compiling module 'hello-spring.main'javac 17 was used to compile java sources해결좀 부탁드립니다.ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
locallhost h2 연결 질문입니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강사님이 가르쳐 주신 부분에서 locallhost로 연결을 하라 하셨는데 제 windows에서는 locallhost로 연결하기가 너무 힘들어서 ip로 연결을 했습니다만 여기서 크게 문제가 없을 지 궁금해서 질문을 올립니다!
-
미해결프로젝트로 배우는 React.js
useParams 가 동작하지 않습니다.
안녕하세요.useParams 으로 파라미터 값을 보낸 뒤,console.log() 로 값을 출력해 보고 싶은데요.자꾸 undefined 만 출력 됩니다.대체 이유가 뭘까요??? ㅠㅠㅠㅠㅠㅠ// App.js import './App.css'; import { Routes, Route } from 'react-router-dom'; import Navbar from './components/Navbar'; import routes from './routes'; function App() { return ( <div> <Navbar></Navbar> <div className='container mt-3'> <Routes> {routes.map((item, i) => { return ( <Route path={item.path} element={item.component()} key={i} ></Route> ); })} </Routes> </div> </div> ); } export default App; // routes.js import HomePage from './pages/HomePage'; import ListPage from './pages/ListPage'; import CreatePage from './pages/CreatePage'; import EditPage from './pages/EditPage'; import ShowPage from './pages/ShowPage'; const routes = [ { path: '/', component: HomePage, }, { path: '/blog', component: ListPage, }, { path: '/blog/create', component: CreatePage, }, { path: '/blog/edit', component: EditPage, }, { path: '/blog/:id', component: ShowPage, }, ]; export default routes;// ShowPage.js import { useParams } from 'react-router-dom'; const ShowPage = () => { let { id } = useParams(); console.log(id); // undefined 출력 return <div>Show Pages</div>; }; export default ShowPage;
-
해결됨IT 회사에서 비개발자가 살아남기 위한 모든 개발 지식 A to Z
쿼리에서 item id 를 추출한다는 의미는 이 쿼리를 통해 상품번호를 추출했다는 의미인가요?
쿼리에서 item id 를 추출한다는 의미는 이 쿼리를 통해 좌측 상품번호를 추출했다는 의미인가요? 500은 왜 500인가요?URL의 쿼리가 무슨 역할을 하는지 잘 이해가 안되어요
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
bcrypt를 설치하니까 docker 컨테이너가 실행이 안되네요ㅠ
검색을 나름대로 열심히 해봤는데잘 해결이 되지 않아서 질문 남깁니다.error: /app/node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node: invalid elf header에러 메시지는 이렇습니다.bcrypt가 설치되는 OS에 따라 버전이 달라서 그렇다는거 같은데, Dockerfile에 bcrypt 삭제했다가 설치하는 명령어도 넣어봤는데 잘 안되네요ㅠ
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
해설 pdf 공유해주시면 감사하겠습니다.
해설 pdf 공유해주시면 감사하겠습니다!공부환경 특성상, 글을 보면서 공부하는게 편할 것 같아 문의드립니다.wndnjs0249@naver.com감사합니다.
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
이미지도 수정하고 싶어서 수정을 해봤습니다.
BoardWriteActivity 부분에 있던 이미지를 넣는 코드들(imageUpload 함수, onActivityResult 함수)을 그대로 복사해서 BoardEditActivity에 붙여넣기를 했습니다. 수정 화면에서 이미지를 클릭했을 때 기존 WriteActivity에서 이미지를 추가했을 때와 같이 나오고에러도 없이 실행이 되는데 이렇게 하는게 맞는건가 싶어서 질문드립니다! package com.example.mysolelife.board import android.content.Intent import android.graphics.Bitmap import android.graphics.drawable.BitmapDrawable import android.os.Bundle import android.provider.MediaStore import android.util.Log import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import androidx.databinding.DataBindingUtil import com.bumptech.glide.Glide import com.example.mysolelife.R import com.example.mysolelife.databinding.ActivityBoardEditBinding import com.example.mysolelife.utils.FBAuth import com.example.mysolelife.utils.FBRef import com.google.android.gms.tasks.OnCompleteListener import com.google.firebase.database.DataSnapshot import com.google.firebase.database.DatabaseError import com.google.firebase.database.ValueEventListener import com.google.firebase.ktx.Firebase import com.google.firebase.storage.ktx.storage import java.io.ByteArrayOutputStream class BoardEditActivity : AppCompatActivity() { private lateinit var key: String private lateinit var binding: ActivityBoardEditBinding private val TAG = BoardEditActivity::class.java.simpleName private lateinit var writerUid: String private var isImageUpload = false override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = DataBindingUtil.setContentView(this, R.layout.activity_board_edit) key = intent.getStringExtra("key").toString() getBoardData(key) getImageData(key) binding.editBtn.setOnClickListener { editBoardData(key) if (isImageUpload) { imageUpload(key) } } binding.imageArea.setOnClickListener { val gallery = Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI) startActivityForResult(gallery, 100) isImageUpload = true } } private fun editBoardData(key: String) { // 게시글 t FBRef.boardRef .child(key) .setValue( BoardModel( binding.titleArea.text.toString(), binding.contentArea.text.toString(), writerUid, FBAuth.getTime() ) ) Toast.makeText(this, "수정완료", Toast.LENGTH_LONG).show() finish() } private fun imageUpload(key: String) { // Get the data from an ImageView as bytes val storage = Firebase.storage // Create a storage reference from our app val storageRef = storage.reference // Create a reference to "mountains.jpg" val mountainsRef = storageRef.child("${key}.png") val imageView = binding.imageArea imageView.isDrawingCacheEnabled = true imageView.buildDrawingCache() val bitmap = (imageView.drawable as BitmapDrawable).bitmap val baos = ByteArrayOutputStream() bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos) val data = baos.toByteArray() var uploadTask = mountainsRef.putBytes(data) uploadTask.addOnFailureListener { // Handle unsuccessful uploads }.addOnSuccessListener { taskSnapshot -> // taskSnapshot.metadata contains file metadata such as size, content-type, etc. // ... } } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if (resultCode == RESULT_OK && requestCode == 100) { binding.imageArea.setImageURI(data?.data) } } private fun getImageData(key: String) { // Reference to an image file in Cloud Storage val storageReference = Firebase.storage.reference.child("${key}.png") // ImageView in your Activity val imageViewFromFB = binding.imageArea storageReference.downloadUrl.addOnCompleteListener(OnCompleteListener { task -> if (task.isSuccessful) { Glide.with(this) .load(task.result) .into(imageViewFromFB) } else { } }) } private fun getBoardData(key: String) { val postListener = object : ValueEventListener { override fun onDataChange(dataSnapshot: DataSnapshot) { // 데이터를 하나만 가져오면 되므로 반복문 사용이 필요 없다. val dataModel = dataSnapshot.getValue(BoardModel::class.java) Log.d(TAG, dataModel!!.title) binding.titleArea.setText(dataModel.title) binding.contentArea.setText(dataModel.content) writerUid = dataModel.uid } override fun onCancelled(databaseError: DatabaseError) { // Getting Post failed, log a message Log.w(TAG, "loadPost:onCancelled", databaseError.toException()) } } FBRef.boardRef.child(key).addValueEventListener(postListener) } }
-
미해결
중복 회원 예외에서 에러가 나는거 같은데요.. 문의 드립니당.
package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repositoroy.MemberRepository; import hello.hellospring.repositoroy.MemoryMemberRepository; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.transaction.annotation.Transactional; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertThrows; @SpringBootTest @Transactional public class MemberServiceIntegrationTest { @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Test void 회원가입() { //given Member member = new Member(); member.setName("spring"); // when Long saveId = memberService.join(member); //then Member findMember = memberService.findOne(saveId).get(); assertThat(member.getName()).isEqualTo(findMember.getName()); } @Test public void 중복_회원_예외() { //given Member member1 = new Member(); member1.setName("spring"); Member member2 = new Member(); member2.setName("spring"); // when memberService.join(member1); IllegalStateException e = assertThrows(IllegalStateException.class, () -> memberService.join(member2)); assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원 입니다."); } }
-
해결됨코딩테스트 [ ALL IN ONE ]
Daily Temperatures 시간복잡도 질문
input = [73,74,75,71,69,72,76,73] cnt =0 cntarr=[0] * len(input) for x in range(len(input)): for y in range(x+1, len(input)): cnt +=1 if input[y] > input[x]: cntarr[x] = cnt cnt=0 break else: continue else : cnt=0 cntarr[x] = cnt print(cntarr)문제에 대해서 위와같이 풀었을때(1)input = [73,74,75,71,69,72,76,73]cntarr=[0] * len(input) 리스트 넣는 시간복잡도가 O(n)(2)for x in range(len(input)): for y in range(x+1, len(input)):이중반복문 시간복잡도가 (n-1)! 이니까 O(n)(3)if input[y] > input[x]:리스트의 요소 비교의 시간 복잡도가 O(1) 첫 번째 질문으로 이 식의 시간복잡도가 O(n) 인것이 맞는지 궁금합니다.두 번째는for x in range(len(input)): for y in range(x+1, len(input)):위와 같은 이중반복문도 완전탐색이라고 하는 지 궁금합니다.답변주시면 정말 감사하겠습니다.
-
미해결Flutter + Firebase로 넷플릭스 UI 클론 코딩하기 [무작정 플러터]
TabController controller를 넣게되면 오류가 나고 late를 넣으면 정상으로 작동되는데 이유를 알 수 있을까요?
(사진)