프로그래밍이나 데이터 관련 공부를 하다보면 관련 용어들이 많이 등장하는데 용어들이 서로 비슷하기도 하고 서로간에 어떠한 관계가 있는지 정리할 필요성을 느껴 기록하게 되었다. 용어들이 점차 확장되도록 정리하려고 했다. 데이터란 ?데이터는 실세계의 가공되지 않는 모든 자료들을 말한다.우리는 실세계에서 가공되지 않은 자료들이 넘쳐나는 시대에 살고 있는데, 그 중에는 우리에게 유의미한 자료들도 있을것이고, 필요하지 않은 무의미한 정보들도 섞여 있을 것이다.정보란 ?그 많은 데이터들 중 우리에게 쓸모있고 의미있는 내용으로 추출하고 가공하여 체계적으로 조직한 데이터를 의미한다.데이터베이스(Database, DB) 란 무엇일까 ? 한마디로 '데이터의 집합'이라고 할 수 있다. 위에서 얘기한 수많은 방대한 데이터들을..
자바로 백업모듈을 만들어야 했는데, 자바에서 pg_dump를 실행해 sql파일을 떨구는 일이다.우리가 가져가고자 하는 백업 프로세스를 간단히 말하자면전체백업은 하루에 한번, 특정 테이블 데이터는 데이터특성에 따른 주기별로 1) 기존 백업스키마 데이터 삭제2) 백업테이블 갱신3) 백업스키마 sql 백업4) DB 전체 sql 백업순으로 이루어 진다.기존에는 리눅스에 쉘스크립트 생성후 cron으로 돌려 파일백업, 전체백업을 진행했는데 이번에는 자바모듈안에서 해결했으면 좋겠다고 하셨다. 백업모듈은 데몬으로 돌아야하는데, 이렇게 실행하나 저렇게 실행하나 데몬역할을 하는거라고 보면 된다고 하셨는데, 서비스로 띄우는것과 약간 차이가 있지 않나 더 알아봐야 할 것 같다.이 작업을 하기 위해 자바에서 커맨드명령어를 날려..
업무에서 리눅스 서버 설치, 서비스 배포 등 다룰일이 있어서, 관련 지식을 갖출 겸 공부를 해야겠다고 생각하고리눅스 마스터 2급 시험을 신청하게 되었다. 리눅스마스터 시험은 1차, 2차에 걸쳐 시행된다.1차는 온라인(오픈북)시험, 2차는 우리가 익히 아는 실기 시험장에 가서 치루는 CBT 시험으로 이루어진다.나도 시험을 치루기 전 가장 단기간에 효율적으로 공부하기 위한 방법을 찾아봤고, 다행히도 1차, 2차 모두 합격했고, 빠르게 준비해서 시험을 치루고자 하는 이들을 위해 공부하는 법을 공유하고자 한다.사실 특별한 방법은 없다. 1차 시험준비필요 X1차시험은 집에서 pc로 시험을 치면 된다. 오픈북 시험이라고 봐도 무방하다.인터넷에 리눅스마스터 2급 족보 를 검색하면 이것저것 많이 나온다. 족보들을 모아..
jvm에 대해 검색하면 자주 보이는 부분이 heap메모리 영역과 runtime data area 에 대한 글들을 많이 볼 수 있다. 나는 우리가 작성하는 소스코드가 메모리에 어떻게 올라가고 어떻게 동작하는지 궁금하여 JVM에 관한 책들을 읽게 되었다. 간략하게 말하자면 우리가 작성한 자바 소스코드는 먼저 자바컴파일러에 의해 컴파일 되어 JVM이 실행할수있는 class 파일로 변환되고 클래스 로더가 JVM으로 클래스를 로드 한 후 로딩, 링킹 과정을 거쳐 runtime data area에 배치한다. JVM에서 Class파일의 실행은 Class Loader를 통해 로딩되면서 시작되기 때문에, Class Loader에 대한 이야기를 먼저 정리해보려고 한다. 🔸Class Loader Java의 특성 중 하나는 ..
운영중이던 작은 서비스에서 그동안 없던 힙덤프가 생성되었다며 분석을 해 볼 기회가 생겼다. 관련 툴을 다운받고 어떻게 힙덤프파일을 보는지 간단히 기록해보고자 한다. Heap Dump 분석하기 생성된 Heap Dump를 Eclipse Memory Analyzer(MAT) 툴을 이용하여 분석할 수 있다. 다운로드 받은 후 MemoryAnalyzer.exe 파일을 실행한다. 그런데 MAT를 실행하니 아래와 같은 오류가 발생했다. JVM 버전 1.8.0_181은이 제품에 적합하지 않습니다. 버전 : 17 이상이 필요합니다. 이런 이야기이다. 실행 버전을 충족시키기 위해 아래링크에서 jdk 17을 다운받고 Download the Latest Java LTS Free Download the Latest Java L..
소켓 통신, 서버소켓을 구현하고 수신한 데이터(바이트)를 문자로 변환하는 작업을 해보게 되었다. 그 과정에서 알게 된 개념과 정보들을 기록해보고자 한다. 소켓(Socket) **소켓(Socket)**은 TCP/IP 기반 네트워크 통신에서 데이터 송수신의 마지막 접점을 말한다. 소켓통신은 이러한 소켓을 통해 서버-클라이언트간 데이터를 주고받는 양방향 연결 지향성 통신을 말하는데, 보통 지속적으로 연결을 유지하면서 실시간으로 데이터를 주고받아야 하는 경우에 사용된다. 소켓은 클라이언트 소켓과 서버 소켓으로 구분되며, 소켓간 통신을 위해서는 네트워크상에서 클라이언트와 서버에 해당되는 컴퓨터를 식별하기 위한 IP주소와 해당 컴퓨터내에서 현재 통신에 사용되는 응용프로그램을 식별하기 위한 포트번호가 사용된다. 서버..
자바 스레드를 공부하는데 관련 설명들을 보는데 프로세스, 스레드, 멀티태스킹, 멀티 프로세싱, 멀티 스레딩 등 너무 헷갈리는 용어들이 많았다. 먼저 알아야 하는 용어부터 짚고 가겠다. 프로세스(process) ‘실행 중인 프로그램(program)’ 프로그램을 실행하면 OS로부터 실행에 필요한 자원(메모리)을 할당받아 프로세스가 된다. 프로세스 = 프로그램을 수행하는데 필요한 자원(데이터와 메모리 등) + 쓰레드 로 구성 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것이 바로 쓰레드 이다. 쓰레드(Thread) 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것이 바로 쓰레드 이다. 모든 프로세스에는 최소한 하나 이상의 쓰레드가 존재. 둘 이상의 쓰레드를 가진 프로세스를 ‘멀티쓰레드 프로세스(mul..
업무중 회사 NAS를 재부팅한다는 얘기를 들은 후, 누군가 형상관리 서버 연결이 안된다는 얘기를 하셨다. NAS 서버를 재부팅하는데 형상관리서버가 안된다.? 누군가는 형상관리서버랑 NAS재부팅이랑은 관련 없을텐데 하시다가, SVN, Git..... 아, Git이 있었지 라는 말을 하셔서 어떻게 서버가 구축되어있는지 궁금해서 찾아보게 되었다. 아래 블로그에서 나스서버에 깃, 깃랩서버를 적용하는법을 자세히 다루고 있다. 나스에 Git 서버 적용하기 시놀로지 나스에 Git 서버 적용하기. 우분투에서 깃을 사용하다가 HDD가 깨지는 바람에 자료가 다 날라갔다. 이것저것 알아보다가 회사에서 가지고 있던 시놀로지 나스가 있어서 여기에 깃 서버를 설치하기로 했다. 1. 깃 서버 설치 1v1in.tistory.com ..
- Total
- Today
- Yesterday
- 객체지향
- 스프링 프로젝트
- React
- 자바스크립트
- MySQL
- node
- EC2
- Spark
- 남궁성
- AWS
- security
- 컨테이너
- spring
- di
- 데이터베이스
- 자바의정석
- 시큐리티
- 리액트
- 스프링의정석
- 데브캠프
- 친절한SQL튜닝
- 스프링
- 인덱스
- Node.js
- 이정환
- 한입크기로 잘라먹는 리액트
- JavaScript
- 코드로 배우는 스프링 웹 프로젝트
- 스프링 빈
- @Configuration
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |