2022/04 15

[Intellij] 인텔리제이 폴더 생성시 Flat 으로 생성될 경우

인텔리제이에서 폴더를 생성하는 와중에 폴더가 자꾸 . 을 기준으로 깊이들어가면서 생성되는 문제가 발생했다. 나는 그냥 수평으로 폴더를 추가해주고 싶었는데 그렇게 되지 않았다. 해결방법은 간단하다. project 창에서 마우스 오른쪽 클릭 -> Tree Appearance -> Compact Middle Packages 설정해제 이렇게 해주면 문제가 사라진다.

2022.04.30

[CS] Gbps 와 GBps 의 차이

계산문제를 풀 일이 있어서 이것저것 풀어보는 중이었는데 도무지 안풀리는 문제에서 막혀서 거진 30분은 소비했다. 자꾸 말도 안되는 숫자가 나와서 뭔가 이상하다는 낌새를 느꼈다. 보통 숫자들은 딱 들어맞는데 계산결과가 틀어지는 이유는 십중팔구 단위에 있다고 생각했다. 내가 단위에 대해서 뭔가 실수했거나 단위 변환에 있어서 숫자를 틀렸거나 아니면 애초에 단위 변환 과정 자체에 오해가 있다는 생각을 하게 되었다. 그리고 이러한 고민들이 맞았다는 것을 곧 알게 되었다. Gbps 와 GBps 를 보자면 슬쩍 보면 정말 비슷하다. 별생각없이 그냥 풀면 틀리기 쉽다. Gbps 는 gigabit per second 이다. GBps 는 gigabyte per second 이다. 완전히 다른 내용이다. 아래 그림을 참고해..

개발 정보 2022.04.21

[C] 환경변수를 출력하는 envp의 미스터리한 동작 발견. 이유가 대체 뭘까요? <extern char ** environ;> (1)

야밤에 치킨을 먹고 쉬던 와중에 친구에게 연락이 왔다. 그리고 친구와 오랜만에 c 코드를 잠깐 살피게 되었다. 간단한 코드인데 어떻게 제출할지가 살짝 애매해서 고민하고 있었다. 방법을 찾으려고 이것 저것 건드려보면서 30분은 떠든것 같다. 그러다가 굉장히 납득하기 어려운 동작을 하는 코드가 탄생했다. 아무리 생각해도 이해가 가지 않는 동작이라 조금만 더 살펴볼까 한다. 분명 우리가 모르는 무언가가 있을 것이라고 생각하고 이리저리 살펴봤는데도 그럼에도 불구하고 신기한 코드이다. 이제부터 설명을 하도록 하겠다. 우선 우리의 목적은 간단하다. /usr/bin/env 는 환경변수를 모두 출력시키는 동작을 한다. 그리고 우리는 그 환경변수에 ENV1=value1, ENV2=value2 라는 path 또한 추가해서..

C & C++/C 2022.04.13

최근 근황 2022년 04

최근 그냥 저냥 지내고 있다. 바쁘게 보내고 있다. 뭔가 해답을 찾은것 같다. 이야기를 나눠보고 싶은 분이 계셨다. 생판 모르는 분이었는데 친분과는 별개로 생판 모르는 분이더라도 물어보고 싶은게 있었다. 용기를 내서 개인적인 연락처를 받아서 정말 많은 질문을 했다. 혹 무례하게 보이진 않았을까 걱정했는데 친절하게 답변을 해주셨다. 말씀이 큰 도움이 되었다. 거기서 뭔가 답을 찾았다. 비유하자면 내가 정한 답안이 오지선다안에는 있기는 한건지 확인한것 같은 느낌이다. 그조차도 큰 도움이 되었다. 언제나 핵심은 그럼에도 불구하고 스스로 잘 하는 것이다. 꾸준히 그리고 천천히 나아가는건데 비단 운동이나 학문이나 연습이나 기록이나 뭐가 되었든 미시적이든 거시적이든 모든 과정에는 꾸준히 그리고 천천히 걸어가는 사람..

생각들 2022.04.10

[Bouncy-Castle] 자바 암호화 라이브러리 Bouncy-Catsle 을 사용해보자.

