본문 바로가기

전체 글37

인터넷 네트워크 인터넷 통신 클라이언트와 서버 사이에 복잡한 인터넷(노드)이 존재하고 인터넷을 통해 통신을 하기 위해 IP(Internet Protocol) 이 필요하다. IP 클라이언트, 서버는 각각 IP를 가지고 있다. 지정한 IP 주소에 데이터를 전달 (패킷이라는 단위로 전달 : 출발지IP+도착지IP+정보+.....) (packet : package(화물) + bucket(덩어리)) IP 프로토콜의 한계 1. 비연결성 : 받을 대상이 없거나 서비스 불능 상태여도 일단 전송 2. 비신뢰성 : 중간에 패킷이 사라질 경우(패킷 소실), 패킷이 순서대로 오지 않을 경우 3. 프로그램 구분 : 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상일 경우 TCP( Transmission Control Protocol.. 2023. 4. 26.
1. JDK, Tomcat, STS 설치 개발 직군을 시작한지 3년차이고 회사생활을 시작한지는 1년이 넘어가는 시점에 기초적인 것부터 다져놓아야겠다는 생각이 들어서 Java 공부를 해야겠다고 마음먹게 되었어요. 예전에 컴퓨터를 싹 갈아 엎은 이후로 이클립스도 없이 정신없이 살았는데 다시 공부를 시작하려하니 필요해져서 다운받게 되었네요. 이제 열심히 해봐야지 으아아아!! ps. Mac에서 Spring 세팅하는 방식을 여기저기 돌아다니면서 따라해봤는데 jdk 버전, sts 버전 등등 맞춰가야할게 꽤 많더군요.. 제가 세팅한 방법 그대로 포스팅해보겠습니다. 1. JDK 다운받기! 우선 JDK 를 다운받아야합니다. Homebrew로 다운받는 방법도 있지만 /Library/Java/JavaVirtualMachines/ 이 경로에 jdk 가 생기질 않아서.. 2023. 3. 16.
Base64란? 인코딩이란? - 어떠한 정보/데이터의 형태나 형식을 다른 형태나 형식으로 변환하는 것 Base64는 인코딩 방식 중 하나이다. Base64 - 8비트 2진 데이터(실행파일, ZIP 파일 등의 텍스트가 아닌 파일 )를 ASCII 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식을 가리키는 개념 더보기 ASCII(아스키, American Standard Code for Information Interchange)란? - 미국 국립 표준 협회(ANSI, American National Standards Institute)에서 표준화한 정보교환용 7비트 부호체계 - 7비트로 문자표현, 1비트의 패리티 비트 추가 (패리티 비트 : 정보의 전달 과정에서 오류가 생겼는지 검사하기 위한 비트) - 0~255까지 .. 2023. 1. 31.
Jackson과 ObjectMapper Java 객체를 JSON으로 직렬화, JSON을 Java객체로 역직렬화시킬수 있는 Jackson 라이브러리 클래스 더보기 Jackson이란? JSON 데이터 구조를 처리해주는 라이브러리 *Person 클래스 public class Person { private String name; private String job; public Person(String name, String job, ing age) { this.name = name; this.job = job; this.age = age; } public String getName(){ return name; } public String getJob() { return job; } public String getAge() { return age; }.. 2023. 1. 3.
OkHttpClient OkHttp 는 REST API, HTTP 통신을 간편하게 구현할 수 있도록 다양한 기능을 제공해주는 자바 라이브러리 OkHttp 라이브러리를 사용하기 위해서 메이븐 Dependencies 설정이 필요 com.squareup.okhttp3 okhttp 3.10.0 Get 방식 URL url = new URL(requestUrl); OkHttpClient client = new OkHttpClient(); Request request = new Requester.Builder() .url(url) .header("Content-type", "") .build(); Response response = client.newCall(request).execute(); Post 방식 URL url = new URL.. 2023. 1. 3.
API 그리고 REST와 SOAP API (Application Programming Interface) - 관련없는 애플리케이션들이 데이터를 주고 받기 위한 방법 혹은 매개체 - 자체 소프트웨어 및 데이터 사용을 소유하지 않은 애플리케이션과 데이터로 확장할 수 있음 REST (Representational State Transfer) - 웹 서비스와 모바일 애플리케이션 경량화의 필요에 맞춘 아키텍쳐 원칙 세트 - 데이터 요청이 REST API 로 전송될 때는 URI( Uniform REsource Identifier, 인터넷식별자)와 HTTP (Hyper Text Transfer Protocol)를 통해 이뤄짐 - 요청을 수신하면 REST용으로 설계된 API 가 HTML, XML, JSON과 같은 다양한 형식으로 메세지를 반환 [JSO.. 2022. 11. 28.
private 은 왜쓰는가? 1. 모듈 사용자는 public만 사용하고, private는 알 필요가 없다. 어떤 클래스 모듈을 작성했을때, 그것을 사용하기 위한 외부로 알려지는 함수들이 있을 것이고, 그와는 별도로 클래스를 구현하다보니 클래스 안에서만 쓰는 함수들도 생겨남. 그런데 이런 내부에서만 쓰는 함수들이 외부 인터페이스로 굳이 공개될 필요도 없고 공개되어서는 안될 수도 있다. '정보은닉'이라는 단어보다 정확한 의미로는 '접근은닉' 이라고 정의하는 것이 와닿을지도.. 2. public일 때 설정 할 수 없는 validate 처리 등은 setter 를 사용하면 가능하다. public class Date{ private int m_iYear; private int m_iMonth; private int m_iDay; public .. 2022. 10. 3.
Iaas, Paas, Saas 얼마만큼 사용자가 관리하고 얼마만큼 클라우드에서 제공받는가에 따라 구분된다. Iaas(Infrastructure-as-a-Service) Infrastructure 레벨을 제공하는 서비스 고객을 대신해 클라우드를 통해 인프라(실제 서버, 네트워크, 가상화, 스토리지)를 관리 고객은 OS와 어플리케이션을 직접 관리해야함 관리 측면에서 개발자와 인프라 관리자의 역할을 분담 Amazon Web Service(AWS), Microsoft Azure, DigitalOcean, Google Compute Engine(GCE) Paas(Platform-as-a-Service) 개발자가 응용 프로그램을 작성할 수 있도록 플랫폼 및 환경을 제공하는 모델 사용자 지정 애플리케이션을 코딩, 빌드, 관리하는 데 필요한 리소스.. 2022. 9. 28.