thisisnew (매일 코딩, 매일 독서)

고정 헤더 영역

글 제목

메뉴 레이어

thisisnew (매일 코딩, 매일 독서)

메뉴 리스트

  • 홈
  • 태그
  • 전체보기 (164)
    • Development (131)
      • Go (5)
      • Java (7)
      • Servlet (1)
      • Spring (0)
      • Docker (17)
      • Elasticsearch (4)
      • Linux (16)
      • Algorithm (72)
      • Deployment (1)
      • Javascript (1)
      • Regular Expression (7)
    • Diary (9)
    • Review (24)
      • Book (19)
      • Book(DEV) (4)
      • Movie (1)

검색 레이어

thisisnew (매일 코딩, 매일 독서)

검색 영역

컨텐츠 검색

Development

  • Go를 이용하여 가볍게 알아보는 Base64

    2022.06.10 by thisisnew

  • 리플렉션(Reflection) -3

    2019.10.29 by thisisnew

  • 리플렉션(Reflection) -2

    2019.10.28 by thisisnew

  • 리플렉션(Reflection) -1

    2019.10.25 by thisisnew

  • [Design Pattern] 싱글톤 패턴(Singleton Pattern) -2

    2019.10.22 by thisisnew

  • [Design Pattern] 싱글톤 패턴(Singleton Pattern) -1

    2019.10.22 by thisisnew

  • [Design Pattern] 팩토리 메서드 패턴(Factory Method Pattern)

    2019.10.21 by thisisnew

  • JSP를 서블릿으로 변환시켜주는 Jasper

    2019.10.19 by thisisnew

Go를 이용하여 가볍게 알아보는 Base64

1. Base64란? 바이너리 데이터를 치환하여 아스키코드와 일대일로 매칭 되는 문자열로 만들어주는 인코딩 방식입니다. 그렇게 얻어낸 문자열은 XML, JSON과 같은 문자열 기반 환경에서 유용하게 사용할 수 있습니다. 단, 이렇게 문자열로 치환된 데이터는, 기존의 데이터의 길이보다 약 30%가량 늘어나게 됩니다. 2. 사용하는 이유 모든 바이너리 데이터가 아스키코드와 매칭 되는 것은 아닙니다. 그것은 곧, 바이너리 데이터를 Base64가 아닌 다른 방식으로 인코딩할 경우, 데이터의 손실이 발생할 수 있다는 것인데요. Base64 인코딩 시, UTF-8과 호환 가능한 문자열을 얻을 수 있게 됩니다. 제공해주는 예시를 참고하여 간단하게 구현해 볼 수 있습니다. 3. 인코딩 package main impor..

Development/Go 2022. 6. 10. 06:54

리플렉션(Reflection) -3

이번 편에서는 리플렉션을 활용하여 변수의 정보를 얻은 후, 그것의 값을 동적으로 다루는 방법에 대해 알아보도록 하겠습니다. 2편에서 다룬 생성자를 동적으로 받아와서 객체를 생성하는 방법과, 메서드를 동적으로 활용하는 방법. 이 두 가지 방법을 기억하시나요. 이번에도 흡사한 패턴으로 진행할 것입니다. 변수의 값을 동적으로 제어하는 방법 먼저 1편에서 변수의 정보를 추출하는 방법으로 2가지의 메서드를 언급했었는데요. 바로 getFields()와 getDeclaredFields()였습니다. 뚜렷한 특징으로, 'Declared'라는 문자열이 붙은 함수는 private으로 선언된 인스턴스에도 접근할 수 있었죠. 1편에서 생성한 ReflectionTest 클래스에는 변수의 접근제어자를 전부 private으로 했기 ..

Development/Java 2019. 10. 29. 19:06

리플렉션(Reflection) -2

https://thisisnew-storage.tistory.com/10 리플렉션(Reflection) -1 관상(觀相)이라는 단어를 아시나요? 관상이란 사람의 생김새를 보고, 그 사람의 운명이나 성격 같은 정보를 알아내는 점법인데요. 자바에도 객체를 통해 그 객체의 원래 클래스와 그에 따르는 여러 정보들을 알아.. thisisnew-storage.tistory.com 저번 리플렉션 1편에서 클래스의 정보들을 추출하는 방법에 대해 알아보았는데요. 예제에서 생성자와 메서드, 그리고 변수들의 정보를 추출했었죠? 이번에는 그것들을 각각 어떻게 활용하는지 알아보도록 하겠습니다. 위의 사진과 같이, 리플렉션을 이용하면 동적으로 실행할 수 있다고 저번 1편에서 언급했었는데요. 동적으로 실행한다는 것은 코드가 특정 ..

Development/Java 2019. 10. 28. 18:32

리플렉션(Reflection) -1

