묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberRepository 가 Member 객체를 어떻게 사용하나요?
제목 그대로 MemberRepository 랑 Member가 어떻게 연결이 되는건가요?
-
해결됨자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
어떤 부분이 오답인지 궁금합니다
import java.io.*; public class Main { public int solution(int n) { int answer = 0, sum = 0, lt = 0; for (int rt = 0; rt <= n/2+1; rt++) { sum += rt; if (sum == n) answer++; while (sum >= n) { sum -= lt++; if (sum == n) answer++; } } return answer; } public static void main(String[] args) throws IOException { Main main = new Main(); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); System.out.print(main.solution(n)); } } 따로, n/2+1 크기만큼의 배열을 생성해주지 않는 풀이인데, 어느 부분이 잘못되서 오답처리가 되는 것인지 잘 모르겠습니다.
-
미해결PHP 개발자의 최종 테크트리, 라라벨 강의
singleton 결과값이 변경되지 않습니다.
안녕하세요. 해당 강의 실습시 해결되지 않는 부분이 있어 문의 드립니다.bind -> singleton 으로 변경했는데요. 결과값이 변경되지 않습니다. 어느부분을 놓쳤는지 알려주시면 감사하겠습니다.결과값 Acontroller.php<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class Acontroller extends Controller { protected $result; protected $basecontroller; public function __construct(Basecontroller $basecontroller) //서비스 컨테이너 { $this->basecontroller = $basecontroller; } public function multiple($num) { $this->result = $this->basecontroller->plus($num)*10; return $this->result; } } Basecontroller.php<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class Basecontroller extends Controller { protected $result; public function __construct() { $this->result = 0; } public function plus($num) { $this->result = $num+5; return $this->result; } } Aprovider.php<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; use App\Http\Controllers\Acontroller; use App\Http\Controllers\Basecontroller; class Aprovider extends ServiceProvider { /** * Register services. */ public function register(): void { $this->app->singleton(Acontroller::class, function($app) { return new Acontroller($app->make(Basecontroller::class)); }); } /** * Bootstrap services. */ public function boot(): void { // } } web.php<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\Acontroller; Route::get('/', function () { return view('welcome'); }); Route::get('/one', function () { for ($i=0; $i < 3; $i++) { echo app(Acontroller::class)->multiple(2); echo "<br />"; } return "------------"; }); app.phpApp\Providers\AppServiceProvider::class, App\Providers\AuthServiceProvider::class, // App\Providers\BroadcastServiceProvider::class, App\Providers\EventServiceProvider::class, App\Providers\RouteServiceProvider::class, App\Providers\Aprovider::class,
-
해결됨카카오 퇴사자가 누설하는 [웹개발자 취업 비밀노트]
안녕하세요 노션공유 이메일을 변경하고 싶습니다.
노션공유 이메일을 twte96@gmail.com로 다시 공유해 주실 수 있으실까요?
-
해결됨Slack 클론 코딩[백엔드 with NestJS + TypeORM]
fe &#x60;내 정보 조회&#x60;시 프론트에서 데이터 불러오지 못합니다.
조현영님 안녕하세요. 프론트, 백엔드 강좌를 잘 보고있습니다! 현영님의 강좌에서 useSwr를 사용하는법을 배우고, 백엔드도 구현해보고자 하여, 백엔드도 수강하게 되었습니다. 회원가입과 로그인을 하였을경우 정상적으로 작동하여, 로그인을 하였을경우, 프론트에게 쿠키값을 제대로 넘겨주고있지만, response 데이터를 받지 못하고있는데 원인을 알 수가 없습니다. front에서 로그인 하였을시 나오는 콘솔data user: {data: '', status: 200, statusText: 'OK', headers: AxiosHeaders, config: {…}, …} installHook.js:342 data user: {data: '', status: 200, statusText: 'OK', headers: AxiosHeaders, config: {…}, …} fetcher.ts:6 response: {data: '', status: 200, statusText: 'OK', headers: AxiosHeaders, config: {…}, …} index.tsx:91 back에서 로그인 request받았을때, 응답하는 콘솔[Nest] 69849 - 06/28/2023, 10:09:06 AM LOG [HTTP] GET /api/users 200 undefined - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 ::1 query: SELECT DISTINCT `distinctAlias`.`Users_id` AS `ids_Users_id` FROM (SELECT `Users`.`id` AS `Users_id`, `Users`.`email` AS `Users_email`, `Users`.`nickname` AS `Users_nickname`, `Users__Users_Workspaces`.`id` AS `Users__Users_Workspaces_id`, `Users__Users_Workspaces`.`name` AS `Users__Users_Workspaces_name`, `Users__Users_Workspaces`.`url` AS `Users__Users_Workspaces_url`, `Users__Users_Workspaces`.`createdAt` AS `Users__Users_Workspaces_createdAt`, `Users__Users_Workspaces`.`updatedAt` AS `Users__Users_Workspaces_updatedAt`, `Users__Users_Workspaces`.`deletedAt` AS `Users__Users_Workspaces_deletedAt`, `Users__Users_Workspaces`.`OwnerId` AS `Users__Users_Workspaces_OwnerId` FROM `users` `Users` LEFT JOIN `workspacemembers` `Users_Users__Users_Workspaces` ON `Users_Users__Users_Workspaces`.`UserId`=`Users`.`id` LEFT JOIN `workspaces` `Users__Users_Workspaces` ON `Users__Users_Workspaces`.`id`=`Users_Users__Users_Workspaces`.`WorkspaceId` AND (`Users__Users_Workspaces`.`deletedAt` IS NULL) WHERE ( (`Users`.`id` = ?) ) AND ( `Users`.`deletedAt` IS NULL )) `distinctAlias` ORDER BY `Users_id` ASC LIMIT 1 -- PARAMETERS: [9] query: SELECT `Users`.`id` AS `Users_id`, `Users`.`email` AS `Users_email`, `Users`.`nickname` AS `Users_nickname`, `Users__Users_Workspaces`.`id` AS `Users__Users_Workspaces_id`, `Users__Users_Workspaces`.`name` AS `Users__Users_Workspaces_name`, `Users__Users_Workspaces`.`url` AS `Users__Users_Workspaces_url`, `Users__Users_Workspaces`.`createdAt` AS `Users__Users_Workspaces_createdAt`, `Users__Users_Workspaces`.`updatedAt` AS `Users__Users_Workspaces_updatedAt`, `Users__Users_Workspaces`.`deletedAt` AS `Users__Users_Workspaces_deletedAt`, `Users__Users_Workspaces`.`OwnerId` AS `Users__Users_Workspaces_OwnerId` FROM `users` `Users` LEFT JOIN `workspacemembers` `Users_Users__Users_Workspaces` ON `Users_Users__Users_Workspaces`.`UserId`=`Users`.`id` LEFT JOIN `workspaces` `Users__Users_Workspaces` ON `Users__Users_Workspaces`.`id`=`Users_Users__Users_Workspaces`.`WorkspaceId` AND (`Users__Users_Workspaces`.`deletedAt` IS NULL) WHERE ( (`Users`.`id` = ?) ) AND ( `Users`.`deletedAt` IS NULL ) AND ( `Users`.`id` IN (9) ) -- PARAMETERS: [9] getUsers user: Users { id: 9, email: 'sinde530@naver.com', nickname: '이카자', Workspaces: [] } [Nest] 69849 - 06/28/2023, 10:09:18 AM LOG [HTTP] GET /api/users 200 undefined - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 ::1 코드들// user.controller.ts import { Body, Controller, Get, Post, Req, Res, UseGuards, UseInterceptors, } from '@nestjs/common'; import { ApiCookieAuth, ApiOperation, ApiResponse, ApiTags, } from '@nestjs/swagger'; import { LocalAuthGuard } from 'src/auth/local-auth.guard'; import { LoggedInGuard } from 'src/auth/logged-in.guard'; import { NotLoggedInGuard } from 'src/auth/not-logged-in.guard'; import { User } from 'src/common/decoraters/users.decorater'; import { UserDto } from 'src/common/dto/user.dto'; import { UndefinedToNullInterceptor } from 'src/common/interceptors/undefinedToNull.interceptor'; import { Users } from 'src/entities/Users'; import { SignUpRequestDto } from './dto/signup.request.dto'; import { UsersService } from './users.service'; @UseInterceptors(UndefinedToNullInterceptor) @ApiTags('Users') @Controller('api/users') export class UsersController { constructor(private usersService: UsersService) {} @ApiResponse({ status: 200, description: '성공', type: UserDto, }) @ApiResponse({ status: 500, description: '서버 에러', }) @ApiCookieAuth('connect.sid') @ApiOperation({ summary: '내 정보 조회' }) @Get() async getUsers(@User() user: Users) { console.log('getUsers user:', user); return user || false; } @ApiOperation({ summary: '회원가입' }) @UseGuards(NotLoggedInGuard) @Post('signup') async signup(@Body() data: SignUpRequestDto) { await this.usersService.postUsers(data.email, data.nickname, data.password); } @ApiResponse({ status: 200, description: '로그인 성공', type: UserDto, }) @ApiResponse({ status: 500, description: '서버 에러', }) @ApiOperation({ summary: '로그인' }) @UseGuards(LocalAuthGuard) @Post('signin') async signin(@User() user: Users) { return user; } @ApiOperation({ summary: '로그아웃' }) @UseGuards(LoggedInGuard) @Post('logout') logOut(@Req() request, @Res() response) { request.logOut(); response.clearCookie('connect.sid', { httpOnly: true }); response.send('ok'); } } // SignIn.tsx import axios from 'axios'; import { useCallback, useState } from 'react'; import useInput from 'src/hooks/useInput'; import fetcher from 'src/utils/fetcher'; import useSWR from 'swr'; import { Button, Container, Form, InfoBox, Input, LoginInfoBox, LoginLink, LoginText, Logo, RegisterBox, RegisterErrorText, RegisterText, SubContainer, WelcomeBox, WelcomeText, WrapperImageLogo, } from './styled'; export default function SignIn() { const { data, error, mutate } = useSWR( 'http://localhost:3090/api/users', fetcher, ); const [email, onChangeEmail] = useInput(''); const [password, onChangePassword] = useInput(''); const emailRegex = /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; const [errors, setErrors] = useState({ email: false, password: false, invalidEmail: false, }); const [presentEmail, setPresentEmailError] = useState(false); const [loginError, setLoginError] = useState(false); const Image = 'https://dummyimage.com/600x400/000/fff'; const handleSubmit = useCallback( async (e: any) => { e.preventDefault(); const newErrors = { email: !email, password: !password, invalidEmail: !!(email && !emailRegex.test(email)), }; setPresentEmailError(false); setErrors(newErrors); setLoginError(false); if (Object.values(newErrors).some((error) => error)) { return; } try { await axios .post( 'http://localhost:3090/api/users/signin', { email, password, }, { withCredentials: true }, ) .then(() => { mutate(); }) .catch((error) => { setPresentEmailError(error.response?.data); setLoginError(error); }); } catch (error) { console.error(error); } }, [email, password, mutate], ); console.log('data user:', data); if (error) console.log('error:', error); // if (!error && userData) { // console.log('로그인됨', userData); // return <Navigate to="/workspace/purrfect-chat/channel/general" />; // } return ( <Container> <SubContainer> <WrapperImageLogo> <Logo src={Image} alt="error" /> </WrapperImageLogo> <RegisterBox> <WelcomeBox> <WelcomeText>Welcome to Purrfect Chat!</WelcomeText> </WelcomeBox> <Form> <InfoBox> {errors.email && ( <RegisterErrorText> 이메일을 입력해 주세요. </RegisterErrorText> )} {errors.invalidEmail && ( <RegisterErrorText> 이메일 형식을 입력해 주세요. </RegisterErrorText> )} {loginError && ( <RegisterErrorText> 이메일 또는 비밀번호가 일치하지 않습니다. </RegisterErrorText> )} {!errors.email && !errors.invalidEmail && !presentEmail && ( <RegisterText>이메일</RegisterText> )} <Input name="email" type="text" value={email} onChange={onChangeEmail} /> </InfoBox> <InfoBox> {errors.password && ( <RegisterErrorText> 비밀번호를 입력해 주세요. </RegisterErrorText> )} {loginError && ( <RegisterErrorText> 이메일 또는 비밀번호가 일치하지 않습니다. </RegisterErrorText> )} {!errors.password && !loginError && ( <RegisterText>비밀번호</RegisterText> )} <Input name="password" type="password" autoComplete="true" value={password} onChange={onChangePassword} /> </InfoBox> <InfoBox> <Button type="button" onClick={handleSubmit}> 로그인 </Button> </InfoBox> <LoginInfoBox> <LoginText>아직 회원이 아니신가요?</LoginText> <LoginLink to="/signup"> 회원가입 하러가기 </LoginLink> </LoginInfoBox> </Form> </RegisterBox> </SubContainer> </Container> ); } // fetcher.ts import axios from 'axios'; const fetcher = async (url: string) => { try { const response = await axios.get(url, { withCredentials: true }); console.log('response:', response); return response; } catch (error: any) { throw new Error(error.response?.data); } }; export default fetcher; back/main.ts import { ValidationPipe } from '@nestjs/common'; import { NestFactory } from '@nestjs/core'; import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger'; import cookieParser from 'cookie-parser'; import session from 'express-session'; import passport from 'passport'; import { AppModule } from './app.module'; import { HttpExceptionFilter } from './httpException.filter'; declare const module: any; async function bootstrap() { const app = await NestFactory.create(AppModule); app.useGlobalFilters(new HttpExceptionFilter()); app.useGlobalPipes( new ValidationPipe({ transform: true, }), ); app.enableCors({ origin: true, credentials: true, }); const config = new DocumentBuilder() .setTitle('HTTP API ') .setDescription('개발 API 문서입니다.') .setVersion('1.0') .addCookieAuth('connect.sid') .build(); const documnet = SwaggerModule.createDocument(app, config); SwaggerModule.setup('api', app, documnet); app.use(cookieParser()); app.use( session({ resave: false, saveUninitialized: false, secret: process.env.COOKIE_SECRET, cookie: { httpOnly: true, }, }), ); app.use(passport.initialize()); app.use(passport.session()); const port = process.env.PORT || 3090; await app.listen(port); console.log(`listening on port ${port}`); if (module.hot) { module.hot.accept(); module.hot.dispose(() => app.close()); } } bootstrap();
-
해결됨ITSM(IT 서비스 관리)을 위한 ITIL 4 Foundation 이해하기
해당 교육의 교재를 받을 수 있을까요??
강의 하신 내용을 보고 싶은데요 따로 받을 수 있을까요??
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
연관관계 관련 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]1. 안녕하세요!! 수업을 들으면서 생긴 궁금증인데 Member랑 Orders가 1:N 관계로 양방향으로 매핑이 되어 있자나요. 그럼 Members 객체를 호출해서 SQL문을 날리면 Orders List관련 SQL문은 따로 안날리고 나중에 Orders에 접근할때 SQL을 날리는 방식이 지연 로딩 방식인건가요?? 연관된 객체 탐색이 쉽다는 이유로 연관 매핑을 막 사용하면 안되고 진짜 필요할 때만 사용하라는 말이 있더라고요. 조회 기능 같은 경우에는 (CQRS) 별도 모델을 만들어서 구현하라는 말을 들었는데, 이번 강의처럼 모든 테이블 사이에 연관관계를 매핑 해줘도 되는건가요??
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
질문있습니다
if (_popCount == 1) { Node* node = _pendingList.exchange(nullptr); if (--_popCount) { DeleteNodes(node); } else if (node) { ChainPendingNodeList(node); } delete oldHead; }_popCount가 1인 상태가 나 혼자 삭제하고 있는 중이고 혼자 삭제하는 중이라면 삭제가 예약된 데이터들도 삭제한다고 이해를 했습니다. 삭제가 예약된 데이터들을 삭제를 할 수 있는지 체크하는 부분이 위에 있는 if(--popCount) 조건문으로 알고 있는데 여기서 --_popCount를 하면 _popCount가 0이 되어서 나 혼자 삭제하는 중이여도 다른 예약된 데이터들을 삭제를 할 수 없는거 아닌가요??
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
Material Theme 테마 관련해서 질문 드립니다.
똑같이 설치 했는데 왜 저는 강사님 처럼데코레이터는 파란색함수명은 빨간색으로 하고 싶은데저는 이 2개가 같이 바뀌네요 ? ㅠ 스코프를 아래와 같이 설정하면, 데코랑 함수명이 같이 움직입니다. 따로 셋팅은 힘든 걸가요?"scope": ["entity.name.function"], "settings": { "foreground": "#FFFF00" }
-
미해결실전! 스프링 데이터 JPA
쿼리 힌트 Page 추가 예제 관련 질문입니다/
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? [질문 내용]안녕하세요. 강의와 자료를 병행해서 보다가 질문이 있어 문의드립니다. 우선적으로https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-%EB%8D%B0%EC%9D%B4%ED%84%B0-JPA-%EC%8B%A4%EC%A0%84&unitId=28020&tab=community&category=questionDetail&q=723744해당 내용을 읽어보았는데도 이해가 되질 않아 문의드리게 된 점 양해부탁드립니다 ㅜ해당 내용처럼 저도 application.yml 내 use_sql_comments: true 를 추가쿼리문을 확인하였을 때forCounting=false /* select count(m) from Member m where m.username = :username */ select count(member0_.id) as col_0_0_ from member member0_ where member0_.username='member1'; forCounting=true /* memberRepository.findByUsername */ select count(member0_.id) as col_0_0_ from member member0_ where member0_.username='member1';위와 같은 결과를 반환받았는데 어떤 차이가 있는지 잘모르겠습니다 ㅜ 어떤 의도를 말씀하시는지 잘모르겠습니다 ㅜ
-
미해결
swagger api 리스트 갱신 방법 궁금합니다.
gateway에 swagger 설치해서 api 리스트를 체크하고 있습니다.라우트 정보를 config 서버에서 관리하도록 변경해서 gateway 재시작 없이 /actuator/refresh로 라우트 정보가 갱신되는 것은 성공했습니다.그런데 gateway에 있는 swagger에 definition 목록에서는 추가된 라우트 정보가 반영되지는 않더군요.apidoc 라우트 빈 등록하는 부분에 @RefreshScope를 적용해봐도 그대로라서 gateway 재시작 없이 반영할 수 있는 방법이 있을까요?@Configuration public class OpenApiDocConfig { @RefreshScope @Bean @Lazy(false) public List<GroupedOpenApi> apis(SwaggerUiConfigParameters swaggerUiConfigParameters, RouteDefinitionLocator locator) { List<GroupedOpenApi> groups = new ArrayList<>(); List<RouteDefinition> definitions = locator.getRouteDefinitions().log("OpenApiDocConfig").collectList().block(); Optional.ofNullable(definitions) .map(Collection::stream) .orElseGet(Stream::empty) .filter(routeDefinition -> routeDefinition.getId().matches(".*-service")) .forEach(routeDefinition -> { String name = routeDefinition.getId(); swaggerUiConfigParameters.addGroup(name); GroupedOpenApi.builder().pathsToMatch("/" + name + "/**").group(name).build(); }); return groups; } }
-
미해결프론트엔드 개발환경의 이해와 실습 (webpack, babel, eslint..)
강의 업데이트가 필요해보입니다..
여러 패키지를 강의에서 사용하는데 그동안 패키지들이 버젼업이 많이 된만큼 강의에서 진행하는 부분과 차이가 있는 부분들이 꽤많네요.. husky도 이제 package.json에서 수정하는게아니라 추가하는 커맨드 사용해서 하구요강의가 업데이트된다면 더 퀄리티좋은 강의가 될것같습니다.
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
access token 생성 중 에러가 있어서 문의드립니다.
안녕하세요. 강의 잘 듣고 있습니다.access token 생성중에 에러가 생겨서 진행이 안되고 있어 문의드립니다.해당 부분에서 secret 임이의 문자열을 ES512 알로리즘 방식을 적용할 때 아래와 같은 에러가 발생합니다.Key bytes may only be specified for HMAC signatures. If using RSA or Elliptic Curve, use the signWith(SignatureAlgorithm, Key) method instead.ES256을 적용도 해보고 여러 시도를 해봤는데 동일한 에러가 발생하네요. 제가 실수한 부분이 있을까요?참고로 yml 설정은 강사님과 동일하게 맞췄습니다.조언 부탁드려요!==============================원인을 찾았습니다. HS512로 적용해야하는데 ES512로 적용했네요.ㅎㅎES512는 임의의 문자열을 알고리즘으로 변환을 못해 에러가 발생했는데 자세히는 모르겠네요.아시는 분 있으면 답글 부탁드립니다.ㅎㅎ
-
미해결[리뉴얼] 타입스크립트 올인원 : Part1. 기본 문법편
생성자 함수 타입 abstract new (...args: any) => any
function test<T extends abstract new (...args: any) => any>(param: T): void{} class A { a: string = 'hi' } test(A); // 성공 test(new A()); // 실패abstract new (...args: any) => any이 생서자 함수타입이라고 하셨는데 클래스 A의 생성자 함수(constructor)는 prototype 하위에 있고 A의 인스턴스는 __proto__ 내부에 constructor이 있는걸로 알고있는데 왜 클래스만 통과되고 인스턴스는 통과하지 못하는지 궁금합니다.
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
ImportError: cannot import name 'load_dotenv' from 'dotenv'
안녕하십니까? '(BONUS) 셀레니움 ver 4.0 가이드 + 크롬 드라이버 자동으로 다운 받는 법' 수업중입니다.셀레니움 기본설정을 한 후 실행을 하면 스크린샷같은 오류가 발생되서 문의 드려봅니다.
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
MAC, IP 주소 관련 질문 드립니다!
이 사진과 같이120.70.80.3 자체가 유니크한 값이 아닌가 생각이듭니다이 값이 유니크 한 값이 된가하면 굳이 mac 주소를 사용할 이유가 있을까요? 바로 A 컴퓨터에서 120.70.80.3 컴퓨터로 찾아가면 될거같다는 생각이 들어서요
-
미해결파이썬 무료 강의 (활용편1) - 추억의 오락실 게임 만들기 (3시간)
무기 Y포지션 speed 감소
무기 위치 조정 할 때, weapone의 y 좌표를 줄여 나감으로 위로 쏘아 올리는 건 이해 하는데, 만약 weapones에 [[10,50],[10,40]]이라는 무기 포지션이 있다면, 아래 코드를 만나서 (speed가 10이라면)weapons=[[w[0],w[1]-weapone-speed] for w in weapons10,50 ->10,40이 되고 아래 코드를 만나서 for weapone_x_pos, weapone_y_pos in weapones: screen.blit(weapone,(weapone_x_pos, weapone_y_pos))10,40을 그려주고 다시 weapons=[[w[0],w[1]-weapone-speed] for w in weapons 이 코드로 올라가서 10,30이 되고 또 10,30을 그려주고 이걸 반복하는 건가요..? *리스트의 첫 번째 인덱스로 (10,40)이 되어 그려주고 두번째 인덱스로 넘어가서 (10,30)이 되어 그려주고 이걸 반복할 것 같은데 첫 번째 인덱스의 weapone-speed가 계속 반복 되는 게 이해가 안되요ㅠㅠ*제 질문이 이해가 안가실 것 같기는 한데 이런 고민 해 보신 분 없으실까요?
-
미해결유니티 Addressable 을 이용한 패치 시스템 구현
/ 가 URI 인코딩 문제로 %5C로 내려 받습니다 ㅠㅠ
안녕하세요 ㅠㅠ 강의대로 했는데용 ...아마존 S3로 내려 받는데 요청 받을때 /Android%5C 부분에서 %5C가 /로 요청을해야하는데 어디에선가 인코딩 문제가 생긴것같습니다 ㅠ.ㅠ 아래에 로그 전체를 보내 드리겠습니다 ! ==============================2023-06-28 04:04:33.168 32354-32393/? E/Unity: System.Exception: Dependency Exception ---> UnityEngine.ResourceManagement.Exceptions.OperationException: GroupOperation failed because one of its dependencies failed ---> UnityEngine.ResourceManagement.Exceptions.RemoteProviderException: RemoteProviderException : Unable to load asset bundle from : https://s3.ap-northeast-2.amazonaws.com/com.blackhammer.assetbundle/Android%5Cremote_bundle_assets_all_f923192b886d03258296e7bc56c4d786.bundle UnityWebRequest result : ProtocolError : HTTP/1.1 403 Forbidden ResponseCode : 403, Method : GET url : https://s3.ap-northeast-2.amazonaws.com/com.blackhammer.assetbundle/Android%5Cremote_bundle_assets_all_f923192b886d03258296e7bc56c4d786.bundle --- End of inner exception stack trace --- --- End of inner exception stack trace --- UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1:set_OperationException(Exception) UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1:Complete(TObject, Boolean, Exception, Boolean) UnityEngine.ResourceMan2023-06-28 04:04:33.168 32354-32393/? E/Unity: Dependency Exception UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1:set_OperationException(Exception) UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1:Complete(TObject, Boolean, Exception, Boolean) UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1:InvokeExecute() UnityEngine.ResourceManagement.AsyncOperations.<>c__DisplayClass57_0:<add_CompletedTypeless>b__0(AsyncOperationHandle`1) System.Action`1:Invoke(T) DelegateList`1:Invoke(T) UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1:InvokeCompletionEvent() UnityEngine.ResourceManagement.ResourceManager:ExecuteDeferredCallbacks() UnityEngine.ResourceManagement.ResourceManager:Update(Single)
-
미해결리눅스 입문 - 개념으로 탄탄히!!
이 강의 수강시 리눅스 마스터 1급 취득 가능한가요?
이 강의 수강시 리눅스 마스터 1급 취득 가능한가요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
WSL2로 강의 수강 시 문제점에 관하여 아래 내용여쭙고 싶어 글 남깁니다.
안녕하세요. 백엔드 과정을 수강 중인 학생입니다. WSL2로 강의 수강 시 문제점에 관하여 아래 내용여쭙고 싶어 글 남깁니다. 번거롭겠지만 답변해주시면 정말 감사하겠습니다. 현재 16GB RAM 사용 중이며 윈도우 기본 설치된 노트북을 사용 중입니다. 윈도우를 제거하고 우분투를 설치할 환경이 되지 않아서 WSL2를 설치하여 사용하려 하는데 강의를 들으면서 추후 RAM 관련 문제가 발생할 수 있을까요? ***아래 캡처는 현재 제 노트북 사양입니다***[캡처]