[우아한테크코스] 5월 28일 TIL
1 minute read
[infra] 배포 관련 질문
- 배포를 할 때 bastion, nginx, db 서버를 다 따로 띄우나요?
인스턴스 중심: 하나의 인스턴스에 역할이 정의되어 있어서 따로 구성하는 것이 맞다. db, bastion은 따로, nginx나 was는 상황에 따라서 다르다.
서버가 내는 수익 대비 구성을 고려해야 한다.
정보가 많이 들어있는 DB는 분리하는 편
pem키도 서버의 사이즈에 따라서, 역할에 따라서 하는 편
- pem 키 없이 서버에 접속하는 방법 (Elastic Block Storage)
서브넷
bastion 방식 다시 이해
네트워크 강의 문서 다시 보기
* Network
- 성공과 실패를 결정하는 1%의 네트워크 원리
* Container
- 시작하세요! 도커/쿠버네티스
* Infra
- 그림으로 공부하는 IT 인프라 구조
- 사이트 신뢰성 엔지니어링
* Perforamnce
- 그림으로 공부하는 시스템 성능 구조
- 웹 성능 최적화 기법
- 시스템 성능 분석과 최적화
* Monitoring
- 자바 트러블슈팅
* SQL
- Real MySQL
[java] 객체의 문자열 기준 정렬하기
- stream에서 정렬
List<TransferLineResponse> lineResponses = linesByStationId.stream()
.filter(line1 -> !line1.equals(line))
.map(line1 -> new TransferLineResponse(line1.getId(), line1.getName(), line1.getColor()))
.sorted(Comparator.comparing(TransferLineResponse::getName)) //이렇게! 역순으로 정렬하고 싶으면 .reversed()
.collect(Collectors.toList());
- 객체에서 정렬
이렇게 하면 name을 기준으로 정렬해주고, 오름차순이나 내림차순을 내가 설정할 수도 있다.
public class TransferLineResponse implements Comparable<TransferLineResponse> {
private Long id;
private String name;
public String getName() {
return name;
}
@Override
public int compareTo(TransferLineResponse o) {
if(o.getName() < this.getName()) return -1;
return 1;
}
- 또 다른 객체에서 설정
외부에서 sort(lineResponses, Compartor)로 주어 Comparator에 따라 기준 설정 가능
public class TransferLineResponseComparator implements Comparator<TransferLineResponse> {
@Override
public int compare(TransferLineResponse o1, TransferLineResponse o2) {
return o1.name.compareTo(o2.name);
}
- 리스트 정렬
Collections.sort(linesByStationId, Comparator.comparing(Line::getName));