분류 전체보기 9

Process vs Thread 차이점 요약

process 운영체제로 부터 시스템 자원을 할당받아서 메모리에 올라와 실행되고 있는 프로그램의 인스턴스 각프로세스는 Code, Data, Stack, Heap 영역으로 구분되며 독립된 메모리영역을 할당 받으며 , 기본적으로 하나의 메인 쓰레드를 가진다 독립된 메모리 영역을 할당 받기 때문에 다른 프로세스의 변수나 자료구조에 접근 하지 못한다. 다른 프로세스에 접근하기 위해 IPC(inter-process-commnication) 를 사용해야함 * IPC 예시 파이프 , 파일 , 소켓 등을 이용한 통신 thread 프로세스가 할당받은 자원을 이용한 프로세스 내에서 동작되는 실행의 단위 프로세스 내에서 stack 만 할당받으며 Heap 영역은 공유된다. java thread 자바에는 프로세스가 존재하지 않..

AWS ECS 사용기록

ECS는 Cloud 환경에 적용 가능한 Container Service로 OS를 포함하지 않아 가볍고, 빠른 배포, 빠른 기동이 가능한 컨테이너 오케스트레이션 서비스입니다. 컨테이너 오케스트레이션 도구에는 Docker에서 만든 Docker Swarm, 구글의 Kubernetes, 하시코프의 Nomad등 다양한 오케스트레이션 도구가 있습니다. 본 세션에서는 ECS의 Instance 형태인 Serverless기반의 Fargate와 VM기반의 EC2에 대해 각각 다뤄볼 예정입니다. AWS EC2의 경우 컨테이너를 EC2 서버에 배치하고 이를 클러스터로 묶어서 관리하며, Fargate의 경우 서버 또는 클러스터를 관리할 필요없이 컨테이너를 논리적으로 관리하는 형태입니다. 본 실습은 총 세번에 걸쳐 진행될 예정입..

AWS/ECS 사용기 2019.12.20

RESTFUL API 개발 사전준비

오랜만에 블로그글을 쓴다.ㅋ 회사 기술스텍이 REACT+ JAVA+SPRING으로 정해져서 우선 REACT를 학습하면서 RESTFUL API 로 백엔드단을 개발하게 되었다.. 사람이없는관계로....혼자서 리액트로 레이아웃 만들면서.. 백엔드단은 저번부터 사용하려고 했던 JPA를 사용하기로 했다. 본격적으로 개발을 하기위해 API서버 세팅을 4일정도는 한거같다.. JPA + Spring Security + QueryDsl +Swagger 이렇게 세팅까진 다하구 개발을 진행중이다. JPA 생각보다 러닝커브가 조금은 있는것같지만 못할정돈 아닌거같다.. 객체를 이해하고 mappedby만 지나가면 크게 문제는 없었던거 같다 DB에서의 관계와 JPA 객체의 관계가 다르다는것을 이해 해야한다. fetch 방식중에 E..

java ,spring 2019.11.24

heroku를 이용한 maven 프로젝트 배포

음 어지어찌 하다보니 heroku 라는 걸 알게되었는데 무료로 웹서버를 제공해준다니 일단 한번써보자~ 라는생각으로 기존에 aws에서 사용하던 maven 개인프로젝트를 heroku로 옴기기로 결심하였다. 소스는 git에 private 하게 관리되고 있었는데 heroku에서 git관련 연동을 잘 해주어서 생각보다 너무편하게 프로젝트 배포까지 마무리되었다. 배포까지 1시간이 안걸린거 같다 처음인관계로 공식홈페이지 에서 튜토리얼을 보며 따라했다. 이미지에서 보듯이 heroku CLI 를 받아서 설치만하면 관련 명령어 사용이 가능하다. 그리고 MAVEN 프로젝트의 경우 메이븐 플러그인을 빌드할떄 추가해주면 끝! 위에 이미지에 보이는 명령어를 뙇하고 치면 세상에..스스로 메이븐을 빌드해서 배포해버린다.. 첨엔 이게..

점심메뉴 크롤링 및 알림 제작후기..

