SOLUX-우리만 앱
-
안드로이드 화면 새로고침SOLUX-우리만 앱 2021. 8. 19. 20:25
어떤 액티비티나 Fragment 에서 작업을 하다가 intent를 활용해 다른 페이지로 넘어간 후 그 페이지에서 finish()를 실행하면 작업하던 페이지로 다시 돌아온다. 예를 들어 리스트뷰가 있고, 리스트뷰에 항목을 추가하는 버튼을 눌러 intent를 이용해 내용 작성 페이지로 넘어가 내용을 작성한 후 finish()를 통해 다시 리스트뷰를 보여주는 화면으로 돌아오는 상황을 생각해보자. 이때는 내용 작성 완료 후 창을 닫으면서 서버로 내용을 보낸 후 다시 서버에서 값을 받아와 리스트뷰에 보여줘야 한다. 하지만 onCreate에서 서버에서 내용을 받아오는 함수를 실행하게 되면 내용 작성 intent를 종료한 후 다시 돌아왔을 때 작성된 내용이 추가되지 않는다. 이 경우처럼 intent를 finish한 ..
-
aws EC2 서버 접속SOLUX-우리만 앱 2021. 8. 12. 01:03
aws에서 EC2 인스턴스를 생성 후 putty를 활용해 접속하려고 했는데 No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic) 이런 경고창이 나오면서 접속이 안 됐다. 검색해보니 password authentication을 yes로 변경해라 key나 user name이 정확한지 확인하라 이런 해결책들이 나왔지만 오류를 해결할 수 없었다. 그러다가 경고창 말고 putty 창을 봤는데 putty key format too new라고 적혀있었다. 이걸 검색해보니 putty의 버전이 문제였다. putty를 새로운 버전으로 다운받았더니 오류가 해결됐다...
-
JPA 순환 참조 해결SOLUX-우리만 앱 2021. 8. 8. 17:05
다대일 양방향 관계를 구현할 때 무한 순환 참조가 발생했다. @ManyToOne @JoinColumn(name = "Club_Id") private Club club; Notice에서 위와 같이 ManyToOne으로 club을 매핑하고, @OneToMany (mappedBy = "club") private List notices = new ArrayList(); Club에서 위와 같이 oneToMany로 notice를 조회할 수 있도록 했다. 이렇게 한 후 notice를 조회하면 아래처럼 notice를 통해 club을 참조하고, club을 통해 notice를 참조하고, 이 과정을 무한 반복하게 된다. { "id": 1, "title": "djjl", "content": "de33e", "author": ..
-
Postman Unsupported Media Type 에러SOLUX-우리만 앱 2021. 8. 6. 18:37
스프링 시큐리티와 OAuth2를 이용하여 로그인 기능을 구현했고, 그 후 User entity와 Notice 엔티티를 조인하는 과정 중에 계속 발생한 에러다. 이미 Notice 엔티티에는 Club 엔티티를 join 해놓은 상태였다. @NoArgsConstructor @Getter @Entity public class Notice extends BaseTimeEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(length = 500, nullable = false) private String title; @Column(columnDefinition = "TEXT", nullable = false) ..
-
-
#1 조별 일지 기록 페이지SOLUX-우리만 앱 2021. 7. 5. 17:23
조별로 회의 기록을 작성하고 수정할 수 있는 페이지 패키지 Domain : 게시글, 댓글, 회원, 결제 등 소프트웨어에 대한 요구사항 혹은 문제 영역 / 비즈니스 처리 담당 DTO : 계층 간에 데이터 교환을 위한 객체(Data Transfer Object) Service : 트랜잭션, 도메인 간 순서 보장 / Controller와 Dao의 중간 영역에서 사용 Repository : 데이터 저장소에 접근하는 영역, Dao 영역 1. Post 클래스 import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import javax.persistence.*; @Getter @NoArgsConstructor @Entity //jp..
-
JPA란?SOLUX-우리만 앱 2021. 7. 5. 15:45
JPA란? 자바 진영의 ORM 기술 표준 인터페이스로서 구현체가 필요(Hibernate, Eclipse Link 등) 개발자는 객체지향적으로 프로그래밍을 하고, JPA가 이를 관계형 데이터베이스에 맞게 SQL을 생성하여 실행 스프링에서는 Hibernate을 한 단계 더 감싸놓은 Spring Data JPA 사용 -> 구현체나 저장소를 교체해야 할 때 쉽게 교체 가능 ORM ? Object Relational Mapping 객체와 관계형 데이터 베이스의 데이터를 자동으로 맵핑해주는 것 객체 간의 관계를 바탕으로 SQL 테이블을 자동으로 생성 프로젝트에 Spring Data Jpa 적용 dependencies { ... implementation('org.springframework.boot:spring-b..
-
@Transactional 어노테이션SOLUX-우리만 앱 2021. 7. 1. 15:26
@Transactional 어노테이션 : 이 어노테이션 선언 시 스프링에서 트랜잭션 처리를 지원(선언적 트랜잭션) 트랜잭션? 데이터베이스의 논리적인 작업의 단위로 데이터베이스의 상태를 변경하는 작업이나 한꺼번에 수행되어야 할 연산들을 의미 트랜잭션의 성질(ACID) 1. Atomicity(원자성) : 한 트랜잭션 내에서 실행된 작업들은 하나로 처리한다, 모두 성공하거나 모두 실패. 2. Consistency(일관성) : 트랜잭션의 작업 결과는 항상 일관성이 있어야 한다. 즉, 트랜잭션이 진행 중인 경우 데이터베이스가 변경되더라도 변경된 데이터베이스가 아닌 처음 참조한 데이터베이스로 트랜잭션을 수행한다. 3. Isolation(독립성) : 동시에 실행되고 있는 두개 이상의 트랜잭션은 독립적으로 수행되어야 ..