본문 바로가기
반응형

분류 전체보기714

AWS/Docker 클라우드 패스트캠퍼스 챌린지 2일차 ch 02. 협업 툴 활용 A-Z 01.Jira 협업툴 소개 ALTASSIAN의 Jira Software 이외 제품을 동시에 사용할 경우 도메인이 같으면 클라우드 유저 연동이 가능하다. 아틀라시안 홈페이지 주소는 https://www.atlassian.com/ 로 접속한다. 서버용으로 무료로 다운이 가능하다 try for free로 무료로 사용이 가능하다 jira bitbucket confluence trello bamboo 등이 있다. 지라의 이슈를 하나 만들면 왼쪽메뉴에 배포, 보고서, 이슈, 컴포넌트가 있다 이슈는 하나의 일거리를 의미하며 가장 중요하다. 이슈를 만드는 실습을 한다. 를 클릭하면 새롭게 미해결 이슈가 생성된다. 이슈유형, 요약, 보고자, 설명, 우선순위, 연결된 이슈, 담당자를 상황.. 2021. 9. 7.
1:N 테이블 관계 설계하기 * 개요 연관관계를 정하기 위해서는 단방향인지 양방향인지, 연관관계의 주인이 어디인지를 먼저 고려해야 합니다. * 1:N 단방향 Team : Member가 1: N 관계를 가지고 있으며, Team에서 외래키를 관리하는 연관관계의 주인인 경우입니다. 외래키를 관리하는 Team 객체를 기준으로 보면, Member가 N이므로 TEAM_ID 외래키를 가지고 있습니다. Team 객체가 연관관계 주인이므로, List members로 Member 객체를 참조합니다. 이는 객체와 테이블의 차이로 반대편 테이블의 외래키를 관리하는 특이한 경우입니다. 하지만, Member는 Team의 어떠한 정보도 참조하지 않습니다. 연관관계의 주인이 아니기 때문입니다. List members로만 서로의 객체 수정이 가능합니다. * 1:.. 2021. 9. 7.
1:1 테이블 관계 설계하기 * 개요 연관관계를 정하기 위해서는 단방향인지 양방향인지, 연관관계의 주인이 어디인지를 먼저 고려해야 합니다. 1 : 1연관관계의 경우, 대상 테이블에 외래키를 관리하는 경우 단방향이 제한됩니다. 매핑 방식은 마치 N : 1에서 연관관계 주인에 따라 @JoinColumn과 mappedBy를 사용하는 것과 비슷합니다. * 1: 1 주테이블에 외래키 단방향 1 : 1 주 테이블 외래키 단방향의 경우, N : 1 단방향과 같은 개념이라고 보면 됩니다. 테이블 구조 상, 외래키를 관리하고 있는 MEMBER 테이블처럼, Member 객체가 Locker locker를 가지고 있습니다. 연관관계 주인이 Member이므로, Locker locker를 통해서 연관관계 객체들이 수정 될 수 있습니다. * 1: 1 주테이블.. 2021. 9. 7.
AWS/Docker 클라우드 패스트캠퍼스 챌린지 1일차 Ch 01.오리엔테이션과 시작하기 1. DevOps의 필요성 2008년 애자일 컨퍼런스에서 앤드루 클레이 쉐이퍼와 패트릭 드부와가 "애자일 인프라스트럭처"에 대해 논의하며 처음으로 사용하였다. DevOps는 애플리케이션 개발 팀(Dev)과 해당 IT 운영 팀(Ops) 팀 간의 원활하고 지속적인 커뮤니케이션, 협업, 통합, 가시성 및 투명성을 장려한다. DevOps는 애플리케이션 개발의 품질과 속도를 개선하고 신규 또는 수정된 소프트웨어 기능이나 제품의 릴리즈 주기 단축을 장려하는 새로운 철학이자 프레임워크이다. DevOps 툴체인의 목표는 소프트웨어 전송워크플로("파이프라인")의 다양한 단계를 간소화하고, 단축하고, 자동화하는 것이다. 2. Jira Confluence 설명 코드 : 업무지시서를 바탕으로.. 2021. 9. 6.
Entity 개요 JPA를 사용하면, 기본은 엔티티(Entity)를 설정해 주는 것입니다. 일반 DB 테이블들을 어플리케이션 코드에서 매칭하기 위해서 설정합니다. 엔티티설정에는 필수적인 @Entity, @Id부터 유용한 설정들이 있습니다. 필수 값 지정 JPA로 DB를 사용하기 위해서 테이블이라는 의미로 엔티티를 지정해주어야 합니다. - @Entity, @Id 2개가 필수값입니다. @Id를 설정하는 방법 @Id는 보통 1씩 증가하는 Long 타입을 사용하여 유일성을 보장하도록 합니다. 이떄, @GeneratedValue를 사용하는데, entity PK를 설정하기 위한 키 생성 전략입니다. (default는 AUTO이다) @Entity @Data @NoArgsConstructor public class User { @.. 2021. 9. 5.
TIL_210901 1. Facts(사실, 객관) - 회사 프로젝트 이미지첨부, 계열사 선택 콤보박스 요구사항 배포 2. Feelings(느낌, 주관) 이미지첨부와, 추천 계열사를 선택하는 추천인 정보 시스템 추가를 정상적으로 배포했습니다. 로컬에서 여러가지 경우의 수를 모두 직접 테스트했습니다. 마음같아서는 테스트코드를 작성하고 싶은데, 그럴만한 시간이 주어지지 않아서 하지 못했습니다. 조만간, 새로운 요구사항들에 대해서는 꼭 테스트코드를 도전해보고 싶습니다. 특히, 같은 DB를 공유하지만 스키마를 다르게 사용하고 있는 상황에서, 다른 스키마의 테이블을 참고해야 할 상황이 있었습니다. 운영에 배포하니 다른 스키마 테이블에 대한 INSERT, SELECT 권한이 주어지지 않았어서 계속 테이블을 찾을 수 없다는 오류가 떴었습.. 2021. 9. 1.
TIL_210831 1. Facts(사실, 객관) - 회사 프로젝트 로그인 개선 2. Feelings(느낌, 주관) 오늘은 회사 코드 중에서 로그인을 중심으로 개선했습니다. 로그인은 단순히 아이디, 비밀번호 입력을 비교하지 않고 다양한 상황을 검사합니다. 30일 이상 미접속, 비정상 접근, 로그인 패스워드 5회 이상 오류, 계정삭제 상태 등등이 있습니다. 따라서, 해당 경우를 모두 검사해야하고 로그인 검사 전용 추상클래스를 만들어 각 경우 상속받아 구현하도록 했습니다. 그렇게 로그인 검사는 각 클래스를 new로 생성한 인스턴스 객체로 만들었습니다. 3. Findings (배운 점) 객체지향설계는 내가 원하는 정보를 다른 객체한테 물어서 얻어내는 것이 아니라, 그냥 내 정보를 다른 객체에게 넘겨주는 방식으로 가야한다. 위임한.. 2021. 9. 1.
TIL_210830 1. Facts(사실, 객관) - 회사 프로젝트 코드 개선(HttpSession) - 영속성 컨텍스트 개념 정리 2. Feelings(느낌, 주관) 프로젝트에 개선할 부분이 정말 많습니다. 단순히 코드가 더럽게 짜여진것도 있고, 구조가 이상한 것도 있고 일관성없이 코드가 모여져 있는 것도 많습니다. 이것을 하나씩 개선하면서 유지보수가 좋도록 잘 개선하고자 합니다. 로그인 정보를 저장하는 HttpSession 관련 메서드에 주석을 달면서 개념을 공부했습니다. 3. Findings (배운 점) public HttpSession getSession() { ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.g.. 2021. 9. 1.
Oracle DML GRANT, REVOKE 사용하기 현재 회사에서 같은 DB를 사용하지만, 스키마를 분리하여 사용하는 구조이다. 가끔 서로 시스템을 연결해야 하는 경우가 있어 다른 스키마의 테이블을 사용해야 한다. 만약에 제대로 권한을 가지지 못하면 테이블을 찾을 수 없다는 오류가 뜬다. 따라서, 해당 오류와 관련하여 검색한 후, 바로 권한을 부여하였고 해당 개념을 정리한다. GRANT, REVOKE 종류 종류 설명 SELECT SELECT를 할 수 있는 권한(조회) UPDATE UPDATE를 할 수 있는 권한(수정) DELETE DELETE를 할 수 있는 권한(삭제) REFERENCES REFERENCES를 할 수 있는 권한(참조) ALTER ALTER를 할 수 있는 권한(변경) INDEX INDEX를 할 수 있는 권한(인덱스) ALL 모든 권한 특정 .. 2021. 9. 1.
반응형