묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실전 프로젝트로 배우는 타입스크립트
간단한 enum 파스칼 케이스 관련 질문입니다.
안녕하세요.분할정복의 정수를 보여 주시는 좋은강의 감사드립니다. 저는 대문자 , 언더바 로만 이루어진 enum 프로퍼티 네이밍을 하다보니파스칼 케이스가 다소 어색하지만,이것이 관례 라면, 공통적인 부분이라 따르려는 입장입니다. 생각해봤을때, enum 이 JS 로 컴파일 된 상태( object )로만 보면,파스칼 스타일을 쓰는것도 일리가 있어 보이지만,각종 타입들과 같이 구분이 안되는 부분이 있을 수 있어서CovidStatus.CONFIRMED 과 같이enum 프로퍼티 만큼은 대문자를 선호하고 있습니다만, 제가 놓친것이 있다면 한번 짚어주시길 부탁드립니다.읽어주셔서 감사합니다.
-
해결됨홍정모의 따라하며 배우는 C++
bona kim님과 같은 질문입니다~!
Q)어떠한 이유로 main()의 첫 doSomething(); 유무에 따라 에러가 발생하는 건가요? 본 코드는 영상 (9:50)와 동일합니다. 단, main() 첫 줄에 doSomething()을 호출한 것만 다릅니다. class Exception { public: void report() { cerr << "Exception report" << endl; } }; class ArrayException : public Exception { public: void report() { cerr << "Array exception" << endl; } }; class MyArray { private: int m_data[5]; public: int& operator [] (int index) { if (index < 0 || index >= 5) throw ArrayException(); return m_data[index]; } }; void doSomething() { MyArray my_array; try { my_array[100]; } catch (ArrayException& e) { cout << "doSomething() " << endl; throw e; // error break out!! } } int main() { doSomething(); // only this line is different from before!! try { doSomething(); } catch (ArrayException& e) { cout << "main()" << endl; e.report(); } return 0; } 위 코드는 사실상 doSomething에서 특정 대상을 throw할 필요없이 그냥 throw해도 main()의 catch가 받아줘야 하는 코드라고 생각해요. test) throw e; vs throw; = 기능상 결과 똑같음(위 코드에 한에서만). throw와 catch 순서 상 : class MyArray (throw) -> void doSomething (catch & throw) -> main (catch) 그런데 자꾸 런타임 에러가 발생합니다. 아래 사진, 또는 Unhandled exception 에러 발생. (디버깅)본 에러는 doSomething의 throw이 작동하는 순간 발생합니다. 신기하게도 main()의 가장 첫 번째 doSomething();을 지워주면 이러한 문제가 발생하지 않고, 함수 doSomething안에 있는 throw도 main()의 catch까지 문제없이 전달됩니다.
-
미해결영리한 프로그래밍을 위한 알고리즘 강좌
순차탐색: 다른버전 자바 코드 작성하는 중에 작성이 잘 안되서 질문드립니다.
static int search(int[] data, int begin, int end, int target) { if (begin > end) return -1; else if (target == data[end]) return end; else return search(data, begin, end - 1, target); } 다름 아니라 자바 코드 작성을 했는데 값이 초과되는 오류가 계속 떠서 혹시 자바로 작성할 때 메인과 같이 쓰게 되면 어떤 형식인지 답변에 알려주실 수 있으신가요? ps. search(data, begin+1, end, target); 이었을 경우엔 잘 실행됐는데 제가 자바를 아직 완벽하게 익히지 못한 탓인거 같지만 소스코드제공해주시면 감사하겠습니다.
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
언급하신 잘못된 양방향 설계(Member - Order)에 대한 설명에 대한 질문
Member와 Order간의 양방향 관련 질문입니다 링크에서 멘토님께서 답변해주신 내용 중, 'select o from Order o where o.member.id = :memberId주문내역은 쿼리 자체가 order만 있어도 충분합니다'라고 하셨는데요, 저 JPQL에서 ':memberId' 파라미터 또한 order 객체 내 Member 필드에 대한 getter 함수(=getId()) 호출로 가져오면 되기 때문에 order 객체만 있어도 된다는 건가요? 아니면 ':memberId'는 별도의 요청으로부터 넘겨줘야하는 파라미터인가요?
-
따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
배포시 Dockerfile COPY --from=builder /usr/src/app/build /usr/share/nginx/html 실패
삭제된 글입니다
-
미해결남박사의 파이썬 기초부터 실전 100% 활용
예외 처리 상황이 발생했을떄, 일반적으로 어떻게 처리하나요?
예외 처리 상황이 발생하면, catch block으로 오는 것 까지는 이해가 가는데, 실제 프로그램에서, 어떤 식으로 처리를 하나요? 코드 양이 많다면, try-catch 뒤에 나오는 코드에서, 앞에 try-catch 코드가 정상적으로 가동했다는 가정을 하고, 코드들이 짜여졌을터인데, 단순히 에러가 났다는 표시만 하면, 뒤에서 계속적으로 에러가 나서 프로그램 전체가 다운되는 결과가 생길수 있을것 같은데... 이런 상황을 실제에서는 어떻게 처리를 하는지 궁금합니다. 물론 어떤 에러가 생길지 미리 정확히 예측을 한다면, 모든 에측 상황을 정해서 거기에 맞는 대응을 하면 좋겠지만, 그렇지 않은 경우에라도, 관련 부분에 에러가 날 수는 있더라도, 그 에러로 인해서 전체 프로그램이 다운 되면 않될것 같은데, 이런 경우는 어떻게 일반적으로 처리를 하는지가 궁금합니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
선생님 정말 기초적인 질문 죄송합니다 ㅠ
CheckBox.js 에서 8번 라인에 renderCheckBoxLists = () => props.list&& ~~ 하셨는데 renderCheckBoxLists =() => {props.list&& ~~} 이렇게 블록으로 감싸니까 데이터가 안나오던데 이유좀 알수있을까요 ㅠㅠ
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
코딩이 안되는데, 이유를 잘 모르겠습니다......
안녕하세요, 선생님 질문이 있습니다. 제 코딩에서 처음 오류 뜨는 게 문법적 오류인데 else: ##ERROR 문법적 오류 print("{0} : 체력이 부족하여 스팀팩을 사용하지 않습니다.".format(self.name)) 아무리 봐도 저기에 문법적 오류가 없어서... 제 노트북이 잘못된 건지 제가 코딩을 이상하게 했는지 여쭤보고 싶습니다... 처음에 비주얼 코드에 파이썬 프로그램을 잘못 받아서 실행이 안되더라고요...! 그래서 지금은 구글의 colab을 이용하고 있습니다... #########################[ERROR] from random import* #일반 유닛 class Unit: def __init__(self, name, hp, speed): self.name=name self.hp=hp self.speed=speed print("{0} 유닛이 생성됐습니다.".format(self.name)) def move(self, location): print("{0} : {1} 방향으로 이동합니다 [속도 {2}]"\ .format(self.name, location, self.speed)) def damaged(self, damage): print("{0} : {1} 데미지를 입었습니다.".format(self.name, damage)) self.hp -= damage print("{0} : 현재 체력은 {1}입니다.".format(self.name, self.hp)) if self.hp <= 0: print("{0} : 파괴되었습니다.".format(self.name)) #공격 유닛 class AttackUnit(Unit): def __init__(self, name, hp, speed): Unit.__init__(self, name, hp, speed) self.damage=damage def attack(self, location): print("{0} : {1} 방향으로 적군을 공격합니다. [공격력 {2}]".format(self.name, location, self.damage)) #마린 class Marine(AttackUnit): def __init__(self): AttackUnit.__init__(self, "마린", 40, 1, 5) def stimpack(self): if self.hp > 10: self.hp -= 10 print("{0} : 스팀팩을 사용합니다. (HP 10 감소)".format(self.name)) else: ##ERROR 문법적 오류 print("{0} : 체력이 부족하여 스팀팩을 사용하지 않습니다.".format(self.name)) #탱크 class Tank(AttackUnit): seize_developed = False ##[?] AttackUnit.__init__(~) 밑에 넣으면 안되나? def __init__(self): AttackUnit.__init__(self, "탱크",150, 1, 35) self.seize_mode = False def set_seize_mode(self): if Tank.seize_developed == False: return # 현재 시즈모드가 아닐 때 시드모즈로 변경 if self.seize_mode == False: print("{0} : 시즈모드로 변경합니다.".format(self.name)) seize.damage*=2 self.seize_mode = True # 현재 시즈모드일 때 시즈모드 해제 else: print("{0} : 시즈모드를 해제합니다.".format(self.name)) self.damage/=2 self.seize_mode = False #비행기 class Flyable: def __init__(self, flying_speed): self.fly=flying_speed def fly(self, name, location): print("{0} : {1} 방향으로 날아갑니다. [속도 {2}]"\ .format(name, location, self.flying_speed)) #공격하는 비행기 class FlyableAttackUnit(AttackUnit, Flyable): def __init__(self, name, hp, damage, flying_speed): AttackUnit.__init__(self, name, hp, 0, damage) Flyable.__init__(self, flying_speed) def move(self, location): print("[공중 유닛 이동]") self.fly(self.name, location) ##ERROR #레이스 class Wraith(FlyableAttackUnit): def __init__(self): FlyableAttackUnit.__init__(self, "레이스", 80, 20, 5) self.clocked = False def clocking(self): if self.clocked == True: print("{0} : 클로킹 모드 해제합니다.".format(self.name)) self.clocked == False else: print("{0} : 클로킹 모드로 변경합니다.".format(self.name)) self.clocked == True def game_start(): print("[알림] 새로운 게임을 시작합니다.") def game_over(): print("Player : gg") #good game print("[Player] 님이 게임에서 퇴장하셨습니다") game_start() m1=Marine() m2=Marine() m3=Marine() t1=Tank() t2=Tank() w1=Wraith ##유닛 일괄 관리## attack_units=[] attack_units.append(m1) attack_units.append(m2) attack_units.append(m3) attack_units.append(t1) attack_units.append(t2) attack_units.append(w1) for unit in attack_units: unit.move("1시") Tank.seize_developed=True print("[알림] 탱크 시즈 모드 개발이 완료됐습니다.") ###공격 모드 준비!!### for unit in attack_units: if isinstance(unit, Marine): #이 유닛은 마린 클래스의 이스인스텐스다. unit.stimpack() elif isinstance(unit, Tank): unit.set_seize_mode() elif isinstance(unit, Wraith): unit.clocking() #마린 스팀팩, 탱크 시즈모드, 레이스 클로킹 #공격은 랜덤으로 받음 for unit in attack_units: unit.damaged(randint(5, 21)) game_over()
-
해결됨파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
for문에서 house.show_detail()을 넣어주는 이유를 모르겠습니다.
안녕하세요, 선생님 질문이 있습니다. for house in houses: 까지는 리스트에 house들을 명시하는 것이라고 생각해서 이해가 되는데 house.show_detail()을 넣어주는 이유를 모르겠습니다. class House: def __init__(self, location, house_type, deal_type, price, completion_year): self.location=location self.house_type=house_type self.deal_type=deal_type self.price=price self.completion_year=completion_year def show_detail(self): print(self.location, self.house_type, self.deal_type, self.price, self_completion) houses=[] house1=House("강남", "아파트", "매매", "10억", "2010년") house2=House("마포", "오피스텔", "전세", "5억", "2007년") house3=House("송파", "빌라", "월세", "500/50", "2000년") houses.append(house1) houses.append(house3) houses.append(house3) print("총 {0} 대의 매울이 있습니다.".format(len(houses))) for house in houses: house.show_detail() #[?] 왜 필요한지 모르겠다
-
해결됨누구나 할 수 있는 안드로이드 앱 개발 - 1 (Kotlin)
파이어베이스에는 잘 저장 되는데 불러올때 null값이라고 나옵니다...
파이어베이스는 잘 저장 되는것 같은데 //ResultActivity.ktFirebaseDatabase.getInstance().getReference().child(intent.getStringExtra("uid").toString()) .addListenerForSingleValueEvent(object : ValueEventListener{ override fun onDataChange(snapshot: DataSnapshot) { //success val DataFromFB = snapshot.getValue(Data::class.java) findViewById<TextView>(R.id.result).setText("금연일: " + DataFromFB?.day_count +" 개수 : "+ DataFromFB?.smoking_count + " 가격 : "+DataFromFB?.money_count) } override fun onCancelled(error: DatabaseError) { //fail findViewById<TextView>(R.id.result).setText("fail") } }) 여기서 DataFromFB에서 값을 가져오지 못해서 null값으로 나오는것 같습니다. 뭐가 문제인걸까요?
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
MySQL의 테이블 자동 생성 시에 대해서
본 강의 내용대로, Member 클래스 @Id @GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "MEMBER_ID")private Long id; persistence.xml <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/> 로 설정하면 jpa 실행하면서 생성되는 테이블 컬럼에 'auto_increment'가 설정된 것을 확인했습니다. 그런데 Member 클래스의 @GeneratedValue 속성만 기본 값(GenerationType.AUTO)으로 설정하면 auto_increment가 설정되지 않고, 마치 GenerationType.TABLE으로 설정한 것처럼 시퀀스용(=키 생성 전용) 테이블이 별도로 생성되는 것을 확인했습니다. 제가 궁금한 것은, @GeneratedValue 전략을 설정할 때, persistence.xml의 DB 방언 설정에 따라 같이 병행해야하나요?
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
스타크래프트 전반전 보고 생긴 __init__(괄호 안에 거 ) 질문
안녕하세요, 선생님 질문이 있습니다. 새로 생긴 class 경우 def __init__( ): 에서 저 괄호 안에는 어떤 것들을 제시해줘야하는지 모르겠습니다. 처음 class는 class Unit: def __init__(self, name, hp, speed): self.name=name self.hp=hp self.speed=speed print("{0} 유닛이 생성됐습니다.".format(self.name)) 저렇게 처음에 def__init__():의 괄호 안에 어떤 값을 넣어야 할지 알겠습니다. 그리고 상속받은 class 또한 #공격하는 비행기 class FlyableAttackUnit(AttackUnit, Flyable): def __init__(self, name, hp, damage, flying_speed): AttackUnit.__init__(self, name, hp, 0, damage) Flyable.__init__(self, flying_speed) def move(self, location): print("[공중 유닛 이동]") self.fly(self.name, location) 부모 class의 def__init__():에서의 괄호 안의 값을 넣어야 하는 것도 이해됩니다. 그런데 상속받지 않은 새로운 class 경우 #비행기 class Flyable: def __init__(self, flying_speed): ##[?] def __init__(안에 뭐가 들어가야하는지) self.fly=flying_speed def fly(self, name, location): print("{0} : {1} 방향으로 날아갑니다. [속도 {2}]"\ .format(name, location, self.flying_speed)) 는 잘 모르겠습니다.
-
미해결실습 UI 개발로 배워보는 순수 javascript 와 VueJS 개발
너무 어렵네요...ㅜ.ㅜ
제 수준엔 너무 어려워서 혹시나 이 JS가 어떻게 해야 View.js랑 FormView의 랑 컨트롤러들을 잘 이해할 수가 있을까요..소프트웨어 컴공을 3년 다녔고 JS보단 백엔드로 JAVA로만 하다가 Js를 다시 공부하자고 맘 먹어서 처음부터 좀 JS를 들고 스코프나 재귀함수나 등등 어느정도는 알아도 좀 어렵네요 ㅜ.ㅜ 어떤 강의나 또는 어떤 방식을 해야 이 강의가 좀 더 쉽게 다가올까요?...
-
미해결빠르게 git - 핵심만 골라 배우는 Git/Github
좋은 강의 감사드립니다.
제목이 곧 내용
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
선생님 레퍼런스 질문이 있습니다.
스프링 입문자입니다. 선생님 강의를 보면서 이론적인면도 참조하면서 보고싶은데 혹시 추천해주실 수 있는 교재가 있을까요? 너무 예제만 들어있는 것들 말고 혹시 부족한 부분을 이론으로 익히려고 하는데 선생님 노하우에서 어떤 레퍼런스교재로 어떤 교재가 좋을지 추천해주시면 감사하겠습니다
-
미해결실전 프로젝트로 배우는 타입스크립트
partial vs optional
partial로 타입 정의와 인터페이스 프로퍼티를 옵셔널로 처리하는거랑 어떤점이 차이가 있을까요?그리고 어떤 상황에 뭘 쓰는게 적당??한지 궁금합니다
-
미해결하울의 안드로이드 인스타그램 클론 만들기
유저가 없으면 구글 로그인이 안되는 부분
강의와 같이 users정보를 삭제하고 실행을 후 구글 로그인을 누르면 앱이 종료가 되고 실행 후 아이디 비번을 입력하고 signup을 누르고 하면 로그인이 됩니다,, 혹시 이게 맞는건가요?
-
해결됨더 자바, 코드를 조작하는 다양한 방법
저 궁금한게 있습니다.
강의 중에"Extension 클래스 로더"라 하지 않고,이제는 "Platform 클래스 로더"로 한다고 언급하셨는데,그러면 강의 자료에Extension이 작성되있는 것이아닌,Platform으로 작성되있어야 하는거 아닌가요? 강의 듣는데는 문제는 없지만, 어쩌면 오해의 소지가 있을 수 있어서 질문드립니다.
-
해결됨윤재성의 Java 기반 Android 9.0(pie) App 개발 기본 1단계
안녕하세요, 안드11이 나오면서 ViewPager가 팔레트에서 사라져서 문의 드립니다
안드로이드 스튜디오가 안드로이드11을 지원하기 위해 업그레이드 되면서 ViewPager가 아예 없어졌는지 팔레트에 키워드 검색으로도 나오지 않더라구요 그래서 ViewPager2를 사용해보려고 했는데 Fragment가 발목을 잡아서 문의 드립니다. 혹시 이 챕터(ViewPager)는 심화 2단계의 Fragment 부분 강의를 들은 후에 수강하더라도 차후(안드로이드 메뉴 파트, 메시징 파트) 진행 중에 무리가 없을까요? 쉽고 이해가 잘 되는 강의 언제나 감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
postman을 통해 다른 사이트의 entity의 전체의 내용을 출력할 수 있나요?
안녕하세요. 약간 수업 외 질문 같긴 하지만 질문 해도 될까요? 만약 어떤 사이트에서 검색기능을 구현했는데, DTO 없이 entity를 자체를 통해 출력하도록 설계를 했다면, 해당 설계된 웹 페이지에는 비밀번호 출력 기능이 구현되지 않더라도, postman 을 통해 json 방식으로 엔티티의 모든 데이타를 수집해서 비밀번호까지 알 수 있는 건가요? 뭔가 보안 상 문제가 있을 수 있겠다는 걱정이 듭니다 ㄷㄷ. 포스트맨이 엔티티 전체를 가져오는 막강한 기능을 보니까, 한계가 어디까지인지 궁금합니다! 감사합니다~