[WallFit] 월핏: 무료 앱, 광고, Analytics - 3 만들면서 계속 바뀐 판단들 WallFit은 처음부터 비즈니스 모델이 명확한 앱은 아니었다. 결혼 기념으로 시작했고, 유료로 유지하기에는 진입장벽이 애매했고, 그래서 무료로 공개하기로 했다. 문제는 그 다음이었다. 무료로 풀면, 이 앱은 어떻게 유지할 것인가. 광고를 붙이되, 흐름을 깨지 않기 광고를 넣는 건 선택이 아니라 전제였다. 다만 기준은 분명했다. 사용 흐름을 끊는 위치에는
[WallFit] 월핏: 그리드, 여백, 비율 - 2 옵션이 아니라 결과를 만드는 설계 WallFit에서 가장 많은 시간을 쓴 부분은 의외로 눈에 잘 띄지 않는 영역이었다. 그리드, 여백, 비율. UI에서 보면 단순한 선택지처럼 보이지만, 이 앱에서는 이 세 가지가 사실상 전부였다. 그리드는 “배치 옵션”이 아니라 구조였다 WallFit에서 제공하는 1×2, 2×2, 2+1 같은 그리드는 장식적인 기능이
[WallFit] 월핏을 만들기로 한 이유 - 1 결혼 기념으로 시작된 앱 하나 WallFit은 시장 조사나 트렌드 분석에서 출발한 앱이 아니다. 사용자 인터뷰나 명확한 수익 모델을 세워두고 시작한 프로젝트도 아니었다. 시작은 아주 개인적인 이유였다. “이런 앱이 하나 있으면 좋겠어.” 그 말을 한 사람은, 지금의 아내였다. 필요하다는 말 하나로 시작된 개발 당시 아내는 여러 장의 사진을 한 화면에 배치해
container Kubernetes overview What is Kubernetes? Kubernetes is a portable, extensible open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. Popular container orchestration system Why Kubernetes? * Automatic binpacking (Managing container) * Horizontal scaling * Automated rollouts and rollbacks * Self-healing * Service discovery and load balancing * Secret and configuration management Ref:
container kubernetes logging fluent-bit deamonset 여기서는 fluent-bit deamonset 설정하면서 만난 문제점을 간단히 공유하고자 합니다. fluent-bit deamonset 설정 GitHub - fluent/fluent-bit-kubernetes-logging: Fluent Bit Kubernetes Daemonset 위 리포지토리를 참고해서 fluentbit 을 설치합니다. rbac 설정 먼저 RBAC for fluentbit 을 설정합니다.0 kubectl create -f https://raw.githubusercontent.com/fluent/fluent-bit-kubernetes-logging/master/fluent-bit-service-account.yaml $ kubectl create -f
aws Docker private registry 간편 설정 KOPS 이 전 글에서 kubernetes 에 docker private registry 를 사용하는 방법 에 대해 기술 했습니다. 하지만 막상 사용하다보면 매번 imagePullSecrets 을 입력해줘야하는 불편함이 있습니다. 해서 각 노드마다 docker.json 을 배포해주면 되지 않을까 싶어서 찾아보다보니 kops 에서 자체적으로 지원합니다. kops/security.md at master · kubernetes/kops · GitHub 위 링크를 가면
aws Kubernetes + private docker registry kubernetes 설정이 완료 되었으면, 이제 실제로 kubernetes 를 사용하기 위한 docker registry 연동 설정을 해보겠습니다. 보통 회사에서 사용할 때는 자체 private docker registry 를 사용하고 있을 겁니다. 이 registry 를 kubectl 을 이용해서 연동해봅시다. Set up Docker Registry Pull an Image from a Private Registry - Kubernetes 위 글을 참고
미분류 Opsworks agent error debugging 어느날 Prometheus alert이 와서 Portus 에 문제가 생겼음을 알렸습니다. Prerequisite * AWS Opsworks chef12 * ubuntu 16.04 디버깅 Disk Full 확인해보니 문제는 no space …. 이런 에러… $ df -h 로 보니 root가 disk full 입니다. 확인해보니 portus의 nginx 로그가 2GB 씩 stdout, stderr 두개…. 로그 지우고 nginx 재시작으로 임시 해결.. AWS opsworks
ios iOS app preview 동영상 생성 방법 iOS의 앱 미리보기 (app preview) 동영상(video) 를 올리고 싶을 경우, 동영상 편집을 해야하는데 상당히 번거롭습니다. 간단히 만드는 법을 여기 기록 합니다. 화면 기록(실제 디바이스) 실제 디바이스에서 화면기록을 이용합니다. 설정 > 제어 센터 > 제어 항목 사용자화 위의 메뉴로 들어가서 화면 기록 을 위로 올려서 손전등, 카메라 등이 있는
devops golang migrate 사용시 에러 필요성 예전 golang 코드에 사용하고 있는 db migration 관리 라이브러리: migrate이 라이브러리는 기존 레포에서, GitHub - mattes/migrate: Database migrations. CLI and Golang library. -> 아래 레포로 리포지토리가 변경되어 관리 중에 있었습니다. GitHub - golang-migrate/migrate: Database migrations. CLI and Golang library. 기존 코드 수정이 필요해서 README 를 읽기
container Kong api gateway 설정 - 2 Kong api gateway 설정 - 2 여기서는 플러그인 활성화 하고 적용 및 테스트 하는 과정을 기록합니다. 첫번째 내용은 여기에.. Kong api gateway 설정 - 1 | 9to5의 개발하면서 겪은 경험 인증 auth key auth 이제 인증 플러그인을 활성화 시켜보겠습니다. Plugins - Key Authentication | Kong - Open-Source API Management and Microservice Management
container Kong api gateway 설정 - 1 Kong api gateway 설정 - 1 RESTful api 를 외부로 노출하지 않고 사용하기 위해(authentication, audit 기능 사용을 위한) Kong API 도입을 검토중입니다. 그러기 위해 직접 테스트 해보면서 내용을 여기에 정리하려 합니다. 관련된 모든 설치는 Docker 를 사용 하는 것으로 진행합니다. Prerequisite * kong 0.13.1 * dashboard v3.3.0
tip 피타고라스 계산기 배관일하는 친구가 자꾸 삼각형의 빗변(피타고라스....)를 구해달라고 한다. 계산기가 없다면서... 귀찮아서 여기에 만들어두고 링크를 주련다... // <![CDATA[ <p>// <![CDATA[ function calPythagorean() { var a = parseInt($('input[name=tri_a]').val()); var b = parseInt($('input[name=tri_b]').val()); $('input[name=result]'
rails Rails 5.2 업데이트 시 문제점 정리 Rails 5.2 업데이트 시 문제점 정리 개인 프로젝트로 관리중인 rails web server 를 ruby version 을 올리는 김에 같이 업데이트를 하려고 합니다. 기존 버전은 rails 5.0.3 이었고, 이번에 rails 5.2.0 으로 올리고 만난 에러들을 기록하려고 글을 씁니다. Update 먼저 Gemfile.lock 을 지우고 과감하게 update
aws kubernetes + Kops + ExternalDNS 정리 - 2 kubernetes + kops + externalDNS 정리 두번째 첫번째 내용은 여기서 확인 가능합니다. 여기서는 Route53 연동을 위한 ExternalDNS를 알아봅니다. kubernetes + kops with ExternalDNS 이제 service expose 가 필요한 Services 들을 위해 Route53 연동을 시작해봅시다. Install ExternalDNS external-dns/aws.md at master · kubernetes-incubator/external-dns · GitHub 위 링크에 가면 ExternalDNS on AWS 에 대한 설명이
aws kubernetes + Kops + ExternalDNS 정리 - 1 kubernetes + Kops + ExternalDNS 정리 AWS 서비스에서 kops를 활용해서 kubernetes cluster를 구성해보고, AWS의 DNS 서비스인 Route53에 ExternalDNS라는 Plugin을 통해 연동해보겠습니다. 이 글은 kubernetes study를 하며 알게된 부분을 정리하는데 목적이 있습니다. Prerequisite * kops 1.9.0 * kubectl client v1.10.1, server v1.9.3 * externalDNS **v0.5.0 * aws-cli/1.11.
aws Kubernetes on AWS + kops Kubernetes on AWS + kops Prerequisite * kops 1.9.0 * kubectl client v1.10.1, server v1.9.3 설치 아래 링크대로 따라서 설치 Following this ref 그리고 어김없이 찾아오는 에러... Error kops 로 클러스터 구성(after executing, kops update cluster —yes $NAME) 후에 아래와 같은 output 을 볼수 있습니다. ... Suggestions:
aws AWS t2 tier 이용하기 - swap memory AWS t2 tier 이용하기 - swap memory 문제점 회사에서 Aws t2.small 티어를 이용하던 중에 Alertmanager 로 부터 아래의 alert message 를 받게 되었습니다. 메시지를 확인해보니 제가 회사에서 관리하는 docker 모듈들을 간단히 web에 확인해보고자 설치한 Portainer | Simple management UI for Docker 인스턴스가 Memory swap 용량을 절반 이상을 사용했다고 합니다. Instance
rails HTML tag self closing issue Rails 개발 중 의문의 버그 환경 * Ruby 2.3.4 * Rails 5.0.4 증상 <div class="modal fade"> ... <%= form_tag "/videos", method: 'get' do %> <%= select_tag(:environment_id, options_for_select(['dev','prod']), class:
미분류 Rails spec + sidekiq 설정 Rails spec + sidekiq 설정 Rails 에서 rspec 과 sidekiq를 사용 하는 중에 local machine 에서는 별 문제가 없었는데, Drone · Continuous Deliver에서 test 기능을 사용하는 중에 문제가 생겼습니다. 문제점 drone 에서 rspec 실행시 error 발생 `localhost:6379` connection error 해결 찾아보니 rspec 실행시 sidekiq에서 redis 접속을 시도하는 문제였습니다. 참고: Testing · mperham/
javascript [Vuejs] Node 버전 업데이트시 `deprecated` message [Vuejs] Node 버전 업데이트시 deprecated message 상황 Vuejs 프로젝트를 작성 중에 배포를 위해 node 프로젝트를Dockerizing 하는 내용을 검색하기 위해 알아보았습니다. 그러다가 Dockerhub for nodejs 를 들어가게 되었더니…. 두둥!! 제가 쓰는 nodejs 버전이 없네요? (7.8.0) 그래서 이 참에 최신버전(당시 8.9.0)으로 nodejs를 올리기로 결정했습니다. 맥용 nodejs
css css 단위 rem, em css 단위 rem, em css 를 사용하다 보면 만나게 되는 단위인 rem 과 em 에 대해 정리합니다. em em 은 현재 font-size를 정의합니다. body { font-size: 14px; } div { font-size: 1.5em; // 14px * 1.5 = 21px } 위와 같이 설정을 한다면 body안의 폰트는 모두 14px 정의 될 것입니다. 그런데 만약 div 안의 font-size
미분류 Font awesome 아이콘 정렬 문제 Font awesome 아이콘 정렬 문제 상황 현재 Bootstrap 4 를 사용해서 프로젝트를 진행 중입니다. bootstrap 4는 버전이 beta 상태로 있지만 어차피 나중엔 쓸테니까 처음으로 시작하는 프로젝트는 모두 bootstrap 4 로 작성 중 입니다. Bootstrap 4 에는 기존에 있던 Glyphicons 가 사라졌습니다. 링크 참조 Migrating to v4 · Bootstrap 그래서 기존 Glyphicons
javascript Strings must use singlequote 에러 Strings must use singlequote 에러 Prerequisite * vue 2.8.2. * webpack 2.6.1 * eslint 3.19.0 문제점 Vuejs를 사용하면서 라이브러리를 사용하고 싶을 때가 생깁니다. 제 경우는 table 관련 라이브러리를 원해서 찾아보던 중, GitHub - vuejs/awesome-vue: A curated list of awesome things related to Vue.js) 이 곳에서
javascript 크로스 도메인 이슈 서문 요즘 마이크로 서비스가 대세입니다. 저는 요즘 Vuejs 를 이용한 Web app 을 만들려고 시도 중입니다. 이 웹앱을 마이크로 서비스로 만들려합니다. 이러한 경우에 만나는 문제가 바로 크로스 도메인 문제, CORS(Cross Origin Resource Sharing) 이슈입니다. 환경 현재 시스템은 localhost:8080 에 떠있는 RESTful API Server 에. localhost:8082에 떠있는 Web