Spring

스프링부트 3.X 스프링 시큐리티 사용해서 회원가입, 로그인, 로그아웃 구현하기

스프링 시큐리티? 스프링 시큐리티는 스프링 기반의 애플리케이션 보안(인증, 인가, 권한)을 담당하는 스프링 하위 프레임워크이다. 인증(Authentication)? 인증은 사용자의 신원을 입증하는 과정이다. 쉽게 말하면 우리가 흔히 어떤 사이트에 아이디와 비밀번호를 입력하고 로그인하는 과정이다. 인가(Authorization)? 인가는 사용자의 권한을 확인하는 작업이다. 이것도 쉽게 말하면 파일 공유 시스템에서 권한 별로 접근할 수 있는 폴더가 상이하다. 상위직책자는 들어갈 수 있고, 하위 직책자는 접근할 수 없는 경우 사용자의 권한을 확인해야 하는데 이 과정을 인가라고 한다. 그래서 스프링 시큐리티? 스프링 기반 애플리케이션의 보안을 담당하는 스프링 하위 프레임워크이다. 이름에 걸맞게 보안 관련 옵션을..

국비교육

IT 국비교육, 쓰레기 속에서 그나마 덜 쓰레기인 곳 찾는 팁

갓구글에 "국비"라는 단어를 검색하면 자동 완성(?) 기능에 "쓰레기"라는 단어를 찾아볼 수 있다. 또한 부정적인 단어들이 많은데 오늘 간단하게 이 얘기를 좀 해보고 싶어서 카테고리까지 만들었다. 일단 결론부터 얘기해보자면 국비지원은 쓰레기가 맞다! 솔직히 까놓고 얘기해보자, 우리나라 속담 중 '싼 게 비지떡'이라는 속담이 있다. 싸면 쌀 수록 제 값을 못한다는 얘긴데.. 이게 나라에서 운영하는 국비라고 비껴나갈 수 있을까..? 절대 불가능이다. 무료는 무료답다. 딱 그 정도.. 물론 국가에서 학원에 돈을 주긴 하지만 그래도 수강생 입장에서는 '무료'다. 그러니 절대 질 좋은 '유료' 학원들과 비교하지 말았으면 좋겠다. 간혹 가다 좋은 '무료' 학원도 많다. 예를 들면 싸피, 42서울 등등... 하지만 ..

넥사크로

[Nexacro] 넥사크로 N + SpringBoot 연동하기 2 - 프로젝트 설정 및 연동

