inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

module.ts에서도 process.env 대신 configService를 사용할수 있나요?

해결됨

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

이전강의떄 app.module.ts에서 외부에서 Env값을 불러오는 방법도 있다는것을 알려주셧는데 const getEnv = async () => { //외부에 저장된 Env값 // const response = await axios.get("/loadEnv") // return response.data; return { DB_PASSWORD: '~~~', }; }; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true, load: [getEnv] }), UsersModule, ChannelsModule, DmsModule, WorkspaceModule, TypeOrmModule.forRoot({ type: 'mariadb', host: process.env.DB_HOST, port: parseInt(process.env.DB_PORT, 10), username: process.env.DB_USER, password: process.env.DB_PASSWORD, database: process.env.DB_DATABASE, entities: ['entities/*.js'], // autoLoadEntities: true, // TypeOrmModule.forFeature 내의 entities를 읽어서 자동 연결 synchronize: true, logging: true, keepConnectionAlive: true, //핫리로딩시 연결종료 방지 charset: 'utf8mb4', }), ], controllers: [AppController], providers: [AppService, ConfigService], }) export class AppModule implements NestModule { configure(consumer: MiddlewareConsumer) { consumer.apply(LoggerMiddleware).forRoutes('*'); } } @Injectable() export class AppService { constructor(private configService: ConfigService) {} getHello() { return this.configService.get('PORT'); } } 제가 이해한 바에 따르면 app.module.ts 에서 ConfigModule을 임포트하여 app.service.ts에서 ConfigService를 사용하여 외부 env값을 사용할수 있는데 app.module.ts 에서도 자체적으로 외부env를 이용하여 db설정값을 지정할수 있는지 궁금합니다.

  • node.js
  • express
  • nestjs
  • typeorm
최석우 댓글 1 좋아요 0 조회수 379

testMember() 테스트 실행 시 entityManagerFactory 생성하는데 에러 발생했다고 나옵니다.

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

h2 설치하고 설정 후 테스트 코드 작성 부분에서 다음과 같은 문제가 발생합니다. 애플리케이션을 실행해도 똑같은 에러가 발생합니다. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not instantiate id generator [entity-name=jpabook.jpashop.Member] build.gradle plugins { id 'java' id 'org.springframework.boot' version '3.1.3' id 'io.spring.dependency-management' version '1.1.3' } group = 'jpabook' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-devtools' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation("org.junit.vintage:junit-vintage-engine") { exclude group: "org.hamcrest", module: "hamcrest-core" } } tasks.named('test') { useJUnitPlatform() } h2 접속 화면 application.yml 파일 spring: datasource: url: jdbc:h2:tcp://localhost/~/jpashop username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create properties: hibernate: format_sql: true logging.level: org.hibernate.orm.jdbc.bind: trace Member 클래스 package jpabook.jpashop; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; import lombok.Getter; import lombok.Setter; @Getter @Setter @Entity public class Member { @Id @GeneratedValue private Long id; private String username; }

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
naryung92 댓글 1 좋아요 0 조회수 449

NoneType Error

미해결

[신규 개정판] 이것이 진짜 크롤링이다 - 기본편

F5번 실행시 터미널에 아래와 같은 에러가 뜹니다.. 클래스명 앞에 '.'을 붙이고 시도해도 같은 에러가 납니다 선생님 ㅠㅠ AttributeError: 'NoneType' object has no attribute 'text' + print(word.text)에서 text 타입을 지우고 print(word) 입력시 타입에러는 더이상 뜨지 않지만 값이 None으로 찍힙니다..ㅜㅜ ++ 광역시 홈페이지를 크롤링 해본 결과 광역시 홈페이지의 a 태그 안에 span 태그의 텍스트는 값이 잘 나옵니다. 네이버 구조가 값을 못받아오게 처리되어서 크롤링이 안되는 걸까요? 파이썬 3.11.~ 버전입니다.

  • python
  • 웹-크롤링
alias LEE 댓글 2 좋아요 0 조회수 1062

NavigationView를 NavigationStack 으로 변경관련입니다.

해결됨

[Lv.1] iOS 17 앱 개발 기초 - SwiftUI로 시작하기

강의 잘 들었습니다. 만드신 앱에서 NavigationView를 NavigationStack 으로 변경하는 방법을 알고 싶습니다. 감사합니다.

  • ios
  • swift
  • swiftui
JongHun Han 댓글 1 좋아요 1 조회수 372

코드자료 어디있나요? 매번 없네요.

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

이 강의에 불만이 한두개가 아닌 사람입니다. 훈훈한 javaScript 타이머 만드는 부분 듣고있는데 제가 코드를 잘못 썼는지 작동이 안되는데요. 코드를 비교해 보고싶어도 코드만 따로 올린게 없는 건지, 제가 못찾는건지 모르곘네요. 만약 코드만 따로 올려놓은게 없다면 인강 처음부터 돌려보면서 하나하나 비교해야 하는건가요? 심지어 html 코드자료 올려놓은거 복사해서 붙여넣었더니 class 이름이 강의랑 달라서 어이가 없었네요. 자료좀 똑바로 올려주세요.

  • react
  • node.js
  • seo
  • graphql
  • next.js
부레옥잠 댓글 1 좋아요 0 조회수 364

Annotation Processors 설정

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 프로젝트를 새로 생성한 다음에 매번 Annotaion Processors를 체크 해주는걸로 알고있는데, 체크를 안해줘도 lombok 사용이나 코드가 실행되는데 문제가 없었던것 같습니다. 혹시 어떤 이유로 해당 기능을 체크해주는 건가요?

  • spring
  • mvc
김나노 댓글 1 좋아요 0 조회수 315

로드밸런스 endpoint

해결됨

ElasticSearch Essential

검색 요청시 노드에 대해 직접적인 접근을 하지 않고 강의 내용대로 로드밸러스를 통해 통신 할 수 있도록 하려 합니다. 한가지 궁금한점은 문석 색인/검색 요청시 로드밸러스의 endpoint에 대해 궁금합니다. <문서 색인>시에는 로드밸러스를 '데이터 노드'로만 접근하도록 하고 <검색 요청>시에는 로드밸런서의 endpoint를 '코디네이팅 노드'에 접근하도록 설정하면 될까요? 또, '데이터노드'도 색인 및 검색요청을 처리하는데, <검색 요청>시 로드밸런스를 통해 '데이터 노드, 코디네이팅 노드' 둘다에 접근하도록 해도 상관 없을까요?

  • elasticsearch
진아 댓글 1 좋아요 1 조회수 335

유튜브 핀치 줌

미해결

유튜브 처럼 화면 핀치 줌 인 아웃 가능하게 안되나요 핸드폰으로 강좌 시청 하고 싶습니다

nonori123 댓글 1 좋아요 1 조회수 264

2.6 reindex 관련 예제 질문

해결됨

파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1

아래의 에러가 발생했을 때 어떻게 진행해야 할지 모르겠습니다. df1과 df2의 실행이 안됩니다. --------------------------------------------------------------------------- KeyError Traceback (most recent call last) File ~\anaconda3\Lib\site-packages\pandas\core\computation\scope.py:198, in Scope.resolve(self, key, is_local) 197 if self.has_resolvers: --> 198 return self.resolvers[key] 200 # if we're here that means that we have no locals and we also have 201 # no resolvers File ~\anaconda3\Lib\collections\__init__.py:1004, in ChainMap.__getitem__(self, key) 1003 pass -> 1004 return self.__missing__(key) File ~\anaconda3\Lib\collections\__init__.py:996, in ChainMap.__missing__(self, key) 995 def __missing__(self, key): --> 996 raise KeyError(key) KeyError: 'Timestamp' During handling of the above exception, another exception occurred: KeyError Traceback (most recent call last) File ~\anaconda3\Lib\site-packages\pandas\core\computation\scope.py:209, in Scope.resolve(self, key, is_local) 205 try: 206 # last ditch effort we look in temporaries 207 # these are created when parsing indexing expressions 208 # e.g., df[df > 0] --> 209 return self.temps[key] 210 except KeyError as err: KeyError: 'Timestamp' The above exception was the direct cause of the following exception: UndefinedVariableError Traceback (most recent call last) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:666, in BaseExprVisitor.visit_Call(self, node, side, **kwargs) 665 try: --> 666 res = self.visit(node.func) 667 except UndefinedVariableError: 668 # Check if this is a supported function name File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:415, in BaseExprVisitor.visit(self, node, **kwargs) 414 visitor = getattr(self, method) --> 415 return visitor(node, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:549, in BaseExprVisitor.visit_Name(self, node, **kwargs) 548 def visit_Name(self, node, **kwargs): --> 549 return self.term_type(node.id, self.env, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\ops.py:85, in Term.__init__(self, name, env, side, encoding) 84 self.is_local = tname.startswith(LOCAL_TAG) or tname in DEFAULT_GLOBALS ---> 85 self._value = self._resolve_name() 86 self.encoding = encoding File ~\anaconda3\Lib\site-packages\pandas\core\computation\ops.py:109, in Term._resolve_name(self) 107 is_local = False --> 109 res = self.env.resolve(local_name, is_local=is_local) 110 self.update(res) File ~\anaconda3\Lib\site-packages\pandas\core\computation\scope.py:211, in Scope.resolve(self, key, is_local) 210 except KeyError as err: --> 211 raise UndefinedVariableError(key, is_local) from err UndefinedVariableError: name 'Timestamp' is not defined During handling of the above exception, another exception occurred: ValueError Traceback (most recent call last) Cell In[2], line 2 1 # 삼성전자 ----> 2 df1 = fdr.DataReader("005930", '2018-01-02', '2018-10-30') 4 # KODEX 200 (ETF) 5 df2 = fdr.DataReader("069500", '2018-01-03', '2018-10-30') File ~\anaconda3\Lib\site-packages\FinanceDataReader\data.py:19, in DataReader(symbol, start, end, exchange, kind) 16 start, end = _validate_dates(start, end) 17 if (symbol.isdigit() and len(symbol)==6 and exchange==None) or \ 18 (symbol.isdigit() and exchange and exchange.upper() in ['KRX', '한국거래소']): ---> 19 return NaverDailyReader(symbol, start, end, exchange, kind).read() 21 if (symbol.isdigit() and exchange and exchange.upper() in ['KRX-DELISTING']): 22 return KrxDelistingReader(symbol, start, end, exchange, kind).read() File ~\anaconda3\Lib\site-packages\FinanceDataReader\naver\data.py:29, in NaverDailyReader.read(self) 26 df.sort_index(inplace=True) 27 df['Change'] = df['Close'].pct_change() ---> 29 return df.query('index>=%r and index<=%r' % (self.start, self.end)) File ~\anaconda3\Lib\site-packages\pandas\util\_decorators.py:331, in deprecate_nonkeyword_arguments.<locals>.decorate.<locals>.wrapper(*args, **kwargs) 325 if len(args) > num_allow_args: 326 warnings.warn( 327 msg.format(arguments=_format_argument_list(allow_args)), 328 FutureWarning, 329 stacklevel=find_stack_level(), 330 ) --> 331 return func(*args, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\frame.py:4474, in DataFrame.query(self, expr, inplace, **kwargs) 4472 kwargs["level"] = kwargs.pop("level", 0) + 2 4473 kwargs["target"] = None -> 4474 res = self.eval(expr, **kwargs) 4476 try: 4477 result = self.loc[res] File ~\anaconda3\Lib\site-packages\pandas\util\_decorators.py:331, in deprecate_nonkeyword_arguments.<locals>.decorate.<locals>.wrapper(*args, **kwargs) 325 if len(args) > num_allow_args: 326 warnings.warn( 327 msg.format(arguments=_format_argument_list(allow_args)), 328 FutureWarning, 329 stacklevel=find_stack_level(), 330 ) --> 331 return func(*args, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\frame.py:4612, in DataFrame.eval(self, expr, inplace, **kwargs) 4609 kwargs["target"] = self 4610 kwargs["resolvers"] = tuple(kwargs.get("resolvers", ())) + resolvers -> 4612 return _eval(expr, inplace=inplace, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\eval.py:353, in eval(expr, parser, engine, truediv, local_dict, global_dict, resolvers, level, target, inplace) 344 # get our (possibly passed-in) scope 345 env = ensure_scope( 346 level + 1, 347 global_dict=global_dict, (...) 350 target=target, 351 ) --> 353 parsed_expr = Expr(expr, engine=engine, parser=parser, env=env) 355 # construct the engine and evaluate the parsed expression 356 eng = ENGINES[engine] File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:813, in Expr.__init__(self, expr, engine, parser, env, level) 811 self.parser = parser 812 self._visitor = PARSERS[parser](self.env, self.engine, self.parser) --> 813 self.terms = self.parse() File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:832, in Expr.parse(self) 828 def parse(self): 829 """ 830 Parse an expression. 831 """ --> 832 return self._visitor.visit(self.expr) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:415, in BaseExprVisitor.visit(self, node, **kwargs) 413 method = "visit_" + type(node).__name__ 414 visitor = getattr(self, method) --> 415 return visitor(node, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:421, in BaseExprVisitor.visit_Module(self, node, **kwargs) 419 raise SyntaxError("only a single expression is allowed") 420 expr = node.body[0] --> 421 return self.visit(expr, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:415, in BaseExprVisitor.visit(self, node, **kwargs) 413 method = "visit_" + type(node).__name__ 414 visitor = getattr(self, method) --> 415 return visitor(node, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:424, in BaseExprVisitor.visit_Expr(self, node, **kwargs) 423 def visit_Expr(self, node, **kwargs): --> 424 return self.visit(node.value, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:415, in BaseExprVisitor.visit(self, node, **kwargs) 413 method = "visit_" + type(node).__name__ 414 visitor = getattr(self, method) --> 415 return visitor(node, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:750, in BaseExprVisitor.visit_BoolOp(self, node, **kwargs) 747 return self._maybe_evaluate_binop(op, node.op, lhs, rhs) 749 operands = node.values --> 750 return reduce(visitor, operands) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:743, in BaseExprVisitor.visit_BoolOp.<locals>.visitor(x, y) 742 def visitor(x, y): --> 743 lhs = self._try_visit_binop(x) 744 rhs = self._try_visit_binop(y) 746 op, op_class, lhs, rhs = self._maybe_transform_eq_ne(node, lhs, rhs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:739, in BaseExprVisitor._try_visit_binop(self, bop) 737 if isinstance(bop, (Op, Term)): 738 return bop --> 739 return self.visit(bop) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:415, in BaseExprVisitor.visit(self, node, **kwargs) 413 method = "visit_" + type(node).__name__ 414 visitor = getattr(self, method) --> 415 return visitor(node, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:723, in BaseExprVisitor.visit_Compare(self, node, **kwargs) 721 op = self.translate_In(ops[0]) 722 binop = ast.BinOp(op=op, left=node.left, right=comps[0]) --> 723 return self.visit(binop) 725 # recursive case: we have a chained comparison, a CMP b CMP c, etc. 726 left = node.left File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:415, in BaseExprVisitor.visit(self, node, **kwargs) 413 method = "visit_" + type(node).__name__ 414 visitor = getattr(self, method) --> 415 return visitor(node, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:536, in BaseExprVisitor.visit_BinOp(self, node, **kwargs) 535 def visit_BinOp(self, node, **kwargs): --> 536 op, op_class, left, right = self._maybe_transform_eq_ne(node) 537 left, right = self._maybe_downcast_constants(left, right) 538 return self._maybe_evaluate_binop(op, op_class, left, right) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:458, in BaseExprVisitor._maybe_transform_eq_ne(self, node, left, right) 456 left = self.visit(node.left, side="left") 457 if right is None: --> 458 right = self.visit(node.right, side="right") 459 op, op_class, left, right = self._rewrite_membership_op(node, left, right) 460 return op, op_class, left, right File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:415, in BaseExprVisitor.visit(self, node, **kwargs) 413 method = "visit_" + type(node).__name__ 414 visitor = getattr(self, method) --> 415 return visitor(node, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:670, in BaseExprVisitor.visit_Call(self, node, side, **kwargs) 667 except UndefinedVariableError: 668 # Check if this is a supported function name 669 try: --> 670 res = FuncNode(node.func.id) 671 except ValueError: 672 # Raise original error 673 raise File ~\anaconda3\Lib\site-packages\pandas\core\computation\ops.py:614, in FuncNode.__init__(self, name) 612 def __init__(self, name: str) -> None: 613 if name not in MATHOPS: --> 614 raise ValueError(f'"{name}" is not a supported function') 615 self.name = name 616 self.func = getattr(np, name) ValueError: "Timestamp" is not a supported function

  • pandas
  • 투자
  • 퀀트
dkdlel444 댓글 1 좋아요 0 조회수 591

%d 정수 표현

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

print('{:4d}' .format(42)) 왼쪽에 공백 채워지고 뒤에 정수 42가 표시되는데 print('{:10}'.format('nice')) 문자열의 경우에는 오른쪽에 공백이 채워지잖아요? 정수의 경우에는 부등호 생략하면 왼쪽에 공백 채워지는건가요?

  • python
xxvip9107 댓글 1 좋아요 0 조회수 277

M2 Ventura / Doker 실행 오류 문의드립니다

미해결

안녕하세요 이번에 M2 air 를 구매 후 열심히 교육 듣고있는데 처음엔 됬는데 다시 실행하려 보니까 안되서요 몇번 노트북을 초기화 후에 재설치를 해도 똑같네요ㅠㅠ 이유를 모르겟는데 .. 혹시 해결방법 아는 방법이 있을까요 docker login 진행 현재 구글 Authernicator 로 2차 인증까지 해놓은 상태이고 pc에 docker 모두 실행시켜서 로그인도 완료 된 상태입니다. docker 앱 종료 후 동일하게 진행 하더라도 저렇게 나오더라구요 해당 토큰관련 오류도 확인해봤으나 이상이 없는데 무엇이 문제일까요ㅠㅠ

  • docker
  • dockerhub
유우리 댓글 1 좋아요 0 조회수 281

xml2json 모듈이 찾을수 없다고 합니다 !

미해결

CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조

안녕하세요 큰돌님! 간단한 예제지만 이해가 안되서 여쭤봅니다! 해당 부분에서 "node a.js" 를 실행하게 되면 라는 메세지와 함께 xml상의 데이터가 불러오지 않습니다.. "node_modules"-"@types"-"xml2json" 이라는 곳에 모듈이 있습니다... 왜 실행이 되지 않는걸까요 ㅠ_ㅠ? 처음해보는거라서.. 모듈이 문제인지.. 운영체제가 문제인지 전혀 감이 안잡히네요

Init 댓글 1 좋아요 1 조회수 645

하둡 명령어 실행시 오류 문의

미해결

Data Engineering Course (1) : 빅데이터 하둡 직접 설치하기

~/hadoop$ hadoop fs -ls 2023-08-29 12:55:53,700 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 이 에러로 문의드렸습니다. 네 가지 설정파일 캡처 첨부해 재문의드립니다. 참고로 저는 계정명을 hadoop으로 설정하여 neuavenue를 hadoop으로 바꿔서 입력하였습니다. 제발 답변 부탁드려요.. 같은 부분에서 막혀 지우고 재설치만 세번째입니다 ㅠㅠ

  • 빅데이터
  • hadoop
  • 데이터-엔지니어링
lojo03078 댓글 2 좋아요 0 조회수 535

보안에 관련한 한가지 의문점이 생기네요

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 다른 방식도 물론이겠지만 GET방식으로 데이터를 전송하다 보면 간단한 해킹 공격으로도 해킹당하기 매우 쉬울거같은데 이런 부분은 Spring Security를 배우면 알수있는건가요? 아니면 네트워크 보안쪽으로 따로 배우는 무언가가 있는건가요 ?

  • spring
  • mvc
계란 댓글 1 좋아요 0 조회수 414

예제는 어디서 받아볼수 있나요?

미해결

UX/UI 시작하기 : Figma 입문 (Inflearn Original)

예제는 어디서 받아볼수 있나요?

  • 프로토타이핑
  • figma
대훈이 댓글 2 좋아요 0 조회수 743

session 객체를 thymeleaf 에서 어떻게 꺼낼 수 있죠?

해결됨

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

@GetMapping("/basic-objects") public String basicObjects(HttpSession session) { ... } 위 컨트롤러 작성하는 부분입니다. 관련된 html 파일은 basic-objects 인데, ${#session} 으로 세션을 꺼내고 ${session} 으로도 세션을 꺼내네요. 이게 가물가물한데 컨트롤러 메서드에서 파라미터로 호출하면 자동으로 모델에 넣어주기 때문에 thymeleaf 에서 ${session} 을 꺼낼 수 있는거죠?

  • spring
  • mvc
  • session
  • thymeleaf
Eungi Kim 댓글 1 좋아요 0 조회수 2147

새 일기 추가가 안되요

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

onCreate시 localStorage에 데이터가 추가는 되는데, 화면에 작성한 글이 나오지 않아요 ㅠㅠ https://codesandbox.io/s/infallible-artem-sdzknh

  • javascript
  • react
  • node.js
뽀개즈아 댓글 1 좋아요 0 조회수 432

하둡 명령어 실행시 오류

미해결

Data Engineering Course (1) : 빅데이터 하둡 직접 설치하기

~/hadoop$ hadoop fs -ls 2023-08-29 12:55:53,700 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable fs 명령어를 실행하면 native-hadoop library를 load할 수 없다는 경고가 뜨면서 명령이 실행되지 않습니다. 하둡 설치 및 설정 과정은 제공해주신 문서 두세번씩 훑으면서 제대로 설정했는데, 어떻게 해야 고칠 수 있을까요 ㅠㅠ? 혹시 우분투를 22.04.3 LTS로 설치하였는데 버전이 달라서 생기는 문제인가요..? 참고로 하둡 설치할 때 강의에 나온 링크는 존재하지 않는다고 나와서 $wget https://archive.apache.org/dist/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz 여기서 설치하였습니다. 자바는 동일한 버전인 8u271을 설치하였는데, 강의와 다르게 Linux ARM 64 Compressed Archive로 설치했어요.

  • 빅데이터
  • hadoop
  • 데이터-엔지니어링
lojo03078 댓글 1 좋아요 0 조회수 632

레퍼런스 사이트

미해결

인터랙티브 개발 실무 끝장내기 [역량 강화편]

안녕하세요. 부분부분 듣다보니, 혹시 말씀하셨을 수도 있겠는데.. 질문 남깁니다. 보여주신 레퍼런스 사이트들이 취합된 곳이나 링크를 공유해주실 수 있을까요? 재밌는 강의 감사합니다.

  • javascript
  • 인터랙티브-웹
horoyoi o 댓글 1 좋아요 0 조회수 369

lettuce 클라이언트는 락 획득

미해결

재고시스템으로 알아보는 동시성이슈 해결방법

안녕하세요 강사님. 강의 잘 듣고 있습니다. 궁금한 부분이 있는데요. lettuce 클라이언트는 락 획득을 스핀락을 돌면서 자체적으로 얻어온다고했는데 그렇다면 어떻게 애플리케이션의 비니지스 코드까지 락을 얻지못했다는 값을 넘겨주나요? while(!redisLockRepository.lock(id)) 구문이 어떻게 실행될 수 있는지 모르겠습니다. 왜냐하면 위에서 말한것처럼 lettuce 클라이언트에서 락을 얻기 위해 내부적으로 계속 스핀락을 돌다가 결국 얻어내서 true 를 리턴할것으로 예상되기 때문인데요. 답변 부탁드리겠습니다

  • java
  • spring
  • 동시성
이민준 댓글 2 좋아요 0 조회수 556

인기 태그

인프런 TOP Writers

주간 인기글