백준에서 요구하는 input 작성 법

프로그래머스 문제를 풀다가 백준 문제를 보게되면 “???? 뭐지? 반환 값으로 값 받는건가?”, “input은 인자로 받는 건가?” 헷갈립니다. “백준에서 요구하는 input” 을 한 번 검색하고 나서야 어느 정도 힌트를 얻을 수 있었습니다. 이번 포스트에서는 백준에서 요구하는 input을 어떻게 코드로 작성하는지 정리해보았습니다. 백준에서 요구하는 input을 작성하기 위한 기본 개념 map 함수 map 함수는 주어진 함수를 iterable의 각 … Read more

알고리즘 공부 시작

“알고리즘”을 딱히 공부한 적이 없어서 알고리즘 공부를 시작하면서 글을 정리해보았습니다. 알고리즘을 따로 공부하지 않았지만 백준이나 프로그래머스 문제가 낮은 난이도의 문제지만 풀리는 걸 보면서 새삼 신기하기도 했습니다. Bioinformatics로 일하면서 문제를 해결했던 게 곧 “브루트 포스” 였고 “그리디 알고리즘” 이였다는 걸 이제 와서 깨달은 거였죠…ㅎㅎ 여러 알고리즘 기법들이 있기에 이에 대해서 앞으로 공부하면서 정리할 예정입니다. 오늘은 알고리즘이란 … Read more

비밀번호 해싱 : 보안을 위한 기본 개념

“비밀번호 해싱“은 보안을 강화하기 위해 사용되는 기술 중 하나로, 사용자의 비밀번호를 안전하게 저장하는 방법입니다. 기본 아이디어는 일방향 함수를 사용하여 비밀번호를 변환하고, 이 변환된 값(해시)을 저장하는 것입니다. 사용자가 웹사이트나 앱에서 새 계정을 만들 때마다 사용자 이름과 비밀번호는 일반 텍스트 형식으로 저장되지 않습니다. 예를 들어 사용자 이름 netflix_user1 및 iLoveWatch1ngCom3dy를 비밀번호로 사용하여 Netflix에서 계정을 생성하는 경우 비밀번호는 … Read more

오픈소스, 프리웨어의 특징과 라이선스의 이해

‘오픈소스’ 는 얼핏보면 프리웨어와 동일한 개념처럼 보입니다. 그리고 오픈소스면 무료이기에 라이선스와는 상관이 없어 보입니다. 하지만 이는 모두 틀린 사실 입니다. 라이선스는 프로젝트를 시작할 때 고려 해야하는 중요한 요소 중 하나 입니다. 이번 포스트에서는 오픈소스란 무엇인지 정리하고 이와 유사한 개념들에 대한 이해를 돕는 내용으로 구성하였습니다. 또한 라이선스에는 무엇이 있고 어떻게 다른지 정리해보았습니다. 해당 포스트를 작성하기 위해 … Read more

SDK (Software Development Kit)와 IDE (Integrated Development Environment)

SDK 는 얼핏 보면 ‘IDE와 뭐가 다른거지?’ 싶습니다. 이번 포스트에서는 SDK란 무엇인지 정리해보고 IDE랑은 차이가 무엇인지 알아보겠습니다. SDK (Software Development Kit) SDK (소프트웨어 개발 키트)는 소프트웨어 개발자를 위한 도구 상자와 같습니다. 개발자가 특정 플랫폼, 하드웨어용 소프트웨어 애플리케이션을 만드는 데 사용하는 소프트웨어 도구, 라이브러리, 문서 및 샘플 코드의 모음입니다. 예를 들어 모바일 앱을 구축하는 경우 사용자 … Read more

미들웨어 (Middleware)

‘미들웨어‘ 라는 용어는 아마 정보처리기사 자격증을 공부하면서 처음 들었던 것 같습니다. 당시에는 ‘소프트웨어도 아니고 하드웨어도 아닌 것이 뭐야?’ 하면서 봤던 기억이 있습니다. 정확한 정의를 말하려고 하니 ‘WAS 같은 것?’ 언뜻 말이 나오지 않네요. 이번 포스트에서는 미들웨어란 무엇인가 간단히 정리해보았습니다. 미들웨어란? “미들웨어”라는 용어는 일반적으로 서로 다른 구성 요소나 시스템 간의 중개 계층 역할을 하는 소프트웨어를 의미합니다. … Read more

마크다운 / 마크업

‘마크다운’ 은 gitlab과 옵시디언, README 파일을 편집해 보면서 사용해 본 적이 있습니다. 특정 규칙을 사용하면 텍스트를 손쉽게 표현 할 수 있는 게 마크다운이라고 어렴풋이 알고 사용해왔습니다. 이번 포스트에서는 어렴풋이 알고 쓰던 마크다운의 정확한 정의는 무엇인지 그리고 마크업은 또 무엇인지 정리해봅니다. 마크업 (Markup) 마크업 언어는 구문적으로 텍스트와 구별되는 방식으로 문서에 주석을 추가하는 시스템입니다. 마크업은 문서의 구조, … Read more

트래픽

트래픽(traffic)이란 컴퓨터 네트워크에서 전송되는 데이터의 양을 나타내는 용어입니다. 이것은 사용자가 웹 페이지를 방문하거나 파일을 업로드/다운로드하거나 어떤 서비스를 이용할 때 발생하는 데이터 전송량을 포함합니다. 웹사이트에 트래픽이 많다는 것은 사용자 접속이 많아서 전송하는 데이터의 양이 많다는 것을 뜻합니다 트래픽 모니터링 하는 법 그렇다면 트래픽은 어떻게 모니터링 할 수 있을까요? AWS를 기준으로 트래픽을 모니터링 하는 방법은 다음과 같습니다. CloudWatch … Read more

프레임워크 (Framework) vs 라이브러리(Library)

처음 개발하는 법을 배울 때 ‘라이브러리‘ 는 import해서 사용할 수 있는 툴 같은 느낌이였고 ‘프레임워크‘ 는 Spring이나 Django 처럼 덩치가 큰 툴 같은 느낌 이였습니다. 이런 느낌 적 느낌 말고 실제로 프레임워크 ,라이브러리란 무엇이고 이 둘의 차이가 무엇인지에 대해 정리해보았습니다. 프레임워크 프레임워크는 애플리케이션 구축을 위한 기반을 제공하는 사전 설정되고 재사용 가능한 소프트웨어 아키텍처입니다. 프레임워크의 주요 … Read more

JSON 개념

JSON (JavaScript Object Notation)은 자바스크립트 객체 문법으로 구조화된 데이터를 전송하는 데이터 교환 형식입니다. JSON 특징 데이터 구조 키-값 쌍과 배열을 사용하여 데이터를 표현하므로 구조화된 데이터를 계층적 방식으로 구성할 수 있습니다. 언어 독립성 JavaScript에 국한되지 않고 다양한 프로그래밍 언어에서 광범위하게 지원되므로 서로 다른 시스템 간의 상호 운용이 가능합니다. 다음과 같은 Data.json 파일이 있다고 할 때 JavaScript과 … Read more