jpashop DB 생성하는 법 참고하세요 :)
자바 ORM 표준 JPA 프로그래밍 - 기본편
https://xively.tistory.com/43
- java
- jpa
- h2
173만명의 커뮤니티!! 함께 토론해봐요.
자바 ORM 표준 JPA 프로그래밍 - 기본편
https://xively.tistory.com/43
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
현재 국비 학원을 수료하며 프로젝트를 마친 뒤에 김영한님 강의를 듣고 있으며 spring에 대해 이제서야 이해하려 하는 취준생입니다. 문득 제가 어떤 개발을 하고 싶은지 방향성에 대해 생각해보게 되었습니다. ->어떤 개발을 하고 싶은지 방향성에 대해 되짚어 보고 있었다 ->SQL문을 짜면서 효율적인 방법은 무엇이 있을까 고민하는 과정이 스스로 가치 있는 고민을 하고 있다는 생각이 들었다. ->데이터 처리 속도 개선에 관하여 고민하는 개발자가 되고 싶다. ->대용량 트래픽을 다루는 서비스 회사에서 성장하고 싶다. 질문 ==> 위의 4문장을 설득력 있게 말하기 위해서 취준에 뛰어드는 예비 백엔드 개발자 수준에서 할 수 있는 "공부 방향"은 무엇이 있을지 조언 해주실 수 있을까요? (특정 개념이나 강의를 추천해주셔도 감사할 것 같습니다. )
실전! Querydsl
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 으로 빼버리는 거 만들어주지 않을까 하는 기대가 있긴 합니다.
저는 일단 정보통신공학 2학년인데 소프트 커리를 타려고 생각중이에요 2학기에 C++ 자료구조론을 배우는데 여론으로는 C++은 게임 개발이나 인공지능? 쪽에서 많이 쓰인다고 하고 제가 생각하는 프론트/백엔드의 웹 개발자는 java나 python이 주 프로그래밍 언어이고 IT기업 쪽에서도 java를 활용한 툴(Spring 등)을 선호하고 있다고 들어서 C++은 학점 챙기는 용으로 공부하고 진로를 위해서는 java를 중점적으로 공부하려고 하는데 1. 지금 java와 C++ 자료구조를 병행해서 공부를 하는 것이 나은지(공부 비중은 C++을 더 높게) 2. 일단은 C++ 자료구조를 중점적으로 공부할지 고민되어 질문글 올립니다 ㅠㅠ - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
서울시에서 뉴딜일자리사업 일환으로 2차 서비스플랫폼개발자 양성과정으로 3개월 인턴십 (급여 월 260) 보내주는 프로그램 진행중인데 신청해보세요! 자세한 내용은 https://blog.naver.com/kjc_sh/222775806456 참고해주세요
블록체인 분야 기술을 배우고싶은 분들 or 블록체인 분야 취업을 원하시는 분들 주목! 서울시에서 뉴딜일자리사업 일환으로 IT 블록체인과정으로 3개월 인턴십 (급여 월 260) 보내주는 프로그램 진행중인데 신청해보세요! https://blog.naver.com/kjc_sh/222745988610 자세한 내용은참고해주세요 오픈카카오톡 문의 [ https://open.kakao.com/o/stkiOIhe ]
더 자바, Java 8
안녕하세요. 강의를 막 수강하게 된 수강생입니다. 이제 막 자바를 배우고 있는데 듣다보니 어느정도 지식을 요하는 것 같아 질문드립니다. 혹 이 강의를 수강하기 전에 선수로 수강해야 하는 강의가 있나요?
안녕하세요 현재 서로 믿을 수 있는 스타트업 멤버 구축 되었고 추가로 능력있고 참하신 스프링 개발자 팀원 찾습니다. 현재 모두 메인 잡은 있는 상황이고 사이드 프로젝트로 운영중입니다. 관심있으신분 연락 부탁드립니다 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
Slack 클론 코딩[백엔드 with NestJS + TypeORM]
nestjs가 java spring을 javascript 진영에 가져올려고 노력한 흔적이 많이 보이긴 한데요, 아직 프레임워크 자체의 안정성도 어떤 부분에서는 아직 부족해 보이고, 이렇게 만들거면 그냥 java랑 spring 쓰지, 뭐하러 javascript이랑 nestjs 쓰나 싶네요. 솔직한 마음으로 꼭 javascript랑 nestjs를 백엔드에서 써야하는 상황이 아니라면 그냥 믿고 쓸 수 있는 java spring boot + jpa 혹은 좀 더 나가면 spring boot + r2dbc 조합으로 쓰는게 실무에서는 좀 더 현실적으로 보입니다.
막연히 웹쪽 개발자(프론트든 백엔드든...)가 되고 싶다고 생각하는 개린이입니다. 대체 뭘 어떻게 어떤 순서대로 공부해야할지 진짜 모르겠습니다... ㅠㅠ 마치 수능 공부를 하는데 공부할 과목만 정해져 있고 무슨 문제집, 어떤 인강이 좋은지, 어떤 순서대로 진도를 나가야 할지 모르는 느낌입니다. 그냥 마구잡이로 공부하면 되나요? 현재 C언어 다룰 줄 알고, C#도 배우긴 했는데 디자인 패턴? 그런 건 1도 이해가 안됩니다 ㅠㅠㅠ 구글링도 열심히 해봤는데 전혀 모르겠어요 ㅠㅠㅠㅠ. 일단 이번 방학 때 java공부하려고 하는데 이것도 객체지향이고 디자인 패턴(옵저버 패턴 등...?) 이해가 필요할 것 같은데 도움 받을 수 있는 강의가 있을 까요? -캡슐화, 다양성, 상속은 대충 압니다. 아 그리고 백엔드 개발 하려면 java, spring 두 개를 다 사용해서 만드는 건가요?(프론트에서 HTML, CSS, Javascript 같이 사용하는 것 처럼요.)아님 한 언어 가지고 만드는 건가요? 제가 뭐라고 말하는지 제 말이 이해나 가실련지 모르겠네요. 애초에 뭘 어떻게 검색해야 할지도 모르겠고, 검색해도 뭔 말인지 잘 모르겠네요. 세상 멍청이가 된 기분입니다. 아는 거라곤 1도 없어서 한 발자국도 못 떼고 있는 상황입니다. 한심하고 답답하셔도 불쌍한 중생 구원해 준다는 마음으로 온정의 손길을 내밀어주시길 바랍니다.
아이폰 앱 개발 입문 1편
https://developer.apple.com/download/release/ 강사님의 말씀대로 들어가니, 이제는 Mac App Store 에서만 받을 수 있도록 되어있습니다..
해외취업 ASP.NET Core 웹개발 기본 강좌
- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 자바개발자인데 5월부터 시작하는 .Net Core 프로젝트때문에 공부좀 할려고 강의를 듣게되었습니다. 하지만 .Net Core는 처음이고 .Net Core에대한 지식조차 하나도 없는데... DB관련에서 어려움이 생기더군요. 혹시나 같은 어려움을 겪으시는 분이 있으시다면 참조하세요. ●윈도우 사용자분들은 섹션 4. 엔티티 프레임워크 코어 의 DbContext 강의에서 아래 명령어 실행후 하시고 ① ...MyApp> dotnet tool install --global dotnet-ef ② ..MyApp> dotnet add package Microsoft.EntityFrameworkCore.Design ③ . .MyApp> dotnet ef <- 이젠 강의와 같은 정보가 출력된 것을 볼 수가 있습니다. 아래 MyAppContext.cs 내용이 있으니 참조하세요. MyAppContext설정하나가 추가됨 섹션 6. ASP.NET Core Identity 의 환경설정에서 DbContext에서 IdentityDbContext<ApplicationUser>로 변경하면 IdentityDbContext가 임포드할 수가 없다. 프로젝트폴더(MyApp) 우클릭 > [프로젝트 파일 편집] 클릭 MyApp.proj:다른건 디폴트로 건들리지 말아 주시고 PostgreSQL 라이브러리만 추가 <ItemGroup> ⓪ <!-- dotnet add package Microsoft.EntityFrameworkCore.Design 인스톨후 자동추가됨 --> ⓪<!-- http://www.npgsql.org/efcore/index.html --> ⓪<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.5"> ⓪⓪ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> ⓪ <PrivateAssets>all</PrivateAssets> ⓪</PackageReference> <!-- 추가 --> ④ <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.0.0" /> </ItemGroup> ① ~ ④까지만 하시면 .Net Core 3.1로 하셔도 문제없으리라 봅니다. ● 환경 맥 OS 카탈리나 .Net Core 3.1 현재 3.1만 다운로드? 2.0은 어디있는 것인지 모르겠슴. .Net 5.0 Visual Studio mac Docker PostgreSQL 11.5 ● wwwroot는 직접생성 ● Controllers 폴더에 HomeController.cs 생성하기. 추가 -> 새 파일 -> ASP .Net Core -> 컨트롤러 클래스 -> 파일명 : HomeController ● Model 작성 추가 -> 새 파일 -> General -> 빈 클래스 -> 파일명 : Student or 추가 -> 새 클래스 -> General -> 빈 클래스 -> 파일명 : Student ● Razor 뷰 파일 생성.(Index.cshtml) 추가 -> 새 파일 -> ASP .Net Core -> Razor 뷰[cshtml] -> 파일명 : Index(Index -> Student ● Startup.cs : MVC 패턴에 매핑을위한 세팅 /* .Net Core 2.1 app.UseMvc(routes => { ⓪ routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); }); */ // ASP.NET Core 3.1 app.UseEndpoints(endpoints => { ⓪ endpoints.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); }); % dotnet ef <- EF Core 3.0부터 dotnet ef 컨맨드가 .NET SDK에 포함되어 있지 않다합니다. ● 터미널에서 열기 1.[프로젝트(MyApp)] 우클릭 > [도구] > [Open in Terminai Window] 2. 또는 [프로젝트(MyApp)] 우클릭 > [도구] > [터미널에서 열기] ● % dotnet ef <- 없데요. Could not execute because the specified command or file was not found. Possible reasons for this include: *You misspelled a built -in dotnet command. *You intended to execute a.NET program, but dotnet - ef does not exist. *You intended to run a global tool, but a dotnet - prefixed executable with this name could not be found on the PATH. 1이나 2의 [터미널에서 열기]해서 아래와 같이 인스톨 또는 업데이트해준다. 처음이면 인스톨. ● % dotnet tool install --global dotnet-ef 없으면 인스톨 % dotnet tool update --global dotnet-ef 버젼이 낮으면 업데이트(3.0.0이상으로.) ● % dotnet add package Microsoft.EntityFrameworkCore.Design <- 이것도 설치해야함. ● % dotnet ef <- 이젠 강의와 같은 정보가 출력된 것을 볼 수가 있습니다. ● view > sql server object explorer <- visual studio mac 에는 설치가 안되는 듯. Docker에 리눅스 이미지가 있다하는데, 저는 이 번 프로젝트가 Oracle에서 PostgreSQL로 마이그레이션이라 PostgreSQL로. PostgreSQL은 Docker에 설치하셔도 되고, 직접 로컬에 설치하셔도 됩나다. ● Docker를 설치하고 MyApp/docker-compose.yml 생성 ● appsetting(마이그레이션을 위해 appsetting생성) 추가 -> 새 파일 -> ASP .Net Core -> 앱 설정 파일(App Settings File) > 파일명 : appsettings 디폴트 Docker의 DB실행 MyApp 디렉토리로 이동. VS mac 터미널로 여시길. ● % docker-compose up -d -d는 백그라운드로 실행(도커의 PostgreSQL 시작) ● % docker-compose down 백그라운드 종료(PostgreSQL 종료). 도커 어플리케이션에서 종료해도 됨. 여기까지 진행하시면 강의 따라가실 수 있으십니다. 현재 섹션 5. Repository 패턴까지는 문제없네요. ### 생성된 파일 첨부 ● MyApp/appsettings.json <- 생성 추가 -> 새 파일 -> ASP .Net Core -> 앱 설정 파일(App Settings File) > 파일명 : appsettings 디폴트 { ⓪"Logging": { ⓪⓪ "LogLevel": { ⓪⓪⓪ "Default": "Warning" ⓪⓪ } ⓪ }, ⓪" AllowedHosts": "*" , <- 콤마부터 추가 ⓪ "ConnectionStrings": { ⓪⓪ "MyAppContext": "Host=localhost;Database=MyApp;Port=15432;Username=cstest;Password=cstest" ⓪ } } ● MyApp/docker-compose.yml <- 생성 version: '3' volumes: ⓪ postgres_data: ⓪⓪ driver: 'local' services: ⓪ postgres: ⓪⓪ build: ⓪⓪⓪ context: ./postgres ⓪⓪⓪ dockerfile: Dockerfile ⓪⓪ container_name: "postgres1152" # Docker 컨테이너명 ⓪⓪ environment: ⓪⓪⓪ POSTGRES_PASSWORD: postgres # 수퍼유저 패스워드 ⓪⓪⓪ POSTGRES_USER: cstest # 추가할 DB유저ID ⓪⓪⓪ POSTGRES_PASSWORD: cstest # DB유저패스 ⓪⓪⓪ POSTGRES_DB: MyApp # DB명 ⓪⓪⓪ TZ: "Asia/Tokyo" ⓪⓪ ports: - 15432:5432 # Docker:Docker내부의 PostgreSQL port ⓪⓪ volumes: ⓪⓪⓪ - postgres_data:/var/lib/postgresql/data ⓪⓪⓪ - ./postgres/sql:/docker-entrypoint-initdb.d ● MyApp/postgres/Dockerfile <- 생성 FROM postgres:11.5-alpine <- 버젼은 원하는 버젼으로. ● MyApp/Startup.cs public void ConfigureServices(IServiceCollection services) { services.AddDbContext<MyAppContext>(options => { ⓪// PostgreSQL ⓪ options.UseNpgsql(_config.GetConnectionString("MyAppContext")); }); ● 프로젝트폴더(MyApp) 우클릭 > [프로젝트 파일 편집] 클릭 MyApp.proj:다른건 디폴트로 건들리지 말아 주시고 PostgreSQL 라이브러리만 추가 <ItemGroup> ⓪<!-- dotnet add package Microsoft.EntityFrameworkCore.Design 인스톨후 자동추가됨 --> ⓪<!-- http://www.npgsql.org/efcore/index.html --> ⓪<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.5"> ⓪⓪ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> ⓪ <PrivateAssets>all</PrivateAssets> ⓪</PackageReference> ⓪<!-- PostgreSQL 라이브러리 추가입력 --> ⓪ <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="5.0.5.1" /> </ItemGroup> ● MyAppContext.cs 생성자의 매개변수 DbContextOptions에 MyAppContext추가 public class MyAppContext : DbContext { ⓪public MyAppContext(DbContextOptions< MyAppContext > options) : base(options){} ⓪public DbSet<Student> Students { get; set; } ⓪public DbSet<Teacher> Teachers { get; set; } } 추가기입 섹션 6. ASP.NET Core Identity 의 환경설정에서 DbContext에서 IdentityDbContext<ApplicationUser>로 변경하면 IdentityDbContext가 임포드할 수가 없네요. ● 프로젝트폴더(MyApp) 우클릭 > [프로젝트 파일 편집] 클릭 MyApp.proj:다른건 디폴트로 건들리지 말아 주시고 Identity 라이브러리만 추가 <ItemGroup> ⓪<!-- dotnet add package Microsoft.EntityFrameworkCore.Design 인스톨후 자동추가됨 --> ⓪<!-- http://www.npgsql.org/efcore/index.html --> ⓪<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.5"> ⓪⓪ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> ⓪ <PrivateAssets>all</PrivateAssets> ⓪</PackageReference> ⓪<!-- PostgreSQL 라이브러리 추가입력 --> ⓪<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="5.0.5.1" /> <!-- 추가 --> <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.0.0" /> </ItemGroup>