usgitanのブックマーク (173)

  • 継続してコードを書くということ

    この度、githubへの一年間連続コミットを達成していたらしいことを確認しました。途中から平日、仕事の分も混ざっているのですが、プライベートでのコミットは毎日確認していたので、ちゃんと一年間継続できているはずです。 当初はどういうものを開発するのか定まっていなかったり、謎の練習コードばっか産まないか心配だったのですが、継続してコミットを続けていくことで、徐々に目的意識を持ってコードを書くのにも慣れてきました。 そこで、この一年でどういう考えで開発過程をたどってきたか、どういうものを開発してきたか、これからどうしたいかについて書こうと思います。 どういう考えで開発過程をたどってきたか最初は継続性のみを重視1年前と今とでは、コードを書き始める時の意識も少し変わったなと、今は思います。 1年前はどんな形であれ継続できるようにコードを書いて、たまにdotfilesいじったりとか、遅くに会社を出ると

    継続してコードを書くということ
    usgitan
    usgitan 2017/02/15
    golang.tokyoで発表した日には、starが3程度しか増えなかったのですが、翌日hackernewsやredditでシェアした結果、277starsとなりまして、海外に向けて発信することの大切さを思い知りました。
  • コードレビューのベストプラクティス | POSTD

    Wiredrive では、私たちはかなりの数のコードレビューを行います。しかし、ここで働き始める前には私はコードレビューなどしたことがありませんでした。今回は、私がコードレビューをする時に何に注目するようにしているかや、私の考え出したベストなコードレビューのやり方をお話したいと思います。 コードレビューとは、簡単に言うと2人以上の開発者で問題を引き起こしそうなコードの修正について話し合うことです。コードレビューをすることのメリットについては多くの記事で語られており、知識を共有できること、コードのクオリティが上がること、開発者が成長できることなどが挙げられています。しかし、レビューを行う上で、どのように進めていくかという具体的なことについてはあまり多く語られてないように私は思いました。 レビューで何に注目するか アーキテクチャ/デザイン 単一責任原則 : 1つのクラスは変更する理由が2つ以上

    コードレビューのベストプラクティス | POSTD
    usgitan
    usgitan 2016/12/20
  • 技術採択のときにやるべきこと - まるまるこふこふ

    初めに 新規プロジェクト/既存プロジェクトで、新しく使う ライブラリだったり、フレームワークだったり、ミドルウェアを選定してきた経験を通して、 採択する段階でこれはしておいた方がいいなという知見が溜まったので、 メモ書き程度に記述します。 前提として、技術採択についてある程度メンバーに裁量が任せられている風土があり、 かつミッションクリティカルでないシステムに導入する、また自社で事業を行っており、 顧客=ユーザーであるというのがあります。 (この辺の前提条件が違う場合、採択に当たってまた別の観点が必要になってくると思います) システム要件を満たしているかどうか なんだかフワっとした言い方になりましたが、例えば Web システムに JavaScript のライブラリを 導入する場合に、Web システムが IE8 に対応するという要件ならば、 そのライブラリが、IE8 でも動くか調査するという

    技術採択のときにやるべきこと - まるまるこふこふ
    usgitan
    usgitan 2016/12/19
  • ナイーブベイズを用いたテキスト分類 - 人工知能に関する断想録

    今までPRMLを読んで実装を続けてきましたが、10章からは難しくて歯が立たなくなってきたのでここらで少し具体的な応用に目を向けてみようと思います。機械学習の応用先としては画像の方が結果を見ていて面白いんですが、当面は自然言語処理を取り上げます。そんなわけで一番始めの応用は機械学習と自然言語処理の接点として非常に重要なテキスト分類(Text Classification, Text Categorization)の技法たちを試していきたいと思います。テキスト分類は文書分類(Document Classification)という呼び方もあります。テキストと文書は同じ意味です。最初なので自分の知識の整理と入門者への紹介のためにちょっと丁寧にまとめてみました。 テキスト分類とは テキスト分類とは、与えられた文書(Webページとか)をあらかじめ与えられたいくつかのカテゴリ(クラス)に自動分類するタス

    ナイーブベイズを用いたテキスト分類 - 人工知能に関する断想録
    usgitan
    usgitan 2016/11/15
  • GitHubのコード検索 : プログラマにとっての宝の山 | POSTD

    新しい言語やフレームワークを学ぶことは、時には苦闘になることがあります。従来のアプローチは、概念を説明し簡単な例を提供するドキュメントを読むことです。それで十分な場合もありますが、ドキュメントに高度な例や実際のプロジェクトでの使い方が書かれていない場合も多々あります。 ドキュメントに記載されていない問題に出くわすと、大抵の人はStack Overflowで解決策を探します(またはソースコードを丹念に調べます)。しかし、「使っているフレームワークが登場してから十分に期間が経っておらず、思い浮かぶ質問全てにStack Overflowが答えてくれない」ということもありえます。 今まで問題にはまって、こう考えたことはありませんか? 「誰かが既にこの問題を解決しているはずだ!では、なぜこの問題に対する答えがStack Overflowにないのだろうか?」 そのとおりです。恐らく誰かは既にそれを解決

    GitHubのコード検索 : プログラマにとっての宝の山 | POSTD
    usgitan
    usgitan 2016/09/29
  • webpackを使った Rails上でのReact開発 - クックパッド開発者ブログ

    はじめに こんにちは、投稿開発部エンジニアの芳賀です。 既存のRailsプロジェクトの中でReact.jsを利用する機会があったので、その時にやったことについてまとめてみます。 私自身は普段RailsのサーバサイドとCoffeeScriptが中心で、最近のJavaScript開発環境についてあまりキャッチアップできていなかったのですが、それらの状況を把握しつつ試行錯誤で開発していった経験から、できるだけ「React採用してみたいけどJavaScript界隈よくわからない目線」で書いてみようと思います。 RailsReact.jsを使ういくつかの方法 2016年時点で、RailsReact.jsを使う方法はいくつかあって、どれを採用するかで悩みました。 vendor/assets/javascripts にreact.jsを置いて利用する react-rails gem を利用する br

    webpackを使った Rails上でのReact開発 - クックパッド開発者ブログ
    usgitan
    usgitan 2016/07/27
  • RailsでReact.jsをサーバーレンダリングする - Rails Webook

    react-railsというReact.jsをRailsに簡単に統合できるgemを使い、React.jsをサーバーレンダリングする方法を説明します。 サーバーレンダリングすることで、初期値をHTMLの初期レンダー時に渡せるようになるので、ロード中による画面のばたつきや、ロード中といった表示をなくせます。 RailsReactを使ってメッセージボックスアプリを作成 - Rails Webookをベースに説明しています。 また、この記事のソースコードは https://github.com/nipe0324/rails_samples/tree/master/react_server_rendering_test です。 目次 RailsReactコンポーネントをレンダーする Reactコンポーネントをサーバーレンダリングする コントローラーでReactコンポーネントをレンダーする 動作確

    RailsでReact.jsをサーバーレンダリングする - Rails Webook
    usgitan
    usgitan 2016/07/21
  • 【Sketch】TwitterのUIをトレースしながら研究しよう!(初心者向け) - NOGA BLOG

    UIデザイナーの、のがちゃんです! デザインスキルを上げるには、良いデザインを真似ること。私が尊敬するデザイナーの先輩達は皆口を揃えてそう言います。 1日ひとつdribbbleなどからかっこいいロゴや名刺などを選んでトレースすると良い。 そのときに、なんで自分がかっこいいと思ったのかを考えること。 デザイナーになる秘訣!Time Ticketで、石嶋未来さんに会ってきた - NOGA BLOG UIデザイナーで、当にスキルを身に着けたい人は、新規事業とかのキラキラした仕事を求めるのではなく、TwitterとFacebookアプリをSketch3で完コピして、何故このUIなのか背景を理解して、Prottで動かして触って、iOSのガイドラインを読み込むと早いと思うよ。 — Tomo Tsubota (@tsubotax) 2016年6月12日 とはいえ、これからUIを学ぼうという方には、どう

    【Sketch】TwitterのUIをトレースしながら研究しよう!(初心者向け) - NOGA BLOG
    usgitan
    usgitan 2016/07/06
  • ソフトウェアエンジニアが転職するときに気をつけること

    いままで3回転職したけど、うまく行ったこともあるし行かなかったこともある。いままではわりと気軽に転職先を決めてしまっていたのだけど、そろそろ慎重に行かないと後がないなという危機感を覚えたので、とりあえず今までのことを振り返って気をつけるポイントを書いてみようと思う。 自分はこんな感じのエンジニアです。 技術的には広く浅くタイプデザイン・インフラは不得意マネージメントは不得意 いままで所属していたのは上場企業が多かったが、スタートアップも経験済み情報収集編IRを読め、短信だけでいいからこれまで何をしてきたか、これから何をするつもりなのか、会社の強みは何なのか、今後考えられるリスクをどう捉えているのか。上場企業ならばIRという形で外向けに情報を発信しているので、それを読むのはかなり大事。 で、具体的に書いてなくてよくわからないところが絶対あるはずなので、それを面談で聞く。ピンと来なかったらその

    ソフトウェアエンジニアが転職するときに気をつけること
    usgitan
    usgitan 2016/06/29
  • Docker と ECS と WebSocket で最強のリアルタイム・マルチプレイ環境を運用 | GREE Engineering

    概要 AWS ECS でマルチプレイゲーム用インスタンスの管理すると限りなく最強。 はじめに リアルタイム・マルチプレイゲームを作る時、まず考えられることは、あるプレイヤーの行動や状態が他のプレイヤーに伝わることではないかと思われます。しかし、スマートフォンアプリは不安定であったり、複数端末同士で(基地局やバックボーンを介さずに)物理的に直接接続することは出来ませんし、理論的にできたとしても、だいたい開発が進んでいくうちに排他制御の問題などで炎上、もしくはとん挫してしまいます。軽い気持ちでマルチスレッド処理をおこない事故る現象と全くおなじです。 もっとも簡単な解決方法としてはマルチスレッド処理のときようにクリティカルセクションを設けることです。ようはサーバを用意してそこで処理すれば、比較的容易に一意な結果が得られますし、接続に関する問題も起こりにくくなります。 長くなるので → http:

    Docker と ECS と WebSocket で最強のリアルタイム・マルチプレイ環境を運用 | GREE Engineering
    usgitan
    usgitan 2016/06/11
  • 社名変更のお知らせ

    Fringe81株式会社は2021年10月1日より、Unipos株式会社として生まれ変わりました。 コーポレートミッションを「感情報酬を社会基盤に」と新たにし、ピアボーナスをさらに発展させ、感情報酬を社会実装して社会の基盤とすることを最上位の目標として掲げ、邁進して参ります。 5秒で自動的に切り替わります。切り替わらない場合は以下のボタンをクリックしてください。 Unipos株式会社サイトへ

    社名変更のお知らせ
  • 【保存版】株式会社を設立したので登記方法や手順、費用などを解説します | 株式会社LIG(リグ)|DX支援・システム開発・Web制作

    こんにちは、LIGのそめひこです。 私ごとですが、じつはひょんなことから株式会社を設立することになりました。設立にあたって、いろいろ調べていたのですが、情報が散乱、そして複雑であることがわかりました。 通常、会社をつくるには以下のステップが必要なのですが…… はい、めんどくさい!!! これらをクリアしないと会社を設立することもできないとは……! 「これくらいもできないヤツは起業する資格はない」という国からの挑戦状なのでしょうか。 しかも上記のステップを完遂するには、手続きに2週間以上、設立まで1ヶ月以上の時間と、自力でおこなう場合は242,000円、専門家に代行した場合は30万近くもかかるそう。めちゃくちゃ時間とお金を費やすことに……。 ですが、あるサービスを利用すれば実作業時間1日、設立期間2週間、設立総コストは法的最安値20万7,000円で会社をつくれると耳にしました! しかもサービス

    【保存版】株式会社を設立したので登記方法や手順、費用などを解説します | 株式会社LIG(リグ)|DX支援・システム開発・Web制作
    usgitan
    usgitan 2016/03/28
    起業
  • Railsアプリつくった - ✘╹◡╹✘

    最近APIサーバ用途でRailsアプリを1個つくったので振り返る。 概要 接続元はiOSやAndroidアプリとか、Webブラウザとか、別のWebアプリケーションとか。1ホストあたり秒間数百リクエスト、平均応答時間10msぐらい。Rails 4.1.0.rc2、Unicorn、Nginxを使ってる。正直Railsは全部入りで重いイメージがあったので何となく平均50ms以内程度であれば良いところだろうと思ってたけど、意外と速い。多分そもそもサーバの性能が良いんだと思う。実装時に気を付けたことは普段の開発と特に変わりない。いつもは大勢でワイワイ開発するものに少し手を加えるということが多いんだけど、今回は珍しく自分一人でつくったから目が行き届いてたのかもしれない。DBへの問合せの効率に気を配るとか、Rubyでの処理の無駄を省くとか、アプリケーションのプロセスに無駄なコードを読み込ませないとか、計

    Railsアプリつくった - ✘╹◡╹✘
    usgitan
    usgitan 2016/02/26
  • 「カートに入れる」は業界用語 ヤフー「らくらく通販」、ECの当たり前を覆したスマホUIに注目

    ECzine Day(イーシージン・デイ)とは、ECzineが主催するカンファレンス型のイベントです。変化の激しいEC業界、この日にリアルな場にお越しいただくことで、トレンドやトピックスを効率的に短時間で網羅する機会としていただければ幸いです。

    「カートに入れる」は業界用語 ヤフー「らくらく通販」、ECの当たり前を覆したスマホUIに注目
    usgitan
    usgitan 2016/02/23
  • 快適な連打機能を提供するためにサーバサイドが出来ること - その手の平は尻もつかめるさ

    人間生きていると高確率で連打機能を提供するシステムを構築する必要が出てくることがあります. 例えばあるコンテンツについてボタンを連打することで「良いね」を表明するようなシステムです. 連打は楽しい!! しかし実装する方としては純粋に楽しんでばかりはいられません. こうしたシステムは素朴に実装したとしてもある程度のトラフィックまでは耐えられるかもしれませんが,ある規模を超えると安定して機能提供する事は難しくなってくるかもしれません. ここでは,サーバサイドの話題を中心として,快適な連打機能を提供するシステムをどうすれば提供できるかを考えていきます (あくまで一例です). 想定としては, あるコンテンツについてボタンが付いていて,そのボタンは連打が出来る あるコンテンツについてボタンが何回押されたかを取得できる というシステムを仮定します. なんとなく結論が分かる雑な図 題 サーバを分離する

    快適な連打機能を提供するためにサーバサイドが出来ること - その手の平は尻もつかめるさ
  • 超有名ゲームメーカー「ブリザード」が25年もトップを走り続けることができた理由

    By Holger Fischer 「ウォークラフト(Warcraft)」「ディアブロ(Diablo)」「スタークラフト(スタークラフト)」シリーズなど、世界中で大ヒットしいまだにトップクラスの売上を誇るオンラインゲームを生み出したのが「ブリザード(Blizzard Entertainment)」という企業です。創業から25年が経過した2016年現在でもブリザードはオンラインゲーム業界のトップに君臨しているのですが、IT関連メディアのVenture Beatがブリザードの創業者や開発者にインタビューを実施し、その秘密に迫っています。 How Blizzard stayed laser-focused on quality games for 25 years | GamesBeat | Games | by Dean Takahashi http://venturebeat.com/201

    超有名ゲームメーカー「ブリザード」が25年もトップを走り続けることができた理由
    usgitan
    usgitan 2016/02/22
    人を誘う
  • RubyのFile.expand_path('相対パス', __FILE__)の意味 - maeharinの日記

    RailsなどのRubyライブラリのソースコードを見ていると、よく File.expand_path('相対パス', __FILE__) という一文を目にする。ちょっと調べてみた。 File.expand_pathとは riコマンドで調べてみる $ ri File.expand_path (from ruby core) ------------------------------------------------------------------------------ File.expand_path(file_name [, dir_string] ) -> abs_file_name ------------------------------------------------------------------------------ Converts a pathname

    RubyのFile.expand_path('相対パス', __FILE__)の意味 - maeharinの日記
    usgitan
    usgitan 2016/02/19
    __FILE__
  • HTTPステータスコードを適切に選ぶためのフローチャート : 難しく考えるのをやめよう | POSTD

    HTTPステータスコードを返すというのはとても単純なことです。ページがレンダリングできた?よし、それなら 200 を返しましょう。ページが存在しない?それなら 404 です。他のページにユーザをリダイレクトしたい? 302 、あるいは 301 かもしれません。 I like to imagine that HTTP status codes are like CB 10 codes. "Breaker breaker, this is White Chocolate Thunder. We've got a 200 OK here." — Aaron Patterson (@tenderlove) 2015, 10月 7 訳:HTTPのステータスコードのことは、市民ラジオの10コードみたいなものだと考えるのが好きです。「ブレーカー、ブレーカー、こちらホワイト・チョコレート・サンダー。200

    HTTPステータスコードを適切に選ぶためのフローチャート : 難しく考えるのをやめよう | POSTD
    usgitan
    usgitan 2016/02/17
    ステータスコード
  • komesikanai.com

    This domain may be for sale!

    usgitan
    usgitan 2016/02/13
    筋トレ
  • [Vagrant]共有フォルダのマウントに失敗(Failed to mount folders in Linux guest.)の解決策

    [Vagrant]共有フォルダのマウントに失敗(Failed to mount folders in Linux guest.)の解決策 2015/8/15 開発ノート また、Vagrantに嫌われてしまいました。 BIG1等を当てたいサラリーマンです。 先日こちらの記事の事情で、バージョン1.7.2をインストールしたのですが。 今度は、vagrant upして仮想マシンを起動させると以下のメッセージが表示されるようになりました。 Failed to mount folders in Linux guest. This is usually because the "vboxsf" file system is not available. Please verify that the guest additions are properly installed in the guest

    [Vagrant]共有フォルダのマウントに失敗(Failed to mount folders in Linux guest.)の解決策
    usgitan
    usgitan 2016/02/08
    失敗してたけど回復