본문 바로가기

전체 글

웹 스토리지(로컬 스토리지, 세션스토리지)의 모든 것 with 세션, 쿠키 요즘 앱에 대해 공부하면서 앱에서 데이터를 기억할때 로컬 스토리지라는 HTML의 기능을 이용한다는 것을 알게되어 정리 하였습니다. 서버와 클라이언트는 어떻게 소통하고 어떠한 데이터 저장하는 방식을 활용하고 있는지, 기존의 세션과 쿠키 그리고 웹스토리지에 대해 개념을 이해하고 왜 사용하는 것 이고 각 저장방식의 차이는 무엇인지 알아보고자 합니다. 웹은 어떻게 데이터를 주고 받을까? 웹스토리지에 대해 알기위해서는 사전에 웹에서 데이터를 주고 받는 방식과 특징을 이해하시면 좋습니다. 이 글을 검색하셨다면, HTTP 프로토콜이라는 웹의 통신 방식에 대해서 알고 계실 것이라고 생각합니다. 짧게 설명하자면 인터넷을 통해 데이터를 보내려면 TCP/IP 프토토콜로 보내는 IP주소, 받는 IP주소, 순서, 검증 등의 정.. 더보기
Spring Boot에서 GraphQL 활용법 Spring Boot를 활용하여 RESTAPI를 다룰 수 있으며 REST가 무엇인지, 클라이언트와 서버가 통신하는 HTTP에 대해 학습한 지식이 있을 때 유용합니다. 이 글을 읽기 전 사전에 RESTAPI 그리고 HTTP메서드를 참고하고 보시길 바랍니다. 1. GraphQL 정의 페이이스북에서 만든 API를 위한 쿼리 언어 타입과 필드 시스템을 사용하여 쿼리를 실행하는 서버사이드 서버와 클라이언트 사이에 효율적으로 데이터를 주고 받는 것이 목적 2. REST API와 GraphQl의 차이 RESTAPI는 url에 http method (post, get, put, delete)를 활용하여 데이터를 주고받는 방식 rest api는 /member, /team 이런식으로 다양한 요청 엔드포인트가 있음 Grap.. 더보기
JVM (Java Virtual Machine) 자바가상머신 이란? JVM(자바가상머신) 이란? JVM은 자바 언어를 공부하는데 처음이자 끝이라고 생각이 듭니다. Java 언어로 작성된 소스코드는 컴파일러를 통해 컴파일되어 바이트코드로 변환되는데 이를 해석하고 실행하는 것이 JVM이라고 할 수 있습니다. 쉽게 보면 Java 위에 JVM이 위를 살짝 덮어 어떠한 운영체제 상에서도 실행 될수 있게 하는 중개자라고 아시면 되겠습니다. JVM의 구조를 살펴보겠습니다. 추가적으로 바이트 코드는 기계어가 아니기 때문에 OS(운영체제)에서 실행이 불가 합니다. 기계가 읽을 수 있게 대신 해석해준다는 것은 Java의 큰 장점이겠죠? 또한 어떠한 OS에도 영향을 받지 않기때문에 의존성을 줄여 독립적이라는 특성도 가지고 있습니다. 그러면 JVM의 구성요소는 어떻게 될까요? Class Lo.. 더보기
파이썬(python) 설치 및 파이참(pycharm) 설치 with 윈도우10 2021년 가장 Hot한 언어는 뭘까요? 파이썬은 프로그래머인 귀도 반 로섬이 발표한 고급 프로그래밍 언어로, 플랫폼에 독립적이며 인터프리터식, 객체지향적, 동적 타이핑 (dynamically typed) 대화형 언어입니다. 제 생각에는 타입을 지정하지 않아 간결한 문장을 쓸수 있지만 그에따른 Type Error를 경험할 수 있는 트렌디 하면서 장점과 단점이 공존하는 언어라고 생각합니다. 오늘은 프로그래밍 입문자들이 가장 많이 사용하는 파이썬을 window기반에서설치하고 개발환경 파이참을 통해 파이썬을 실행하는 방법을 공유하겠습니다. python 설치하기 - 파이썬 공식 홈페이지로 접속하여 파이썬을 다운 받겠습니다. https://www.python.org/downloads/ Welcome to Pyth.. 더보기
정규표현식(Regular Expression) with 파이썬 . ? + *기호 re.compile(), re.findall(), re.sub() (2) 이전 글에서는 정규표현식에서 사용하는 기호에 대해 설명했었는데요. 이번 글에서는 re모듈의 함수 활용법에 대해 알아보도록 하겠습니다. re.match() 와 re.search()의 차이 search()가 정규 표현식 전체에 대해서 문자열이 매치하는지를 본다면, match()는 문자열의 첫 부분부터 정규 표현식과 매치하는지를 확인합니다. 문자열 중간에 찾을 패턴이 있다고 하더라도, match 함수는 문자열의 시작에서 패턴이 일치하지 않으면 찾지 않습니다. import re r=re.compile("ab.") r.search("kkkabc") r.match("kkkabc") #아무런 결과도 출력되지 않는다. r.match("abckkk") r.search("abckkk") re.split() split() .. 더보기
정규표현식(Regular Expression) with 파이썬 . ? + *기호 re.compile(), re.findall(), re.sub() (1) 정규표현식 정규식(正規式)은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어 입니다. 특히 문자열을 처리할 때 정규표현식을 쉽게 활용할 수 있습니다. 정규표현식은 모든 프로그래밍 언어의 공통으로 사용할 수 있기 때문에 한번 익혀놓으면 어디든지 활용하기 용이합니다. 정규표현식에 알아보고 파이썬에서 활용하는 방법을 확인해보겠습니다. 파이썬에서는 정규표현식 모듈 re를 지원합니다. 이를 이용하여 특정 규칙이 있는 텍스트 데이터를 빠르게 정제할 수 있겠죠? 복잡해 보이지만 한번 익혀놓으면 편합니다. 실습을 통해 하나씩 알아보겠습니다. . 기호 . 은 __한 개의 임의의 문자__를 나타냅니다. 예를 들어서 정규 표현식이 a.c라고 합시다. a와 c 사이에는 어떤 1개의 문자라도 올 수 있습니다.. 더보기
자연어처리, 워드임베딩 (Word2Vec, FastText , GloVe 예제)(2) 개념은 1부의 내용과 같습니다. 이제는 언어(자연어)를 수치화 해서 나열하는 방법은 여러가지인데요, 대표적인 3가지로 실습해보겠습니다. Word2Vec, FastText , GloVe 순서입니다. * Word2Vec (https://code.google.com/archive/p/word2vec/) * FastText (https://github.com/facebookresearch/fastText) 빠르고 효율적입니다. 형태학적인 세부 사항도 끝납니다. FastText는 알 수 없는 단어에 대한 단어 벡터를 유도하거나 어휘에서 단어를 추출할 수 있기 때문에 고유합니다. Word2vec과 GloVe 둘 다 모델 사전에 없는 단어에 대한 벡터 표현을 제공하지 못합니다. * GloVe (https://gith.. 더보기
자연어처리, 워드임베딩 (Word2Vec, FastText , GloVe 예제)(1) Word Embedding이란? 워드 임베딩은 단어를 컴퓨터가 이해하고, 효율적으로 처리할 수 있도록 단어를 벡터화하는 기술 워드 임베딩은 단어의 의미를 잘 표현해야만 하며, 현재까지도 많은 표현 방법이 연구 워드 임베딩을 거쳐 잘 표현된 단어 벡터들은 계산이 가능하며, 모델 투입도 가능 워드임베딩은 Deep Learning 분야에서 자연어처리에서 필수적으로 알아야할 개념입니다. 머신러닝, 딥러닝으로 학습을 시킬 데이터는 숫자로 나타낼 필요가 있습니다. 영어나 한국어나 모든 언어(자연어)들은 abcd, ㄱㄴㄷㄹ 이런식으로 수치화되어있지 않기때문에 특징들을 뽑아내서 수치화하게 되는게 이 과정을 워드임베딩 이라고 합니다. 즉 단어를 밀집 벡터(dense vector)의 형태로 표현하는 방법을 워드 임베딩(w.. 더보기