タグ

ブックマーク / techracho.bpsinc.jp (9)

  • TypeScriptにヤバい機能が入りそうなのでひとしきり遊んでみる|TechRacho by BPS株式会社

    こんにちは。yoshiです。 先日(9月1日)にオープンされた TypeScript のプルリクエストがヤバいわよ!という話をします。 ※※※注意ここから※※※ 一応先に言っておきますと、これからする話はまだ PR 段階なのでそのまま取り込まれるかどうか分からないし、どのバージョンでリリースされるかも分かりません。ここで書いていることはリリース時には仕様が変わっている可能性は大いにあり、リリース後に検索等でこの記事にたどり着いた方は、もっと良い解説がどこかにあると思うのでそちらを参照することをおすすめします。 ※※※注意ここまで※※※ 該当の PR はこれです。 Template string types and mapped type 'as' clauses by ahejlsberg · Pull Request #40336 · microsoft/TypeScript この PR

    TypeScriptにヤバい機能が入りそうなのでひとしきり遊んでみる|TechRacho by BPS株式会社
  • 乱数について本気出して考えてみる|TechRacho by BPS株式会社

    プログラミングをやっていると、様々な乱数に出会います。乱数に関しては大勢の研究者が色々な研究結果を出しているため、種類も増え、いったいどれを使えばいいのかと悩む原因にもなります。 大勢が研究し利用している分野ですから、私以外でも大勢が乱数に関する記事を書いているため、あえて新しい記事を書く価値は高くないかもしれません。まあ、既に理解している人はここで記事を閉じるか、暇つぶし程度の感覚で読んでいただくと良いかと思います。 真乱数と疑似乱数 プログラミングの世界の中でいわゆる "乱数" として扱われることが多いのは擬似乱数です。疑似、と付くからには、これは実のところ乱数ではないと言えます。とは言え、擬似乱数を乱数でないと言ってしまうと話が終わってしまうので、疑似乱数を含む乱数を広義の乱数とします。この記事で扱うのは広義の乱数です。逆に、狭義の乱数、物の乱数は真乱数と言います。 物と言いまし

    乱数について本気出して考えてみる|TechRacho by BPS株式会社
  • [翻訳] Dockerについてよくある勘違い|TechRacho by BPS株式会社

    こんにちは、hachi8833です。今回は弊社システム管理者のyamasitaさん監修のもとで、Matt Jaynes氏のDocker Misconceptionsを翻訳いたしました。それなりに文言を最適化してあり、原文と一対一対応しているとは限りませんのでご了承ください。エラーがありましたらお知らせいただけると助かります。 Dockerについてよくある勘違い Matt Jaynes 元記事: Docker Misconceptions Dockerは最近のシステム管理業界で大変な脚光を浴びてます。これによるシステム管理の進歩ははかりしれないものがありますが、いくつか重要な点で勘違いしている人を見かけます。 分野を限定して語っているのでよろしく この記事で説明する内容は、主にWebサービスにおけるミッションクリティカルなシステムのマルチホストセットアップに限定しています。Dockerをそれ

    [翻訳] Dockerについてよくある勘違い|TechRacho by BPS株式会社
    xef
    xef 2014/06/17
  • ぐにゅぐにゅ動く直感的なGitクライアント ungit|TechRacho by BPS株式会社

    ungitはnode.jsで動くグラフィカルなgitクライアントです Learn Git Branchingみたいな直感的なGUIで操作できるので とても分かりやすいです インストール 今回はnvmを使用してnode.jsを入れます $ git clone git://github.com/creationix/nvm.git ~/.nvm $ source ~/.nvm/nvm.sh $ nvm install v0.10.22 $ npm install -g ungit $ nvm use v0.10.22 ログイン時も有効にしたい場合は.bashrcに以下のように書いておきます if [ -d $HOME/.nvm/ ] then source ~/.nvm/nvm.sh nvm use v0.10.22 > /dev/null fi 起動 以下のコマンドで

    ぐにゅぐにゅ動く直感的なGitクライアント ungit|TechRacho by BPS株式会社
    xef
    xef 2013/11/22
  • 肥大化したActiveRecordモデルをリファクタリングする7つの方法(翻訳)

    更新情報: 2013/11/19: 初版公開 2021/01/08: 訳文見直し、追記 こんにちは、hachi8833です。今回は、自分が知りたかった、Active Recordモデルのリファクタリングに関する記事を翻訳いたしました。1年前の記事なのでRails 3が前提ですが、Rails 4以降でも基的には変わらないと思います。リンクは可能なものについては日語のものに置き換えています。 なお、ここでご紹介したオブジェクトは、app以下にそれぞれ以下のようにフォルダを追加してそこに配置します。 注記: 以下は使われそうなフォルダを列挙しただけであり、実際にはこの一部しか使いません。 Value Object Service Object Form Object Query Object View Object Policy Object Decorator ⚓ 肥大化したActive

    肥大化したActiveRecordモデルをリファクタリングする7つの方法(翻訳)
  • ちょっとずつやるchef|TechRacho by BPS株式会社

    記事の内容へのお問い合せはTwitterで@techrachoへMentionまたはDMにてご連絡頂くか、運営会社であるBPS株式会社のお問い合せフォームよりお問い合せ下さい。

    ちょっとずつやるchef|TechRacho by BPS株式会社
    xef
    xef 2013/08/09
  • Railsでbefore_filter/before_actionがアクションを中止する仕組みを読んでみる | TechRacho

    2013.08.06 Railsでbefore_filter/before_actionがアクションを中止する仕組みを読んでみる 大昔のRailsでは、before_filterでfalseを返すとそこでchainが終わる、とやっていた気がしますが、今はそういうコード見ないですよね。 Rails 4だとこんなノリでbefore_actionでredirectして はいおしまい、ってやりますよね。 class UsersController < ApplicationController before_action :my_authenticate_admin def my_authenticate_admin unless current_user.admin? redirect_to root_path end end end 当然、以後のbefore_actionやactionは実行さ

    Railsでbefore_filter/before_actionがアクションを中止する仕組みを読んでみる | TechRacho
    xef
    xef 2013/08/08
  • できるtmux-5分でわかる?仮想端末入門-|TechRacho by BPS株式会社

    tmux便利ですよねー どのくらい便利なのか具体的な使い方を説明しながら布教してみるテスト 0.前提、初期設定 ~/.tmux.conf を用意します。 こんな感じの.tmux.confを使っています パネル移動がviキーバインドで移動できるようにしています。 PrefixKeyはデフォルトではCtrl+Bです。 ここではPrefixKeyと表記します 1.セッション 以下のコマンドでセッションを開始できます 名前を付けた方が分かりやすいので、名前を付けておきます $ tmux new -s projectA 作れました 突然projectBの仕事が入ってきました デタッチして新しいセッションを開始します PrefixKey d $ tmux new -s projectB projectBの作業が終わったので、projectAに戻ってみます PrefixKey :choose-sessi

    できるtmux-5分でわかる?仮想端末入門-|TechRacho by BPS株式会社
    xef
    xef 2013/03/08
  • Rails 3.2.11にアップデートしましょう|TechRacho by BPS株式会社

    Ruby on Rails 3.2.11がリリースされました。 3.2.10が出てから数日ですが、合わせてかなり重大なセキュリティFIXが含まれているので、確実に更新しましょう。 3.2.11での変更点 (1) URLを知っている人だけがアクセスできる隠しページや、パスワードリセット機能などで、token認証をすることがよくあります。 たとえば以下のようなコードです。 if params[:token] @user = User.find_by_token(params[:token]) end ここで、仮にparams[:token]が空のハッシュ {} の場合、if文は当然真と評価されて通過しますが、find_by_tokenの部分は条件無しと見なされます。 User.find_by_token({}) User.where(:token => {}) このようなコードは、whereが

  • 1