전체 글 33

About JAVA Platform

Java, jre, jdk, jvm, jar, jconsole ... 등 J 놈놈들이 서로 뒤엉켜 만들어내는 몽롱하고 혼탁한 개념의 그물망은 Java 세계로의 진입을 힘들게 하는 커다란 장벽이다. 대체 그것들은 무엇일까. 우선 이 점을 알아야 한다. 우리는 흔히 프로그래밍 언어라는 말을 쓴다. 여기서의 언어 Language 는 한국어, 영어, 중국어 할 때 붙는 언어와는 다른 류의 개념이다. 그러니까 통상적인 언어라함은 문자와 문법들이 어우러져 만든 하나의 표현 체계이다. 이러한 언어의 정의는 프로그래밍 언어에도 일단 적용 가능하다. 프로그래밍 언어도 결국 특정한 표기들과 표기법이 어우러져 만든 표현 체계다. 단 한국어, 영어, 중국어를 사용한다는 말과 Java, python, go 등을 사용한다는 ..

IT 이모저모 2022.09.02

Spring boot 프로젝트 도커 이미징

스프링 부트 프로젝트를 도커 이미지로 구성하는 실습 과정을 포스팅한다. 조그만 back-end 서버를 경량의 이미지로 구성해서 배포해보는 걸 목표로 한다. 과정은 다음과 같다. Spring boot 프로젝트 생성Dockerflie 작성Build 및 배포1 . Spring boot 프로젝트 생성 작고 귀여운 스프링 부트 토이 프로젝트를 생성한다. dependency는 spring web만으로 충분하다. 생성한 프로젝트에 두 가지 작업을 더한다. 첫째는 생존 체크용 api 작성이다. @SpringBootApplication@RestControllerpublic class ProtoApplication { @GetMapping("/healtz") public String healtz(){ return "..

IT 이모저모 2022.09.02

Docker Bridge 네트워크 이해 및 컨테이너 공용 네트워크 생성

도커 컨테이너는 가상의 프로세스다. 도커 컨테이너의 구동이 일반적인 프로세스와 구별되는 점 중 하나는 독립적인 네트워크를 가진다는 점에 있다. 각각의 컨테이너 마다 개별적인 네트워크 망을 지닌다는 말이다. 그런데 사실 이건 물리적으로 불가능한 일이다. 컨테이너가 어쨋든 프로세스 중의 하나라면 서버의 네트워크 망 안에 포함될 수밖에 없는 것이다. 그렇기에 엄밀히 말해 도커 컨테이너는 '독립적인 네트워크'를 가지기보다는 '분리된 네트워크'를 가진다. 그럼 어떻게 컨테이너는 분리된 네트워크를 지닐 수 있을까? 이 의문이 답이 곧 Bridge이다. 잠깐 덧붙이자면 앞서와 같이 분리된 네트워크를 가지는건 도커 컨테이너의 일반적인 설정이지 절대적인 성격은 아니다. 도커는 여러가지 종류의 네트워크 구성 옵션을 제..

IT 이모저모 2022.09.02

[NFT 시장 탐색] Opensea 작품 구매해보기

지금은 내 인생에 첫 NFT가 생겨나려는 순간이다. 큰 맘 먹고 물건 구매를 결심했다. 투자의 개념보다는 경험 삼아 해보려는 것이 크다. 우선 총알이 필요하겠다. 거래소에 있는 토큰을 지갑으로 옮겼다. 업비트를 사용했는데 거래소 -> 지갑 이동 한 번에 수수료가 무려 0.018eth, 원하로는 약 2만원이 넘는 금액이다. 실화냐 진짜;; 이동하는 토큰의 갯수에 비례해 수수료가 올라가는 것도 아니다. 아무래도 블록을 추가하는 기본 비용이 얼추 그 정도 드는 것 같다. 아무리 그래도 너무 비싸다... 어찌되었든 충전엔 성공했다. 출금 신청을 한 후에 약 1분? 정도 지나서 처리가 완료된 듯하다. 속도는 생각보다 매우 빠르다! 이제 작품을 사기만 하면 된다. 보아둔 작품은 아래와 같다. 움직이는 파일..

연구자료 2022.09.02

정규표현식 활용 Apply Regular Expression #JAVA

본 글에서는 JAVA에서 정규 표현식을 어떻게 활용할 수 있는지를 알아본다. 즉, 정규표현식 관련 작업을 지원하는 라이브러리를 소개하고 그것의 활용법을 알아본다. 두 개의 클래스만 기억하면 된다. Pattern 과 Matcher. 1 . 정규표현식 라이브러리 사용 절차 정규표현식의 활용 영역은 무궁 무진하다. 하지만 프로그래밍적인 관점에서 바라본 정규표현식의 사용 절차는 아주 단순하다. 절차는 두 가지로 나뉜다. - 정규표현식 패턴의 생성 - 문자열과 패턴의 일치 작업 첫 번째 작업을 해주는 클래스가 Patttern 클래스이고, 두 번째 작업을 해주는 클래스가 Matcher다. 첫 번째 작업은 그야말로 패턴을 만들어주는 작업이다. 패턴의 생성엔 독특하게도 compile 이라는 명칭이 사용된..

Mac os 내 경량 Linux 환경 구성하기 feat. linuxkit

Mac os에서 Docker를 사용하는건 불가능하지 않다. 허나 Docker의 기본 설계 사상을 고려하자면 불가능하나 일이어야 하는게 맞다. Docker는 Linux Kernel을 이용하여 컨테이너를 구동하기 때문. Mac은 Linux 배포판들과는 다른 Kernel 시스템을 가진다. 그럼 Mac용 Docker는 Mac Kernel을 사용하는걸까? 싶지만 그렇지 않다. Mac용 Docker는 Mac에 경량의 linux 가상 머신을 띄운 후 이걸 이용해 도커를 구동한다. 이때 사용하는 것이 바로 linuxkit 이다..! linuxkit은 커스텀 linux 배포판을 가상머신으로 띄우는데 사용하는 도구로 Mac 만을 위한 건 아니다. 다만 포스팅에선 Mac os 내 경량 Linux 환경을 구성하는 것에 집중..

IT 이모저모 2022.09.02

SIMPLE DEEP LEARNING WITH PYTHON

Classification 데이터 조건- 결측치가 없어야 한다. - 범주형 변수는 one-hot encoding을 적용해야 한다.- 예측값은 수치형으로 변환해야 한다. from random import shufflex1 = list(range(0,100))x2 = list(range(100,200))y = [0,1] * 50shuffle(x1)shuffle(x2)shuffle(y)import pandas as pddf = pd.DataFrame( {'x1':x1, 'x2':x2, 'y':y} )// df x1 x2 y0 39 117 01 95 110 12 75 183 03 8 194 04 87 104 1... ... ... ...95 99 101 196 22 126 197 59 146 098 29 173..

Pandas API

python 3pandas 1.1.5numpy 1.19.5 - pandas는 파이썬 라이브러리로, DataFrame 이라는 자료 객체를 이용한 여러가지 데이터 처리 및 분석 API를 제공한다. # DataFrame 생성 1 . Numpy Array -> DataFrameimport numpy as npimport pandas as pdlis = [ [1,2,3], [4,5,6], [7,8,9] ]arr = np.array(lis) # 2 차원 arraydf = pd.DataFrame(arr) # lis를 넣어도 동일한 결과를 얻음// df 0 1 20 1 2 31 4 5 62 7 8 9- column / index 추가import numpy as npimport pandas as pdlis = [ [1..

SNS 시인, 5만 유로에 NFT 시를 팔다

원문제목 : Poem by Instagram favourite Arch Hades Sells for 50000 euro in Online auctioninews.co.uk/culture/arts/poem-instagram-favourite-arch-hades-sells-50000-pounds-online-auction-935050 Poem by Instagram favourite Arch Hades sells for £50,000 in online auctionThe poem was part of a digital collection artwork that also included musicinews.co.uk 요약 최근 온라인 예술품 경매를 통해, NFT 시가 5만 유로 (한화 약 7000만원)에 판..

연구자료 2021.05.10

#2 구글 vs 오라클, Java API 저작권 분쟁, 구글의 승리

www.bbc.com/news/technology-56639088 Google v Oracle: Supreme Court declares Google's code copying fairThe US Supreme Court has handed Google a major win in a decade-long battle over copied code.www.bbc.com 요약 JAVA API 저작권료 청구를 위해 오라클이 구글을 대상으로 낸 소송에서 구글이 승리하였다. 번역 Google vs Oracle : 대법원은 구글의 복제 코드가 문제 없다는 것을 선언했다. 구글의 안드로이드 시스템 내 복제 코드를 둘러싼 10년 간의 싸움이 대법원에서 종결되었다. 2010년, IT 거인 오라클은 구글의 복..

연구자료 2021.04.23