전체 글
-
초보자가 정리한 Docker 사용법카테고리 없음 2020. 6. 28. 21:14
이번 포스팅에서는 도커를 직접 사용해보겠다! 도커 설치하기 도커는 리눅스 컨테이너 기술이므로 macOS나 windows에 설치할 경우 가상머신에 설치가 된다. 리눅스에 도커를 설치하는 방법은 자동 설치 스크립트를 이용하는 것이 가장 쉽다. 우선, 터미널에 아래의 코드를 입력하자. curl -fsSL https://get.docker.com/ | sudo sh 도커는 기본적으로 root 권한이 필요하다. Root가 아닌 사용자가 sudo 없이 사용하려면 해당 사용자를 도커 그룹에 추가해야한다. sudo usermod -aG docker ${USER} sudo service docer restart 주의 사항❗️ 도커를 실행하기 위한 kernel 버전은 3.10.x 이상. ubuntu 14.04 이상을 사용..
-
초보자가 작성한 Docker 정리카테고리 없음 2020. 6. 21. 22:29
이번에 4학년이 되어 듣는 수업이 있다. 바로, 졸업을 알리는 종합 설계 프로젝트! '시큐어코딩 온라인 저지'를 만드는 것이 주제인데, 써야 하는 기술 중 Docker가 있다. 아주 옛날 옛적에 프로젝트를 할 때 잠깐 써보긴 했지만, 아니나 다를까 바로 까먹었기 때문에 다시 공부도 할 겸 포스팅을 하려고 한다. 도커를 처음 접하는 분들에게 도움이 되길,, 컨테이너 기반의 오픈소스 가상화 플랫폼, 도커 서버에서 이야기하는 컨테이너는 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해준다. 백엔드 프로그램, 데이터베이스 서버, 메시지 큐등 어떤 프로그램도 컨테이너로 추상화 할 수 있고 조립 PC, AWS, Azure, Google Cloud ..
-
[안드로이드] 내장 DB로 Realm 사용하기안드로이드 2020. 6. 1. 19:23
슥삭을 개발하면서 내장 DB를 써야 할 일이 생겼다. 아니 사실은 그 전부터 쓸 일은 많았는데, 미루고 미루다가 드디어 적용했다! 안드로이드에서 사용할 수 있는 내장 DB의 종류는 꽤 많은데, 내가 Realm을 선택한 이유는 정말 간단하다. ✨Realm을 선택한 이유 ✨ 데이터를 객체 형태로 저장한다. (쿼리문 싫어,,,) 커뮤니티가 활발하다. (구글링 열심히 하자!) 자 이제 realm을 사용해보자. 0. 설치하기 아래 코드를 프로젝트 수준 build.gradle에 추가한다. buildscript { repositories { jcenter() } dependencies { classpath "io.realm:realm-gradle-plugin:3.5.0" } } 다음 코드를 애플리케이션 수준 buil..
-
[Web] 웹 개발할 때 쓰이는 javascript 기본 사용법 정리카테고리 없음 2020. 5. 15. 21:38
감사하게도 우아한테크캠프 2차 코딩테스트를 볼 수 있게 되었다! 🥺❤️ 그런데 뭔가,, 2차 코테는 알고리즘 문제를 푸는게 아니라 웹페이지를 구성하는 과제를 내줄 것 같은 느낌적인 느낌이 든다,, 웹 개발을 몇번 해보긴 했지만,, 익숙하진 않다 😭 일단 남은 시간동안이라도 간단한 플젝을 해보고 강의를 빠르게 들으면서 이미 알고있던 내용은 다시 한번 정리하고, 몰랐던 것은 기록해 두는 용으로 포스팅을 작성하려고 한다! 1. DOM(Document Object Model)으로 만들기 html에서 class나 id값을 지정해주고 js 파일에서 document를 통해 접근한다. 그리고 만들어진 DOM으로 html을 조종할 수 있다. const title = document.querySelector("#title..
-
javascript로 알고리즘 풀 때 유용한 메소드를 정리해보자알고리즘 2020. 5. 10. 02:09
내일 우아한테크캠프 코딩 테스트가 있다. (카카오에 이어 이틀 연속 코테,,) 우아한테크캠프는 웹프론트앤드 개발자를 위한 캠프여서 코딩 테스트에서 언어는 javascript만 사용할 수 있다! 😕 오마이갓. 나에게 javascript는,, 가깝고도 먼 존재인 것 같다. 사용을 꽤 해본 것 같긴한데, 그냥 다른 언어 쓰듯이 사용한 느낌..? 알고리즘을 풀 때 메소드를 잘 쓰는것도 매우 중요하므로, 유용한 메소드를 한번 정리해보겠다. 💁♀️ forEach for문과 같이 반복문을 수행하지만 index, 조건식, increase가 필요없고, callback 함수로 기능을 수행한다. const arr = [0, 1, 2, 3, 4, 5]; arr.forEach(element => console.log(elem..
-
Kruskal 알고리즘알고리즘 2020. 5. 3. 18:59
Programmers의 Greedy Kits 중 [섬 연결하기] 문제를 풀다가 좋은 방법이 없을까? 해서 찾게된 알고리즘. Kruskal 알고리즘이란? Greedy method를 이용하여 가중치를 간선에 할당한 그래프의 모든 정점을 최소 비용으로 연결하는 최적 해를 구하는 알고리즘 👉 Greedy method: 결정을 해야 할 때마다, 그 순간에 가장 좋다고 생각하는 것을 선택하며 최종적인 해답에 도달하는 것. 반드시 검증이 필요하다. 👉 최소 비용 신장트리 만드는 법: 1) 최소 비용의 간선으로 구성되며, 1) 사이클을 포함하지 않음의 조건에 근거해서 각 단계에서 사이클을 이루지 않는 최소 비용 간선을 선택. Kruskal 알고리즘의 동작 1. 그래프들의 간선들을 가중치의 오름차순으로 정렬 ..
-
BFS 알고리즘알고리즘 2020. 4. 17. 17:53
점점 알고리즘을 풀 일이 더 많아지면서, 이제 구글링을 하지 않고 내 블로그를 보면서 공부하기 위해 정리하는 알고리즘 포스트! (서론이 길다 🐶) 알고리즘 중에서도 정말 중요하고, 많은 문제를 해결할 수 있는 BFS 알고리즘이 첫번째 알고리즘 포스팅이닷 - BFS (Breath-First Search) BFS는 너비 우선 탐색 즉, 루트 노드에서 시작해서 인접한 노드를 먼저 탐색하는 알고리즘이다. 앞만 보고 직진하는 DFS(Depth-First Search)와 비교하면 천천히 탐색하면서 세력을 넓혀가는 느낌이랄까..? 이 알고리즘을 사용해야하는 문제는? 두 노드 사이의 최단 경로 혹은 임의의 경로를 찾고 싶을 때 많이 사용한다. 문제 예시 백준 - 1697번 숨바꼭질 https://www.acmicpc...
-
안드로이드 프로젝트에 RxJava 적용하기안드로이드 2020. 4. 12. 23:04
RxJava를 적용하여 비동기 작업이나 UI 이벤트를 효율적으로 처리해보자! 1. RxJava란? Reactive Extensions RxJava를 알아보려면, 먼저 'Reactive Extensions'에 대해 알아야 한다. 얘는 ReactiveX라고도 부르며, 이벤트 기반 비동기 프로그래밍을 위한 라이브러리이다. Reactive Extensions은 매 이벤트마다 그에 대응하는 동작을 정의하는 기존의 이벤트 처리 방식인 콜백 방식과 달리 발생하는 이벤트를 이벤트 스트림에 전달하고, 이벤트 스트림을 관찰하다가 원하는 이벤트를 감지하면 이에 따른 동작을 수행하는 방식을 사용한다. RxJava는 'Reactive Extensions' 라이브러리의 JVM 구현체로, Reactive Extensions 라이브..