- [Spring] RESTful 이란?2023-11-06 18:01:52RESTful Web Service를 구현해보기 전에 RESTful 에 대해서 알아보자. 1. RESTful Api 를 사용하는 이유 앱에서 사용되는 대량의 데이터는 파일을 따로 구성하여 앱 내부에 넣어두고, 이 파일을 읽는 방식으로 처리된다. 콘텐츠 서비스 앱의 핵심요소는 최신 데이터이다. 하지만 데이터를 파일에 저장하는 방식으로 처리하게 되면 새로운 데이터를 추가할 때 마다 사용자가 앱 업데이트를 해야하고, 그럴수록 사용자 경험은 점점 나빠질 것이다. 따라서 데이터를 서버에 두고, 서버로부터 다운받아 사용한다면 이를 해결 할 수 있다. 서버에 새로운 데이터를 업로드하고, 앱은 이 서버로부터 데이터를 받아내면 사용자는 앱에 대한 업데이트 없이 최신 데이터를 받을 수 있는 것이다. 2. 비연결성 지향 통..
- [Spring] EntityNotFoundException 이란?2023-11-02 01:50:011. 사용 예시 이번 글은 Spring에서 데이터베이스에 있는 데이터를 조회하는 경우 해당 데이터가 없을 때 발생시킬 예외 중 하나를 소개하겠다. 전에는 존재하지 않는 데이터를 조회하는 예외처리를 할 때마다 NoSuchElementExeption만 사용했었다. 위와 같은 경우에서 예외를 처리하는 권장 방법 중 하나는 커스텀 예외를 발생시키는 것이다. 2. 예외 발생 방법 Spring.io를 보면, 이런 경우에 대한 권장 커스텀 예외가 바로 EntityNotFoundException이다. 이 예외는 일반적으로 데이터베이스에서 리소스를 찾을 수 없을 때 사용된다. 이 예외는 java.persistence 패키지의 일부로서 쿼리에서 결과가 없을 때 레포지토리 레이어에서 발생시킬 수 있다. Spring Data..
- 컴퓨터 보안[1]2023-10-25 05:37:11[컴퓨터 보안이란?] 정보보호의 개념 정보를 여러 가지 위협으로부터 보호하기 위한 정책 및 기법 정보보호의 한 영역, 컴퓨팅 환경이 관여된 모든 상황에 대한 정보 보호를 의미 [정보보호의 목표] 기밀성 -> 허락되지 않은 자가 정보의 내용을 알 수 없도록 하는 것 - 허락되지 않은 자가 정보에 접근을 아예 못하게 함 - 정보에 접근하더라도 암호화된 정보만 보이도록 함 무결성 -> 허락되지 않은 자가 정보를 함부로 수정할 수 없도록 하는 것 - 만약에 허락되지 않은 자에 의한 수정이 발생했다면 이를 인지할 수 있는 것 가용성 -> 허락된 자가 정보에 접근하고자 할 때 이것이 방해받지 않도록 하는 것 - 정보에 접근권한이 있는 자가 필요할 때 언제든지 정보를 사용할 수 있어야 함 - 그 외의 목표 부인방지 ..
- [JPA] 매핑 어노테이션2023-10-20 16:10:57오늘은 엔티티 내 필드에서 매핑컬럼에 대한 특성을 지정할 수 있는 매핑 어노테이션을 알아보겠다. @Column @Enumerated @Temporal @Lob @Transient @Column name @Column(name = "컬럼명") 필드와 매핑할 테이블의 컬럼명을 지정한다. 기본값 : 필드명 @Column private String name //컬럼명 : name(필드명) @Column(name="member_name") private String name //컬럼명 : member_name insertable, updatable 필드 값 수정 시 DB에 반영할 지 여부 @Column(insertable = false) : 엔티티 저장 시 이 필드는 DB에 저장하지 않는다. @Column(upd..
- [Spring Data JPA] 파라미터 바인딩2023-10-19 00:21:44포트폴리오 작성을 위해 웹을 만들고 있는 도중 JPA에 회원 이메일을 통해 회원을 조회하고 싶은데 @Query문에 파라미터를 어떤 식으로 작성하는지 몰라 찾아보다 알게 되었다. 스프링 데이터 JPA는 2가지 방법으로 파라미터 바인딩을 지원한다. 위치기반 이름기반 SELECT m FROM Member m WHERE m.email = ?0 //위치 기반 SELECT m FROM Member m WHERE m.email = :email //이름 기반 스프링 데이터 JPA의 기본값으로는 위치 기반 파라미터 바인딩이다. 이름 그대로 파라미터 순서로 바인딩하는 것이다. 코드 가독성과 유지보수를 위해 위치 기반보다는 이름 기반을 사용하게 한다. 위치 기반은 순서 실수가 있을 수 있기 때문이다. 공식 문서를 보면 알 ..
- 정보처리기사 실기 요약[8]~[12]2023-09-25 23:31:13https://velog.io/@ehgur062300/%EC%A0%95%EB%B3%B4%EC%B2%98%EB%A6%AC%EA%B8%B0%EC%82%AC-%EC%8B%A4%EA%B8%B0-%EC%9A%94%EC%95%BD8-%EC%84%9C%EB%B2%84%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8-%EA%B5%AC%ED%98%84 정보처리기사 실기 요약[8] 서버프로그램 구현 빌드 도구구현 도구테스트 도구형상 관리 도구웹 서버 : 정적 콘텐츠(CSS, Javascript, Image)처리 / Apache 웹 서버웹 애플리케이션 서버 : 동적 콘텐츠(Servlet, JSP)처리 / Tomcat데이터베이스 서버 : MySQL, Ora velog.io https://velog.io/@eh..
- 정보처리기사 실기 요약[1]~[5]2023-09-25 23:28:16https://velog.io/@ehgur062300/%EC%A0%95%EB%B3%B4%EC%B2%98%EB%A6%AC%EA%B8%B0%EC%82%AC-%EC%8B%A4%EA%B8%B0-%EC%A0%95%EB%A6%AC1-%EC%9A%94%EA%B5%AC%EC%82%AC%ED%95%AD-%ED%99%95%EC%9D%B8 정보처리기사 실기 정리[1] 요구사항 확인 소프트웨어 개발생명주기(SDLC) : 시스템의 전 공정을 체계화 한 절차 SDLC 폭포수 모델: 각 단계를 확실히 마무리 지은 후에 다음 단계로 넘어감, 선형 순차적 모형(고전적 생명주기 모형) 프로토 velog.io https://velog.io/@ehgur062300/%EC%A0%95%EB%B3%B4%EC%B2%98%EB%A6%AC%EA%B8..