전체 글 135

매일 영어 표현 - If you want to reach me 등

(매일 새로운 영어 표현과 구문을 올립니다. 미드, economist지, 각종 영어자료 등을 참고해서 고릅니다.) -만약 나한테 연락하고 싶으면, 여기 내 일정표야. If you want to reach me, here's my itinerary. -나 약속시간에 늦었어. I'm running late for an appointment. -지금 몇신데? -지금 7시 15분 It's quarter past seven. -나 가봐야 겠어. I've got to split. -가끔 : every now and then -미국에서 젤렌스키는 사진촬영보다 훨씬 많은 것을 바라고 있습니다. Zelensky is hoping for much more than a photo-op in US. *photo op : ph..

리눅스 - 데몬(서비스), 프로세스 차이 (feat.systemd)

윈도우에서 주로 사용하는 개념인 서비스와 리눅스 등 유닉스 계열에서 사용하는 데몬은 완전히 같지는 않지만 유사하게 생각하면 될 것이다. 그래서 리눅스에서 service라는 단어가 보인다면, demon과 유사하게 생각해도 좋을것. 이 글은 개발자들을 위한 것이므로 리눅스를 기준으로 설명하도록 하겠다. 데몬 VS 프로세스 둘다 process는 프로세스이나, 데몬은 사용자가 아닌 시스템에서 제어하는 프로세스이고 보통은 시스템 기동과 함께 항상 백그라운드에서 수행되고 있는 프로세스라고 보면 된다. 다만, 사용자가 특정 프로세스를 데몬으로 등록하여 사용하겠다 하면 이 프로세스 또한 사용자등록 데몬이 된다. 이에 반해 프로세스는 사용자가 제어하는 실행단위이고, 시스템 기동과 함께 동시에 기동되지 않기 때문에 사용자..

네트워크 IP, 라우터(IP주소 종류, 공인IP, 서브넷마스크, 게이트웨이 등)

인터넷 또는 다른 네트워크간 통신을 위해서는 네트워크간에 식별할 수 있는 식별자인 공인IP가 필요하다. 공인IP는 인터넷서비스제공자인 ISP로부터 부여 받는다. 그래서 현실에서는 통신사와의 계약을 통해 집 wifi 또는 휴대폰에 IP를 부여받게 되는 것이다. IP주소의 종류 IP는 앞서 말한바와 같이 ISP로부터 부여받는 공인IP(주로 라우터와 인터넷직접연결PC)와 랜을 사용하여 private하게 할당하여 자유롭게 사용하는 사설IP가 있다. 보통 라우터의 DHCP기능등을 사용하여 할당하게 된다. *DHCP란 라우터의 기능으로서, IP주소를 자동으로 할당하는 프로토콜을 말함. IP주소의 버전 IP버전에는 IPv4와 IPv6가 있다. IPv4는 32비트 체계로서 xxx.xxx.xxx.xxx 체계를 갖고 있고..

매일 영어 표현 - Keep me posted 등

(매일 새로운 영어 표현과 구문을 올립니다. 미드, economist지, 각종 영어자료 등을 참고해서 고릅니다.) -그 업무에 대해 좀 자세히 알려 주세요. Fill me in on the task. -그 업무에 대해서 간단히 브리핑(설명)해주세요. I need you to brief me on the task. -(그 일을)바로 진행하겠습니다. I'll get right on it. -일이 진행되는 경과를 알려주세요 Keep me posted. -그녀가 나를 방에서 내쫓았습니다. She threw me out of a room. -(깜깜한 밤에) 뭔가 어두운 환풍구(vent) 같은게 보여 -I see what appears to be a dark vent. -이 방에 사람이 너무 많아요. 한명만 빼고 ..

OSI 7계층 - 물리계층, 데이터링크계층, 네트워크계층

개발자에게 항상 숙제와도 같은 네트워크를 정리해보고자 한다. 백엔드 개발자가 필수적으로 알아야 하는 개념위주로 정리하고자 한다. 이번 글에서는 먼저, OSI 7계층 중 물리계층, 데이터링크 계층, 네트워크 계층에 대해서 다루고자 한다. 네트워크 계층 에 IP와 라우터에 대한 내용이 포함되어 있으나 이는 중요하고 양이 많으니, 여기 를 참고하길 바란다. OSI 7계층은 ISO라는 국제표준화기구에서 제정한 통신 프로토콜(약속)이다. 두대의 컴퓨터간에 데이터를 주고 받기 위해 데이터를 만들어가는 과정을 OSI 7계층이라고하는 7개의 추상적이고 계층화된 절차로 정의한것이라 볼 수 있겠다. (발신자로부터 온 전기신호) -> 물리계층 -> 데이터 링크 계층 -> 네트워크 계층 -> 전송계층 -> 세션계층 -> 표현..

