GoでBasic認証を実装する

こんにちは、daihaseです。 久々のブログ記事です。今日はGolangを使ってBasic認証を実装してみます。Basic認証はご存知、ユーザー名、パスワードを組み合わせた非常にシンプルな認証方式です。管理画面なんかでもよく見ますね。 こちら、Golangではnet/http…

SwiftでTwitterとかにあるような「○○分前」といった表記を実現する

こんばんは、daihaseです。 タイトルにあるように「○○分前」「○○時間前」といったTwitterを始め、ユーザーの投稿一覧なんかを表示するアプリではおきまりの表記、こちらのSwiftでの実装方法を説明したいと思います。 まず日付となるとDateクラスですね。こち…

GoでProtocol Buffersを使う

こんにちは、daihaseです。 今回はGoとProtocol Buffersを使った記事を書きたいと思います。 まずProtocol Buffersですが、こちらはGoogleによって2008年に開発されたもので、一言でいうと言語やプラットフォームに依存せずに構造化されたデータをシリアライ…

軽量Webツールキット gorilla/mux

こんばんは、daihaseです。 今回は前回紹介したhttprouterのように軽量、それでいてAPI開発などをより楽にしてくれるWebツールキット、gorilla/muxを紹介したいと思います。 gorilla/muxには、Webアプリケーションのルーティング方法を制御するためのオプシ…

軽量HTTProuter(httprouter)

こんにちは、daihaseです。 今日は前回やった「net/httpパッケージを使ったWebサーバー」、このような処理もライブラリを使ってもっと楽に!そして高性能に!というのをお題とします。 そこで紹介するのがhttprouter。GitHubのスター数も凄いですね。これが…

EC2上でmonitを使ってApacheを自動再起動化

AWS

こんにちは、daihaseです。 今日はプロセス監視ツールのmonitを使ってApacheを自動で再起動させる仕組みを作ってみます。環境は色々あると思いますが、ここではAWS EC2(Amazon Linux)とします。

dockerコマンド実行時の「Got permission denied while trying to connect to the Docker daemon socket」

こんばんは、daihaseです。 今日はdockerついて。 Ubuntu(18.04)環境にdockerをインストールし、早速dockerコマンドを叩いたらタイトルのようなメッセージが出て叩けませんでした。 dockerコマンドはデフォルトではroot権限なしには叩けないようになっていま…

net/httpパッケージを使ったWebサーバー

こんにちは、daihaseです。 今日はGoを使った最も簡単なWebサーバーの構築を説明したいと思います。PHP, Java, Ruby... サーバーサイドを実装する言語は多くありますが、このGoを使ったWebサーバーの実装はその中でも最も簡単と言えるくらいです。 Goは非常…

曜日や日付を簡単に取得するExtension

こんばんは、daihaseです。 1ヶ月ぶりくらいのブログです。今日は大好きなSwiftネタを久々に。 Dateを使った日付表示とかはツール系のアプリでもよく出てきますね。 その度に毎回 let dateFormatter = DateFormatter() なんて書いてたら微妙なんで、ここはDa…

Cannot allocate memory for the buffer pool でMySQLが落ちる

こんにちは、daihaseです。 先日、実は当ブログが一時的に接続出来ない状態となっていました。 直ぐに復旧はしましたが、原因はタイトルにもある「バッファプールへのメモリ割り当てが足りていない」というものでした。 当初このブログもAWSのt1.microで動か…

docker: Error response from daemon: driver failed programming external connectivity on endpoint xxx (xxx):x Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE). が出たら...

こんばんは、daihaseです。 はい、異様に長いタイトルですね。Dockerのエラーなんですが、最初にMacでコンテナを走らせようとすると1度くらいは遭遇するコレ。その解決方法をメモ。

operation not permittedが発生する場合の対処法

Mac

こんばんは、daihaseです。 先日新しいMacBookProを新調したのですが、その際タイトルにある問題が発生したのでその時の対処法をメモ。

MacでRailsのアップデート

こんばんわ、daihaseです。 先月Rails5.2.0がリリースされましたね。そこで今日はRailsのアップデートをメモ。

Swift製お絵描きライブラリを作ってみました

こんばんは、daihaseです。 1年ぶりくらいにSwiftでOSSを作ってみました。 github.com

Dockerコマンド入力時、could not read CA certificate〜 が出た場合の対策

こんにちは、daihaseです。 みなさんDocker使ってますか? 数年前はVirtualBoxやVagrantなど開発時には欠かすことの出来ないツールでしたが、最近はDockerもどんどん浸透してってますね。 ということで、今回はdockerコマンド入力時に「could not read CA ce…