회사에서가는 구내식당이 3군데정도 있는데 각각의 구내식당 메뉴적힌 곳이 다 다른관계로.. 동료들의 편의를 위해 간단한 토이프로젝트를 시작하였다.. 우선 필요한 기능은 1개웹 크롤링 2개의 앱 데이터 크롤링 크롤링이 편하다는 python 으로 만들기로 하고 알림은 사내 slack 메신저로 뿌려주는걸로 계획하고 작업을 진행하였다. python은 일단 컴파일을 안해도되서 구동에 걸리는 시간이 굉장히 작게 걸리더라.. java는.... 쩃든 간단하게 생각하고 시작한 작업에 문제가 생겼다.. 웹데이터는 크롤링이 정말 편한데.. 앱 안의 데이터는 크롤링이 생각보다 어려웠다.. 가능하면 앱을 까지는 않고 싶어서 charles 라던지 등등 통신 패킷을 확인 할수있는 툴을 사용해 봣으나.. 내가 원하는 정보는 보이지 않..

Eclipse에서 Intellij 로 갈아탄 사연..

지금까지 개발에 Eclipse 를 사용하면서 큰 불편함은 못 느꼇는데... 이번에 일련의 사건 이후로 Intellij 로 IDE를 변경하게 되었다. 이유는 파악되지 않았으나 실제로 서비스되고있는 서비스가 TEST DB를 바라보고 있는것을 다음날이 되서야 발견하게 된것이다.. 그래서 부랴부랴 서비스를 임시점검 페이지로 변경하고 어제 배포시간이후 데이터들을 실서버로 옴기는작업을 하고 , 소스수정후 정상적인 서비스가 진행되었다. 원인을 찾는과정에서 Eclipse 의 build 과정에서 최신소스가 build 되지않고 이전소스 즉 TESTDB 를 바라보는 소스로 build 된 것이였다. 해당문제는 Eclipse project clean 한번으로 해결되었고.. 배포담당자인 본인은 뻘쭘한 상황이되어버린 것이엿다.....

spring + vue.js

정식 적용법은 아니고..vue를 jstl 개념으로 사용하는 방식이다..신규 프로젝트 작업을하는중인데..아직 퍼블리셔가 없는관계로 table을 jstl사용하지 않고 뿌려야하는 상황이 발생했다.. script로 html = "" += " +=""위처럼하고 데이터 포문돌리다 암걸릴것 같아서뷰에 데이터 넣고 v-for로 처리하니 너무편하다 ㅠㅠ 야메 적용법이지만 퍼블리셔들은 jstl 코드 모르니 pure한 html을 보여주고 싶다면 한번 써볼만하다 간단한 코드예시 new Vue({el: "#targetSelector", data: { list : [] , }, mounted: function () { var self = this; //ajax 로 데이터 가져와서 vue의 list 데이터에 던져준다. var re..

java ,spring 2018.12.21

jenkins 설치및 필수 플러그인 설치

음..회사에 배포방식이 이클립스로 war파일을 만들어서 배포하는 방식이라.. 팀원들과 상의해서 배포방식을 변경해보기로 했다... 우선 일일히 war를 만들어야되는 귀찮음을 덜기위해.. 자동으로 build는되어야 하고 원격 저장소 git 또는 svn 에 변화가 생기면 자동으로 빌드후 배포되어야 한다는 조건으로 찾다보니.. 찾은게 jenkins 라는 빌드및 배포툴이엿다. 블로그 주인장도 jenkins 설정은 처음이라 2일 정도 잡았는데.. 생각보다 설정이 빠르게 끝나서 남는시간에 작업히스토리를 남겨볼가하고 블로깅을 한다.. 우선 원격서버에 jenkins를 설치한다... 설치방법은 정말 간단하다 jenkins 홈페이지 다운로드 에서 (https://jenkins.io/download/) war파일로 압축된걸 ..

java ,spring 2018.11.29

jdk 유료화에따른 openjdk 테스트

JDK가 유료화 되면서 라이센스를 구입하건 말건 일단 현재 회사 프로젝트및 소스가 OPENJDK 환경에서 정상동작하는지 알고싶어졋다.. 시작전에 openjdk와 oraclejdk 의 차이점이 알고싶었는데 정리잘된글이 있어서 링크로 첨부.http://jsonobject.tistory.com/395 위글을 읽은후 차이점을 기억해두고 작업시작! 우선 로컬 테스트부터 개인용 데스크탑(WINDOW) 에 사용될 OPENJDK8 버전을 찾기 시작했는데..공식 사이트에서는 https://openjdk.java.net WINDOW용 JDK를 찾지 못하고 이리 저리 찾아보다 REDHAT 재단에서 openjdk8 버전을 zip파일로 제공하는것을 발견하고.. 회원가입후 openjdk8 버전을 다운받게된다. zip 으로 만들어..

java ,spring 2018.11.21