묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Nuxt.js 시작하기
SSG 시 SPA fallback 및 asyncData & fetch 문의(부분 SPA or CSR)
사내 협업을 위한 인하우스 앱도 nuxt로 새로 개발하려 합니다.문제는 파편화된 기존 백엔드와(대부분 REST API, 최근 몇개는 웹소켓) 지금까지 사용하던 Django (HTML 템플릿 + jQuery) 서비스에 최신 프론트엔드를 붙여야 하는 상황입니다.그러다 보니 SSG 아니면 CSR 밖에 선택지가 없는데, https://nuxtjs.org/docs/concepts/static-site-generation/ 에서 generate.exclude 옵션을 사용한 뒤 nuxt generate로 정적 사이트를 생성하면 해당 경로는 CSR로 된다는 것을 읽었습니다. 이 기능을 사용하고 싶어 검색 후 다음과 같은 게시물을 확인하였습니다.https://stackoverflow.com/questions/68837954/how-do-dynamic-api-calls-work-in-nuxt-js-static-vs-ssr-modehttps://www.reddit.com/r/Nuxt/comments/ndn2vz/comment/gybtj55/ 위 두 글에서 링크한 nuxt 블로그 게시물(https://nuxtjs.org/announcements/going-full-static/#crazy-fast-static-applications )을 확인하니, nuxt 2.14 버전 이후로는 target: 'static'인 상태에서 nuxt generate를 실행 시 클라이언트 사이드 내비게이션에서의 asyncData와 fetch를 모사하기 위해서 HTML을 사전 렌더링할 때 페이로드 파일을 저장한다고 하고 있습니다.this means no more HTTP calls to your API on client-side navigation.즉 SSG 모드를 켜면 더 이상 API에서 값을 가져오는 것이 아닌 generate 할 때의 API 값을 저장해 하나의 html로 만들어버린다는 것인데, 혹시 이 옵션을 끄고 SSG와 SSR, CSR 모두 동일하게 페이지 진입 시 API에서 새 값을 받아올 수 있게 하는 법이 있을까요? API에서 값을 받아오고 싶으면 무조건 exlcude에 경로를 추가해 CSR로 돌려야 하나요?
-
미해결AWS(Amazon Web Service) 중/상급자를 위한 강의
BeansTalk / CodeFoundation / Lambda 3개가 헷갈리죠? ㅠ
결국 개발자한테 인프라 신경쓰지말고비즈니스로직만 신경쓰라고 해서 나온 3가지같은데.. Lambda - 코드만 입력하면 S3나 DynamoDB의 트리거 역할을 해줌BeansTalk - 코드만 입력하면 알아서 서비스를 조합해줌CloudFoundation - 코드만 입력하면 알아서 인프라를 세팅해줌 그러면 자유도를 기준으로 나누면Lambda < BeansTalk < CodeFoundation로 보면 될까요? 솔직히 빈즈토크랑 코드파운데이션은 뭐가 차이가 나는지를 잘 모르겠습니다. 24일강사님이 답변이 없으시군요.일단 자체해결은 아니고 몇가지 알아낸점은코드파운데이션이아니라 클라우드 파운데이션이었고 뭔가 타겟이 다른 느낌이네요람다는 데이터에 트리거를 줌빈즈톡은 코드를 서비스로 자동으로 만들어줌클라우드파운데이션은 코드를 인프라로 만들어줌즉람다 : 데이터 변화를 위한 코드빈즈톡 : 비즈니스를 위한 코드클라우드파운데이션 : 인프라를 위한 코드이렇게 해석해도 되는건가요?
-
미해결Nuxt.js 시작하기
리눅스 도커 환경 배포 시 스택 문의
안녕하세요. 게시판 형태의 nuxt 앱 배포환경을 고민하고 있습니다.백엔드 API 서버들은 온프레미스 서버(사무실 서버)와 클라우드에 분산되어 있고, SSR에 따른 SEO와 로딩 속도와 같은 장점을 기대하고 Nuxt로 개발 중입니다.선택지는 다음과 같지만, 2번이 우세한 상황입니다.vercel과 같은 SSR을 지원하는 PaaS를 사용하여 배포리눅스 서버 위 도커 컨테이너로 배포2번을 고려하고 있는 이유는 비용상의 문제보다는 성능과 기능 구현 때문에 고려하고 있습니다(Nginx에서 특정 ip 차단, pm2 프로세스 관리, 동일 서버에 올라간 백엔드 API 컨테이너와 유닉스 소켓으로 연결 등). 또한, 아마 다른 서비스에서 조만간 쿠버네티스를 도입할 것 같아 미래를 고려하는 점도 있습니다. 리눅스 도커 환경에 직접 배포할 때, 도커를 사용하는 부분은 문제가 없으나 스택을 어떻게 구성해야 할지 문의드립니다.간단하게 찾아본 결과 Nginx + pm2 + node(nuxt) 구조에서 각 서비스가 빠지거나 포함되는 것 같은데, 서로 충돌하는 의견이 많은 것 같아 혹시 추천해주실 수 있는 스택이 있는지 문의드립니다. Nginx : 정적 컨텐츠와 빠르고 편리한 https(TLS), 리버스 프록시를 통한 보안과 속도 때문에 필요함. node로도 해당 기능들이 모두 가능하니 필요 없다는 주장도 있으나, 웹서버 점유율에서 node.js가 1~2%라는 자료들에 의하면 의구심이 듦.pm2 : 로그와 프로세스를 편리하게 관리하기 위해서 필요하다는 의견이 많으나, 도커 기반 환경에서는 오히려 도커나 k8s가 프로세스나 로그를 관리하는 것을 방해한다는 의견(https://www.docker.com/blog/keep-nodejs-rockin-in-docker/ )도 있음. 일단 현재는 docker-compose로 Nginx-pm2-node(nuxt) 형태로 개발하고 있습니다. 아마 네카라쿠배에서는 이런 부분이 인프라나 DevOps 쪽으로 분업되어 있어 강사님께서 이런 고민은 생소하실 수도 있겠다는 생각이 들지만, 저 말고도 타의로 프론트엔드를 시작한 분들이 있을 수 있겠다는 생각이 들어 올려봅니다 : )
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
flutter_riverpod 강좌를 시작하려는데 pub get이 안됩니다.
-flutter_riverpod: ^1.0.4 pub get 시 에러가 나타납니다. 에러는 다음과 같습니다.Because riverpod depends on flutter_riverpod ^1.0.4 which depends on riverpod 1.0.3, riverpod 1.0.3 is required.So, because riverpod is 1.0.0+1, version solving failed.pub get failed (1; So, because riverpod is 1.0.0+1, version solving failed.)위 메시지가 나타나서 riverpod를 로드하지 못하고 있습니다.참고로 environment: sdk: '>=2.18.2 <3.0.0' 입니다.코드팩토리 디스코드https://bit.ly/3HzRzUMFlutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다!
-
미해결스프링부트 시큐리티 & JWT 강의
회원가입 후 loginForm에서 로그인시 홈으로 이동 안될시 확인할 사항
// PrincipalDetail 클래스에서 모두 True로 하고 돌려보세요. // 그러면 잘됩니다. // password 리턴 @Override public String getPassword() { return user.getPassword(); } @Override public String getUsername() { return user.getUsername(); } @Override public boolean isAccountNonExpired() { return true; } @Override public boolean isAccountNonLocked() { return true; } @Override public boolean isCredentialsNonExpired() { return true; } @Override public boolean isEnabled() { // 1년동안 회원이 로그인을 안하면, 휴먼 계정으로 하기로함 // 현재시간 - 로그인 시간 >= 1년을 초과하면 return false 등등... return true; }
-
미해결수학으로부터 인류를 자유롭게 하라(미적분학 Part.I) - 미분
강의 업로드 일정을 알고싶습니다.
안녕하세요미적분학 Part. I 나머지 강의 업로드 일정이 어떻게 진행되는지 궁금합니다.알려주시면 감사하겠습니다.
-
미해결스프링 핵심 원리 - 기본편
컴포넌트스캔이 없을 때 AppConfig
@ComponentScan이 없을 때, AppConfig는 어떻게 스프링 컨테이너에 등록되나요?#스프링 컨테이너 생성 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);@ComponentScan을 안 썼던 이전 수업에서,위의 코드처럼 스프링 컨테이너를 생성할 때 넘겨주는 AppConfig 파일을 보고 스프링 빈으로 등록했던 건가요?
-
미해결Vue.js - Django 연동 웹 프로그래밍 (실전편)
400 bad request 발생
안녕하세요..수업을 정상적으로 잘 들어오고 있었는데 막히는 부분이 발생하였습니다.accounts/forms.pyapi/urls.pyapi/views.pydjango console log에러 상황은 메뉴의 register를 통해 사용자 등록을 할 경우400 에러가 발생합니다.혹시 제가 빠뜨린 부분이 있나 강사님의 최종 소스를 받아서 해봐도 동일하게 400 에러가 발생하는데 혹시 제가 놓친 부분이 있을까 해서 문의드립니다.그리고 저와 같은 에러 상황이 발생 하였을때 나름 좀 쉽게 debug 할 수 있는 방법이 알고 싶습니다.장고쪽에서 에러가 난건데 그 내용을 전혀 모르니 답답하네요.
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
안녕하세요 선생님 궁금한게있어 질의드립니다!
안녕하세요 강의 잘보고있습니다! typeorm으로 변경해서 하고있는데, 궁금한사항이 있어 질의드립니다. findoneby 메서드를 이용해서 , cat 객체를 가져오려고하는데ERROR [ExceptionsHandler] Cannot read properties of undefined (reading 'findOneBy') 이러한 예외가 발생합니다.. 왜그런거일까요 바쁘신데 죄송합니다 ㅠㅠ async jwtLogin(data: LoginRequestDto) { console.log(data); const login = await this.catsRepository.findOneBy({ email: data.email, });
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
m1 맥 에러 아무리 해도 해결되지 않습니다
m1맥 에러나시는분 !!!필독!!! 문서를 정독하고 문서에 써져있는 방법대로 5번 이상의 시도를 하고, 그 후 구글 서칭을 통해 여러가지 솔루션을 적용시켜 보았습니다. 하지만 어떤 방법을 적용시켜도 문제가 해결되지 않고 계속하여 같은 문제가 발생합니다. 이에 대한 해결책이 필요해요.. sudo gem uninstall cocoapodssudo gem uninstall ffibrew uninstall cocoapodsbrew install cocoapods를 순서대로 실행하였고, 제 생각에는 brew command가 제대로 작동하지 않는 것 같습니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
localhost:8080에서 계속 화이트 페이지가 뜹니다.
강의 코드와 동일하게 했습니다만 원인이 무엇때문인지 모르겠어서 질문을 드립니다. 구글링도 해보고 template연동 문제인지 아니면 html 코드가 잘못된건지 여러가지 방법을 찾아보았지만 원인을 찾지 못해 질문을 드립니다 감사합니다.
-
미해결[유니티6] 따라하면서 배우는 고박사의 유니티 하이퍼캐주얼게임 시리즈 01
ppt 자료는 어디서 받아야 해요?
강의 완전 초반 듣는 중인데 PPT 자료는 어디서 받아야 할지 모르겠어서 여쭤봅니다
-
미해결타입스크립트 입문 - 기초부터 실전까지
interface 관련 질문
interface 관련 질문 있습니다.여기 보시면 인터페이스로 유저의 타입을name: string; age: number로 주었기 때문에getUser(you)가 에러나는 걸 볼 수 있는데const my 또한 User의 타입 외에 skill이 하나 더 있는데 이건 빨간 밑줄이 안생기네요.인터페이스로 설정한 타입이 완전히 일치해야지 작동 가능한거 아닌가요?저렇게 타입이 더 많아도 해당 인터페이스의 타입들을 포함만 하면 작동 되는건가요?
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌2)
3타입 상단 네비게이션 강의 질문입니다.
대체적으로 레이아웃을 잡을 때float속성으로 주셨는데요.diplay: flex가 아닌 float속성을 쓰는 이유가 있을까요?다음주부터 반응형 웹사이트 프로젝트에 들어가야하는데반응형 웹사이트는 display: flex로 만드는게 낫지않을까요?의견 부탁드립니다.
-
미해결실전! 스프링 데이터 JPA
트랜잭셔널
안녕하세요. Transactional과 관련해서 질문이 있어 드립니다. Service layer에서 @Transactional을 붙였을 때는 실행 중에 문제가 발생했을 경우 마지막 commit 시점까지 Rollback이 되고 만약 문제가 발생하지 않았을 경우에는 Rollback이 되지 않았습니다. 그런데 Test에서는 @Transactional 붙여야만 Rollback이 되면서 DB에 반영이 안된다고 하셨는데 Test 부분에서 사용하는 @Transactional과 Service쪽에서 사용하는 @Transactional의 역할이 다른가요?
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
깃 권한 요청드립니다.
인프런 아이디 : wndyd0110@naver.com 인프런 이메일 : wndyd0110@naver.com 깃헙 아이디 : jylee@ncurity.com 깃헙 Username :jyleeNcurity
-
해결됨[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
웹뷰를 적용한 페이지에 뷰바인딩(네비게이션) 이동 적용하고 싶을 때
강의에서는 스킵하셨지만, 웹뷰를 적용한 Fragment에도 네비게이션 이동이 적용되게 하고 싶습니다. 아래 코드로는 되지 않는데 어떻게 변경해야 할까요?class TalkFragment : Fragment() { private lateinit var binding : FragmentStoreBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) } override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { // Inflate the layout for this fragment val view = inflater.inflate(R.layout.fragment_talk, container, false) binding.bookmarkTap.setOnClickListener { it.findNavController().navigate(R.id.action_talkFragment_to_bookmarkFragment) } binding.storeTap.setOnClickListener { it.findNavController().navigate(R.id.action_talkFragment_to_storeFragment) } binding.homeTap.setOnClickListener { it.findNavController().navigate(R.id.action_talkFragment_to_homeFragment) } val WebView: WebView = view.findViewById(R.id.storeWebView) WebView.webViewClient = WebViewClient() WebView.loadUrl("https://www.inflearn.com/") // return inflater.inflate(R.layout.fragment_talk, container, false) return view return binding.root } }
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
비트연산과 비트플래그 강의 질문합니다.
19:30 부분flag |= (1 << 2); 에서flag |부분이 하나의 변수이름으로 봐야되나요?아니면 단순히 flag와 (1 << 2)를 | 계산하기 위해서 저위치에 |를 두었다고 봐야되나요?하나의 변수 이름이라면 나중에 무적+변이를 생략해서 flag | 로 입력해도 문제가 없나요?
-
해결됨모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
[실습6-1]MSSQL ERROR-BASED 공격 실습 관련 질문 내용
안녕하세요. 크리핵티브님 MSSQL에 대한 Error-based 공격 실습 관련 질문 사항이 발생해서 질문 드리게 되었습니다.Injection 공격 검증을 할 때 사용하는 쿼리문 내용 중 test%' and '%'=' 구문이 있는데 이런 구문이 있는 이유가 index.php 의 내용을 보면 아래와 같은 코드로 만들어져서 있는 것으로 알고 있습니다.[index.php의 일부 코드](생략) $query = "select * from {$tb_name}"; } else { if($search_type == "all") { $query = "select * from {$tb_name} where title like '%{$keyword}%' or writer like '%{$keyword}%' or content like '%{$keyword}%'"; } else { $query = "select * from {$tb_name} where {$search_type} like '%{$keyword}%'"; }--> 즉 우리가 입력한 test%' and '%'=' 은 if문 안에 들어가서 $query의 '%{$keyword}%'에 들어가게 되어서 최종적으로는 $query = "select * from board..tb_board where '%test%' and '%'='%'"; 이 되어서 test 이름이 들어간 모든 게시물을 보여주는 것으로 알고 있습니다. 공격 검증에 사용되는 test%' and '%'=' 구문은 현재 우리가 index.php의 $query의 내용을 알고 있어서 이렇게 test%' and '%'=' 작성 할 수 있지만 실제 실무에서도 이게 활용이 가능한지 궁금합니다.혹시 대부분의 실무 환경도 $query = "select * from {$tb_name} where {$search_type} like '%{$keyword}%'"; 같은 구조로 개발이 되어서 대부분의 실무 환경에도 test%' and '%'=' 구문을 공격 검증 페이로드로 사용할 수 있는지 여부가 궁금합니다.
-
미해결
impossibly powerful and Air Jordan graceful at once
That ribbony canvas upper, that foxing tape, that star-stuck ankle patch. Players like Satou Sabally, Jayson Tatum, Kia Nurse, Luka Doni and Zion Williamson are impossibly powerful and Air Jordan graceful at once, so they need game shoes that fit their athleticism, using every subtracted ounce of weight to their advantage. To make accessibility even simpler, the canvas collar is stretchy, while the padded tongue helps create a secure fit. When it hit shelves in 1991, the Nike Huarache introduced a radical new Air Jordan 1 approach to containing the foot. The Air Jordan XXXVI's new features - a jacquard leno-weave upper, a full-length Zoom Air Strobel unit that's double-stacked with a forefoot unit, a refined plate system - come from experts at Jordan Brand combining their specialties to make the best basketball shoe in the world. J Erving arrived in Philadelphia at the start of the 1976-77 season, he was not without reputation. Ready to slip them off Use the modified heel tab and the heel overlay. When Julius Dr. That's Air Jordan Shoes OG everything - leather upper, mudguard, carbon fiber shank plate, everything. And this past week, these people have received their answer the silhouette is to release in a White Red colorway simply dubbed Cherry. The day also helps Air Max wearers celebrate their style and showcase their creativity. while ending the note with PEACE LOVE RESPECT. And it's safe to say everyone is getting prepared for the season, including Jordan Brand. Pitch-dark colored nubuck set the stage for a mix of boldly-accented branding and midsole detailing, as well as the uncommon contrasting Citrus stitching found across all of the upper's overlays.https://social.kubo.chat/read-blog/5921https://pattystack.com/post/unwavering-alexander-mcqueen-shoes-sale-narrative-this-collection-635507a928f8f4b6bc701297https://pattystack.com/post/viral-levels-of-success-from-moncler-women-vests-social-media-supporters-6354cf6e01268b527a9f5cb9