관상(觀相)이라는 단어를 아시나요? 관상이란 사람의 생김새를 보고, 그 사람의 운명이나 성격 같은 정보를 알아내는 점법인데요. 자바에도 객체를 통해 그 객체의 원래 클래스와 그에 따르는 여러 정보들을 알아낼 수 있는 방법이 있습니다. 이것을 리플렉션(Reflection)이라고 하는데요. 정보들을 알아내는 것에서 그치지 않고, 이 정보들을 수정하거나 실행할 수도 있습니다. 리플렉션이 필요한 상황은 과연 언제일까요? 다음 사진을 보도록 하겠습니다. 자바의 기본 API 중 하나인 Date 클래스를 이용하는 상황입니다. 이클립스(Eclipse)나 인텔리제이(Intellij) 같은 IDE(Integrated development environment)로 개발을 할 때, 사진에 나온 것처럼 자동완성 기능을 다들 사..

Development/Java 2019. 10. 25. 13:05

[Design Pattern] 싱글톤 패턴(Singleton Pattern) -2

https://thisisnew-storage.tistory.com/8 [Design Pattern] 싱글톤 패턴(Singleton Pattern) -1 자바의 디자인 패턴에서 단골로 등장하는 '싱글톤 패턴'에 대해 알아보도록 하겠습니다. 이 패턴은 인스턴스가 오직 하나만 생성되고, 생성된 인스턴스를 어디서든 접근하여 이용할 수 있게 만드는 패턴입니다... thisisnew-storage.tistory.com 1편에서 미리 동기화의 문제가 있다고 말씀드렸는데요. 구체적으로 어떤 문제인지 살펴보도록 하겠습니다. '인스턴스를 하나만 생성하여, 이 동일한 객체를 어디서든 접근하여 이용하는 것'이 싱글톤 패턴이라고 말씀드렸었죠? 과연 '어떠한 경우에도' 객체는 하나만 생성되는지 코드를 통해 확인해보도록 하겠습니..

Development/Java 2019. 10. 22. 23:09

[Design Pattern] 싱글톤 패턴(Singleton Pattern) -1

자바의 디자인 패턴에서 단골로 등장하는 '싱글톤 패턴'에 대해 알아보도록 하겠습니다. 이 패턴은 인스턴스가 오직 하나만 생성되고, 생성된 인스턴스를 어디서든 접근하여 이용할 수 있게 만드는 패턴입니다. 싱글톤 패턴을 이해하기 위해서는 먼저 일반적인 객체 생성에 대해 알아야 하는데요. 아래의 예시를 보도록 하죠. ClassName abc = new ClassName(); 이 한 줄의 코드에는 다음과 같은 의미가 담겨 있습니다. new를 통해 메모리에 할당한다. 즉, 객체를 생성한다. 생성되는 객체의 형태는 ClassName이라는 이름을 가진 클래스이다. 생성 시 ClassName()이라는 디폴트 생성자를 이용, ClassName을 초기화시킨다. 마지막으로 생성된 객체에는 abc라는 이름표를 붙여서, abc..

Development/Java 2019. 10. 22. 02:50

[Design Pattern] 팩토리 메서드 패턴(Factory Method Pattern)

이번에는 디자인 패턴 중에 하나인 '팩토리 메서드 패턴'에 대해 알아보도록 하겠습니다. 이는 하위 클래스에서 객체를 만들어주는 것을 '공장(Factory)'에 비유한 것인데요. 이 패턴은 객체의 생성을 하위 클래스에서 대신합니다. 인터페이스를 사용하여, 하위 클래스에서 줄기가 갈라지며 적절한 객체를 생성하기 때문에 코드 제어에 효과적입니다. 더불어 상위 클래스에서 직접 객체를 생성하지 않으므로 의존성도 낮아지죠. 이해하기 쉬운 상황과, 그 상황을 코드로 구현해봤는데요. 차례대로 살펴보겠습니다. 인터넷 쇼핑을 예로 들어보죠. 건강을 위해 ㅌ몬에서 비타민과 닭가슴살을, ㅋ팡에서 프로틴(유청단백질)과 구운 달걀을 쇼핑하는 과정을 가정해 보도록 하겠습니다. 먼저, 쇼핑몰을 정해서 들어가겠죠? Timon(...)..

Development/Java 2019. 10. 21. 20:10

JSP를 서블릿으로 변환시켜주는 Jasper

JSP(Java Server Pages)는 HTML에 Java코드를 편리하게 적을 수 있도록 도와줍니다. 그런데 HTML에 Java코드를 적다 보니 많은 분들께서 오해하는 것이 있습니다. 바로 브라우저의 화면에 띄워지는 것이 JSP자체라는 오해인데요. 사실 그렇지 않습니다. 화면에 띄워지는 페이지는 대체 무엇이고, 어떤 과정으로 진행되는 것인지 알아보도록 하겠습니다. HTML에 Java의 데이터를 입히기 위해서는 Java에서 직접 HTML에 그려줄 수밖에 없었습니다. 가령 PrintWriter 같은 클래스를 이용해서 말이죠. 하지만 매번 그렇게 하면 정말 불편하죠. 그래서 정적인 HTML에 시시각각 변하는 데이터 즉, Java코드를 직접 작성할 수 있도록 만들어진 것이 JSP입니다. 만들기도 쉽습니다. ..

Development/Servlet 2019. 10. 19. 18:29

추가 정보

인기글

최신글

페이징

이전
1 ··· 13 14 15 16 17
다음
Github LinkedIn
thisisnew (매일 코딩, 매일 독서)
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바