묻고 답해요
131만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C#/.NET 8.0]어서와, Blazor Server는 처음이지?
Blazor web app 생성할때 질문있습니다.
렌더링이 어디서 일어나느냐에 따라서 블레이저 서버와 웹어셈블리로 프로젝트를 구분하는데,.net 8.0 부터 blazor web app 이 추가된 것이라고 설명해주셨는데요...프로젝트 생성시, 샘플로 있던 페이지 중에 counter 증가되는 것만 클라이언트쪽에 생성되고, 나머지 페이지들은 서버쪽에 생성되었습니다. 클라이언트 쪽에는 DB 연결과 상관없는 기존의 자바스크립트로 동작하는 것이 주로 오는 것이고,서버 쪽에는 DB 사용하는 페이지들이 존재하는 것인지 궁금합니다. 즉, 어떤 것을 기준으로 클라이언트와 서버를 나누는 것인지 궁금합니다. blazor WASM을 선택해도, 페이지에 연결되는 DB 처리를 위해서는 API로 서버를 호출해서 결과를 받아와서 바인딩을 해준다면...blazor Server로 작성해서 해당 부분을 바인딩하는 것과 차이가 어떤 것인지 궁금합니다.또한, 실제 실무에서는 어떤 방식이 더 선호되는지 궁금합니다.
-
해결됨[C#/.NET 8.0]어서와, Blazor Server는 처음이지?
솔루션 배포(게시) 부분에서 질문있습니다.
작성된 솔루션 파일을 게시할 때, 콘솔 exe가 실행되면서 어떻게 렌더링이 되고, 실행이 되는지 잘 모르겠습니다.즉, Blazor 서버 앱의 실행 방법과 게시할 때 포함시켜야 하는 범위를 알고 싶습니다.솔루션에서 게시를 선택해서 로컬에 생성된 폴더를 보면, IIS 에서부터의 실행방법을 잘 모르겠습니다. 게시할 때 WASM 방식과 서버방식의 차이를 이해하기 쉽게 다시한번 설명해주셨으면 합니다.감사합니다.
-
미해결다양한 사례로 익히는 SQL 데이터 분석
매출분석 1에서 partition by와 group by의 차이
안녕하세요 선수 강의에서 언급한 내용일 수도있는데 선수 강의를 수강하지 않아 질문드립니다!매출분석 01의 상품별 매출액 과 상품별 카테고리별 전체 매출액 대비 비율 강의에서 질문있습니다 상품별 카테고리별 전체 매출액 대비 비율은sum_amount(product 기준으로 groupby한 상품별 매출액) / sum(sum_amount) over (partition by category_name) as product_category_ratio 로 구했는데partition by가 아니라 group by category_name 로 분석할 수는 없는건가요?sum(sum_amount) over (partition by category_name) 이 부분 자체가 작은 groupby를 진행한? 결과인 걸까요 over partition by와 group by간의 차이, 사용용도의 차이가 궁금합니다
-
미해결[C#/.NET 8.0]어서와, Blazor Server는 처음이지?
razor 문법에서의 @표기
강의 중의 코드인데요,.razor 파일에서 C# 코드를 사용할때 @를 사용하는데,@Click = "메서드명" Click = "@메서드명"Click = "메서드명"@bind-Value="@value"등등 모든 방법을 다 허용하는 것인지, 권장하는 방법은 어떤 것인지 알고 싶습니다. Orientation, Data 은 RadizenStack 클래스의 속성인거 같은데...@bind-Value 는 어떤 것으로 정의된 건가요?기본적으로 정의된 항목 PageTitle 같은 것들은 어디에 몇가지로 정의된 기본 클래스인지도 궁금합니다.전반적으로 Blazor 페이지에 대한 구조와 기본 틀에 대한 설명이나 자료를 조금 더 가르쳐주셨으면 좋겠습니다.
-
미해결[C#/.NET 8.0]어서와, Blazor Server는 처음이지?
Grid 컴포넌트 사용에 대해서 질문있습니다.
asp.net 의 WebForm 에서도 DataGrid, DataList, Repeator 등이 있었습니다. DataGrid, DataList 는 기능이 많아 보이지만, 기능이 많은 것만큼 렌더링 된 데이터의 사이즈가 너무 커져서 실무에서는 속도 문제로 결국 html 태그를 적극 활용하면서 Repeator를 사용했었습니다.혹시 QuickGrid , RadzenGrid 등도 그런 문제가 발생하는 것은 아닐까 해서요...샘플로 작성되는 weather 페이지처럼 html 태그가 결국 사용되는게 아닐까 싶은데요...결국은 모든 데이터를 다 조회해서 갖고 있는게 아니라, 해당 페이지에 대한 데이터만 갖고, 페이징 네비게이션 부분은 별도로 코딩하게 된다면...그리드의 정렬, 필터 기능은 사용 못하는게 아닐까 싶습니다.혹시 속도 비교를 해 놓은 것이 있는지 궁금합니다.제가 아직 WASM 방식과 서버 방식을 잘 이해를 못하고 있는데요,제가 기존에 했었던 방식(asp.net webform, mvc)은 서버 방식이었을 것으로 이해하고 있습니다.WASM 방식이 된다면 Grid 사용이 달라지는 건가요???
-
미해결다양한 사례로 익히는 SQL 데이터 분석
postgres 설치 오류
postgres가 설치가 되지 않고다음과 같은 메시지만 계속 뜹니다.삭제 후 다시 해봐도 똑같은데, 어쩌죠?
-
미해결다양한 사례로 익히는 SQL 데이터 분석
맥 계정에서 postgres 접속 시 비밀번호 입력 실패현상
맥에서 postgres 계정에 접속하려고 할 시 해당 화면이 뜨는데 postgres를 입력해도 저런 오류가 떠서 질문드립니다 ㅠㅠ
-
해결됨데이터 분석 SQL Fundamentals
Group by를 이용한 월별 입사동기를 구할 때 좀 더 깔끔한 방법 질문
안녕하세요.마지막에 group by로 묶어서 입사동기로 나올 때, 뒤에 일자 + 00:00:00 까지 나오는 게 보기가 안 좋아서요. 년-월만 나오게 할 수 있을까요? 가령,select date_part('year',hire_month)||'-'||date_part('month', hire_month), countsfrom(select date_trunc('month', hiredate) as hire_month, count(*) as countsfrom hr.emp_testgroup by date_trunc('month', hiredate)); 로 하면 나오긴 하는데 이건 서브쿼리를 이용한 방법이라 좀 더 간결하게 표현하고 싶습니다.
-
해결됨데이터 분석 SQL Fundamentals
::timestamp ::text 관련 질문이 있습니다.
to_date('2022-01-01', 'yyyy-mm-dd')::timestamp;여기서 ::timestamp를 통해 타임스탬프 형태로 바꿔주는데to_timestmap('2022-01-01', 'yyyy-mm-dd') 로 바로 해 주는 것과 무슨 차이가 있나요?
-
해결됨[C#/.NET 8.0]어서와, Blazor Server는 처음이지?
홈페이지 실행
안녕하세요. 궁금한 점이 있어서 질문을 남깁니다!현재 제 컴퓨터의 기본 브라우저가 웨일로 되어있습니다.2강에서 프로젝트를 만들고 난 후, 시작을 했을 때, 웨일에서는 개인 정보 보호 오류라고 뜨고, 크롬에서는 문제없이 작동이 됩니다.혹시 이게 어떤 것 때문에 그러는지 알 수 있을까요?요즘 눈도 많이 오고 날씨도 추운데 항상 감기조심하세요.
-
해결됨[C#/.NET 8.0]어서와, WinForm은 처음이지?
디비 Restore에러
Restore가 안되네요.. 동영상 몇번 보면서 똑같이 해도 해결이 안됩니다...
-
미해결따라하며 배우는 NestJS
강의 자료 관련해서 질문있습니다.
윈도우에서 강의 자료를 열람하기가 힘들어서 그런데 혹시 .DS_Store 파일 말고, 그냥 pdf 자료를 공유해 주시는건 힘들지 문의드립니다
-
미해결하루만에 배우는 express with AWS
성능 관련 강의는 언제 업로드 될까요?
다음과 같은 양식으로 남겨주세요.질문을 한 배경 : 성능 강의 관련 질의질문내용 : 성능관련한 궁금증에 본 강의를 결재했는데 강의 내용에 존재하지 않네요..언제쯤 업로드 될까요?
-
해결됨[C#/.NET 8.0]어서와, Blazor Server는 처음이지?
? 코딩하는 이유
int? 나 <string, object>? 뒤에 ?를 넣는 이유가 뭔가요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
src 폴더구조
회원가입 페이지 ui 생성하기 파트 강의에서기존에 src폴더를 사용안하는걸로 next를 설치했는데, 갑자기 src폴더구조가 있어서 당황했습니다. 확인해주시면 감사하겠습니다
-
해결됨[C#/.NET 8.0]어서와, Blazor Server는 처음이지?
BackUp DB > Failed
PostgreSQL 여러번 지우고 재설치 하여 backup DB restore 결과가 Failed 나오네요 문제가 뭘까요?
-
미해결데이터 분석 SQL Fundamentals
질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님.질문이 좀 있습니다.a,b,c,d table 과 id 컬럼이 있다고 가정1) 여기서 [1.1] 쿼리는 실행 계획으로 치면 a,b,c를 이너조인해서 만든 데이터셋으로 d와 아우터조인해서 결과 도출.이렇게 이해하고 있습니다.그런데, 여기서 궁금한것이 LEFT OUTER JOIN은 서술 왼쪽 테이블이 드라이빙 고정으로 알고 있습니다.그래서, [1.2] 쿼리는 실행 계획으로 치면 a,b를 이너조인해서 만든 데이터셋으로 d와 아우터조인해서 데이터 셋을 새로만듬.그리고 , c와 이너조인 진행 이렇게 이해하면 될까요?2) 1.1과 1.2처럼 아우터조인의 서술 위치에 따라서 결과값에 대한 데이터가 달라질수 있나요?결국 a.id와 조인하기 때문에 해당 기준으로 데이터를 뽑아서어디에 서술하던지 데이터는 달라질수 없는거같은데 제가 이해한게 맞는지 질문드립니다.3) 2번을 질문드린 이유중 하나인데요.아우터 조인을 쓰면 테이블의 드라이빙 순서가 고정되버리니까 서술한 위치에 따라서 실행계획이 바뀔테고 그러면 데이터가 변경될수도 있는 사례가 있을까요?실행계획은 아무리 바뀌어도 데이터의 영향을 주는건 없는걸로 알지만 , 자꾸 뭔가 헷갈려서 질문드립니다.4) a.id = b.id on b.id =c.id on c.id =d.id 이런식으로 조건을 주면이너 조인은 상관 없겠지만 아우터 조인을 진행할 때는 데이터가 달라질거 같은데 보통은 아우터 조인 쿼리를 작성할 때 조인 조건을 어떻게 줘야하나요?제가 적은 예시처럼 쿼리를 짜나요??질문이 두서 없고 너무 많아서 죄송합니다..강사님 강의를 통해 확실하게 잡고 가지 않으면 추후에 또 다시 공부를 해야할 거 같아 질문드립니다.[1.1]select * from a INNER JOIN b ON a.id = b.idINNER JOIN c ON a.id = c.idLEFT OUTER JOIN d ON a.id = d.id;[1.2]select * from a INNER JOIN b ON a.id = b.idLEFT OUTER JOIN d ON a.id = d.idINNER JOIN c ON a.id = c.id;
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
서버 실행 시 에러 관련하여 답변받고 1차 조치했는데 여전하여서 질문 남깁니다
data-source hostname db로 변경하라는 말씀 듣고 변경해보았는데 여전히 해결이 안되어서 질문 남깁니다
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
엔티티 모두 작성 후 서버 실행 시 에러가 발생합니다
서버 실행 시 해당 에러가 발생해서 질문 남깁니다문제 파악에 도움될까해서 data-source.ts, server.ts 파일도 첨부합니다
-
미해결다양한 사례로 익히는 SQL 데이터 분석
pandas 연계시 오류.....
(아나콘다를 깔고나서 새 파일에서 뭘 수정하려고하면 바로 연결이 끊기는 문제가 생겨 주피터 노트북으로 설치하였습니다. 필요한 라이브러리들은 모두 따로 설치하였습니다.)버전은 아래와 같습니다.오류가 발생하는 부분은 이 부분인데query문이 있는 셀의 전체 오류문은 아래와 같습니다--------------------------------------------------------------------------- UnicodeDecodeError Traceback (most recent call last) Cell In[12], line 4 1 query = """ 2 select * from nw.customers 3 """ ----> 4 df = pd.read_sql_query(sql=query, con=postgres_engine) 5 df.head(10) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\io\sql.py:485, in read_sql_query(sql, con, index_col, coerce_float, params, parse_dates, chunksize, dtype, dtype_backend) 482 dtype_backend = "numpy" # type: ignore[assignment] 483 assert dtype_backend is not lib.no_default --> 485 with pandasSQL_builder(con) as pandas_sql: 486 return pandas_sql.read_query( 487 sql, 488 index_col=index_col, (...) 494 dtype_backend=dtype_backend, 495 ) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\io\sql.py:851, in pandasSQL_builder(con, schema, need_transaction) 848 raise ImportError("Using URI string without sqlalchemy installed.") 850 if sqlalchemy is not None and isinstance(con, (str, sqlalchemy.engine.Connectable)): --> 851 return SQLDatabase(con, schema, need_transaction) 853 warnings.warn( 854 "pandas only supports SQLAlchemy connectable (engine/connection) or " 855 "database string URI or sqlite3 DBAPI2 connection. Other DBAPI2 " (...) 858 stacklevel=find_stack_level(), 859 ) 860 return SQLiteDatabase(con) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\io\sql.py:1576, in SQLDatabase.__init__(self, con, schema, need_transaction) 1574 self.exit_stack.callback(con.dispose) 1575 if isinstance(con, Engine): -> 1576 con = self.exit_stack.enter_context(con.connect()) 1577 if need_transaction and not con.in_transaction(): 1578 self.exit_stack.enter_context(con.begin()) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\engine\base.py:3268, in Engine.connect(self) 3245 def connect(self) -> Connection: 3246 """Return a new :class:`_engine.Connection` object. 3247 3248 The :class:`_engine.Connection` acts as a Python context manager, so (...) 3265 3266 """ -> 3268 return self._connection_cls(self) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\engine\base.py:145, in Connection.__init__(self, engine, connection, _has_events, _allow_revalidate, _allow_autobegin) 143 if connection is None: 144 try: --> 145 self._dbapi_connection = engine.raw_connection() 146 except dialect.loaded_dbapi.Error as err: 147 Connection._handle_dbapi_exception_noconnection( 148 err, dialect, engine 149 ) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\engine\base.py:3292, in Engine.raw_connection(self) 3270 def raw_connection(self) -> PoolProxiedConnection: 3271 """Return a "raw" DBAPI connection from the connection pool. 3272 3273 The returned object is a proxied version of the DBAPI (...) 3290 3291 """ -> 3292 return self.pool.connect() File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\base.py:452, in Pool.connect(self) 444 def connect(self) -> PoolProxiedConnection: 445 """Return a DBAPI connection from the pool. 446 447 The connection is instrumented such that when its (...) 450 451 """ --> 452 return _ConnectionFairy._checkout(self) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\base.py:1269, in _ConnectionFairy._checkout(cls, pool, threadconns, fairy) 1261 @classmethod 1262 def _checkout( 1263 cls, (...) 1266 fairy: Optional[_ConnectionFairy] = None, 1267 ) -> _ConnectionFairy: 1268 if not fairy: -> 1269 fairy = _ConnectionRecord.checkout(pool) 1271 if threadconns is not None: 1272 threadconns.current = weakref.ref(fairy) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\base.py:716, in _ConnectionRecord.checkout(cls, pool) 714 rec = cast(_ConnectionRecord, pool._do_get()) 715 else: --> 716 rec = pool._do_get() 718 try: 719 dbapi_connection = rec.get_connection() File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\impl.py:169, in QueuePool._do_get(self) 167 return self._create_connection() 168 except: --> 169 with util.safe_reraise(): 170 self._dec_overflow() 171 raise File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\util\langhelpers.py:146, in safe_reraise.__exit__(self, type_, value, traceback) 144 assert exc_value is not None 145 self._exc_info = None # remove potential circular references --> 146 raise exc_value.with_traceback(exc_tb) 147 else: 148 self._exc_info = None # remove potential circular references File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\impl.py:167, in QueuePool._do_get(self) 165 if self._inc_overflow(): 166 try: --> 167 return self._create_connection() 168 except: 169 with util.safe_reraise(): File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\base.py:393, in Pool._create_connection(self) 390 def _create_connection(self) -> ConnectionPoolEntry: 391 """Called by subclasses to create a new ConnectionRecord.""" --> 393 return _ConnectionRecord(self) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\base.py:678, in _ConnectionRecord.__init__(self, pool, connect) 676 self.__pool = pool 677 if connect: --> 678 self.__connect() 679 self.finalize_callback = deque() File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\base.py:902, in _ConnectionRecord.__connect(self) 900 self.fresh = True 901 except BaseException as e: --> 902 with util.safe_reraise(): 903 pool.logger.debug("Error on connect(): %s", e) 904 else: 905 # in SQLAlchemy 1.4 the first_connect event is not used by 906 # the engine, so this will usually not be set File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\util\langhelpers.py:146, in safe_reraise.__exit__(self, type_, value, traceback) 144 assert exc_value is not None 145 self._exc_info = None # remove potential circular references --> 146 raise exc_value.with_traceback(exc_tb) 147 else: 148 self._exc_info = None # remove potential circular references File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\base.py:898, in _ConnectionRecord.__connect(self) 896 try: 897 self.starttime = time.time() --> 898 self.dbapi_connection = connection = pool._invoke_creator(self) 899 pool.logger.debug("Created new connection %r", connection) 900 self.fresh = True File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\engine\create.py:637, in create_engine.<locals>.connect(connection_record) 634 if connection is not None: 635 return connection --> 637 return dialect.connect(*cargs, **cparams) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\engine\default.py:616, in DefaultDialect.connect(self, *cargs, **cparams) 614 def connect(self, *cargs, **cparams): 615 # inherits the docstring from interfaces.Dialect.connect --> 616 return self.loaded_dbapi.connect(*cargs, **cparams) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\psycopg2\__init__.py:122, in connect(dsn, connection_factory, cursor_factory, **kwargs) 119 kwasync['async_'] = kwargs.pop('async_') 121 dsn = _ext.make_dsn(dsn, **kwargs) --> 122 conn = _connect(dsn, connection_factory=connection_factory, **kwasync) 123 if cursor_factory is not None: 124 conn.cursor_factory = cursor_factory UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb8 in position 63: invalid start byte