묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
코드팩토리 백엔드 개발 과정이 있나요?
안녕하세요. 최근 앱개발 강의를 집중해서 수강하고 있는데. 단연 최고의 강의라고 생각합니다.Old 개발자(프론트/백엔드 개발자 경력 15년전..)로써 차원이 다른 강의와 열정에 다시 한번 감사드립니다. 다음 고급레벨의 컨텐츠를 찾고 있는데 도움을 요청하고자 질문을 드립니다. 이번 중급과정에서 사용한 서버사이드(백엔드) 개발에 대해서 더 공부를 하고 싶은데 추천해 주실 강의가 있을까요? 아님 코드팩토리에서 기획하고 있거나 서비스하고 있는 강의가 있는지 문의드립니다. 서버개발과 데이터베이스, API까지 공부하면 Flutter앱개발에 더 관심가지고 실제 프로덕트를 설계하고 개발/배포까지 자신이 생길 것 같습니다. 감사합니다.
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
passport 관련 질문드립니다
controller@ApiBody({ schema: { properties: { email: { type: 'string' }, password: { type: 'string' } } } }) @UseGuards(LocalAuthGuard) @Post('login') async login(@Req() req) { console.log('user controller'); return this.authService.login(req.user); }local.strategyconstructor(private authService: AuthService) { super(); } async validate(email: string, password: string): Promise<any> { console.log('local strategy'); console.log(`${email} , ${password}`); const user = await this.authService.validateUser(email, password); if (!user) { throw new UnauthorizedException(); } return user; }local-auth.guardasync canActivate(context: ExecutionContext): Promise<boolean> { console.log(context); const can = await super.canActivate(context); console.log('can', can); if (can) { const request = context.switchToHttp().getRequest(); console.log('login for cookie'); await super.logIn(request); } return true; }이렇게 구성되어있는데canActivate에서 401 에러가 나는데 이유를 잘모르겠습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
즉시로딩과 지연로딩 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]즉시로딩과 지연로딩 강의3:16 부분에서JpaMain 을 실행하면 저 같은 경우 에는ERROR: HHH000315: Exception executing batch [org.h2.jdbc.JdbcBatchUpdateException: Unique index or primary key violation: "PRIMARY KEY ON PUBLIC.TEAM(TEAM_ID) [1, NULL, NULL, NULL, NULL, 'teamA']"; SQL statement:위와 같은 에러가 발생하는데요.이미 데이터가 들어가있어서 발생한다는 오류로 알고 있습니다.하지만 강사님의 경우에는 데이터가 들어가 있는 상태에서 한번 더 실행해도 저와 같은 에러는 발생하지 않는데어떻게 고쳐야 하는지 궁금해서 질문드립니다.부연설명을 더 하자만DB를 아예 삭제했다가 실행하면 에러는 발생하지 않고 강의대로 실행되지만 데이터가 들어간 시점에서 한번 더 실행하면 위와 같은 에러가 발생하는 상황입니다.추가로 해당부분 깃헙에 올려놓은 코드입니다!https://github.com/castela0119/hello_jpa/commit/c5f3435e99d58404fb41d6585bd0f3f7d0919b34
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
비동기 요청
비동기 요청시 일부 요청이 실패하거나 timeout 이 발생할 경우 예외처리는 어떻게 할 수 있을까요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
MediaQuery.of(context).size.width 질문
MediaQuery.of(context).size.width를 작성하게 되면 텍스트들이 중앙 정렬이 되는데검색해서 찾아봤을 때, 저 구문은 그냥 앱 화면 넓이를 찾을 때 쓴다고 나오더라구요. 선생님께서 알려주신거 같아 전 강의를 찾아보는데 잘 안나와서요..저 구문을 사용했을 때, 가로로 가운데 정렬 되는 이유 여쭤봐도 될까요?
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
에러 문의 react hook useEffect
src/components/Row.js Line 14:7: React Hook useEffect has a missing dependency: 'fetchMovieData'. Either include it or remove the dependency array react-hooks/exhaustive-deps쌤 그리고 fetchMovieData 가 있습니다. 그것을 포함하거나 종속성 배열 React-hooks/exhausitve deps를 제거하라는게 무슨말인가요??
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
netflix searchPage인데 검색할때 한글자만 검색해도 흰색 바탕이 나와버려요
import axios from '../../api/axios'; import React,{useEffect,useState} from 'react' import { useLocation } from 'react-router-dom'; export default function SearchPage() { console.log('useLocation()', useLocation()); const [searchResults, setSearchResults] = useState([]); let query = useQuery(); const searchTerm = query.get("q"); console.log('searchTerm: ', searchTerm); useEffect(() => { if(searchTerm) { fetchSearchMovie(searchTerm); } }, [searchTerm]); const fetchSearchMovie = async (searchTerm) => { try{ const request = await axios.get( `/search/multi?include_adult=false&query=${searchTerm}` ) console.log(request); setSearchResults(request.data.results); }catch(error){ console.log("error : ", error); } }; const useQuery = () => { return new URLSearchParams(useLocation().search); } return ( <div>SearchPage</div> ) }
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
봉우리질문
안녕하세요.!![ 탐색 ] 봉우리 문제 질문 드립니다.제가 적은 코드는 아래와 같습니다.for i in range(1,n+1): for j in range(1,n+1): Max = mountain[i][j] for k in range(4): if mountain[i+dx[k]][j+dy[k]] >Max: break else: count+=1 선생님께서 적은 코드와 논리상의 차이는 없어보이는데... 출력값이 다르게 나옵니다..제 생각에는,, 제 코드가 all이 안돼서 좀 더 많은 값이 나오는 것 같은데.. 혹시 뭐가 문제인지 봐주실 수 있을까요? 아래 코드는 선생님의 코드입니다.for i in range(1, n+1): for j in range(1, n+1): if all(a[i][j]>a[i+dx[k]][j+dy[k]] for k in range(4)): cnt+=1감사합니다.
-
해결됨일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
네이버 쇼핑 카테고리별 인기검색어 크롤링 강의 중 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 선생님 안녕하세요!강의를 들으며 열심히 실습중인데 에러가 자꾸떠서요 ㅠㅠ맨처음에 if 문 넣기전에는 실행이 되었었는데 어찌된일인지 if문을 넣고 난 다음부터 자꾸 에러가 납니다 ㅠㅠ if문 넣기 전에 상품펼치기 지우기 전 자료는 new 상품 펼치기가 없었어요.. 혹시 그것때문은 아닐까요 ㅠㅠ왕왕 초보라 어렵네요 답변부탁드려요감사합니다!
-
해결됨[코드캠프] 훈훈한 Javascript
images파일
섹션 9 JSON 데이터 활용에서 images파일은 어디서 다운로드 받을수 있나요??아무리 찾아도 안보이네요..ㅠㅠ
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
headers 값을 못찾아요~
안녕하세요 실습 따라하는 도중에 질문이 있어서요! back-end는 Spring 사용했구요응답은 커스텀헤더값("Content-Length-Test")으로 위에 캡쳐 내용처럼 내려주는데요"Content-Length"는 alert으로 찍어보면 "1717"이라고 잘나와요 vue에서 커스텀 헤더값("Content-Length-Test")을 alert으로 찍어보면 "undefind"로 나옵니다.커스텀헤더값은 못가져오고 있는데 가져오게 하려면 어떻게 해야될까요?ㅠ네트워크에는 캡쳐된 내용으로 잘 나오고 있어서요강사님 도와주세요~ㅠ
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
nunjucks res.render('error'); 작동을 안합니다.
안녕하세요. 강사님.현재 learn-sequelize MySQL 부분을 실습하고 있습니다.그런데 실습 과정중 이름(UNIQUE INDEX ) 을 중복되게 생성하여 일부러 오류를 일으켰으나error.html 페이지가 호출 되지 않고있습니다.사용자 생성 router 부분은router.route('/').get(async (req, res, next) => {try {const users = await User.findAll();res.json(users);} catch(err) {console.error(err);next(err);}}).post(async (req, res, next) => {try {const user = await User.create({name : req.body.name,age : req.body.age,married : req.body.married});console.log(user);res.status(201).json(user); // status 201 작성됨(생성됨) 뜻} catch(err) {console.error(err);next(err); // <== next(err) 로 전달하나 error.html을 호출하지 못함}});입니다.app.use((err, req, res, next) => { res.locals.message = err.message; res.locals.error = process.env.NODE_ENV !== 'production' ? err : {}; err.status = err?.status ?? 500; res.status(err.status); console.log('test'); //<== 로그는 찍힘 res.render('error');//error.html render안됨});res.render('error') 가 되지 않고 있습니다. 라우터 경로 테스트 결과app.use((req, res, next) => {const error = new Error(`${req.method} ${req.url} 라우터가 없습니다.`);error.status = 404;next(error);});라우터 경로 오류시에는 정상적으로 호출하는 것으로 보아 문제는 없는 것 같은데 원인을 찾지 못하고 있습니다.잘 부탁드립니다.-- 에러 로그는 다음과 같습니다. ---- users 테이블에 중복된 이름을 입력 하였을 때 오류 내용으로 500 에러로 보아error.html 호출이 되어야 하지만 호출이 되지 않고 있습니다.Executing (default): INSERT INTO users (`id`,`name`,`age`,`married`,`created_at`) VALUES (DEFAULT,?,?,?,?);Errorat Query.run (D:\nodeExer\node_exer1\learn-sequelize\node_modules\sequelize\lib\dialects\mysql\query.js:52:25)at D:\nodeExer\node_exer1\learn-sequelize\node_modules\sequelize\lib\sequelize.js:314:28at processTicksAndRejections (internal/process/task_queues.js:95:5)at async MySQLQueryInterface.insert (D:\nodeExer\node_exer1\learn-sequelize\node_modules\sequelize\lib\dialects\abstract\query-interface.js:308:21)at async User.save (D:\nodeExer\node_exer1\learn-sequelize\node_modules\sequelize\lib\model.js:2432:35)at async Function.create (D:\nodeExer\node_exer1\learn-sequelize\node_modules\sequelize\lib\model.js:1344:12)at async D:\nodeExer\node_exer1\learn-sequelize\routes\users.js:22:26 {name: 'SequelizeUniqueConstraintError',errors: [ValidationErrorItem {message: 'name_UNIQUE must be unique',type: 'unique violation',path: 'name_UNIQUE',value: 'aa',origin: 'DB',instance: [User],validatorKey: 'not_unique',validatorName: null,validatorArgs: []}],parent: Error: Duplicate entry 'aa' for key 'users.name_UNIQUE'at Packet.asError (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\packets\packet.js:728:17)at Execute.execute (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\commands\command.js:29:26)at Connection.handlePacket (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\connection.js:456:32)at PacketParser.onPacket (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\connection.js:85:12)at PacketParser.executeStart (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\packet_parser.js:75:16)at Socket.<anonymous> (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\connection.js:92:25)at Socket.emit (events.js:400:28)at addChunk (internal/streams/readable.js:293:12)at readableAddChunk (internal/streams/readable.js:267:9)at Socket.Readable.push (internal/streams/readable.js:206:10) {code: 'ER_DUP_ENTRY',errno: 1062,sqlState: '23000',sqlMessage: "Duplicate entry 'aa' for key 'users.name_UNIQUE'",sql: 'INSERT INTO users (`id`,`name`,`age`,`married`,`created_at`) VALUES (DEFAULT,?,?,?,?);',parameters: [ 'aa', '11', false, '2022-12-14 17:38:07' ]},original: Error: Duplicate entry 'aa' for key 'users.name_UNIQUE'at Packet.asError (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\packets\packet.js:728:17)at Execute.execute (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\commands\command.js:29:26)at Connection.handlePacket (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\connection.js:456:32)at PacketParser.onPacket (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\connection.js:85:12)at PacketParser.executeStart (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\packet_parser.js:75:16)at Socket.<anonymous> (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\connection.js:92:25)at Socket.emit (events.js:400:28)at addChunk (internal/streams/readable.js:293:12)at readableAddChunk (internal/streams/readable.js:267:9)at Socket.Readable.push (internal/streams/readable.js:206:10) {code: 'ER_DUP_ENTRY',errno: 1062,sqlState: '23000',sqlMessage: "Duplicate entry 'aa' for key 'users.name_UNIQUE'",sql: 'INSERT INTO users (`id`,`name`,`age`,`married`,`created_at`) VALUES (DEFAULT,?,?,?,?);',parameters: [ 'aa', '11', false, '2022-12-14 17:38:07' ]},fields: { name_UNIQUE: 'aa' },sql: 'INSERT INTO users (`id`,`name`,`age`,`married`,`created_at`) VALUES (DEFAULT,?,?,?,?);'}POST /users 500 52.768 ms - 785
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
cookie를 자동으로 업데이트 하는 방법이 있을까요?
https://kwonkyo.tistory.com/529해당 블로그의 방법처럼 joson 형식을 직접 코드에 작성하여 네이버 쇼핑 크롤링을 완성 하였습니다. 대신 이 방법대로 하면 매번 코드에 cookies,headers,params 를 작성해 줘야하는데요.headers와 params는 매번 똑같아도 괜찮지만 cookies는 매일 달라지는 것 같습니다?이 경우에는 cookies를 자동으로 업데이트 시켜줘야 할 것 같은데어떤 방법이 있을까요?구글링 하여 session 방법도 나름 시도해 보았지만 잘 해결되지 않아 질문 드립니다.아래는 코드 입니다.import requests from bs4 import BeautifulSoup import json page = 1 keyword = "과자" print(f"------------------{page}페이지--------------------") cookies = { 'NNB': 'WUXWWRMOOVZWG', 'nx_ssl': '2', 'NaverSuggestUse': 'use%26unuse', 'NFS': '2', '_ga': 'GA1.2.1826370085.1669177707', '_ga_8P4PY65YZ2': 'GS1.1.1670556699.3.1.1670556781.0.0.0', 'autocomplete': 'use', 'AD_SHP_BID': '14', 'ASID': '0e221f9100000185044256e400000053', 'SHP_BID': '4', 'demo': 'm-20', 'nid_inf': '856411158', 'NID_AUT': 'HZYH2iEU+pydap3C2ZeK6SYL11+ZQZzCIxAEVW3QF+iQi6lSXeyTWKIk5Q2u+b9S', 'NID_JKL': 'SVy2JH/PZVBFeP9cfyNUo3IgRz5c4Q/O3D1m7qX2s00=', 'page_uid': 'hHD3nsp0YihssMEgEXGssssssBd-506797', 'spage_uid': 'hHD3nsp0YihssMEgEXGssssssBd-506797', 'NID_SES': 'AAABnE+3Z8P/zCp3/+XE9IwB85rhcdGolR2WTfQ+4pgrPTDVp5OXKvHRGfHLRDEkgIPkWbhnTGodcztE7cv9hlVOxWbV/AzVGwmPzQZaD1fLKkFAp6C6687HIZnNTsT4eV03q6QZxMfBOw8XTTfsuYRwsYwbkJDEuKeXXmfFFdC2cy3sGgI6ZPG3ktjZIyg+rkfuxcf1ctpeNOHDdt8KmCKlPx5dstYGtlbWHjZo3A4nW6uaRMt+2C9GB/GLrR01RhYR/MO3V75Cs+QMLbaFjcH3rqDH3hW1Af72MHP7GhbefTHvhHrFUtKAgYUgL2GTT/1He52YtfMgiHlr9nkw9vOA+IxGJMTrzGfA2QhJ2ygbYbET/srzrBzN/wc1S9f/1l11d7SKh0V/wlAyputCtanuhm3zErFBEVVnVmnb4ZuMt0suYkOzi4npFMt9DDbZF0a94Jg/hCpqQpOJyZExpW27Lus6vVtTVMKtGhHKdIWIqQj/sazKIizGDZO/kCkB2B3UZ7Mifr8++HX/JRctca8Xhy2Raq4k4LeLgdfzBJUy8YPk', 'sus_val': 'bREWstOPzGuz2c6tT/IjoDSm', '_naver_usersession_': 'MBrk5lhOc1WegHzbQgb1fDhq', 'listOffset': '5', 'lastProductClick': '%EA%B8%B0%EB%8A%A5%EC%84%B1%20%EC%8B%A0%EB%B0%9C%20%EA%B9%94%EC%B0%BD%20%EC%95%84%EC%B9%98%20%EC%97%90%EC%96%B4%20%EC%BF%A0%EC%85%98%20%EC%9A%B4%EB%8F%99%ED%99%94%20%EC%9D%B8%EC%86%94%5E30260232791', 'ncpa': '6303604|lbmlel28|f29a4f23c2092dd24530afa9813bf4ed43f67312|s_18330e9a745fc|413a3e4b2505b6496c591b071aef2b79c21ebc52:3779889|lbmn6v3s|16785f2b11b65ae4a89a094ca2bc118dc954d556|s_16dc887ee7e95|02e93fa21fc6031ec88bcb6689e7cff18c15665b:5690384|lbmnnr4o|b4c6a1cf1d35097780f135a25c5799f57c65aede|s_19db0b627c733|01e7ef1e0ef2246ac863510bbb29e0a36a0033e3:165568|lbms7ec0|ead632e1b5f336c51e62da580208075272c11459|s_3422b8e1086835|47f818e032ceb6be564e3ff644b883ec359a265e:955149|lbnl92mg|b70c701a1fa1d38c1f581fcc23b30398d4adcc90|s_284221eac5eff|2f245a3ca6021c0dfb29a16bf7c07ec3c04396a7:225323|lbnmb480|2b37c0d8ddc982beacf11112bde0a117667fa270|s_5febb6e0220e1431|00c43677ce145a64eda592347157206e1dbd56d6:114|lbnr0s8w|54bc64a1453b4478949117b8889af402d3167367|s_1f0b6dd34481|165f45347c0201202f68fb81d77ad2bb5359ff6e:17703|lbns2kl4|26027c84c330407b41db82948a4fcaa33e7310d7|s_1f0b6dd345b2|2c70c3b6f7b0fcc2318cc94f852a990489505190:2680908|lbnsxh8o|462894807013beea343e192f633c808c7a42aabb|s_7d847d844c1e|a273843fa1cab15b4f2d4c666bc1fb930901383e:95694|lbntoqq0|d1c8fb101d9c85a5ff547a1b0785720da86641af|95694|477f8709aa2b405357c709a92412bb560da31300', } headers = { 'authority': 'msearch.shopping.naver.com', 'accept': 'application/json, text/plain, */*', 'accept-language': 'ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7', 'logic': 'PART', 'referer': f'https://msearch.shopping.naver.com/search/all?frm=NVSHPAG&origQuery=%ED%81%B0%EC%8B%A0%EB%B0%9C%EA%B9%94%EC%B0%BD&pagingIndex={page}&pagingSize=40&productSet=total&query=%ED%81%B0%EC%8B%A0%EB%B0%9C%EA%B9%94%EC%B0%BD&sort=rel&viewType=lst', 'sec-ch-ua': '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"', 'sec-ch-ua-mobile': '?0', 'sec-ch-ua-platform': '"Windows"', 'sec-fetch-dest': 'empty', 'sec-fetch-mode': 'cors', 'sec-fetch-site': 'same-origin', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36', } params = { 'query': f'{keyword}', 'sort': 'rel', 'pagingIndex': f'{page}', 'pagingSize': '40', 'viewType': 'lst', 'productSet': 'total', 'frm': 'NVSHPAG', 'origQuery': f'{keyword}', } response = requests.get('https://msearch.shopping.naver.com/api/search/all', params=params, cookies=cookies, headers=headers) itemlist = json.loads(response.text) cnt_1 = 1 print("=============광고 상품==============") try: for i in itemlist['searchAdResult']['products']: print(cnt_1) print(i["productTitle"]) print(i["mallProductId"]) cnt_1 +=1 except: print("============광고 상품 없음===================") cnt = 1 print("=============일반 상품==============") for i in itemlist['shoppingResult']['products']: print(cnt) print(i["productTitle"]) try: if i["mallProdMblUrl"][0] =="h": print(i["mallProdMblUrl"]) print(i["mallProductId"]) except: print(i["id"]) cnt +=1
-
미해결Slack 클론 코딩[실시간 채팅 with React]
front 폴더에서 yarn 설치 후 yarn dev 오류
맥북을 사용하기에 front 폴더에 yarn 설치 후, yarn dev를 하면 아래의 사진처럼 Type 'React.ReactNode' is not assignable to type {}. React.ReactNode오류가 뜹니다. setting 폴더에서 yarn 설치 후, yarn dev를 하면 정상적으로 작동합니다.(둘 다 똑같이 back 폴더에서 yarn run dev로 서버 가동은 해놓은 상태입니다)1번 에러2번 에러3번 에러총 이렇게 3개의 에러가 나오는 상황입니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
findbyid findall이두개만 return타입을 사용한 이유가 뭘까요
[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결처음 만난 리액트(React)
섹션3 JSX 코드 작성해보기
이곳에서 코드를 똑같이 따라했는데 아래와 같은 오류가 뜨네요 ㅜㅜ 에러가 왜 나는지 모르겠습니다.
-
미해결따라하며 배우는 HTML, CSS
go live 관련
강사님 하시는 거 보면 go live가 즉각적으로 반응되는데 그렇게하려면 어떻게 하는 건가요?
-
해결됨[코드캠프] 시작은 프리캠프
오류가 왜 난지 모르겠습니다 ㅠㅠ
싸이월드 4탄 강의에서 game.js 를 작성하는데 myword, lastword, firstword 등이 Unknown word 라고 뜨면서 오류가 발생하는것 같은데 왜그런건가요?? 저는 강의 그대로 코드를 짯는데 왜이런지 잘 모르겟씁니다 ㅠㅠ
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
hello world 강의도중 vi 실행시키니 이상한 창이 뜹니다!
늦은 시간 문의 드려죄송합니다! hello world 강의도중 vi 실행시키니 이상한 창이 뜹니다! 또한 ./build 를 실행시키니 오류가 뜹니다! ㅠㅠ-vi hello_world.v를 쳤을때-esc 키를 두번누르니 (정상적 화면 출력)-wq 치고 나와서 ./build 를 치니 command not found 라는 문구가 나옵니다command not found 가 왜뜨는걸까요? ㅠㅠ
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
애플리케이션 구성관련하여 질문드립니다.
안녕하세요. 회사에서 사용하는 MSA가 무엇인지 궁금하여 알아보던 중 강의를 듣게 되었습니다..앞 강의에서 강사님이 로드밸런싱은 Eureka가, 라우팅은 API GATEWAY가 한다고 보면 된다.. 라고 봤던 것 같은데 이번 강의에서는 API Gteway에 "부하분산/서비스라우팅"이라고 적혀있습니다. 부하분산=로드밸런싱으로 알고 있는데.. 혹시 제가 잘 못 알고 있던 걸까요? 감사합니다.