Uiadapter 넥사크로의 Uiadapter를 사용하려고 gradle을 통해 라이브러리를 다운하려 했지만 아직 자사의 Nexus 서버가 불안정해서 Gradle을 통한 자동 다운은 못한다고 한다.. - 20220509 기준 그래서 플레이넥사크로에서 다운해야 한다. 해당 게시글 제일 하단에 라이브러리 파일들이 있다. 다운하고 압축 푼 다음에 프로젝트 최상위 경로에 'libs' 폴더를 만들고 압축 푼 라이브러리 파일들을 옮겨주자. 그리고 맨 위에 있는 nexacro-xapi-java-1.0.0.jar 파일은 기술지원센터에서 따로 받아야된다. 저거 없으니까 설정할 때 에러남; 참고로 파일을 다운하기 위해 로그인이 필요하다. 대메뉴 Product > Nexacro N > Download > Server [API..

기타

MAC OS에 MySQL 설치하기

맥북에 MySQL 설치하기 내 맥북 정보 2019년도에 산 15인치 맥북 프로 인텔 CPU이다. MySQL 설치 홈페이지 접속 https://dev.mysql.com/downloads/ MySQL Community Server 클릭 애플 CPU면 제일 첫 번째꺼를 다운하면 된다. 인텔 CPU는 Select OS Version에서 macOS 12 (x86, 64-bit)를 선택 후 제일 첫 번째 파일을 다운하면 된다. finder에서 다운한 파일을 더블클릭 - 상자 모양이 또 새로운 창으로 나오면 상자 모양도 더블클릭하면 된다. 팝업 창이 뜨면 '허용' 계속 - 계속 - 동의 - 설치 - 지문인식 비밀번호 유형 선택 비밀번호 입력 - Finish - 지문인식 MySQL 설치 확인 시스템 환경 설정 맥북 좌..

넥사크로

전자정부 표준 프레임워크 MariaDB 연동

패키지, 파일 생성 MariaDB 테이블 생성, 데이터 추가 # 테이블 생성 CREATE TABLE `tbl_emp` ( `NO` INT(11) NOT NULL COMMENT '사번', `NAME` VARCHAR(50) NULL DEFAULT NULL COMMENT '이름', `JOB` VARCHAR(50) NULL DEFAULT NULL COMMENT '직급', `DEPT` DATETIME NULL DEFAULT NULL COMMENT '부서', PRIMARY KEY (`NO`) ) COLLATE='utf8_general_ci' ; # 데이터 추가 INSERT INTO tbl_emp VALUES (1, '홍길동', '대리', '영업'); INSERT INTO tbl_emp VALUES (2, '이길동'..

JPA

Spring Data JPA - @EntityGraph

Spring Data JPA 게시글은 대부분 인프런의 김영한님의 강의인 '실전! 스프링 데이터 JPA' 기반으로 내용을 정리했습니다. @EntityGraph 연관된 엔티티들을SQL 한 번에 조회하는 방법이다. EntityGraph를 제대로 이해하려면 fetch join에 대해 자세히 알고 있어야 한다. 그래서 본론에 들어가기 앞서 fetch join에 대해 먼저 알아보자. fetch join MemberRepositoryTest.class // Member.class @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name="team_id") private Team team; 지금 Member 기준에서 Member와 Team의 연관관계는 다대일이다. 그리고 연관 관계 ..

잡담

한국방송통신대학교(방통대) 컴퓨터 과학과 이산수학 후기

대망의 이산수학. 사실 나는 엄청난 수포자로 중학교 때 이후로... 자소서 쓰는 느낌이긴 한데 암튼 엄청난 수포자다. 요즘에 구구단도 살짝 헷갈릴 정도; 그래서 약간 개인적으로 겁이 많이 났었던 과목 중에 하나이다. 이산수학에 대한 정보는 하나도 없었는데 그냥 일단 '수학'이 들어가서 무서웠던 듯. 강의는 뭐 갓강의로 유명하신 손진곤 교수님 강의라 강의 자체는 너무 좋았지만 중간중간에 '이 정도는 고등교육받으신 분들이라면 다 아시는 내용이죠?' 같은 말들에 쭈글 거리기도 했었다. 그래도 공부 안 한 내 탓이지 누구 탓이랴. 아무튼 강의는 너무 좋았으며 수포자인 내가 2번 정도 들으면 이해할 정도니 수포자가 아닌 분들은 당당하게 이 과목을 들어도 좋을 거 같다. 수포자는 음.. 공부 안 할 거면 괜히 학점..

React.js

VSCode Prettier 자동 포맷팅 설정 방법, 설치 후 자동 정렬이 되지 않을 때

리액트 강의를 듣던 도중.. 강사님은 코드를 대충 이상하게 쓰고 저장을 누르면 코드들이 이쁘게 자동 정렬이 되는데 아니 나는 왜 안될까?! 강사님이 prettier를 설치하면 된다그랬는데 나도 분명히 설치했건만 나는 저장을 아무리해도 자동 정렬이 되지 않았다. 그래서 설정 부분이 이상한가 싶어서 검색해봤다. Prettier 설치 확인 설치가 된 걸 확인할 수 있다. Editor format on save 설정 확인 VSCode 하단의 설정 아이콘을 누른 뒤 설정을 클릭 editor format on save 입력 후 하단 설정에서 체크 표시가 되어있는지 확인!! 나는 체크 표시가 되어있었다. Editor Default Formatter 설정 확인 Editor Default Fomatter 검색 후 Pre..

넥사크로

[Nexacro] 넥사크로 N + SpringBoot 연동하기 1 - 프로젝트 생성

SpringBoot 프로젝트 생성 SpringBoot 프로젝트를 생성하기 위해 https://start.spring.io/ 접속 SpringBoot를 다음과 같이 설정한다. Gradle Project Java 11 2.6.7 (20220509 기준) Artifact : nexacro Name : nexacro WAR (JAR로하면 jsp 못씀) Dependencies : Spring Web 다운한 파일을 원하는 경로에 압축을 푼다. 프로젝트 Open IDE는 IntelliJ를 사용한다. 이클립스를 사용해도 별 상관은 없다. 압축을 풀었던 경로로 찾아가 build.gradle을 클릭 후 OK를 누른다. Open as Project 클릭. Open as File을 클릭하면 정말 build.gradle 파일만..

잡담

한국방송통신대학교(방통대) 컴퓨터 과학과 C 프로그래밍 후기

일단 C언어는 유명한 언어이다. C와 JAVA 두 언어를 거의 기본으로 배웠던 거 같기도? 물론 웹 개발 국비부터 시작하는 사람들이야 JAVA만 배우겠지만 전공자들은 아마 대부분 C를 먼저 배웠을 거다. 그만큼 기본이 되는 언어라는 건데 강의 자체로만 보자면 비추.... 사실 강의에 엄청난 기대를 한 건 아니지만 그래도 뭔가 같이 실습과 이론을 병행하면서 하는 강의일 줄 알았는데 음 그냥 책 읽는 강의였다. 이건 뭐 JAVA도 마찬가지이다. 책으로만 주구장창 얘기하면서 출석 수업 과제는 왜 실습 과제를 주는지? 이해할 수 없음. 원래 알던 사람들이야 쉽게 뚝딱뚝딱할 수 있다 하지만 그래도 처음 접해본 사람들은 꽤나 어려웠을 것이다. 그래도 교재는 나쁘지 않은 편이다. 꼼꼼하게 개념들이 잘 나와있는 편이지..

데부한
동동이개발바닥