안녕하세요 선생님, 강의를 듣다 보니 1-I 강의에서 풀이해주시는 1165번 문제가 '나는야 포켓몬 마스터 이다솜' 였던 것으로 보입니다! 하지만 아래와 같이 현재 백준에서는 1620번 문제로 변경 됐나봅니다! 참고하시면 좋을 듯 보여 공유 드립니다~ 참고로 현재 백준의 1165번 문제는 "단어퍼즐" 문제 입니다~ 그럼 좋은하루 되세요 :)
큰돌님의 강의를 보면서 열심히 진행을 하고는 있지만, 제가 제대로 하고 있는지 모르겠어서 이렇게 질문 드립니다... 강의를 처음 결제한 후에는 개념강의를 본 후, 문제를 풀다가 모르겠는 경우, 솔루션을 보면서 이해하고 나중에 다시 한번 풀어보는 식으로 공부했습니다. 하지만, 3주차까지 진행하면서, 진짜 기초 문제는 풀었지만, 조금씩 응용이 되기 시작하면 문제 접근 방식을 떠올리고 구현했지만 틀리거나, 아예 어떻게 풀지 감도 못 잡는 경우가 너무 많아지고, 솔루션도 이해하는데 오래걸리면서, 제가 제대로 공부를 하고는 있는건지 스스로 의심하게 됩니다. 마치 어릴 때, 수학 포기하던 과정 같습니다. 수학에서 기초 개념만 배우고서 조금만 응용된 문제가 나오면 하나도 건들지 못하는 상태가 되어버리니, 제가 강의를 제대로 활용하고 있는건 맞는지, 아니면 그냥 멍청해서 못푸는건지에 대한 생각이 계속 맴돌고, 학생 때 수학처럼 포기하게 되지는 않을까? 아예 못푸는 지경이 되지는 않을까?하고 스트레스로 다가오게됩니다. 공부 방향과 방식을 어떻게 해야할지, 잘 나아가고 있는게 맞는건지, 그리고 또 모르는 문제가 너무 많은데 이럴 때는 어떻게 해야 하는지 여쭙고 싶습니다. 감사합니다.
현재 국비 학원을 수료하며 프로젝트를 마친 뒤에 김영한님 강의를 듣고 있으며 spring에 대해 이제서야 이해하려 하는 취준생입니다. 문득 제가 어떤 개발을 하고 싶은지 방향성에 대해 생각해보게 되었습니다. ->어떤 개발을 하고 싶은지 방향성에 대해 되짚어 보고 있었다 ->SQL문을 짜면서 효율적인 방법은 무엇이 있을까 고민하는 과정이 스스로 가치 있는 고민을 하고 있다는 생각이 들었다. ->데이터 처리 속도 개선에 관하여 고민하는 개발자가 되고 싶다. ->대용량 트래픽을 다루는 서비스 회사에서 성장하고 싶다. 질문 ==> 위의 4문장을 설득력 있게 말하기 위해서 취준에 뛰어드는 예비 백엔드 개발자 수준에서 할 수 있는 "공부 방향"은 무엇이 있을지 조언 해주실 수 있을까요? (특정 개념이나 강의를 추천해주셔도 감사할 것 같습니다. )
안녕하세요 프로젝트 swagger에 대한 질문입니다 ㅠㅠ아시는분있으면 꼭 답해주시기 바랍니다 코드 게시물 관련 프로젝트입니다. 나의 페이지에서 코드 게시물을 검색할수 있는 필터링 조건과 다른 유저 페이지에서 코드 게시물을 검색할수 있는 필터링 조건이 다른 상황입니다. api 설계시 위 두 api를 모두 "/codebox/{nickname}"으로 동일한 상황이고 @RequestBody로 받는 JSON 데이터들은 다르기 때문에 Controller에서 @GetMapping("/codebox/{nickname}")으로 동일하나 나의 페이지 접속시 토큰을 추가로 hearder에 받게 하여 아래와 같이 분리하여 구현된 상황입니다. 여기서 Swagger를 통해 api명세서를 자동으로 생성하게 되면 같은 리소스(같은 uri)에 대해서는 api가 한개 생성됩니다. 저는 아래 두가지 경우를 모두 api 명세서로 보여지게 생성하고 싶은데 여러가지 방법을 찾아보는데 마땅히 나오지 않아 질문드립니다.ㅠㅠ 아시는 분 있으시면 꼭 좀 댓글달아주시기 바랍니다.ㅠㅠ @GetMapping(value = "/{nickname}", headers = JwtProperties.ACCESS_HEADER_STRING) @UserAuthen @UserAuthor @ApiOperation(...) @ApiResponses({ ... }) @ApiImplicitParams({ @ApiImplicitParam(name = "nickname", value = "회원 닉네임", required = true), @ApiImplicitParam(name = JwtProperties.ACCESS_HEADER_STRING, value = "엑세스 토큰", required = true) }) public DataResponse<PostListResponse> userPage2(@PathVariable("nickname")String nickname, @RequestHeader(JwtProperties.ACCESS_HEADER_STRING) String accessToken, @RequestBody SearchFormAboutOtherUserPost form) { ..... } @GetMapping(value = "/{nickname}", headers = {JwtProperties.ACCESS_HEADER_STRING, JwtProperties.MYSESSION_HEADER_STRING}) @UserAuthen @UserAuthor @ApiOperation(...) @ApiResponses({ ... }) @ApiImplicitParams({ @ApiImplicitParam(name = "nickname", value = "회원 닉네임", required = true), @ApiImplicitParam(name = JwtProperties.ACCESS_HEADER_STRING, value = "엑세스 토큰", required = true), @ApiImplicitParam(name = JwtProperties.MYSESSION_HEADER_STRING, value = "마이페이지 엑세스 토큰", required = true) }) public DataResponse<PostListResponse> userPage3(@PathVariable("nickname")String nickname, @RequestHeader(JwtProperties.ACCESS_HEADER_STRING) String accessToken, @RequestHeader(JwtProperties.MYSESSION_HEADER_STRING) String my_sessionToken, @RequestBody SearchFormAboutSelfUserPost form) { .... }
기술 면접이나 면접 과제 중 인증, 인가 또는 사용자 정보 암호화(jwt) 관련된 과제들도 많이 출제가 되더라구요 프로젝트 진행하면서 회원가입, 로그인 구현 시 코드를 끌어다 사용해 구현은 했었지만 사실 너무 복잡하고 어려워서 사실 그 부분에 대한 질문이 들어오면 입도 못 뗄 것 같아요... 보안 관련 시리즈도 기대 해봅니다!! 영한 튜터님 강의 보면서 정말 즐겁게 공부하고 있어요:)
plugins { id 'org.springframework.boot' version '2.7.4' id 'io.spring.dependency-management' version '1.0.14.RELEASE' id 'java' } group = 'study' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' // queryDSL 설정 implementation "com.querydsl:querydsl-jpa" implementation "com.querydsl:querydsl-core" implementation "com.querydsl:querydsl-collections" annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa" // querydsl JPAAnnotationProcessor 사용 지정 annotationProcessor "jakarta.annotation:jakarta.annotation-api" // java.lang.NoClassDefFoundError (javax.annotation.Generated) 대응 코드 annotationProcessor "jakarta.persistence:jakarta.persistence-api" // java.lang.NoClassDefFoundError (javax.annotation.Entity) 대응 코드 } tasks.named('test') { useJUnitPlatform() } // Querydsl 설정부 def generated = 'src/main/generated' // querydsl QClass 파일 생성 위치를 지정 tasks.withType(JavaCompile) { options.getGeneratedSourceOutputDirectory().set(file(generated)) } // java source set 에 querydsl QClass 위치 추가 sourceSets { main.java.srcDirs += [ generated ] } // gradle clean 시에 QClass 디렉토리 삭제 clean { delete file(generated) } 해당 소스는 타사 강의 보다가 본 설정에서 가져왔습니다. 기존 영한님 강의와 다른 점이 3가지 있으니 주의하시기 바랍니다. Querydsl Q파일 생성 위치가 다릅니다. 기존 영한님 강의대로 $build 로 시작하는 설정을 사용하면 테스트 실행 시 Q파일의 위치를 찾지 못해서 테스트가 실패합니다. Gradle -> Tasks -> build -> clean Gradle -> Tasks -> build -> build 혹은 classes 기존 영한님 교안에는 빌드 시 Gradle -> Tasks -> other -> compileQuerydsl 로 Q파일을 생성하지만, 이 방법의 경우 other에 해당 메뉴가 없습니다. 그래서 빌드 시에는 그냥 build 메뉴의 build 혹은 classes 로 빌드하시면 Q파일이 생깁니다. 영한님 강의에서는 gradle build 폴더가 대부분 git 버전관리에 포함되지 않으므로 따로 설정할 필요가 없지만, 이 경우 Q파일이 소스폴더에 들어가므로 .gitignore 에 아래와 같이 별도로 경로를 설정해 주어야 합니다. ### Querydsl /src/main/generated 혹시 저같이 청개구리마냥 강의에 나온 버전 사용 안 하고 최신 버전 사용하시는 분들께 도움이 되었으면 좋겠습니다. 저도 타사 강의에서 가져온 것이고 기초 테스트만 통과한 것이라서 혹시 강의에 맞지 않는 경우 영한님이나 다른 분들이 추가 정보를 주시면 좋을 것 같습니다. 여담인데 QueryDSL은 쿼리 짜긴 확실히 편한데 설정이 버전마다 중구난방이라 불편합니다. 똑똑한 개발자분들이 이런 설정도 그냥 @Configuration 으로 빼버리는 거 만들어주지 않을까 하는 기대가 있긴 합니다.
- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 아직 강의를 완강한 것도 아니고 로드맵을 전부 구매하지는 않았지만 지금까지의 설명을 들었을 때 사람들이 그렇게 호평한 이유를 알 것 같습니다! 주워들었던 용어들에 불과했던 IoC, DI, SOLID 원칙 등등.. 특히 역할과 구현 분리 부분에서 자동차와 연극 비유는 레전드였습니다 👏👏 사실 저는 그동안 node.js 기반으로만 개발 공부를 하고 있었어서 처음에 스프링 무료 버전을 들었을 때 까지만 하더라도 유료 강의들로 넘어간다고 해서 내가 이해할 수 있을까..? 라는 불안감이 있었는데, 지금처럼 계속 공부한다면 충분히 스프링도 익숙해질 것이라 생각하게 되었습니다! 영한 님이 이 글을 보실지는 모르겠지만.. 진짜 감사드립니다 👍👍👍 모르는 게 생기면 바로 바로 여쭤보겠습니다!
블록체인 분야 기술을 배우고싶은 분들 or 블록체인 분야 취업을 원하시는 분들 주목! 서울시에서 뉴딜일자리사업 일환으로 IT 블록체인과정으로 3개월 인턴십 (급여 월 260) 보내주는 프로그램 진행중인데 신청해보세요! https://blog.naver.com/kjc_sh/222745988610 자세한 내용은참고해주세요 오픈카카오톡 문의 [ https://open.kakao.com/o/stkiOIhe ]
안녕하세요 현재 서로 믿을 수 있는 스타트업 멤버 구축 되었고 추가로 능력있고 참하신 스프링 개발자 팀원 찾습니다. 현재 모두 메인 잡은 있는 상황이고 사이드 프로젝트로 운영중입니다. 관심있으신분 연락 부탁드립니다 1. 주제소개: 반려동물 서비스 중 현재 시장에 없는 서비스 2. 현재 진행 단계: 시장분석 및 명확한 주제와 컨텐츠 방향성까지 잡은 상태 3. 모집분야 및 주요업무: 앱 개발자-하이브리드 앱 (웹앱을 네이티브 형태로 감싼 형태) 유사사이트: https://www.pet-friends.co.kr/main/tab/2 4. 모집경력 및 필요스킬: 앱개발 관련하여 경력이 있거나, 최소 스프링을 자유롭게 다룰 수 있는 스킬 필요 vue.js 옵션,java 등 5. 참고기타사항: 기획/디자인/개발/마케팅 포지션 다 구성되어 있으나, 추가 개발자 필요한 상황 6. 문의/연락: 010-4590-4917 카카오: antoniobae1 7. 모임명: IT 웹 앱 마케팅 개발 창업모임 파랑새(Since 2021.10.02 : 네이버 카페 https://cafe.naver.com/lastpick1004 https://lastpick.modoo.at/ https://www.youtube.com/channel/UCpLCToWUvdjsPqkLRZ-wpZA 이 외 기획, 개발, 퍼블, 마케터 등 같이 큰 돈 벌고 싶으신 분 연락주세요:)
안녕하세요 현재 서로 믿을 수 있는 스타트업 멤버 구축 되었고 추가로 능력있고 참하신 개발자 팀원 두분 더 찾습니다. 관심있으신분 연락 부탁드립니다 1. 주제소개: 반려동물 서비스 중 현재 시장에 없는 서비스 2. 현재 진행 단계: 시장분석 및 주제와 명확한 방향성까지 잡은 상태 3. 모집분야 및 주요업무: 앱 개발자-하이브리드 앱 (웹앱을 네이티브 형태로 감싼 형태) 유사사이트: https://www.pet-friends.co.kr/main/tab/2 4. 모집경력 및 필요스킬: 앱개발 관련하여 경력이 있거나, 최소 스프링을 자유롭게 다룰 수 있는 스킬 필요 vue.js 옵션,java 등 5. 참고기타사항: 기획/디자인/개발/마케팅 포지션 다 구성되어 있으나, 추가 개발자가 두분 정도 더 필요한 상황 6. 문의/연락: 010-4590-4917 배대근 카카오:antoniobae1 참고url:IT 웹 앱 마케팅 개발 창업모임 파랑새(Since 2021.10.02 : 네이버 카페 - http://naver.me/FIgA4x8x
nestjs가 java spring을 javascript 진영에 가져올려고 노력한 흔적이 많이 보이긴 한데요, 아직 프레임워크 자체의 안정성도 어떤 부분에서는 아직 부족해 보이고, 이렇게 만들거면 그냥 java랑 spring 쓰지, 뭐하러 javascript이랑 nestjs 쓰나 싶네요. 솔직한 마음으로 꼭 javascript랑 nestjs를 백엔드에서 써야하는 상황이 아니라면 그냥 믿고 쓸 수 있는 java spring boot + jpa 혹은 좀 더 나가면 spring boot + r2dbc 조합으로 쓰는게 실무에서는 좀 더 현실적으로 보입니다.