Close icon
2018月06日20日

HackMD + Nginxで社内ナレッジをイイ感じに整理する

導入背景

弊社ではBacklogを使ってプロジェクト管理をしています。
そのBacklogではWikiや課題に対するコメントにTipsとか問題解決策とか様々な社内ナレッジが蓄積されています。
蓄積されてはいます…が…それが散在していて中々探しづらい、または似たような記事があったりするため、整理しようと思いたちました。

どのツールを使用するか?

整理しようとは思いましたが、どんな方法で、どんなツールを使用するか色々と悩みました。
が、以下のようなメリットから HackMD を使用することにしました。

  • リアルタイムプレビュー
  • URLから共同編集ができる
  • スライドモード(社内会議で使える)
  • Tag管理
  • パッと開いてすぐ書ける(←これ大事)

HackMDのTOP画面
凄くシンプルなTOP画面です。
新しく作る・削除する・検索する、とやりたいことがコンパクトにまとまっています。

2018月06日17日

JavaScript の文字列検索と使い分け

JavaScript で文字列を検索する場合、いくつかの方法が用意されている。

  • indexOf
  • match
  • test
  • search

とりあえず違いを表にしてみた。他にも exec とかあった気がするけど、とりあえず。

単純な文字列 正規表現 戻り値 クラス
indexOf × Integer (マッチしたインデックス) String
match Integer (マッチしたインデックス) String
test Bool RegExp
search Integer (マッチしたインデックス) String

使い分けとベンチマーク

まずはそれぞれの検索スピードのベンチマークを資料として。

JavaScriptで文字列の有無判定方法の速度ベンチマーク(indexOf、match、test)

ちなみに上記の表で「単純検索」で△が多いのは、正規表現を使って単純検索するとかならできるから・・・みたいな感じです。

次にそれぞれの使い分け方をざっくり書いておく。

2018月06日13日

Xcode の Interface Builder で UIView(とその継承クラス)の角丸を設定できるようにする

最近 Swift やってます。すごく楽しいです。

さて。

Interface Builder・・・って今は呼ぶのかわからないけど、そこで設定できない UI の制御用のコードを viewDidLoad とかにいっぱい書くのが嫌になって調べたら、@IBInspectable というのを使うといろいろできることがわかったのでメモ。

extension UIView {
  @IBInspectable
  var cornerRadius: CGFloat {
    get {
      return self.layer.cornerRadius
    }
    set(radius) {
      self.layer.cornerRadius = radius
    }
  }
}

今回のサンプルは UIView の角丸設定を追加してみた。

2018月06日06日

Chrome の拡張機能 Markdown Preview Plus を入れてみた

社内の文書は多くが markdown で書かれています。画像が必要なら Adobe XD である程度作って、それを画像に書き出してmd文書に貼り付けたり、スクリーンショットを加工してmd文書に貼り付けたりしています。

markdown で管理している大きな理由

最大の理由は、markdown は基本はテキストなので git での管理との相性もいいこと。Excel とか git で管理すると複数人が同時に同じドキュメントを編集してると悲惨なことになるし・・・。

あとは Google Docs とかもいいとは思うんですが、あれだとファイル一式をパッと誰かに渡すことができませんね。ファイルを見るためにはアカウントを発行したり共有したりと地味に手間がかかってしまう。

ここからは個人的な少しお話。

時々 markdown なんて読みづらい!って指摘されるんですが、ビューア使えば問題ないし、ビューア入れるのめんどくさい!って言われても、個人的には Excel を起動するのもめんどくさい!って、平行線をたどってしまう・・・両者の主張は決して交わることができないのかと悲しい錯覚にも陥ってしまいます。

ちなみに後でデジタル印刷物的にドキュメントを納品する際にも、markdown をすべて PDF で書き出すなどすることである程度対応することもできますね。

2018月06日06日

Rails のルーティングをリソースの階層に合わせてネストさせる

あるある系の話でよく使うのだけど、なぜかよく忘れちゃったりもするのでメモも兼ねて書いておきます。

https://HOST/users/:id/diary/:id のようなルーティングを実現したい時の話です。

コントローラは users_controller、users のネームスペースの中に users/diaries_controller があると仮定します。

resources :users do
  scope module: :users do
    resources :diaries
  end 
end
2018月06日06日

RubyのNet::HTTPのリトライについて調べてみた

rubyでサーバーと連携するAPIを開発していてサーバーからの応答が遅い場合に、
リクエストが2回送信される現象があったのでNet::HTTPのリトライについて気になったので調べてみました。

サーバー側はRailsで作成しクライアント側は
下記のようにget methodでリクエストを送信するテストプログラムで確認します。

test_http.rb

require 'net/http'

uri = URI.parse("http://localhost:3000/hoges.json")
req = Net::HTTP::Get.new(uri.path)
res = Net::HTTP.start(uri.host, uri.port) do |http|
  http.request(req)
end
2018月06日05日

SwiftでKVO(Key-Value Observing)

KVOはObjective-Cではときどき使っていましたが、Swiftでは使ったことがなかったので試してみます。
KVOは変数の値の変化を監視する仕組みです。

ViewControllerにボタンを配置して、ボタンを押した時に変数の値を変えて動作確認しました。

2018月06日04日

RedisをMacで使ってみる

NoSQLデータベースの一つRedisをMacにインストールして使ってみます。
RedisはREmote DIctionary Serverを意味しています。
今回は、homebrewでRedisをインストールしコマンドラインでデータ登録まで試してみます。

2018月02日14日

mBotを動かしてみました

mBotとは

mBotとは、プログラミング、ロボット工学を楽しみながら学ぶためのオールインワンソリューションです。
Scratch2.0から派生したmBlockプログラミングツールを使って、Bluetoothで接続したパソコンやスマートデバイスで操作できます。

mBotはSTEM教育(科学、技術、工学、数学)の学習のために開発した「Makeblock」製のロボットです。発想力や表現力を養うのに最適な教育向けのロボットキットとして誕生しました。

2018月01日19日

Scratchでコメビツくんのゲームを作ってみました(1)

私はネパール人のスニタです。現在プログラムでRubyを勉強中です。 

今回プログラムの勉強の為、Scratch(スクラッチ)を使ってプログラムの考え方を学んでいます。
Scratchの本やサンプルを見てゲームを制作しています。

このゲームは、コメビツくんのキャラクターを使った簡単なシューティングゲームです。
私が未熟な為スクリプトの書き方に苦労していますが、キャラクターが動いた時は楽しくて夢中になって制作しています。


アトトックラボとは

株式会社アトトックメンバー が技術の話、デザインの話、キャラクターの話、ときどき脱線してガジェットの話やライフハックの話など好きなことを書いています。


連載記事


最近の記事


タグ