묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨DataScience와 AI의 개념 (공부하는 방법)
Feature Extraction 설명중 질문
6분경 Feature Extraction에 예를 들며 PCA, FA, SW를 말씀해주셨는데 이게 다 어떤거지요? 그리고 Feature Extraction 단어에서 "Feature"가 무엇입니까?
-
해결됨파이썬 사용자를 위한 웹개발 입문 A to Z Django + Bootstrap
' python manage.py makemigration blog ' 명령어 에러
이런 오류 발생으로 인해서 찾아보니까예전답변에 버전 차이로 인해서이렇게 바꿔주라는 답변을 보고 했으나 이러면이런 오류만 발생을 합니다.버전이 최근꺼라 그런지..어떻게 해결해야 할까요..
-
미해결실전 리액트 프로그래밍
강의내에 실습 소스는 없나요?
안녕하세요. 수업을 들으면서 하나씩 실습해서 하고 있는데요. 23강에 리액트 내장 훅 부분에 여러가지 훅에 대해서 실습하면서 설명이런 빨리 넘어가는 경우에는 소스부분 공유가 없으니 초보자로서 따라가기가 힘들더라구요. 실습 소스들 보고 싶어요.
-
미해결남박사의 파이썬으로 실전 웹사이트 만들기
정규표현식
정규표현식 쪽에서 이상한 현상이 생깁니다. 한글파일명에 한정되는 현상이며, 올바른 경로에 파일 저장 및 데이터베이스에도 기록되어 있으나 이름이 이상하게 바뀌어집니다. common.py파일에서 출력하면 파일이름은 날라가고 txt만남게 됩니다. 근데 이상한 점은 코드를 그대로 맥 터미널에서 실행시키면 문제가 없이 실행됩니다. 디버깅을 위해 노력해본 결과 정규표현식에서 문제인 것 같습니다. print(reg.sub('', '_'.join(filename.split()))) 실행시 .txt만 남게 출력됩니다. 맥 터미널에서는 잘 되는데 왜 여기서만 안돼는지 대체 이유가 뭘까요? 코드가 같은데 실행결과가 다르니.. 어떻게 해결해야할지 ㅠ 파이썬 버전은 둘 다 3.8.5 입니다. 아래는 코드 및 실행결과 첨부합니다.
-
미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
많이들 막히실거라 생각하고 채신문법 공유합니다.
Create_page.dart import 'dart:io'; import 'package:firebase_auth/firebase_auth.dart'; import 'package:firebase_storage/firebase_storage.dart'; import 'package:flutter/material.dart'; import 'package:image_picker/image_picker.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; class CreatePage extends StatefulWidget { final User user; CreatePage(this.user); @override _CreatePageState createState() => _CreatePageState(); } class _CreatePageState extends State<CreatePage> { final textEditingController = TextEditingController(); @override void dispose() { textEditingController.dispose(); super.dispose(); } File _image; @override Widget build(BuildContext context) { return Scaffold( appBar: _buildAppbar(), body: _buildBody(), floatingActionButton: FloatingActionButton( onPressed: _getImage, child: Icon(Icons.add_a_photo), ), ); } Widget _buildAppbar() { return AppBar( actions: <Widget>[ IconButton( icon: Icon(Icons.send), onPressed: (){ final firebaseStorageRef = FirebaseStorage.instance .ref() .child('post') .child('${DateTime .now() .millisecondsSinceEpoch}.png'); final task = firebaseStorageRef.putFile( _image, SettableMetadata(contentType: 'image/png') ); task.then((TaskSnapshot snapshot){ var downloadUrl=snapshot.ref.getDownloadURL(); downloadUrl.then((uri){ var doc = FirebaseFirestore.instance.collection('post').doc(); doc.set({ 'id': doc.id, 'photoUrl': uri.toString(), 'contents': textEditingController.text, 'email':widget.user.email, 'displayName':widget.user.displayName, 'userPhotoUrl':widget.user.photoURL }); }); }).then((value) => Navigator.pop(context)); }, ) ], ); } Widget _buildBody() { return SingleChildScrollView( child: Column( children: <Widget>[ _image == null ? Text('No Image') : Image.file(_image), TextField( decoration: InputDecoration(hintText: '내용을 입력하세요'), controller: textEditingController, ) ], ), ); } final picker = ImagePicker(); Future _getImage() async { final pickedFile = await picker.getImage(source: ImageSource.gallery); setState(() { if (pickedFile != null) { _image = File(pickedFile.path); } else { print('No image selected.'); } }); } // // Future<void> _getImage() async { // File image = await ImagePicker.pickImage( // source: ImageSource.gallery // ); // setState(() { // _image = image; // }); // } } =========/*pubspec.yaml*=========== cupertino_icons: ^1.0.1 image_picker: ^0.6.7+17 flutter_signin_button: ^0.2.5 google_sign_in: ^4.0.0 firebase_auth: ^0.18.4+1 firebase_core: ^0.5.3 cloud_firestore: ^0.14.4 firebase_storage: ^5.2.0 =====* 수정된 문법 *=== fireStore는 임포트 하는 방법은 같으나 호출방법은 기존 FireStore에서 FirebaseFireStore로 변경되었습니다. 상단 final FirebaseUser user auth 사용법은 FirebaseUser user -> User user로 사용하시면 됩니다. 그 외에 document는 doc로 변경되었으며 이미지 피커같은 경우는 제 소스대로 사용하시면 됩니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
배포는 git에서 해보려고 합니다
어떻게 돌아가는지 간단하게라도 보고싶네요! 감사합니다
-
미해결바닥부터 시작하는 STM32 드론 개발의 모든 것
배터리 구매 관련
배터리가 있어서 구매를 안하려고 했는데 제가 갖고있는건 3셀짜리가 아니라 4셀짜리(4S1P)에 14.8v , 2.2Ah , 35C+ 스펙인데, 이 배터리 그대로 사용해도 될까요???
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
강의자료는 어디에서 다운받을 수 있을까요?
강의자료를 찾고 싶은데 어디서 찾을 수 있을까요
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
ref 에 대한 이해 부족이 있어 질문 드립니다.
자료구조 맛보기 -연습문제 staic void Sort(int[] scores)에 관하여 영상을 보기 전 저는 해당 메소드가 원본 배열을 복사한다고 생각하여 swap을 해주는 과정에서 ref를 사용했습니다. 그 후 sort 메소드에서 scores 출력, 메인메소드에서 sort()후 scores 출력을 해봤는데 정상적으로 sort가 되더군요. 문제는 테스트로 ref를 제거해봤을 때 sort() 메소드 안에서 출력한 scores는 정렬이 되지만 원본인 메인메소드의 scores 는 정렬이 되지 않을 거란 생각과 달리 같이 정렬이 되어 있더군요. ref에 대한 이해가 부족하다고 생각되어 이 문제에 관한 조언을 듣고 싶습니다. (항상 빠르고 친절한 답변 감사합니다!) - sort 코드 static public void Sort(int[] scores) // 작은 순 정렬 { //가장 간단한 방법 //가장 큰 거부터 뒤로 하나 씩 옮기고 맨 뒤을 제외하고 다시 반복 for (int i = 0; i < scores.Length; i++) { for(int j = 0; j <scores.Length-1; j++ ) if (scores[j] > scores[j + 1]) { // Swap(ref scores[j], ref scores[j + 1]); int temp = scores[j]; scores[j] = scores[j + 1]; scores[j + 1] = temp; } } foreach (int score in scores) { Console.WriteLine(score); } } //static void Swap(ref int a, ref int b) //{ // int temp = a; // a = b; // b = temp; //} main static void Main(string[] args) { //배열 연습문제 int[] scores = new int[5] { 10, 30, 50, 40, 20 }; Program.GetHighestScore(scores); Program.GetAverageScore(scores); Program.GetIndexOf(scores, 50); Program.Sort(scores); foreach (int score in scores) { Console.WriteLine(score); } }
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
훈련데이터와 테스트데이터를 뽑을때 모집단의 특성이 잘 반영되는지 검증은 안해도 되나요?
실전에서표본인 학습데이터와 테스트 데이터를 뽑을때 모집단의 특성(parameter)를 대표하는지 검증을 해야하는지 궁금합니다.
-
해결됨iOS/Android 앱 개발을 위한 실전 React Native - Basic
환경변수 설정
환경변수 설정 할 때 vi ~/.bash_profile 을 연 후 그대로 붙여넣기 했는데 터미널에서 이렇게 나옵니다. -bash: adb: command not found 혹시 해결방법이 있을까요
-
미해결처음 시작하는 Infrastructure as Code: AWS & 테라폼
혹시 실제 실습은 mac 기반이 아닌 amazon 리눅스로 진행되나요?
혹시 실제 실습은 mac 기반이 아닌 amazon 리눅스로 진행되나요? 만약 그렇다면 아마존 리눅스 인스턴스를 구축해놓으려고 해서요!
-
해결됨대세는 쿠버네티스 (초급~중급편)
mobaxterm ssh 접속이 안되네요.
이더넷 이구요 IP및 DNS자동으로 할당받기 설정되어있고, 동영상 강의대로 mobaxterm ssh 설정 하였는데, connection timed out 으로 접속이 안됩니다.. 어떤 부분을 더확인해봐야하나요?.. virtualbox내에 master VM(192.168.0.30) 을 생성이후 시도해보았으나 결과는 동일합니다.
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
res의 scope 질문입니다.
res의 스코프가 if안에서만 쓰이는 변수가 되는게 아닌가요? 그전에 선언을 하지 않았는데 for문을 나오고서도 쓰여지는 이유가 궁금합니다.
-
미해결더 개발자, 인터뷰 가이드
`핵심역량 - 연습하세요.` 섹션 관련 질문
해당 강좌는 0분짜리 깃발 모양 미션 탭이 보여야할것 같은데 보이지 않습니다. 혹시 제가 잘못 알고 있는걸까요? 가이드 영상 하단에 `지금까지 학습했던 핵심 역량 관련 질문 중에 하나를 선택하고 STAR 프레임워크에 맞춰서 답변을 작성해보세요` 라는 메세지는 보입니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
동일한 레코드의 참조 값을 가지고 있는 영속성 컨텍스트의 동일 객체를, 동시에 서로 다른 값으로 업데이트하여 커밋할 때의 작동 방식
안녕하세요. 추천해주신 야생형 스타일에 따라 활용 1편부터 듣고 있는 수강 중인 학생입니다. 매번 강의 너무 잘 듣고 있습니다. 제가 스프링에 대한 이해도가 아직 낮기도 하고, 다른 강의를 이어서 듣다보면 해결될 문제일진 모르겠지만, 이해가 잘 안되는 부분이 자꾸 생각나서 질문 남깁니다. @GetMapping("/test1") @ResponseBody public String test1() { log.info("test1 controller"); try { Thread.sleep(5000); } catch(Exception e) { } log.info("test1 controller finished"); return "test1 finished"; } @GetMapping("/test2") @ResponseBody public String test2() { log.info("test2 controller"); try { Thread.sleep(5000); } catch(Exception e) { } log.info("test2 controller finished"); return "test2 finished"; } 위와 같은 컨트롤러 메서드 코드가 있다고 가정할 때, 각 컨트롤러 메서드가 다른 메서드라면, 각각의 메서드 별로 스레드를 가진 채 실행한다고 이해가 되었습니다. 즉, test1이 실행하는 도중에 test2가 실행될 수는 있지만, test1이 실행하는 도중에 test1은 중복해서 실행될 수 없는 것처럼 보였습니다. 일단 스프링의 작동 방식은 이처럼 이해되었습니다. 그런데 만약 아래와 같이 test1과 test2에서, 동일한 Item객체를 JPA에서 동시에 꺼내온 상황에 업데이트가 일어나면 어떻게 되는지 궁금합니다. 아래의 실행 과정은 제가 개인적으로 생각해본 과정인데, 어떠한 부분이 잘못되었는지 지적해주시면 감사하겠습니다. 1. test1에서 서비스 로직을 실행하는 도중 JPA를 이용하여 Item 객체를 findOne해서 꺼내온다(동시에 영속성 컨텍스트에 등록이 된다는 것처럼 이해되었습니다.) 2. test1가 아직 실행되고 있는 와중에, test2에서 서비스 로직을 실행하는 도중 JPA를 이용하여 Item객체를 findOne해서 꺼내온다(이 객체 또한 영속성 컨텍스트에 등록이 된다는 것처럼 이해되었습니다.) 3. 현재 test1과 test2에서 각각 동일한 Item 객체를 가져와서 영속성 컨텍스트에 등록이 된 상황이라고 보겠습니다. 앞으로 실행 될 test1의 서비스에서는 count를 10올릴 것이고, test2에서는 count를 10내린다고 가정해보겠습니다. 현재 Item 객체에는 100이라는 값이 저장되어있습니다. 4. test1에서 item.addCount(10)을 하면, count는 110이 될 것입니다. 바로 이어서 test2에서 item.removeCount(10)을 하면, count는 90이 될 것입니다. 5. test1의 서비스 로직이 끝나면, @Transactional 어노테이션을 통해 commit이 일어나고, dirty checking을 하며 item 객체의 count를 110으로 업데이트하는 쿼리문을 날릴 것입니다. 6. test2의 서비스 로직이 끝나면, @Transactional 어노테이션을 통해 commit이 일어나고, dirty checking을 하며 item 객체의 count를 90으로 업데이트하는 쿼리문을 날릴 것입니다. 7. 따라서 최종적으로 item 객체의 count값은 90으로 업데이트 될 것입니다. 하지만 실제로는 test1에서 10을 더하고, test2에서 10을 차감하였으니, 동일한 item 객체에 대한 count값은 DBMS 상에서 100으로 유지되어야 맞을 것입니다. 제가 생각한 실행 과정은 90으로 값이 업데이트되며 DBMS의 값의 일관성을 깨뜨리는 상황입니다(물론 제가 짧은 생각대로 실행한 과정의 결과가 90이란 것이지, 코드의 실행 결과가 90이라고 단언한 것은 아닙니다. 결과도 궁금하지만, 100이라는 결과가 나오는 과정에서 어떻게 실행되는지가 궁금한 것입니다!). 어떠한 부분이 잘못되었고, 그 부분은 어떻게 해결되어지는 것인지 궁금합니다. 개인적으로 생각해본 가정은 다음과 같습니다. 가정1 : 동일한 레코드를 조회한 객체에 대해서는 영속성 컨텍스트에 동일한 객체로 기억되기때문에 test1과 test2에서는 동일한 참조 값을 가진 item 객체를 가지고 있다. 따라서 addCount를 할 때 110으로 바뀌고, removeCount를 할 때 100으로 다시 바뀌기 때문에, test1과 test2의 커밋 각각에서는 count 값을 100으로 바꾸는 동일한 update문이 두 번 일어난다. 가정 2 : 동일한 레코드에 대해서 이미 commit 또는 업데이트 된 내역이 있으면, 지금 일어나는 commit은 그냥 ROLLBACK을 시켜버린다. 하지만 이렇게 할 경우, 자바 코드 상에서 DBMS에 저장된 아이템에 대해 동일한 것을 접근했는지 어떻게 기억할 것이며, rollback으로 인한 오버헤드는 감수하는 것인지 의문점이 남습니다. 가정 3 : 동일한 레코드로 조회된 객체에 대해서는 업데이트가 일어나는 전 과정에, 해당 객체에 lock을 걸어둔다. 그러면, 업데이트가 끝나서 commit이 되고, lock을 해제할 때까지 해당 객체에는 접근하지 못한다. 처음에는 이러한 과정이 @Transactional 어노테이션이 붙어있으면, 이 어노테이션이 달려있는 메서드 중에 1개씩만 실행되면서 수행되는 줄 알았는데 제가 아직 개념이 부족한 탓인지 딱히 그렇게 실행되는 것 같지는 않았습니다. 가정 4 : 애초에 이러한 설계가 잘못된 것이다. test1과 test2에서 동시에 item 객체를 수정하는 과정의 코드는 없어야한다. test1 또는 test2, 둘 중에 하나의 메서드에서만 item 객체를 수정할 수 있어야한다. 가정 5 : 그냥 DBMS에서의 트랜잭션처럼 관리된다. 자바 상에서 동시에 실행되는것처럼 보여도 JPA를 통해 serializable한 실행 결과를 보장해준다. 일단 DBMS에서 트랜잭션 간에 동시성을 관리하는 체계를 생각하면, 위와 같은 가정들이 나온다고 생각했습니다. 하지만 그건 DBMS에서의 동시성 관리 체계이지, JPA 상에서도 @Transactional 어노테이션 하나로 그것처럼 동일하게 관리되는지는 잘 모르겠어서 의문이 남습니다. 질문이 미흡해서 제가 의문점을 제대로 남긴 것인지 모르겠네요. 바쁘신 와중에 시간 내 주셔서 감사합니다. +++ @Test@Transactional@Rollback(false)public void 동시업데이트() { // given Book book = new Book(); book.setName("희재의 책"); book.setIsbn("1234"); book.setStockQuantity(100); book.setPrice(30000); em.persist(book); Book book1 = em.find(Book.class, 1L); Book book2 = em.find(Book.class, 1L); // when book1.addStock(10); book2.removeStock(20); Book book3 = em.find(Book.class, 1L); // then assertThat(book1).isSameAs(book2); assertThat(book2).isSameAs(book3); assertThat(book3.getStockQuantity()).isEqualTo(90);} 일단 위와 같은 테스트 코드로 DBMS 상에서 같은 레코드를 조회한 아이템에 대해서는 동일한 객체를 반환하는 것을 확인했습니다. (같은 트랜잭션 상에서만?) 그런데 처음 적은 예시처럼 영속성 컨텍스트에 등록된 동일한 객체에 대해 동시에 커밋이 여러 개 일어나면 어떻게 되는지, 또 이것을 확인해보고 검증하는 테스트 코드는 어떤 식으로 작성해야하는지 잘 모르겠네요.. ㅠㅠ
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
질문있습니다
제로초님 5강의 프로젝트를 실행 시키고나서 로그인 로그아웃 글쓰기, 팔로워등 하면 잘되다가 이런 오류가 뜹니다. 이런 오류는 뜨는이유가 무엇이며, 어떻게 해결해야할지 궁금합니다ㅎㅎ 질문 2 프론트랑 백앤드랑 cmd창에 어떤 순서로 npm run dev를 하는게 좋나요?
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
3중 for문 대신에 combinations 써도 되지 않나요?
저는 combinations 쓰고 sum() not in list일때 sum으로 묶어서 해줬었는데.. 맞을까요?
-
해결됨프론트엔드 개발환경의 이해와 실습 (webpack, babel, eslint..)
"웹팩 기본편 - 자주 사용하는 플러그인" 강의내용중 질문이 있습니다.
안녕하세요 웹팩을 webpack.base.babel.js로 따로 관리하는데 2가지 질문이 있습니다. 1. ESLInt: TypeError: filepath.toLowerCase is not a fuction 에러 new webpack.BannerPlugin({ banner: ` Build Date: ${new Date().toLocaleString()} Commit Version: ${childProcess.execSync('git rev-parse --short HEAD')} Author: ${childProcess.execSync('git config user.name')} `,}), 을 추가하니, ESLInt: TypeError: filepath.toLowerCase is not a fuction에러가 잡히는데 혹시 어떻게 처리해야하는지 그리고 무엇때문에 lint에 걸리는지 궁금합니다2. 깃 명령 내용을 홈화면에서 노출시키고 싶은데 어떻게해야하나요? ` Build Date: ${new Date().toLocaleString()} Commit Version: ${childProcess.execSync('git rev-parse --short HEAD')} Author: ${childProcess.execSync('git config user.name')}` 이 내용을 홈화면에 노출하고싶은데 혹시 보통 어떻게 처리하시는지 궁금합니다(js파일에서 const childProcess = require('child_process'); 이렇게 가져오면 child_prcoesschild_process is not defined 에러가 나고 서치한 방법으로는 제대로 해결한걸 못찾아서 질문드립니다)
-
미해결스프링 프레임워크 핵심 기술
질문이 있습니다.
3:53에 XML Configuration File을 생성합니다.저의 경우는 new에 해당 XML Configuration File이 나오질 않았습니다.혹시 이 문제도 유료 버전이 아니여서 그런 것일까요??