본문 바로가기

반응형

개발

(48)
[MSG] 네이버 클라우드로 인프라 구축하기 - 3, 컴퓨터 1. ACG 인스턴스에 대한 접근을 제한할 수 있습니다. 저는 8080, 80포트에 대해서 모든 IP를 허용했습니다 클라우드 환경에서는 기본적으로 어디에 접근하는 행위 자체가 "다른 사람 집에 방문하기"와 같아요, 즉 허용하지 않으면 다 안돼요 2. server 인스턴스를 생성 할 수 있어요. 운영체제, 컴퓨터의 사양, 어떤 VPC를 쓰고 어떤 서브넷에 위치시킬지 결정해야합니다. init script를 사용할지 결정 할 수 있어요. 저는 bastion 전용 서브넷에 bastion server를 생성했어요. (이 친구는 초기화 과정이 필요 없으니 init script설정도 하지 않았습니다) 3. public ip 퍼블릭 존에 생성된 인스턴스에 붙힐 수 있는 공인 ip 주소를 생성할 수 있어요 ssh roo..
[MSG] 네이버 클라우드로 인프라 구축하기 - 2, 네트워크 네이버 클라우드의 VPC에 대한 내용입니다!! 1. VPC란 VPC management를 통해 VPC를 생성할 수 있습니다. VPC는 우리가 사용할 수 있는 IP 범위를 의미한다고 생각하면 편합니다. 예를들어 건물을 짓는데 1층짜리 건물에 방은 10칸이 있는 건물을 짓는다면, 우리는 방 10개를 사용할 수 있는데요. VPC는 이와 같은 역할을 수행합니다. 단 건물이 몇층인지, 방은 몇개인지를 서브넷 마스크와 ip를 통해 나타냅니다. 10.0.0.0/16 이런식으로요 10.0.0.0/16의 의미는, "10.0.0.0 IP주소 부터 시작할거고, 끝은 앞에서부터 16비트를 마스킹했을때 가능한 가장 큰값으로 할거예요"라는 의미입니다. VPC는 크게 잡아 주어야 합니다.(공간이 충분해야 필요한 분들에게 나눠줄 수..
[MSG] 네이버 클라우드로 인프라 구축하기 - 1, 알아두면 좋은 기능들 네이버 클라우드의 알아두면 좋은 기능들 1. sub account 기존 root 계정 이외에 계정을 추가할 수 있습니다. 서브 계정은 자유롭게 여러 권한을 설정 할 수 있습니다. 저는 멘토님에게 서브 계정을 드려 진행 상황을 확인할 수 있게끔 만들었습니다. 2. 사용법 가이드 네이버 클라우드가 갖고 있는 강력한 장점 중 하나입니다. 한글로 꽤 자세히 설명이 적혀있어, 어지간하면 모든 사용법을 알 수 있습니다. (object storage편에서 가이드를 통해 문제를 해결한 스토리를 볼 수 있어요..!) 링크 3. api 가이드 직접 외부에서 클라우드 자원을 핸들링해야 하는 경우 큰 도움이 됩니다. 저의 경우에는 GA를 이용해서 object storage에 jar파일을 zip으로 압축해서 올려주는데요. 이때..
[MSG] 네이버 클라우드로 인프라 구축하기 - 0, 소개 토이 프로젝트인 MSG-lab을 진행하면서 네이버 클라우드를 사용했는데요. 네이버 클라우드를 이용해 인프라를 구축한 경험을 공유하려 합니다.(나중에 기억이 안날것 같아서 기록도 겸사겸사..ㅎㅎ) 진행 순서는 아래와 같이 적어볼 생각입니다. 1. 알아두면 좋은 네이버 클라우드의 기능들 2. 네트워크, vpc와 서브넷, 게이트웨이와 라우터에 대하여 + bastion server와 사용법 3. 컴퓨터(인스턴스) 4. 클라우드에서의 접근 제어, ACG, 공인 아이피 5. object storage 사용법 6. source deploy 사용법 7. 로드밸런서와 타겟 그룹 8. 오토 스케일링 config와 스케일링 그룹 9. cloud DB 사용법 시작..!
[알파벳] 뱃지 도메인 1차 리팩토링 마일스톤을 끝내며... 작업 후기를 쓰고 싶은데... 먼가 혼자 주르륵 쓰기 힘들어서 친구랑 대화하는 형식으로 한명 불러오겠습니다... 루나야 도와줘~(동물의 숲에 나오는 토끼 친구입니다...ㅎ) 루나🐰 : 뱃지 서비스가 머야? 나 : 뱃지는 학생 뱃지와 랭킹 뱃지 두가지가 있어 나 : 학생 뱃지는 동아리 친구들만 사용하고, 랭킹 뱃지는 코드포스 유저 누구나 사용할 수 있게 계획했어, 아직 누구에게만 주고 다른 사람은 막는 기능은 없지만...ㅠㅠ 루나🐰 : 그래서 뱃지 서비스는 어떻게 돌아가지..? 나 : 유저가 필요한 정보를 담아서 요청하면 뱃지 정보를 전달해줘!, e.g. GET /badge?name=mark 루나🐰 : 그게 끝이야? 나 : 맞아... 특별한 권한없이 누구나..! 사용할 수 있어(학생 뱃지는 안돼구...ㅎ)..
과거의 내가 귀여웠던 순간... 이슈 오픈을 참을 수 없는 순간1...ㅋㅋㅋ 안쓰는 코드를 왜 남겨뒀을까..?ㅋㅋㅋ ㅎㅎ... 옛날에 짰던 코드 보면서 피식할때가 종종 있어서 포스팅...ㅋㅋㅋ
뱃지 서비스 리팩토링 [2], 빈으로 등록하고 캐싱곁들이기... 사실 뱃지 서비스는 2가지가 있습니다. 바로 학생 뱃지와 코드포스 뱃지입니다. 학생 뱃지는 디비에서 코드포스 뱃지는 외부 api에서 정보를 가져옵니다. 이번 포스팅에서는 코드포스 뱃지 리팩토링을 진행하겠습니다. 1단계 리팩토링, [코드에서 의미 보여주기] 객체가 너무 많은 역할을 맡고 있는 부분을 분리해 봅시다. 또 구현 대신 의미를 보여주게 만들어봅시다. 아래는 원본 코드입니다. 더보기 package uhs.alphabet.domain.badge; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import java.io.InputStream; import jav..
뱃지 서비스 리팩토링 [1], 충격... 알파벳은 깃허브 프로필에 보여줄 수 있는 귀여운 뱃지를 서비스중입니다 프로젝트 열고 가장 충격적인 코드 중 하나가 뱃지서비스인데, 아래는 뱃지 api를 처리하는 컨트롤러 소스 원본.. (눈 건강을 위해 다 읽어보지 마세요...) 더보기 @RequestMapping(value = "/api/getSVG", method = RequestMethod.GET, produces = "image/svg+xml", params = "stuID") @ResponseBody public ResponseEntity getSVG(@RequestParam("stuID") String stuID, Model model) { List personDtos = personService.searchPerson(stuID); Strin..
[1] 에코 서버 만들기 먼저 에코 서버를 만들어 봅시다 에코 서버의 동작 원리는 다음과 같습니다 1. 클라이언트가 서버에게 문자열을 전송한다 2. 서버는 전달받은 문자열을 그대로 클라이언트에게 리턴한다 서버를 구현하기 위해서는 아래와 같은 구현이 필요합니다 1. 서버는 항상 클라이언트의 요청을 대기한다 2. 요청이 확인되면 클라이언트에게 데이터를 반환한다 public class Server { public static void main(String[] args) { try { ServerSocket serverSocket = new ServerSocket(); [1] serverSocket.bind(new InetSocketAddress("localhost", 1234)); Socket socket = null; [2] whi..
소켓 프로그래밍 시작 전 사전지식 소켓은 두 노드 사이에 통신을 가능하게 하는 엔드포인트라고 생각하면 편합니다 이렇게 써놓으면 어려울 수 있는데 "소켓은 파일이다" 이거 하나만 기억하면 됩니다 그냥 파일에 대고 읽고/쓰면 다른 애가 이걸 집어간다 정도로 이해합시다 파일에 읽고 쓴 걸 누가 집어가느냐하면 OS가 집어갑니다 이때 TCP/UDP 등 소켓 종류에 따라 OS가 처리해주는 방식이 다릅니다 아무튼 소켓은 파일이다 보니 입출력에 주의해야합니다 내가 파일에 뭐라도 써야 읽어갈 데이터가 있는거고, 그러면 이거 읽으려는 친구는 보통 계속 대기해야 하기 때문입니다 이걸 어렵게 말하면 봉쇄(block)이라고 합니다 파일 어떻게 읽고/쓸건지 다양한 방법이 있는데요 전부 구현할 예정입니다 다 구현하려니까 살짝 두렵지만... 포기하지 않고 끝까지 포..

반응형