선생님, 강의 열심히 보고 있는데 제가 5월 중순부터 시작하면서 조금 일찍 시작했는데도 불구하고 암기 할 게 너~~~~~~무 많아서 큰일입니다 ㅠㅠ 단권화 시키려고 실기용 교재를 샀는데 정말 정말 이것만큼은 꼭! 외우고 가야하는 코드나 문법같은거를 정리해주실 수 있나요? (강의나...파일로) 사실 고득점 합격은 바라지도 않고 60점 턱걸이로라도 너무 붙고싶습니다!
안녕하세요 백엔드 독학 시 포트폴리오 준비 및 공부 방향을 어떻게 해야 할지 방향이 잡히지 않아 고수분들의 의견을 청하고자 글을 작성하게 되었습니다. 저는 백엔드 개발자를 지망하고 있고 인프런에서 강의를 들으면서 공부하고 있습니다. 현재는 자바 강의 및 김영한 님 스프링, JPA, QueryDSL 강의 및 데이터베이스 강의를 수강하였고 개인적으로 나름 포트폴리오? 하나 만들어보고자 도서 대출 반납 및 게시판 CRUD를 할 수 있는 것을 만들었습니다.(백엔드 부분 자바 코드) 화면도 만들기는 했지만 GPT 선생님의 도움을 빌려 일단 화면이 보일 수 있을 정도만 해놨습니다. 이후 협업을 경험해 보고 싶은데 현재 올라와 인프런에서 사이드 프로젝트 자리가 있으면 지원하고 있지만 뛰어난 분들이 너무 많아 참여가 힘든 것 같습니다. 일단 현재는 docker를 공부 중이며 redis, aws를 공부하려고 합니다. 현재 취업을 위해 팀 프로젝트를 하고 싶은데 어떻게 참여할 수 있을지, 많이 부족하다면 현재 어떤 방향으로 더 공부를 진행해야 할지 방향을 잡기가 힘들어 글을 쓰게 되었습니다. 중소기업에 취직하기 위해서는 JSP을 요구하는 곳도 많아 보이는데 html, css, js를 활용해서 화면도 만들 정도로 공부해야 하는 것 인지도 질문드리고 팀플 구하는 방법 및 공부 방향 및 어떤 것을 더 추가적으로 공부하면 좋을지 댓글 부탁드립니다! 감사합니다. 많은 분들께서 댓글 주시면 경청하도록 하겠습니다!
public class BOJ_12865 { static int N; static int K; static int[][] merchandise; // 0 : 무게, 1 : 가치 static int[][] dp; public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = sc.nextInt(); K = sc.nextInt(); merchandise = new int[N][2]; dp = new int[10000000][N]; for (int i = 0; i < 10000000; i++) { for (int j = 0; j < N; j++) { dp[i][j] = -1; } } for (int i = 0; i < N; i++) { merchandise[i][0] = sc.nextInt(); merchandise[i][1] = sc.nextInt(); } int max = recursion(0, 0); System.out.println(max); } private static int recursion(int index, int weight) { if (weight > K) { return Integer.MIN_VALUE; } if (index == N) { return 0; } if (dp[weight][index] != -1) { return dp[weight][index]; } dp[weight][index] = Math.max(recursion(index + 1, weight), recursion(index + 1, weight + merchandise[index][0]) + merchandise[index][1]); return dp[weight][index]; } 안녕하세요 덕분에 강의 잘 듣고 있는 수강생입니다. 냅색 문제를 풀고 있는데, 최대 가능한 무게의 경우 100 (배낭 물품의 최대 개수) * 100,000(각 물건의 최대 무게) 로 생각보다 생성해줘야하는 배열의 크기가 크더라구요. 그래서 혹시 dp를 1차원 배열로 생성하면 어떻게 되는 지 궁금하여 1차원 배열로 해본 결과, 무게를 고려하지 않고 dp의 무게 갱신을 하게 되어 답이랑은 다르게 나오네요. 혹시 1차원 배열을 시도하려고 할 때 제가 놓치고 있는 부분이 있을까요?감사합니다.
안녕하세요. 등산코스 추천 서비스 여기있산 팀입니다. 몇 주 동안 사이드 프로젝트로 등산코스 추천 서비스 를 만들었습니다. MVP 단계 라 많이 부족하지만 테스트 해보시고 소중한 의견 주시면 감사하겠습니다! 등산 정보 찾으러 다니다 지쳐버린 😩 등산러 여러분 여러분의 피로를 날려드리기 위해 '여기있산' ⛰️이 왔습니다~! 맞춤형 등산 코스 추천 서비스인 '여기있산'⛰️ 을 이용해보시고 설문조사에 참여해주세요! 추첨을 통해 응답해주신 10분께 "시원한 음료쿠폰 🍹"을 전달 드립니다! :) 등산 코스 추천 받고 서비스 ⛰️ 이용하기 👇👇👇 https://bit.ly/mountainhere_inflearn 5분 투자해서 등산 후 마실 "시원한 음료쿠폰 🍹" 받으러가기 👇👇👇 https://forms.gle/21FhfZYspDkmYMoy8
QueryDSL 내부 메소드 중 fetchResult() 나 fetchCount()는 만료된 메소드에 대해서는 QueryDSL에서 Blaze-persistence Integration 라이브러리 사용을 권장 하는데요, Blaze-persistence도 QueryDSL 처럼 쿼리 빌더 API 로서 개발자에게 유지보수하기 좋은 객체를 제공해주고 있습니다. 게다가 최신 업데이트 날짜가 글 작성일 기준(2023.06.21) 일주일 이전이라 여전히 유지보수되고 있어서 최신 스프링버전과 호환성도 어느정도 보장되었다고 볼 수 있습니다. 개인적으로 SpringBoot 3.1.0 기준으로 다음과 같이 세팅하니 정상적으로 동작하는 걸 확인했는데요, 혹시 저처럼 deprecated 메소드를 쓰는 것이 신경쓰이시는 분들을 위해 공유드립니다. build.gradle dependencies { //Blaze-Persistence implementation 'com.blazebit:blaze-persistence-integration-querydsl-expressions-jakarta:1.6.9' implementation 'com.blazebit:blaze-persistence-integration-hibernate-6.2:1.6.9' implementation 'com.blazebit:blaze-persistence-core-impl-jakarta:1.6.9' } BlazePersistenceConfiguration.java @Configuration public class BlazePersistenceConfiguration { @PersistenceUnit private EntityManagerFactory entityManagerFactory; @Bean @Scope(ConfigurableBeanFactory.SCOPE_SINGLETON) @Lazy(false) public CriteriaBuilderFactory createCriteriaBuilderFactory() { CriteriaBuilderConfiguration config = Criteria.getDefault(); // do some configuration return config.createCriteriaBuilderFactory(entityManagerFactory); } } QuerydslBasicTest.java ..... JPAQueryFactory queryFactory; @Autowired CriteriaBuilderFactory cbf; BlazeJPAQueryFactory blazeQueryFactory; @BeforeEach public void testEntity(){ queryFactory = new JPAQueryFactory(em); // 이건 동시성 문제를 고민하지 않아도 됨, 해결됨 blazeQueryFactory = new BlazeJPAQueryFactory(em, cbf); ..... 적용 결과 기존 QueryDSL 세팅한 것에 추가로 세팅하시면, 만료된 메소드에 대해 Blaze-persistence 객체로 대체되는데요, 기존 querydsl 클래스를 상속 받는 형태여서 QueryDSL이 제공하는 메소드를 그대로 쓸 수도 있습니다. fetchResults는 fetchPage로 바꿔서 사용할 것을 권장하고 있다는 점 참고하시면 될 것 같습니다. 추가로 내부로직이라든지 설명이 더 필요하시다면 Blaze-persistence 릴리즈 노트 와 Blaze Persistence Document 를 참고하시면 좋을 것 같습니다. 이 글에 대해 지적 및 피드백 해주시면 정말 감사하겠습니다. 감사합니다. 여담 및 고민 : 개인적으로 이 라이브러리의 내부로직을 뜯어보면서 분석하고 검증할 수 있는 역량은 부족한지라 분석 및 검증하는 방법에 대해서 팁이라든지, 아니면 blaze-persistence 사용할 시 주의해야할 점이라든지 조언해주실 수 있으시면 정말 감사드립니다. 강의를 듣던 중에 서브쿼리가 발생하는 부분에서는 정상동작하지 않는 것을 발견했습니다. @Test public void findUserDto(){ QMember memberSub = new QMember("memberSub"); List<UserDto> memberDtoList = queryFactory //이건 blazeQueryFactory가 정상 동작하지 않음 .select(Projections.fields(UserDto.class, //생성자 필드 순서에 맞게 변수를 만들어야 한다. member.username.as("name"), // member.age 대신 서브쿼리로 다 최대 나이로 찍고 싶어 ExpressionUtils.as( JPAExpressions .select(memberSub.age.max()) .from(memberSub), "age") )) .from(member) .fetch(); for (UserDto userDto : memberDtoList) { System.out.println("userDto = " + userDto); } } QueryDSL 쿼리 /* select member1.username as name, (select max(memberSub.age) from Member memberSub) as age from Member member1 */ select m1_0.username, (select max(m2_0.age) from member m2_0) from member m1_0 blaze-persistence 쿼리 /* SELECT member1.username AS name, member1.age AS generatedSubquery_1 FROM Member member1 */ select m1_0.username, m1_0.age from member m1_0 blaze-persistence generatedSubquery라 하여, 서브쿼리를 하나의 alias로 처리를 해버렸는데, 후행으로 이 generatedSubquery 에 대한 정의가 따라오질 않습니다... 왜 이런 차이가 나오는지는 모르겠지만 blaze-persistence 활용할 때는 유의해야할 것 같습니다.
안녕하세요 :) 저희 팀은 사이드 프로젝트로 진행한 서비스의 개선과 추가 기능개발을 위한 설문조사를 진행하고 있습니다! 인프런을 통해서 다양한 사용자분들의 설문 인사이트를 얻고자 게시하게 되었습니다 :) 🖥 서비스 링크 https://todaysfail.com/ 실패가 두려워 아무것도 하지 않은 적이 있지 않나요? 아니면 작은 실패에도 크게 좌절하고 힘들어하고 계시진 않나요? 🥲 <오늘의 실패>로 크고 작은 실패를 기록하면서 실패를 조금 더 가볍게 대해보세요! ‘나’를 성장시킨 오늘의 실패는 무엇이었나요? 매일 기록하다보면 어느새 실패에 의연해진 모습을 발견할 수 있을 거예요! 👉 유저 피드백 🎁 커피 기프티콘(10분) 추첨 서비스를 이용해보시고 가감 없는 피드백 주시면 감사하겠습니다.😊 🔗 설문지 링크 https://bit.ly/3L51AOJ
‘SWYG 부스트’ 란? 복잡한 배포 과정 때문에 배포를 미뤄온 콘텐츠 혹은 이용자 데이터를 바탕으로 지속적으로 디벨롭하고자 하는 콘텐츠를 복잡한 절차와 비용 없이 쉽고 빠르게 배포할 수 있는 프로그램입니다. * ‘부스트’는 ‘스위콘’의 새로운 프로그램명입니다. ✅ 출시 가능한 콘텐츠 - MBTI 테스트, 심리테스트, 온라인 방탈출, 인터랙티브 웹, 온라인 전시, 미니게임, 한 페이지 내외로 이루어진 유틸성 사이트 등 코딩을 기반으로 만들어진 웹 콘텐츠 이런 콘텐츠도 가능한지 고민이 되신다구여❓ - 한 페이지도 상관없을까? - 예전에 제작한 것도 괜찮을까? - 기능이 완벽하지 않았는데 괜찮을까? - 이 콘텐츠로 수익을 창출해보고 싶은데 가능할까? - 콘텐츠를 지속하지 않을 생각이었는데 괜찮을까? 위에 해당되는 콘텐츠들 모두 오케이 👌 ※ 선정적이거나 폭력성, 사행성 요소가 많이 포함된 콘텐츠는 출시가 불가능할 수 있습니다. 🤷왜 스위그에서 출시를 해야 하나요? 🔥콘텐츠 출시 Benefit🔥 - 웹 호스팅 및 도메인 제공 - 복잡한 심사 절차 없이 광고 부착 가능 - 트래픽이 많이 발생할 수 있도록 전담 마케팅 제공 - 사용자 유입 데이터 제공 - 스위그의 자동 SEO를 통한 검색엔진 최상단 노출 가능 - 콘텐츠의 고도화를 위한 인프라 지원 👉 혜택 자세히 알아보기[ https://swyg.link/h5j_0 📅 일정 - 지원 마감: ~ 3/20(월) - 결과 안내 : 3/22(수) 15:00 📌 지원 방법 구글폼 작성 https://swyg.link/gUjF9 ✨[SWYG 요약 소개]✨ SWYG에서 심리테스트, 미니게임, 인터랙티브 콘텐츠와 같은 특색 있는 메타 콘텐츠를 즐기고, 직접 만든 콘텐츠를 호스팅하여 많은 사용자들을 유입시킬 수 있습니다. 🔗SWYG 홈페이지 https://www.swygbro.com 🔗SWYG 인스타그램 https://www.instagram.com/swyg_official 🙋문의 Kakao: https://open.kakao.com/me/swyg_content Email: shlee@swygbro.com
selenium 실력 업그레이드 ② - 네이버 지도 크롤링/검색어 입력구현 이곳 수업은 아마 혼자했다면 포기했었을 것 같습니다. 아무리해도 search = browser.find_element(By.CSS_SELECTOR, 'input.input_search') 이것부터 인식을 안해서 왜 안되나 찾고 찾아도 알 수가 없었습니다. time어쩌고 언급이 된 것 같았지만 그것을 읽을 때는 심각하게 생각하지 않고 지나쳐 버려서... 포기하고 수업을 들으니 특별한 것이 있을 줄 알았는데... # 검색창 찾아서 입력 search = browser.find_element(By.CSS_SELECTOR, 'input.input_search') search.click() time.sleep(1) # 이것을 안해줘서 인식을 못했음, 사람처럼 인식하도록 함 search.send_keys("강남역 맛집") time.sleep(1) search.send_keys(Keys.ENTER) time.sleep(2) # 3개의 명령어가 순식간에 일어나면 네이버지도는 사람이 아니다라고 인식 별것 아닌 것 같은 time.sleep(1) 이것이 해결책이었네요. 이 수업하나로 수업료낸 값어치가 있는 것 같습니다. .
현재 국비 학원을 수료하며 프로젝트를 마친 뒤에 김영한님 강의를 듣고 있으며 spring에 대해 이제서야 이해하려 하는 취준생입니다. 문득 제가 어떤 개발을 하고 싶은지 방향성에 대해 생각해보게 되었습니다. ->어떤 개발을 하고 싶은지 방향성에 대해 되짚어 보고 있었다 ->SQL문을 짜면서 효율적인 방법은 무엇이 있을까 고민하는 과정이 스스로 가치 있는 고민을 하고 있다는 생각이 들었다. ->데이터 처리 속도 개선에 관하여 고민하는 개발자가 되고 싶다. ->대용량 트래픽을 다루는 서비스 회사에서 성장하고 싶다. 질문 ==> 위의 4문장을 설득력 있게 말하기 위해서 취준에 뛰어드는 예비 백엔드 개발자 수준에서 할 수 있는 "공부 방향"은 무엇이 있을지 조언 해주실 수 있을까요? (특정 개념이나 강의를 추천해주셔도 감사할 것 같습니다. )
누구 하나 빠짐없는 모임 시간 맞추기, 타임투밋! https://www.time2meet.xyz/ 안녕하세요! 진현입니다 🙋🏻♀️. 혹시 팀플이나 모임시간 매칭할 때 단톡방에서 계속 일정 물어보고 투표만 백만개 만들고 계시진 않았나요? 답답해서 열심히 일정 만들었더니 갑자기 팀장을 시키진 않았나요? 저도 이러한 문제를 겪고 프론트개발자 한 분과 함께 사이드프로젝트로 타임투밋을 개발했습니다. 회원가입 없이 간단하게 모임을 만들고 링크에서 가능한 시간을 입력하면 공동의 시간을 볼 수 있어요 팀프로젝트로 일정 잡으실 일 있으면 많이 사용해보시고 많은 피드백 부탁드립니다!