리눅스 chown, chmod

chmod 명령어는 리눅스에서 파일/디렉토리에 대한 권한을 부여하는 명령어이다. 리눅스에서는 파일에 대한 권한 주체 단위를 3가지로 구분하고 있다. 소유권에 대한 3가지 구분 1)해당 파일/디렉토리의 소유자(owner) : 말그대로 해당 파일에 대한 소유자 2)소유그룹(group) : 소유자가 속한 group. 리눅스에서 group이란 user1 user2등 특정 사용자들을 그룹핑한 모음이다. group별로 파일에 대한 group ownership을 부여하여, 소유자가 아니더라도 소유자가 속한 그룹에 속하여 있는 user라면 그룹에 대한 별도의 권한을 가질 수 있도록 한다. 3)그외(others) : 소유자도 아니고, 소유그룹에 속하지도 않는 사용자. 예를 들어, ls -al 명령어를 실행하면 아래와 같..

java에서 json파일 parsing

JSON이란 기본적으로 Key-Value로 구성된 데이터 타입을 말한다. 그리고 자료형으로는 String, Int, Long, 그리고 Boolean 타입을 지원한다. 미리 참고로 말하자면, spring에서는 부트에 내장된 jackson라이브러리를 사용하면되나, 여기서는 스프링없는 자바코드를 보여주도록 하겠다. 먼저 java에서 json parsing에 필요한 org.json 라이브러리를 다운로드 한다. JSON 중 key-value, key-Object, key-Array 이 3가지 타입으로 이루어진 JSON파일을 파싱하는 예시를 보여주고자 한다. JSON파일은 아래와 같다. 파일명 : test.json { "nation": "Korea", "school": {"number1": "school1", "n..

2022 현재 리눅스 배포판 점유율 현황

리눅스 배포판이란 리눅스커널이라는 공통된 운영체제 커널을 사용하되 갖가지 다른 응용프로그램을 다르게 조합해 만든, 리눅스 운영체제를 의미한다. 오늘날 600가지 이상의 배포판이 사용되고 있다.(출처: Tecmint) 이 수많은 리눅스 배포판 중에서 2022년 현재 리눅스 내의 점유율은 어떻게 되는지 살펴 보자. 크게 데비안계열(ubuntu, debian)과 레드헷계열(redhat, centos)위주로 살펴보겠다. 위 통계를 보면 우분투(Ubuntu)는 리눅스배포판 내에서 대략 33.9%의 점유율을 차지하고 있다. 이는 현재 운영되는 모든 웹사이트를 기준으로 산정한 것이고, Debian은 약 16%를 차지하고 있다. (출처: W3Techs) 우분투가 데비안에서 나온 운영체제이니 데비안 계열이 50%이상을 ..

redis expire time(set, hset, zadd) 에 관하여

(cli형식이 아니라, 프로그래밍 코드 형식을 예시로 설명하고자 합니다. 코드는 프레임워크마다 다를 것인데 참고 부탁드립니다.) redis는 인메모리 db로서 빠른성능에 장점이 있는 엔진이기에, 데이터가 과도하게 쌓이면 성능상 효율상 문제가 발생하기 마련이다. 그래서 프로그램에서 아래와 같이 시간을 제한하는 "EXPIRE"의 약자인 "EX"를 사용하는 방식의 set이 흔하다. redis객체.set(key, value, "EX", 초단위시간); 만약 24시간내 까지만 해당 데이터를 사용하고 삭제하고자 한다면, 아래와 같이 해주면 된다. redis객체.set(key, value, "EX", 86400); hset의 경우 이름에서 알 수 있듯 hash를 이용하는 것이고, 메모리 효율과 관리 이점이 있을수 있다..

RDB index 원리

인덱스란 무엇인가? 라고 검색하면, 색인과 목차를 말하고 사전을 말하곤 한다. 그런식의 비유는 좋은 비유이나 직관적으로 와닿지는 않는 것도 사실이다. index는 눈에보이는 테이블이 존재 하지 않다보니, 글로만 공부하게 되면 다소 머릿속에 그 형태가 그려지지 않는다. 아래와 같은 mysql서버에 구성된 회원정보 테이블이 있다고 하자. id(pk) name email(unique) password 1 kim test@naver.com abc1234 2 kim test2@naver.com abc1234 ... ... ... ... 1000 park test1000@naver.com abc1234 위 테이블 컬럼의 구분자로서 id를 primary key를 지정하였고, email 주소는 중복될수는 없기에 uni..