1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요? 강의를 열심히 듣다가 궁금한 점이 생겨서 질문 드립니다! @ManyToMany 와 복합키에 관련된 부분에 대해서 궁금한 점이 있는데, 일반적으로 실무에서 @ManyToMany 관계를 사용하지 않는 이유로 단순히 연관 연결 뿐 아니라 그 외에 특정한 데이터들이 들어올 수 있기 때문에 새로운 Entity로 승격시켜 생성한다는 부분은 이해하였습니다. 또한, 이를 정의하면서 복합키를 사용하지 않고 새로운 대체키를 생성하는 부분 역시 이해하였습니다. 하지만, 만약 팔로잉 테이블을 구현한다고 가정한다면 제가 생각하기엔 팔로잉 하는 사람의 ID 값과 팔로우 하는 사람의 ID 값만 저장하면 된다고 생각하는데 이런 경우에는 1. ManyToMany 관계를 사용하는지? 2. 새로운 대체키를 사용하는지? 이 부분이 궁금합니다. 또한, 실무에서 팔로잉 기능을 개발한다고 가정하면 위에서 설명한 단순히 2개의 외래키만 사용하는 것이 아닌 생성일 같은 데이터를 추가하여 좀 더 자세하게 관리하는지 역시 궁금합니다.
명언 앱 만들기 강의 수강 중 Type mismatch: inferred type is ViewDataBinding! but ActivityMainBinding was expected 위와 같은 오류가 발생합니다. binding=DataBindingUtil.setContentView(this,R.layout.activity_main) 에 빨간 밑줄이 그어집니다. package com.junho.goodwords import android.content.Intent import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import androidx.databinding.DataBindingUtil import com.junho.goodwords.databinding.ActivityMainBinding class MainActivity : AppCompatActivity() { private lateinit var binding: ActivityMainBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) binding=DataBindingUtil.setContentView(this,R.layout.activity_main) binding.showAllSentencesBtn.setOnClickListener { val intent= Intent(this,SentenceActivity::class.java) startActivity(intent) } } } gradle 에서는 buildFeatures{ dataBinding=true viewBinding=true } 로 설정하였습니다.
차량 통신 제어기의 설계 및 개발과 관하여 궁금합니다. 차량용 통신에는 CAN을 사용하고 있는 것으로 알고 있습니다. 하지만 최근에 Ethernet을 적용하는 분야가 늘어나고 있는 것 같습니다. 주로 어떤 분야에 적용되며, CAN에서 Ethernet으로 변화함에 있어 바로 적용이 가능한 것인지도 궁금합니다. 질문 내용과 관련하여 답변 부탁드립니다.
발생: FeedDetailScreen 진도: Calendar 구현하기 도입 내용: Rendered more hooks than during the previous render v Previous render Next render ------------------------------------------------------ 1. useContext useContext 2. useContext useContext 3. useContext useContext 4. useEffect useEffect 5. useState useState .... 29. undefined useEffect ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ in FeedDetailScreen (created by SceneView) useEffect의 위치에 따라 저런 에러가 발생하는데 왜 그런지 혹시 알 수 있을까요?? const { id } = route.params; ... const { } = useHooks; //! useEffect <<<<< 에러 발생 x if (isError || isPending) return null; //! 아래로 에러 발생 //! useEffec <<<< 에러 발생 handler 1 handler 2 return (View)
안녕하세요. 따로 진행 하는 데서 문제는 없지만 순수하게 궁금증이 생겨서 질문 해봅니다. context=(arch="amd64", os="linux") 로 설정을 한 뒤 sc= shellcraft.sh() 쉘을 확인하는데에 있어서 영상과 다르게 sc 값이 나오는 이유가 무엇일까요? 비슷하게 쉘을 짜는것 같지만 중간 중간에 좀 다르게 작성되어 나타나는 부분이 있습니다.
<?php // 데이터베이스 연결 정보 $servername = "localhost"; // 서버 이름 $username = "root"; // 사용자 이름 $password = "505015"; // 비밀번호 $dbname = "quizlist"; // 데이터베이스 이름 // 연결 생성 $conn = new mysqli($servername, $username, $password, $dbname); // 연결 확인 if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); // 연결 실패 시 오류 메시지 출력 } php 문을 적고 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | quizlist | | sys | +--------------------+ db에도 quizlist가 있는걸 확인했어요. 왜 찾을 수 없다는 문이 나오는지 이해가 잘 안가요. 다른 글보니까 비트나미매니저에 들어가서 서버를 끄면 된다고 하길래 시도는 했으나 실패하고 다시 db를 만들기도 하였으나 실패했습니다.
안녕하세요, 큰돌님 강의 열심히 듣고 있는 수강생입니다. 제 풀이입니다. 사실상 강의 코드와 거의 일치합니다. (다른 점은 올 수 있는 숫자 중 필요 성냥개비 수가 같은 수 중 큰 수를 제거하고 0,1,2,4,6,7,8 에 대해서만 따로 배열을 만들어 돌렸다는 정도입니다) https://www.acmicpc.net/source/79322370 강의 내용을 바탕으로 바텀업 방식과 탑다운 방식으로 모두 풀어보았는데요. 문제 해설에 남겨주신 풀이도 바텀업인 것을 보니 이 문제의 정통 풀이법은 아마 바텀업인 것 같습니다. 탑다운 방식의 풀이가 틀린 것은 아닌데.. 테스트 케이스가 여러 개 주어지는 문제이다보니 성냥개비 개수를 작은 순으로 (4개, 7개, 10개..) 주면 맞는데, 처음 주어지는 성냥개비 개수가 큰 경우(예를 들어 100개부터 주어지는 경우) 에는 100개에 대한 top-down을 돌면서 거쳐온 중간 값들을 dp에 저장하는데 이때 '첫째 자리에는 0이 올 수 없다' 라는 조건을 만족하지 못하는 수가 다수 저장됩니다. 입력으로 주어진 수 x에 대해서는 if (left == x && num == 0) continue; 해당 구문으로 첫째 자리에 0이 오는 것을 방어하는데, 이후 입력으로 받은 수가 dp 테이블에 기록되어있다면 바로 return해버려서 되다 만 중간값을 그냥 반환해버리는 문제가 있는 것 같습니다. 그렇다고 모든 입력에 대해 dp테이블을 전부 비웠다가 다시 탑다운으로 일일이 계산하는 것은 너무나 비효율적같아 보이는데.. 이렇기 때문에 이 문제 풀이는 바텀업이 정배(?)인건가요? 아니면 탑다운 방식에서 제가 뭘 놓치고 있는 것이 있을까요?
안녕하세요 제가 좀 더 응용해서 post 요청 시에 Mockito.when()과 접목시킨 테스트를 진행해봣는데 이 과정에서 질문이 있어 질문 드립니다. 예시 코드는 다음과 같습니다. void signUpTest() throws Exception { //given var memberResponse = new MemberResponse(MEMBER_ID, MEMBER_EMAIL); var signUpRequest = new SignUpRequest(MEMBER_EMAIL, "password"); //when when(memberFacadeService.signUp(signUpRequest)) .thenReturn(memberResponse); //then mockMvc.perform( post("/api/v1/members/signUp") .content(OBJECT_MAPPER.writeValueAsString(signUpRequest)) .contentType(MediaType.APPLICATION_JSON) ) .andDo(print()) .andExpect(status().isOk()) .andExpect(jsonPath("$.id").value(MEMBER_ID)) .andExpect(jsonPath("$.email").value(MEMBER_EMAIL)); } 이 코드 시에 문제가 발생합니다. 문제는 java.lang.AssertionError: No value at JSON path "$.id" 이거입니다. 근데, 이 코드를 아래와 같이 바꾸면 에러가 발생하지 않습니다. void signUpTest() throws Exception { //given var memberResponse = new MemberResponse(MEMBER_ID, MEMBER_EMAIL); var signUpRequest = new SignUpRequest(MEMBER_EMAIL, "password"); //when when(memberFacadeService.signUp(any(SignUpRequest.class))) .thenReturn(memberResponse); //then mockMvc.perform( post("/api/v1/members/signUp") .content(objectMapper.writeValueAsString(signUpRequest)) .contentType(MediaType.APPLICATION_JSON) ) .andDo(print()) .andExpect(status().isOk()) .andExpect(jsonPath("$.id").value(MEMBER_ID)) .andExpect(jsonPath("$.email").value(MEMBER_EMAIL)); } 위와 아래의 차이는 requestBody에 들어가는 SignUpRequest 클래스를 mockBean처리 된 memberFacadeService의 when 처리 시에 해당 클래스를 any()로 처리하나 안처리하나의 차이입니다. 제가 예상하기에는 mockMvc에서 .content(objectMapper.writeValueAsString(signUpRequest)) 로 이렇게 처리했기 때문에 해당 로직에 들어가는 memberFacadeService 클래스의 signUp 매개변수로 들어가는 SignUpRequest가 제가 위에서 선언한 signUpRequest와 다르기 때문에 발생하는 문제라고 생각합니다. 이 이해가 맞는지에 대한 질문과 post요청에서는 다 이렇게 any()처리를 해야되는지 궁금합니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 스케일링 진행 시 train 에는 있지만 test 에 컬럼이 없는 경우 "None of [Index(['Attrition_Flag'], dtype='object')] are in the [columns]" 의 오류가 발생합니다. 컬럼 리스트의 기준을 train으로 잡지 않고 중복되는 컬럼만 존재하는 test의 기준으로 컬럼 리스트를 잡고 fit_transform 을 진행해주어도 상관이 없을까요? from sklearn.preprocessing import RobustScaler rols = test.select_dtypes(exclude='object').columns for rol in rols: rs = RobustScaler() train[rol] = rs.fit_transform(train[[rol]]) test[rol] =rs.transform(test[[rol]]) 작성한 코드입니다.
orm.py 를 다음과 같이 작성했고 from sqlalchemy import Boolean, Column, Integer, String from sqlalchemy.orm import declarative_base Base = declarative_base() # base란 클래스로 db모델링 class ToDo(Base): __tablename__ = 'todo' # table이름 id = Column(Integer, primary_key=True, index=True) content = Column(String(256), nullable=False) is_done = Column(Boolean, nullable=False) # todo 객체의 출력을 쉽게 보기위해 repr def __repr__(self): return f'<ToDo(id={self.id}, content={self.content})>, is_done={self.is_done}' connection.py 도 다음과 같이 작성했으나 from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker DATABASE_URL = "mysql+pymysql://root:todos@127.0.0.1:3306/todos" engine = create_engine(DATABASE_URL, echo=True) # echo는 쿼리의 처리를 확인 SessionFactory = sessionmaker(autocommit=False, autoflush=False, bind=engine) 강의안에서 말씀하신대로 import까지 완료하고 명령어 session.scalars(select(ToDo)) 를 실행하는 과정에서 자꾸 이렇게 뜹니다 에러가 한두개가 아니라서 감도 안잡힙니다.. 도와주세요 2024-06-06 20:53:23,126 INFO sqlalchemy.engine.Engine SELECT todo.id , todo.content, todo.is _done FROM todo 2024-06-06 20:53:23,126 INFO sqlalchemy.engine.Engine [cached since 368.2s ago] {} Traceback (most recent call last): File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\engine\ base.py ", line 1967, in _exec_single_context self.dialect.do _execute( File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\engine\ default.py ", line 924, in do_execute cursor.execute(statement, parameters) File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ cursors.py ", line 153, in execute result = self._query(query) ^^^^^^^^^^^^^^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ cursors.py ", line 322, in _query conn.query(q) File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ connections.py ", line 563, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ connections.py ", line 825, in _read_query_result result.read () File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ connections.py ", line 1199, in read first_packet = self.connection._read_packet() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ connections.py ", line 775, in _read_packet packet.raise_for_error() File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ protocol.py ", line 219, in raise_for_error err.raise_mysql_exception(self._data) File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ err.py ", line 150, in raise_mysql_exception raise errorclass(errno, errval) pymysql.err.OperationalError: (1054, "Unknown column 'todo.content' in 'field list'") The above exception was the direct cause of the following exception: Traceback (most recent call last): File "C:\Program Files\JetBrains\PyCharm 2024.1.2\plugins\python\helpers\pydev\ pydevconsole.py ", line 364, in runcode coro = func() ^^^^^^ File "<input>", line 1, in <module> File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\orm\ session.py ", line 2459, in scalars return self._execute_internal( ^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\orm\ session.py ", line 2236, in _execute_internal result: Result[Any] = compile_state_cls.orm_execute_statement( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\orm\ context.py ", line 293, in orm_execute_statement result = conn.execute( ^^^^^^^^^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\engine\ base.py ", line 1418, in execute return meth( ^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\sql\ elements.py ", line 515, in _execute_on_connection return connection._execute_clauseelement( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\engine\ base.py ", line 1640, in _execute_clauseelement ret = self._execute_context( ^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\engine\ base.py ", line 1846, in _execute_context return self._exec_single_context( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\engine\ base.py ", line 1986, in _exec_single_context self._handle_dbapi_exception( File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\engine\ base.py ", line 2353, in _handle_dbapi_exception raise sqlalchemy_exception.with_traceback(exc_info[2]) from e File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\engine\ base.py ", line 1967, in _exec_single_context self.dialect.do _execute( File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\engine\ default.py ", line 924, in do_execute cursor.execute(statement, parameters) File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ cursors.py ", line 153, in execute result = self._query(query) ^^^^^^^^^^^^^^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ cursors.py ", line 322, in _query conn.query(q) File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ connections.py ", line 563, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ connections.py ", line 825, in _read_query_result result.read () File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ connections.py ", line 1199, in read first_packet = self.connection._read_packet() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
안녕하세요 강사님, 실정강의 중에 궁금한 사항이 있어 질문드립니다. FromLogin방식에서는 CustomFilter를 따로 생성하지 않고 Ajax 비동기 로그인 방식에서만 CustumFilter를 생성하여 http.addFilter 로 필터를 추가하신 내용을 수강중입니다. 궁금산사항은 FormLogin 방식에서는 왜 필터를 추가를 안하고 비동기 통신 로그인 일때만 필터를 추가하는지 그 이유가 궁금하여 질문드립니다.
public void minus(Product product, Integer minusQuantity) { Integer quantity1 = cartMap.get(product); int newQuantity = quantity1 - minusQuantity; if (newQuantity <= 0) { cartMap.remove(product); } else { cartMap.put(product, newQuantity); } } 정말 기본적인 질문인거같은데 이해가 안돼서 질문드립니다 저 else문을 안쓰고 그냥 put하면 수량은 0이 되는데 키가 지워지지 않더라구요 근데 else문을 사용하니까 키가 사라지는데 무슨 차이일까요 ㅠㅠ remove는 이미 if문에서 실행이 돼야되는거 아닌가요