전체 글
-
내가 하는 CSS 가운데 정렬(내용 추가 예정)웹개발/HTML&CSS 2022. 9. 15. 19:55
CSS를 작업하고 있노라면, 항상 파워포인트가 그리워진다. 파워포인트는 대상을 누르고 가운데 정렬만 하면 어느새 화면 정가운데에 정렬되어 있다. 하지만 CSS는 모든 작업을 언어로 해야 한다. 사람과 사람 사이의 소통도 어렵지만 사람과 컴퓨터 사이의 소통도 마찬가지라는 것을 CSS를 통해 깨닫는다. 우선 빈 페이지에 뭐라도 그리기 시작하고 보면 항상 모든 도형들이 왼쪽 위부터 정렬되는 것이 눈에 거슬린다. 이 때문에 곧 가운데 정렬 하는 방법을 찾게 된다. Flexbox 를 이용한 가운데 정렬 일단 내가 가장 많이 쓰는 가운데 정렬 방법이다. .container { width: 100%; height: 100%; display: flex; justify-content: center; } .square{ ..
-
JavaScript / 'var' vs 'let' vs 'const'웹개발/JavaScript 2022. 8. 23. 21:30
모든 언어의 기초 중의 기초. 변수에 값을 할당하는 방법! JavaScript 를 처음 공부하게 되면 어려운 내용을 피하기 위해 변수 선언을 'var'로 한다. 하지만 기본적인 내용을 이해하고 나서는 ES6 부터 도입된 'let'과 'const'의 사용을 고려하게 된다. 'let'과 'const'의 도입 배경에 대해서 알고나면 언제 이 키워드를 써서 변수를 선언해야 할지 감이 온다. 'var'로 선언된 변수들은 문제를 안고 있다. 바로 너무 유연하다는 것. 전역에 'var'로 선언된 변수는 함수 내 영역에서 동일하게 생성하여 할당하면 값이 변경되기도 한다. 'let'과 'const'는 블록 레벨 스코프를 따른다. '{ }' 안에서 선언된 변수는 괄호 안에서만 사용되고 잊혀진다. 'let'과 'const'..
-
'비트코인, 공개 블록체인 프로그래밍' 공부 / 1장 서론블록체인 공부/비트코인 2022. 4. 1. 23:23
비트코인이란 무엇인가? 비트코인이란 디지털 통화 생태계의 근간을 이루는 개념 및 기술을 아우르는 용어다. 비트코인으로 우리는 기존의 통화로 할 수 있는 일을 대부분 할 수 있다. 비트코인은 전적으로 가상화폐이다. 비트코인은 송신자가 수신자에게 가치를 전송하는 거래 내에 존재한다. 비트코인 네트워크 내에서 각 이용자들은 비트코인의 소유권을 입증할 수 있는 키를 가진다. 비트코인은 분산화된 P2P 시스템이다. 비트코인은 '채굴'이라는 네트워크 내 존재하는 수학적 알고리즘 문제를 푸는 과정을 통해서 생성된다. 비트코인 프로토콜은 전 네트워크에 걸쳐 채굴 작업 기능을 규정하는 알고리즘이 포함되어 있다. 비트코인의 구성요소 - 분산화된 P2P 네트워크 - 공개거래장부 - 분산화된 수학적 결정론적 통화 발행 - 분..
-
[Node.js] express.Router로 라우팅하기웹개발/Node.js 2021. 8. 28. 16:02
node.js가 서버를 구성하기 위해 만들어진 런타임이라고 한다. node.js가 지원하는 내장함수를 통해서 가벼운 서비스는 수월하게 만들 수 있다. 하지만 내장함수만을 이용하여 서버를 만들기는 귀찮은 일이 많다. 특히 라우팅이 그렇다. node.js 내장함수만을 이용하여 만들려면 일일이 조건문을 통해 어떤 url을 통하여 들어왔는지 검사를 해야하며 메소드도 체크해줘야 한다. 적어도 라우팅만이라도 훨 간편하게 하기 위해서 express 프레임워크가 필요하다. 익스프레스의 Router 객체는 쓰기가 매우 편리하다. 먼저 예제를 살펴보자. // index.js 파일 const express = require('express'); const router = express.Router(); router.get(..
-
[Node.js] multer 미들웨어로 파일 받기웹개발/Node.js 2021. 8. 28. 14:11
multer는 사용자에게 파일을 업로드 받게 하는 미들웨어이다. 우선 multer를 이해하기 위해서 Node.js의 미들웨어 작동 형식을 알아보자. app.use( morgan('dev'), express.static('/', path.join(__dirname, 'public')), express.json(), express.urlencoded({extended: false}), cookieParser(process.env.COOKIE_SECRET), ); 위의 코드는 express 프레임워크를 통해서 만든 app이라는 서버에 미들웨어를 연결시키는 것이다. 숨겨진 메커니즘은 쉼표로 구분되는 각각의 미들웨어가 사실 next 함수의 호출로 연결된다는 것이다. 따라서 next 함수의 실행으로 클라이언트의 요..
-
[RedHat 개발자 포럼] 어플리케이션의 현대화 - 컨테이너 & 마이크로서비스카테고리 없음 2021. 7. 27. 18:59
모든 클라이언트와 환경에서 쓸 수 있게 끔 하는 것이 어플리케이션의 현대화 목표 1. 기존 기능, 데이터 사용 2. 새로운 이점을 어플에 가져오기 컨테이너 배포 운영 시 문제점 -> 복잡한 설치 통합 요구 => 하나로 모아 어플리케이션 공유 및 배포 가상머신과의 차이점은 OS 비종속적 # 컨테이너 오케스트레이션 : 여러 노드를 한꺼번에 운영 ex)쿠버네티스 클라우드 네이티브 어플리케이션 개발 배포 방식 변화 -> 클라우드 환경에 적합한 어플 환경 마이크로서비스 아키텍쳐 비즈니스 기능 별로 작게 구성, 독립 배포 가능, 느슨하게 결합 ex) Istio - 사이드카 어플에 존재. 아웃바운드 인바운드 데이터 모니터링 *느낀 점 세상에 웹개발도 헤매고 있는 마당에 클라우드 기술도 신경써야 하는 시간이 왔다. 사..
-
[ExoPlayer] PlayControlView UI 변경하기카테고리 없음 2020. 12. 20. 23:08
안녕하세요, 코드저장소 알락입니다. 저번 포스팅으로 ExoPlayer의 기본적인 사용을 설명해드렸습니다. 이 포스팅에서는 ExoPlayer가 지원하는 UI 내에서 Contoller View를 수정하는 것을 다루도록 하겠습니다. ExoPlayer는 안드로이드 어플리케이션에서 손쉽게 미디어 컨텐츠들을 재생할 수 있는 기능을 제공해주었습니다. 저는 그 중에서 음악 플레이어를 구현하는 기능을 보여드렸습니다. 저번 포스팅으로 완성한 음악 플레이어는 위와 같은 모습입니다. 아래쪽에 위치한 플레이어의 UI를 ExoPlayer에서는 Player Controller라고 합니다. ExoPlayer는 자체적으로 UI 컴포넌트를 제공해주어 개개발자의 UI Customization을 용이하게 합니다. 이번에도 샘플을 통해 확인..
-
[ExoPlayer] Android로 음악 플레이어 만들기카테고리 없음 2020. 12. 19. 21:37
안녕하세요, 코드저장소 알락입니다. 이번에 프로젝트를 하나 진행하면서 안드로이드 환경에서 음악 플레이어를 구현하게 되었습니다. 밑단부터 플레이어를 제작하기에는 시간이 촉박해서 이미 잘 만들어져있는 오픈소스를 찾고 있었는데, ExoPlayer가 눈에 띄었어요. 사용하다보니 괜찮은 오픈소스 플레이어인 것 같아 블로그에 소개드리려고 준비했습니다. ExoPlayer는 안드로이드의 어플리케이션 수준 미디어 플레이어 입니다. 안드로이드의 기존 MediaPlayer API를 대체하여 로컬 영역이나 인터넷에서의 오디오와 비디오를 재생할 수 있습니다. ExoPlayer는 현재 안드로이드 MediaPlayer API가 제공을 하고 있지 않는 기능들을 제공하고 있습니다(DASH, SmoothStreaming). MediaP..