Ubuntu環境にVirtualBoxをインストール

こんばんは、daihaseです。 今日はUbuntu(16.04)にVirtualBoxをインストールする方法を。 基本apt-getでインストールしますが、そのままだと古いものしかインストールできないのでOracleの公開しているリポジトリを使ってインストールしてやります。 基本的…

iOSのカメラやアルバムへのアクセス許可などを一元管理するラッパークラス

こんばんは、daihaseです。 今夜もSwiftネタを書いてみます。 iOSアプリでカメラにアクセスしたりアルバムから写真を引っ張ってきたりする際には、カメラへのアクセス許可周りなど考慮しないといけない点がいくつかあります。

SwiftでMD5を使った簡単ハッシュ化

こんばんわ、daihaseです。 今日もSwiftネタを。Swift強化月間。 お題の通り、Swiftを使って文字列をハッシュ化してみましょう。

アプリ開発で色情報を管理する

こんにちは、daihaseです。今日はSwiftネタを。 アプリ開発をしていて、背景の色だったりタイトルの色だったり、皆さまこの辺どんな風に管理していますでしょうか。

文字列から高さと幅を取得する

こんにちは、daihaseです。 ちょっと久々の投稿になりますが、今日はSwiftネタを。 開発をしていると文字列から高さ・幅を取得したい時って出てこないですかね? そんなちょっとしたTipsを紹介。

GolangのGOPATHやGOROOTについて

こんにちは、daihaseです。 Goの環境をインストールする際など、ググるとよくGOROOTやGOPATHについて色々出てくると思います。こちらどういった環境にするかにもよりますが、基本的に以下のように考えて問題ありません。 GOROOTは基本設定しなくて良い GOPAT…

UIImageをリサイズして返すメソッド

こんにちは、daihaseです。 今日はまた久々にSwiftネタを。 お題にあるUIImageをリサイズして返すメソッドですが、使い道としては、例えばアプリ側で取得した画像をサーバーにアップする際に、通常だと縦横サイズが大きすぎるので容量もデカくなってしまいま…

Ubuntuで動画再生環境を

こんばんは、daihaseです。 今日もUbuntuネタを。 動画再生環境などと銘打ってますが、普通にドライブで映画DVDなどを再生させるための方法です。

Ubuntuデスクトップ環境を日本語から英語に変更する

こんばんわ、daihaseです。 Ubuntuをセットアップしてから、後から「やっぱり英語化しとけばよかった」なんて思ったことはないでしょうか? 実はUbuntuは簡単に設定ファイルを書き換えるだけでサクっと変更出来てしまうので今日はそれを紹介。

MySQL接続エラー [Error: ER_HOST_IS_BLOCKED: Host '〜' is blocked because of many connection errors]

こんばんは、daihaseです。 今日はMySQLに関する設定について。 ある日モニタリングサービス経由で「おたくのDBが止まったよ」的なエラー報告が。 ログを見てみると

UIViewの指定した箇所を角丸にする

こんばんは、daihaseです。 今日は久々のSwiftネタを。というか久々のブログを。 UIViewの指定した箇所を角丸にする方法。 例えば全体を角丸にするには let roundedView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 50)) roundedView.layer.cor…

コードでグラデーションのUIViewを作る

こんばんわ、daihaseです。 久々の投稿です。 今日はSwiftでグラデーションのUIViewの作り方を。StoryboardやXibは使わずにコードだけでやってみます。 まずファイル名は何でもいいので、UIViewを継承したカスタムViewを作りましょう。ここではGradientView.…

Node.jsで開発環境を切り替え

こんばんわ、daihaseです。 段々寒い季節になってきましたね。自分もまさかの若干風邪気味です...。 気を取り直し、今日はNode.jsを使った開発に関する内容を。 Node.jsのプロジェクトでは起動時に、どの環境設定を元に立ち上げるかを指定することが出来ます…

UIColorを指定してUIImageを返すメソッド

こんばんわ、daihaseです。 今日はUIColorを引数にあたえてそれをUIImageとして返してくれるメソッドを紹介します。

StoryboardとUIViewControllerを使ったポップアップビュー

こんばんわ、daihaseです。 ツール系のアプリ開発をしていて、必ずといって言いほど使われるポップアップビュー。何かボタンを押下した時に画面に「にゅ」っと出てきたりする小窓みたいなやつのことですね。 それの実装方法を紹介。いくつかあるのですがここ…