[SpringBoot] @OneToMany, @ManyToOne, @ManyToMany 연관 관계 매핑, @JoinTable
·
Framework/SpringBoot
@OneToMany @OneToMany 어노테이션은 하나의 엔티티와 다른 엔티티간의 일대다 관계를 매핑하는데 사용됩니다. 일대다 관계에서는 하나의 인스턴스가 다른 엔티티의 여러 인스턴스와 연결됩니다. @Entity public class Department { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; @OneToMany(mappedBy = "department", cascade = CascadeType.ALL) private List employees = new ArrayList(); } @Entity public class Employee { @Id @GeneratedValue..
[SpringBoot]스프링 시큐리티란? (Spring Security)
·
Framework/SpringBoot
스프링 시큐리티란? Spring Security는 자바 기반 웹 애플리케이션을 위한 보안 서비스를 제공합니다. Spring의 보안을 위한 표준 라이브러리로 사용됩니다. 스프링 시큐리티가 제공하는 기능은 다음과 같습니다. 인메모리 사용자 하나를 포함하는 AuthenticationManager 빈 사용자 이름은 user이고 암호는 콘솔에 출력됩니다 /css 나 /image 같은 공용 정적 리소스 위치를 위해 무시되는 경로, 다른 모든 엔드포인트에 대한 HTTP 기본 인증 스프링의 ApplicationEventPublisher 인터페이스로 게시되는 스프링 이벤트 자동 생성되는 기본 로그인 페이지 사용 예시 @Configuration @EnableWebSecurity public class SecurityCon..
[Java] Lombok 제대로 알아보기
·
Programming Language/Java
롬복이란? 롬복은 자바에서 클래스를 작성을 간결하게 할 수 있도록 어노테이션(annotations)을 이용하여 자동으로 Getter, Setter, Constructor 등의 메서드를 생성하는 라이브러리 입니다. 롬복은 컴파일 과정에서 어노테이션을 통해 메서드를 생성합니다. 다양한 사용 예시 @Getter와 @Setter 필드의 게터와 세터를 생성합니다. import lombok.Getter; import lombok.Setter; @Getter @Setter public class Person { private String name; private int age; } @ToString 클래스의 toString 메서드를 생성합니다. import lombok.ToString; @ToString public..
[Java] 자바에서 GitHub REST API 사용하기
·
Programming Language/Java
https://docs.github.com/ko/rest?apiVersion=2022-11-28 GitHub REST API 설명서 - GitHub Docs 통합을 만들고, 데이터를 검색하고, 워크플로를 자동화하고, GitHub REST API를 사용하여 빌드합니다. docs.github.com 통합을 만들고, 데이터를 검색하고, 워크플로를 자동화하고, GitHub REST API를 사용하여 빌드합니다. docs.github.com](https://docs.github.com/ko/rest?apiVersion=2022-11-28) Java에서 GitHub REST API를 사용하는 방법에 대해 정리해봤습니다. 깃허브 API 말고도 다른 API에 요청을 보낼 때에도 응용할 수 있습니다. 의존성 추가 먼저 ..
[Java] Github API 사용하기
·
Programming Language/Java
프로젝트를 하면서 Github API를 사용하게 되었는데, 사용하는 방법을 소개해 드리도록 하겠습니다! 의존성 추가하기 https://mvnrepository.com/artifact/org.kohsuke/github-api 먼저 위 문서에서 Project Documentation - Project Information - Dependencies 에 들어가 API를 사용할 수 있도록 의존성을 추가하겠습니다. 가장 최근 버전을 선택하고 자신의 프로젝트와 맞게 선택한 후 의존성을 추가해주세요 implementation group: 'org.kohsuke', name: 'github-api', version: '1.315' 저는 gradle을 사용하기 때문에 위 코드를 dependencies에 추가했습니다. 사..
[IntelliJ][Gradle] 빌드할 때 warning mode all 추가하기, You can use '--warning-mode all' ...
·
IDE/IntelliJ
Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. 위와 같은 에러 메세지를 받게 되어 --warning-mode all을 없애보고자 합니다. 먼저 Settings - Build, Execution, Deployment - Build Tools, Gradle에서 Build and run using과 Run tests using을 gradle에서 int..
[IntelliJ] lombok 인식 안 됨 해결 방법
·
IDE/IntelliJ
문제 상황 롬복을 사용하여 어노테이션(@Getter)으로 Getter를 만들고자 했는데, 막상 Getter가 만들어지지 않았습니다. 롬복을 사용한 다른 것에서도 똑같은 일이 발생하여 롭목 해결 방법 세 가지 해결 방법을 알려드리겠습니다. build.gradle dependencies { ... compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' ... } build.gradle 파일에 위 코드를 추가해주세요 플러그인 설치 Plugins에서 Lombok이 설치되었는지 확인해주세요 설정 변경 File - Setting..
[IntelliJ] 인텔리제이에서 MySQL 연동하는 방법
·
IDE/IntelliJ
저는 지금 intelliJ Ultimate를 사용하고 있으나, 아마 Community 버전에서도 같은 방법으로 하셨을 때 문제 없으실 겁니다! 빌드 시스템이 Gradle일 때와, IntelliJ일 때의 방법이 다르니 참고하여 진행하세요 (개인적으로 전자의 방법을 추천드립니다.) 빌드 시스템이 Gradle일 때 프로젝트 생성하기 위와 같이 프로젝트를 생성합니다. build.gradle 에 의존성 추가하기 dependencies { ... implementation 'mysql:mysql-connector-java:8.0.33' ... } 위 코드를 build.gradle 파일에 추가하고 업데이트한 내용으로 다시 빌드합니다. 사용 예제 Main.java package org.example; import ja..
[Git] git init부터 push까지, 로컬 저장소와 원격 저장소 연결하기, init, remote, status, branch, add, commit, push 등 기본적인 명령어 알아보기
·
Git | Github
기초적인 git 명령어 git init .git 파일을 생성하여 깃으로 관리할 수 있도록 하는 작업 .git파일이 없고 git init이 안 된 상태에서는 버전관리를 할 수 없음 git clone 리포지토리URL 원격 저장소의 리포지토리를 로컬 저장소로 가져오기 git remote origin main 리포지토리URL 로컬 저장소와 원격 저장소 연동하기 git remote -v remote된 원격 저장소 확인하기 git add . git add -A 현재 로컬에 모든 변경사항을 스테이징 하기(커밋을 할 수 있는 상태로 바꾸기) git add 파일경로 파일 경로에 있는 변경사항을 스테이징 하기(커밋을 할 수 있는 상태로 바꾸기 git commit -m "커밋 메세지" 스테이징 된 변경 사항들을 커밋하기 g..
[AndroidStudio][Kotlin] Retrofit, 레트로핏으로 api 사용하기
·
IDE/Android Studio
Retrofit이란? Retrofit 은 서버와 클라이언트 간 http 통신을 위한 라이브러리입니다. 안드로이드에서 통신에 사용되는 코드들을 간편하게 사용할수 있게 하여 http요청과 JSON 형식의 데이터를 사용하는데 용이합니다. 레트로핏 사용 방법 mainfest 수정하기 레트로핏을 사용할 때 네트워크를 사용해야 하므로 위 코드를 mainfest에 적어 (uses-permition만) 네트워크 연결을 할 수 있게 합니다. build.gradle implementation 'com.squareup.retrofit2:retrofit:2.9.0' // 레트로핏 implementation 'com.squareup.retrofit2:converter-gson:2.9.0' // 역직렬화할 수 있게 build.g..
[React] JSX와 자바스크립트 표현식
·
Framework/React
JSX란? 리액트에서 컴포넌트는 자바스크립트 함수로 작성합니다. 이 함수의 반환값은 HTML 값입니다. 이처럼 자바스크립트와 HTML태그를 섞어서 사용하는 문법을 자바스크립트 XML 즉, JSX라고 합니다. JSX는 공식 자바스크립트 문법은 아니지만, 리액트 공식 문서의 예제로도 사용될 만큼 많은 리액트 개발자가 사용합니다. JSX와 자바스크립트 표현식 JSX 문법을 이용하면 HTML태그에서 자바스크립트 표현식을 직접 사용할 수 있습니다. Body.js import React from "react"; function Body(){ const name = 'react' return ( body {name} ); } export default Body; App.js import React from "reac..
[AndroidStudio][Kotlin] WebView로 웹 페이지 안드로이드 앱으로 빌드하기
·
IDE/Android Studio
웹뷰는 웹 애플리케이션을 안드로이드 어플 내에서 보여주게 하는 webkit 입니다. html, css, js로 만든 웹 페이지를 마치 앱처럼 사용할 수 있습니다. WebView 추가 먼저 웹뷰를 사용하려면 인터넷에 관한 권한이 있어야 합니다. mainfest에서 인터넷 권한 설정과 clear text error를 방지하기 위해 속성을 true로 변경합니다. 레이아웃에서 웹 뷰 추가 레이아웃 파일에 웹 뷰를 추가합니다. 액티비티 파일에서 webview에서 보여줄 url을 설정합니다. val webView = findViewById(R.id.webview) webView.webViewClient = WebViewClient() webView.loadUrl("https://hulrud.tistory.com/"..