🔏 AES 알고리즘2020. 06. 23.16분문제 관용 암호 방식 알고리즘 중 AES 알고리즘을 구현하라. 로직 128 bit AES Key Expansion Add Round Key Sub Bytes, Shift Rows, Mix Columns, Add Round Key * 9 Round Sub Bytes, Shift Rows, Add Round Key 코드 structures.h #ifndef STRUCTURES_H #define STRUCTURES_H // Encryption: Forward Rijndael S-box unsigned char …
🔐 RSA 알고리즘2020. 06. 23.4분문제 공개키 알고리즘 중 Rivest, Shamir, Adleman에 의해 설계된 RSA 알고리즘을 구현하라 로직 2개의 소수 (p, q)가 필요하다 n = p * q ϕ(n) = (p-1) * (q-1) e = e와 ϕ(n)의 서로소 d = e*d mod ϕ(n) = 1 c = m^e mod n m = c^d mod n …
블로그는 어떻게 만들까?2020. 06. 21.12분이 글은 블로그를 만들기 위해 필요한 프론트엔드와 백엔드 기술에 대해 설명하고 있다. HTML, CSS, JavaScript는 프론트엔드에서 사용되는 기술이며, LAMP 스택이나 리눅스, Nginx, PostgreSQL 등은 백엔드에서 사용되는 기술이다. 이외에도 서버 사이드 언어 등 다양한 기술을 사용할 수 있으며, 언어 및 프레임워크 선택은 개발자나 서비스의 목적에 따라 다를 수 있다.
TypeScript로 개발하는 Express2020. 06. 18.3분얼마전 장고에서 typescript를 사용하기 시작했는데 상당히 맘에드는 친구라서 본격적으로 typescript를 활용하고 싶어졌다. 일단 가장 만만한 express의 개발 환경을 ts로 구축해보면 다른 것도 대강은 구축이 수월할 것이라 생각된다. 패키지 설치 npm install -g typescript npm init -y npm install --save express npm install --save-dev @types/node @types/express @types가 붙은 패키지는 /뒤에 나열된 …
장고에 TypeScript와 SCSS 도입하기2020. 06. 09.8분프론트엔드 개발에서 ES6 문법과 TypeScript, SCSS를 도입하면서 코드의 가독성과 유지보수성이 높아졌다. 이를 위해 Node.js를 사용하여 자동으로 트랜스파일링하는 코드를 작성하였다. Python으로도 시도하였지만 Node.js가 더 효율적이었다.
파워쉘에서 C언어 컴파일2020. 06. 02.2분우선 윈도우에서 터미널을 활용하여 컴파일을 진행하기 위해선 Visual Studio의 설치가 선행되어야 한다. 이 글은 Visual Studio 2019를 기준으로 작성된다. 우선 Visual Studio를 설치하면 VS 명령 프롬프트가 함께 설치되는데 해당 프롬프트가 존재함에도 굳이 파워쉘을 사용하려는 이유는 VS 명령 프롬프트의 실행 속도(동작 가능한 상태가 되기까지의 시간)가 매우 느리기 때문이었다. 또한 Powershell을 주로 …
이번주에 본 개발관련 자료들 #32020. 05. 24.3분BLOG 디시인사이드의 문제점 # 요즘 밸로그에 인기있는 블로거다. 작성한 대부분의 글들이 밸로그 트랜드에 줄서있다. 욕설이 다수 포함되어 있지만 솔직하고 공감이 느껴지는 매력적인 글을 쓰시는 것 같다. 여하지간 그런 분께서 한국의 대형 커뮤니티 사이트인 디시인사이드의 문제점이라는 주제로 글을 쓰셨는데 대부분은 이미지와 관련된 문제점이다. 지적한 문제점은 다음과 같다. 🤭 실제로는 서버에서 삭제 …
CMD에서 리눅스 명령어 사용2020. 05. 15.2분윈도우에서 리눅스 명령어를 사용하는 방법에 대해 설명하고, 레지스트리를 이용하여 CMD에서도 리눅스 명령어를 사용할 수 있도록 하는 방법을 제시하고 있다. 필자는 PowerShell이나 GitBash를 사용하는 것보다 CMD에서도 리눅스 명령어를 사용할 수 있도록 설정하는 것이 더 효율적이라고 말하고 있다.
Linux Debian 개발환경 설정 가이드2020. 05. 15.8분IDE Visual Studio Code deb 패키지 C++ build-essentialsudo apt-get install -y gcc libc6-dev build-essential libglu1-mesa-dev Qt Creator QtCreator 다운로드 ./qt...online.run C# .Net Core https://docs.microsoft.com/ko-kr/dotnet/core/linux-prerequisites?tabs=netcore2x Unity 3D deb 패키지 Mono Kit Python pyenvsudo apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev …
🎲 주사위 프로그램2020. 05. 12.2분문제 로직 컴퓨터와 내가 주사위 2개를 굴린다. 주사위는 랜덤값으로 처리해야한다. (주사위 값을 안다면 그건 주사위가 아니기 때문에) 컴퓨터 주사위 2개, 내 주사위 2개를 랜덤값으로 초기화해야한다. 주사위 눈금의 합이 큰 쪽이 이긴다. 컴퓨터 주사위와 내 주사위의 값을 각각 더하는 변수가 필요하다. if문으로 컴퓨터가 이겼는지 내가 이겼는지 조건처리 해주면 됨 두 눈금이 …
명품이라 쓰고 사치품 혹은 호화품이라고 부르자2020. 05. 09.5분제목 명품이라 쓰고 사치품 혹은 호화품이라고 부르자 인상 깊은 핵심 문구 스스로가 명품인 사람은 그 어떤 것도 다 명품으로 만들 수 있다. 이 글을 어떻게 읽게 되었는지 최근 명품에 대한 이야기가 많이 들린다. 드라마만 봐도 몇화 어떤 장면에서 누가 입은 티셔츠가 얼마인지 검색하고 구매한다. 그만큼 자신에게 필요한 것보다는 누가 입었으니까, …
외롭다 생각하니 슬퍼졌다. 우울한걸까?2020. 05. 08.2분제목 외롭다 생각하니 슬퍼졌다. 우울한걸까? 인상 깊은 핵심 문구 외로움도 분노도 슬픔도 모두 고통이 아니다. 진정 고통은 애정과 용서와 기쁨만을 바라는 그 욕망이 아니겠는가. 이 글을 어떻게 읽게 되었는지 최근 너무 무기력하다고 느껴졌다. 힘도 들고, 피곤하기도 했다. 그러다 문득 외로운 것은 아닌가 하는 생각이 들었다. 외롭다고 생각하니 슬퍼졌다. 우울증일지도 모르겠다는 …
React Native Flexbox와 친해지기2020. 05. 07.8분React Native에선 Flexbox라는 형식으로 레이아웃 개발을 진행한다. 최신 웹 브라우저에서도 이 레이아웃이 작동하여 CSS 최신 방법론으로 알려져 있다. Flexbox는 다양한 화면 크기에서 일관된 레이아웃을 적용할 수 있다. 아래 내용은 대부분 공식문서인 "Layout with Flexbox #"을 인용하였다. Flex flex will define how your items are going to “fill” over the available …
React Native 개발환경 구축2020. 05. 07.4분들어가며 난 무언가를 시작하기전에 이게 왜 필요한지 어디에 활용되는지 반드시 파악하고 진행하는 편이다. 몇몇 자료를 찾아봤지만 아래의 글에서 무엇인가 깊고 진한 전문가의 향기가 났다. 여하지간 아래 글을 참고하여 RN의 특성을 파악하였다. [RN] React-Native의 장단점은? Expo Web(React Native for web) 튜토리얼 내용을 정리해보면 RN의 장점은 다음과 같이 추려진다. React를 알고 있다면 …
이번주에 본 개발관련 자료들 #22020. 05. 03.6분BLOG await의 함정, 숨은 병목을 찾자 # 나는 요즘 자바스크립트를 쓴다. 그리고 자연스럽게 async, await을 남발하는 나를 발견한다. 마음속에선 이걸 '차라리' 파이썬으로 짯다면 더 훌륭한 가독성으로 짤텐데라는 생각이 든다. 그리고 비동기를 처리할 일이 생기면? 스레드를 사용하겠지. 노드를 쓰면서도 노드의 장점을 하나도 활용하지 못한체 아직도 파이썬을 코딩하던 사고방식에 갖혀있는 것 같다. …
꿈2020. 04. 29.1분꿈 내 꿈은 무엇일까? 내 꿈은 명사일까, 동사일까? 정적일까, 동적일까? 내 가치관은 무엇일까? 내가 제일중요하게 생각한는 것은 무엇일까? 내가 지금 열심히 노력하는 이유는 무엇일까? 내 원대한 목표는 무엇일까? 내가 지금 바로 해결하고자 하는 목표는 무엇일까? 결국 행복해지기 위해서라면. 행복을 미래에서 찾는 것보다 지금 찾는게 낫지 않을까? 내가 진정으로 원하는 것이 …
선호2020. 04. 29.0분통제되지 않는 공간보다 통제된 공간을 선호한다. 수 많은 사람들로 혼잡하게 붐비는 콘서트장보다는 비교적 적은 사람들이 모이는 뮤지컬 극장이나 영화관을 선호한다. 사람이 많은 공간보다 적은 공간이 좋다. 나는 수 많은 사람들로부터 두려움이 생긴다. 오픈된 식당보다는 룸이 좋다. 사람이 많은 맛집보다는 나만 아는 맛집이 좋다. 사람들과 금방 친해지지만, 깊어지지는 않는다. 하지만 특정 …
Electron 시작하기 (With React)2020. 04. 24.17분일렉트론은 Web Stack을 이용하여 데스크톱 어플리케이션을 개발할 수 있는 도구이다. GitHub에서 Atom을 제작하기 위해서 만들었으며 일렉트론을 사용하여 만들어진 어플리케이션은 Slack, VS Code, Discord가 있다. 기본적으로 크로미움을 내장하고 있는 것으로 보인다. 프레임워크 구성 main.js 메인 프로세스 데스크톱 앱의 백엔드 역할을 수행 앱 자체의 총괄적인 부분(Node.js와 거의 동일) 업데이트 제어 OS GUI …
스레드 리뉴얼2020. 04. 23.2분간만에 작성하는 업데이트 일지. 오늘은 스레드의 리뉴얼에 관한 내용이다. 최초에 스레드는 임시 메모장 혹은 동적으로 채워가는 포스트 정도로 생각하고 기능을 구현하였다. 가령 업데이트 노트처럼 내용이 별로 없는 글을 최신순으로 나열해서 보여주는 방식이다. 하지만 문제점이 몇가지 보이기 시작했다. 스토리를 한 눈에 파악하기 힘들다. 스레드엔 목차라는 개념이 없었기에 특정한 스토리를 찾아보기가 매우 …
이번주에 본 개발관련 자료들 #12020. 04. 22.6분BLOG 알고리즘 공부, 어떻게 해야하나요? # 알고리즘을 해결하는 실력을 키우려면 1.구현력 2.문제해결능력 3. 배경지식에 대한 능력을 향상시켜야 한다. 또한 글의 저자는 컴퓨팅적 사고력을 기르기 위한 문제로 BOJ 모든 '별찍기'와 'n과 m' 시리즈를 풀어보길 권하고 있다. 구현력 : '대충 어떻게 짜라는지 알겠는데 코드로 못 만들겠다' 이런 생각이 든다면 이 능력이 부족한 …
나도 놀면서 일하고 싶다.; 천재들과 비교하며 한없이 낮아지는 나에게2020. 04. 20.6분제목 나도 놀면서 일하고 싶다.; 천재들과 비교하며 한없이 낮아지는 나에게 인상 깊은 핵심 문구 당신은 나의 영원한 적입니다. 욕망을 주셨으면 재능도 주셨어야지. 끝까지 가면 내가 다 이겨 읽었으면 하는 독자 이 글은 결국 노력에 대한 글이다. 지루하고 시시할지도 모르겠지만, 갑작스러운 번아웃이나, 목표가 좌절되었을 때, 허무감이 몰려올 때 마음을 다잡고자 그간 …
R 프로그래밍 기본 문법 정리2020. 04. 20.12분잠시동안 배운 R 어쩌다 R 프로그래밍 언어를 배울 기회가 있었는데, 새로운 언어를 익히는 건 재미있었지만 너무 수학적인 언어라 다시 쓸일이 있을까 싶은 생각이 든다. 여하간 이번에 배운 R 프로그래밍 기본 문법을 블로그에 정리해 둘 생각이다. 1. 변수의 이름 변수의 이름에는 . _ 등이 올 수 있다. .은 먼저 사용할 수 …
깃허브 커밋 히스토리 초기화 방법2020. 04. 19.5분깃허브를 사용하면서 깔끔한 커밋 히스토리를 만들고 싶은 사람들을 위한 글이다. 커밋 규칙과 ReadMe 작성 방법 등을 다루며, 중요한 내용을 간추려 예쁘게 만드는 것이 중요하다는 견해를 밝힌다.
‘내 삶이 나아질 수 없음’을 받아들이는 것이 아닌, 행복을 향하는 진정한 수용의 의미2020. 04. 15.3분제목 세수를 위한 용기; ‘내 삶이 나아질 수 없음’을 받아들이는 것이 아닌, 행복을 향하는 진정한 수용의 의미 인상 깊은 핵심 문구 제가 변화시킬 수 없는 것을 받아들이는 평온과, 변화시킬 수 있는 것을 변화시키는 용기와, 이것을 분별하는 지혜를 주소서 이 글을 어떻게 읽게 되었는지 확신이 없었다. 내가 옳다는. 전공 공부를 계속 …