spring boot 로 새로운 프로젝트를 진행하고 있다. (프로젝트 github주소: https://github.com/yuny0623/2Hash) 암복호화 api 들을 만들려고 하는 중인데 새로운 기능을 추가할까 싶어서 무얼할까 고민해보다가 .pem 파일로 key 들을 만들어서 사용자에게 주는건 어떨지 고민하고 있었다. (사실 지금 api 를 만든다는 것 자체가 모순적이긴 하다. 서버에서 제공한다는게 모순적이다. 클라이언트에서 직접 만들고 본인이 사용한다면야 믿고 쓸 수 있겠지만 서버에서 private key 를 만들어서 준다는 것 자체가 살짝 치명적인 단점이라는 생각이 든다. 어쨋든 일단은 학습 목적이라 만들어볼까 한다. ) pem 키와 관련된 라이브러리가 있는데 그게 바로 Bouncy - Cats..

Computer Security 2022.04.09

[RSA] javax.crypto.IllegalBlockSizeException: Data must not be longer than 245 bytes 에러 발생

데이터 교환을 암복호화를 써서 하는 api 를 개발중인데 갑자기 위와 같은 에러가 발생했다. (사실 금요일이라 뭔가 엉뚱한게 땡겼다. 그래서 뜬금없이 암복호화를 만들어보기로 했다. 근데 잘안된다. 완전 막힘. ) javax.crypto.IllegalBlockSizeException: Data must not be longer than 245 bytes 무슨 말이냐면 즉 Data 는 245 바이트보다 길어서는 안된다는 이야기다. 역시나 변환하려고 하는 데이터가 좀 길다 싶었는데 이런 에러가 터지게 되었다. 이렇게 놓고 보니까 에러가 안나는게 오히려 이상한것 같기도 하다. 해결방법은 간단하다. 그냥 공개키는 키 교환에만 사용하고 데이터는 대칭키를 사용해서 암복호화하는 것이 가장 좋을 것 같다. 즉 전자서명에..

Computer Security 2022.04.08

[Springboot & Intellij] 9.png 나인패치 이미지란? 9Patch image

springboot 어플리케이션을 작성 중에 신기한 걸 발견했다. 이미지들이 레포에 올라가지 않게 하기 위해서 gitignore에 이미지형식을 적어주고 있었는데 png 를 작성할때마다 자꾸 9.png 라는 양식으로 자동완성이 되었다. 그런데 9.png ? 들어본적도 없고 이런 이름을 자동완성을 시켜준다는게 상당히 이상하게 느껴졌다. 다른 의미있는 이름으로 자동완성시켜준다면 어디선가 쓰겠거니 하겠는데 9.png 라고 하는 의미없는 네이밍이 신기하게 느껴졌다. 그래서 검색해보니 아마 이게 맞을지는 모르겠지만 안드로이드에서 사용하는 나인패치 이미지와 연관성이 있을것이라고 결론내렸다. 이외에는 9.png 와 관련된게 딱히 없었다. (검색창에 springboot 나인패치 이미지 or springboot 9.png..

[AWS] EC2를 사용하지 않을 경우 Elastic Ip / 탄력적 ip에서 과금 발생

아침에 일어나서 메일을 확인하는데 AWS로부터 처음보는 내용의 이메일이 도착했다. 요금이 발생했다는 이메일이었다. 모두 프리티어를 사용하고 있는 중인데 왜 요금이 발생할까 싶어서 AWS에 로그인해봤다. 결제대시보드에 아래와 같은 청구서를 확인할 수 있었다. 프리티어를 사용중인데 요금이 발생했다니 의아했다. AWS로 들어가서 확인해보니 Elastic Ip 즉 탄력적 ip에서 요금이 발생하고 있었다. 왜 여기서 요금이 발생할까에 대한 궁금증이 생겼는데 순간 예전에 블로그에서 읽었던 내용이 스쳐지나갔다. (사실 위에 과금 고지문을 잘 보면 0.005 per elastic ip address not attached to running instance per hour 라는 문구를 확인할 수 있다. 즉 말 그대로 ..

클라우드/AWS 2022.04.08
반응형