タグ

ブックマーク / qiita.com (297)

  • QiitaのCSS構成2017 - Qiita

    この投稿は Increments Advent Calendar 2017 の18日の記事です。去年に続き、2017年の Qiita の CSS 構成について述べます。 2016年版はこちら: QiitaのCSS構成2016 プリプロセッサー 2016年は CSS のビルドフローで一貫して PostCSS を使っていましたが、2017年では プリプロセッサーとして Sass (node-sass) を使っています。 プリプロセッサーとして PostCSS を使わなくなった最大の理由は @apply ルールが仕様から落ちた ことです。@apply は Sass でいう引数なしの mixin みたいなもので、Chrome の Canary では実装されていた時期がありましたが、消えてしまいました。 おそらく CSS Nesting Module や CSS Extend Rule も落ちると思

    QiitaのCSS構成2017 - Qiita
    urouro_n
    urouro_n 2017/12/28
  • 新QiitaでReactをやめてhyperappを採用した背景 - Qiita

    12/1 に Qiita のトップページをリニューアルしました。これまで React を使っていましたが、それをやめて hyperapp を採用しました。まわりを見てもあまり採用事例が見当たらないので、この記事では一体なんで今をときめく React ではなく hyperapp を選択したのか、どういうところが魅力的なのかについて プレゼンテーション層を実装するためのツールとして 学習コスト の観点から書きたいと思います。なおこの記事に書かれていることは全て個人の感想であり、はっきりいって個人の日記レベルです。 それと hyperapp の開発者が社内にいるという事情もあるので、そこら辺さっぴいて読んでください。 TL;DR プレゼンテーション層を実装するためのツールとして React は機能過多だし、機能不足 hyperapp は過不足ない 学習コスト 仮想 DOM は学ぶ価値のある知識

    新QiitaでReactをやめてhyperappを採用した背景 - Qiita
    urouro_n
    urouro_n 2017/12/28
  • シャッフルランチやグループ分けをいい感じに効率よくやる手法 - Qiita

    社内のチームビルディングの一環としてシャッフルランチを行っている会社さんは結構おられるのではないでしょうか?いざ運用してみると様々な問題が出てきます。今回はシャッフルランチやグループ分けを効率良く行える手法を紹介したいと思います。 運用上の課題は? 実際にシャッフルランチを運用してみた方はわかるかもしれませんが、メンバー選出の作業や運用は大変になりがちです。職種がいい感じに混ざるようにとか、普段席が離れてて話したことのない人同士をうまく組み合わせてみよう、とか過去との重複を避けたりしながらメンバーを選出することはとても難しい問題です。運用がめんどくさくなると、シャッフルランチの開催自体が行われなくなり、末転倒になります。 コードで解決 前述の通り、人の手を介してグループを決めるという事は極めて大変な作業です。 こういうことは機械にやらせてしまおうと思い、シャッフルランチのようなグルーピン

    シャッフルランチやグループ分けをいい感じに効率よくやる手法 - Qiita
    urouro_n
    urouro_n 2017/12/25
  • Build Numberを自動設定する方法いろいろ - Qiita

    iOS2 Advent Calendar 2017の20日目! なにを書こうか迷ったのですが、より多くの人が関係する事がよいだろうなーといことで、この題材に。 既知のことが多いと思いますが、知らないことが少しでも含まれていれば嬉しいな! 目的 Build Numberを自動設定する方法について、以下の目的を前提に、どんな方法があるか調査してみました。 外部ライブラリは使わず、XCodeだけでできること 操作はXCodeでビルドするだけであること(CIは使わない) 複数のTARGETに対応できること(メインのiOSの他にWatch appや各Extensionがある) 更新したBuild NumberはGitの管理対象外にできると幸せ 1. Apple Generic Versioning Tool を使う 略してagvtoolと言うらしい。Version、Build Numberを自動的に

    Build Numberを自動設定する方法いろいろ - Qiita
    urouro_n
    urouro_n 2017/12/24
  • ID生成大全 - Qiita

    セッションIDやアクセストークン、はたまた業務上で使う一意の識別子など、いろんなところで一意のIDを生成しなきゃいけないケースが存在します。 そこで世間で使われているIDの生成方法について調べてみました。 選択基準 ID生成における要求として、以下の観点が上げられるかと思います。 生成の速度 大量にデータを短期間で処理し、それらにIDを付与する場合、ID生成そのものがボトルネックとなることがあります。 推測困難性 IDを機密情報と結びつける場合、IDを改ざんされても、機密データが見れないようにできている必要があります。 順序性 採番した順にデータをソートする必要がある場合は、IDがソートキーとして使えないといけません。 それぞれについて各生成手段を評価します。 ID生成の手段 データベースの採番テーブル 採番用のテーブルを作り、そこで番号をUPDATEしながら取得していくやりかたです。古い

    ID生成大全 - Qiita
    urouro_n
    urouro_n 2017/12/20
  • 大規模memcached障害と私 - Qiita

    この記事は ex-mixi Advent Calendar 2017 19 日目のエントリーです。 こんにちは。@bonnu と申します。 株式会社ミクシィには2006年1月から2012年3月末までの間、6年と3ヶ月ほど在籍していました。その後株式会社FreakOut(現在はホールディングスとなっています)に転職。そこからさらに転職を重ね、現在は株式会社GameWithでサーバーサイドを主としたエンジニアをやっています。 ミクシィに入社した当時はまだ社名が株式会社イー・マーキュリーで、入った翌月に社名変更したタイミングでした。なので希少な「イー・マーキュリー」の名刺を持っていました。私より後に入社した他のエンジニアのみんなからよく珍しがられたのを覚えています。 今回はOB・OGによるアドベントカレンダーということで、在籍していた頃に体験した障害について少しお話したいと思います。 (※ 当時

    大規模memcached障害と私 - Qiita
    urouro_n
    urouro_n 2017/12/20
  • Swift4のKVOに新しいクロージャ関数が導入されました - Qiita

    はじめに KVOとはKey-Value Observingの略で、Objective-Cの時代からあるCoCoaフレームワークの基的な機能です。フレームワークとしてはFoundationに含まれ、Notificationsに分類されています。 Swift4から新しい関数やclassが導入されているようなので紹介いたします。 クロージャ記述 まず、KVOがクロージャで記述できるようになりました。 自分的にはKVOって何か複雑な感じがしていたのですが、クロージャに対応しただけで一気に分かりやすくなった気がします(笑) func observe<Value>(_ keyPath: KeyPath<T, Value>, options: NSKeyValueObservingOptions = default, changeHandler: @escaping (T, NSKeyValueObs

    Swift4のKVOに新しいクロージャ関数が導入されました - Qiita
  • 88鍵のキーボードで「奏でる」プログラミング - Qiita

    これらのことを踏まえると、電子ピアノでも、カーソルやテンキーなど一部のキーを省けば十分に文字入力用途に使えるように思えてきませんか。 もし電子ピアノで文字入力ができれば、日々のコーディングを無機質なタイプ音からメロディアスなピアノ演奏に変えることができるかもしれません。 それを実現する方法について、これから考えてみましょう。 仮想キーボードアプリ 今回はピアノのキー入力を入力機器に変換させる仮想キーボードアプリケーションを作成しました。 動作は下のようになります。 PCに電子ピアノをUSB接続する(USB-MIDI機器としてコンピュータに認識される) 仮想キーボードアプリケーションがMIDI入力を読み、キーボード入力に変換 仮想キーボードアプリケーションが別のアプリケーションに対してキー入力を流す OS Xアプリケーションにキーイベントを送信する キーボードの入力は、OSごとに異なる仮想キ

    88鍵のキーボードで「奏でる」プログラミング - Qiita
    urouro_n
    urouro_n 2017/12/19
  • 本当にあったRxSwiftのちょっと怖い話 - Qiita

    こんにちは! コネヒト株式会社でiOSアプリを開発している @kichikuchi です。 今日、明日の記事を担当します! 弊社のiOSアプリにはRxSwiftを導入しています。 RxSwiftを導入することで、データバインディングによるMVVMアーキテクチャの実現や、非同期処理を簡潔に記述できるなどのメリットを得られますが、稀に解決が難しい問題に遭遇することがあります。 今回は、業務中に遭遇したRxのちょっと(かなり)怖い話と、その回避方法をご紹介します。 @IBOutlet weak var tableView: UITableView! { didSet { // rowHeight, estimatedRowHeight よりも先にtableFooterViewをセットしてしまうとなぜか4.7inch端末で `Index out of range` が発生してクラッシュしてしまうの

    本当にあったRxSwiftのちょっと怖い話 - Qiita
  • iPadアプリでのヘルプのあり方 - Qiita

    トレタ Advent Calendar 2017の12日目の記事です。 トレタでiOSエンジニアをやっている @y_koh です。 今日はiPadアプリでいつも頭を悩ませる「ヘルプ」について書いてみます。 設定難しい問題 さて、これはトレタの設定画面なのですが、ぱっと見操作に迷うようなところは無いと思います。でもそれぞれの項目を設定することでどうなるのかってわからないですよね。 現状はカスタマーサクセス部門が導入説明会で丁寧に教えているので、特に問題にはなっていません。ただ、今後導入店舗数が増え続けていく状況で全てのお客様に対して手取り足取りやっていくことは現実的ではなくなってきました。 やっぱりヘルプが必要なのでは? ヘルプ?そんなもんデザインの負けでしょ? そうかもしれません。でも負けたとしてもちゃんと使えてなければ何の意味もないと思うんですよね デザインで解決できることはもちろんする

    iPadアプリでのヘルプのあり方 - Qiita
    urouro_n
    urouro_n 2017/12/15
  • クラウドワークスのイケない命名 〜7つの大罪〜 - Qiita

    はじめに クラウドワークスの初期バージョンを作ってから早6年。後任のエンジニアたちには様々なdisりを受けてきました。 システムアーキテクチャや設計(命名は除く)に関するdisりについては、何よりもビジネスを軌道に乗せることが優先されるタイミングでどこまで「ちゃんと」やるべきか、という議論の余地が常にあります(自分のスキル不足については、いったん棚に上げます)。 一方、「命名」については、サービス立ち上げ期であっても「ちゃんと」やるべきと断言できます。 なぜならば、 システム外(例えば、非エンジニアとのコミュニケーション)にも関係してくる、ある意味ではシステムの最も基礎的な部分と言えるため、ここでしくじると影響範囲がでかい ネーミングをがんばったからといって、それ自体にかかる時間はたかが知れているし、その後の開発速度に悪影響を与えることもほとんどない すなわち、命名を「ちゃんと」考えるとい

    クラウドワークスのイケない命名 〜7つの大罪〜 - Qiita
    urouro_n
    urouro_n 2017/12/15
  • Ruby, Railsの存在確認イディオムまとめ - Qiita

    はじめに このメソッドが存在したら この変数が配列で何か入っていたら Item.firstで何か見つかったら というのは結構出てくるパターンで、簡潔に書ける場合も多いのでまとめました。 使うとコードが分かりにくくなる場合もあるので、容量用法を守って使いましょう。 基の確認 ローカル変数が定義されているか 前提 定義されていないローカル変数は使おうとすると例外を起こす

    Ruby, Railsの存在確認イディオムまとめ - Qiita
  • Android機種依存動作まとめ - Qiita

    この記事はRetty Advent Calendar 2017 における 11日目の記事です。 昨日は @tkngue のデータベースレス で サーバーレス な 社内図書システムをGoogle App Script (GAS) で作ってみる でした。 はじめに RettyAndroidエンジニアをやっている福井です。 Android開発をしていている皆様、いかがお過ごしでしょうか?2017年も終わろうとしていますが相変わらず機種依存と戦っていることだと思います。私は戦っています 機種依存はAndroid開発をする以上避けて通れない問題かと思いますが、なかなか一覧でまとめられている記事を見かけない気がしたので作りました。Rettyに入社してからの2年半で私が出会った機種依存のあれこれです。それではどうぞ。 機種依存挙動 AQUOS かつ OS ver 4.1.2 android:windo

    Android機種依存動作まとめ - Qiita
  • ARKitのサンプルコード集「ARKit-Sampler」 - Qiita

    ARKitのサンプル集「ARKit-Sampler」をオープンソースで公開しました。 ARKit Sampler ソースコードは GitHub に置いてあるので、ご自由にご活用ください。 使用言語はSwiftです。 ARKitのサンプルは公式のを含めいろいろ出てますが、ARKit-Samplerでは「余計な実装を混ぜずに、できるだけシンプルな実装で伝える」というところに気をつけています。もともとは書籍執筆のために用意したものなので、とくに序盤のサンプルはシンプルで意図が汲みやすいと思います。 ビルド方法 ここから Inceptionv3.mlmodel をダウンロードして mlmodels フォルダ配下に置く Xcode 9 でビルドしてiOS 11端末にインストール 基的にビルドするだけですが、Core MLのモデルファイルをダウンロードしてくる必要があります。 サンプル一覧 今のとこ

    ARKitのサンプルコード集「ARKit-Sampler」 - Qiita
  • PHPサーバーサイド速度改善のアプローチ - Qiita

    こんにちは、17新卒エンジニアのジャンハンです。 現在はDMM電子書籍サービスの開発部門で改修、保守の業務を担当しています。 サーバーサイド(PHP)がメインで、フロントの実装も度々あったりしまして、たまーーーにデプロイツールの実装や環境周りの業務も担当しています。 日はDMM.com #2 Advent Calendar 2017の6日目を担当させていただき、新米エンジニア電子書籍サービスの速度改善タスクを担当した時のアプローチについて文章にまとめました。 カレンダーのURLはコチラ DMM.com #1 Advent Calendar 2017 DMM.com #2 Advent Calendar 2017 速度改善の指標 webサイトのアクセス速度に影響する要素は、css、jsの圧縮、画像の圧縮、初期レンダリング情報量、画像サーバーの返答速度等がありますが、今回の担当はメインサー

    PHPサーバーサイド速度改善のアプローチ - Qiita
    urouro_n
    urouro_n 2017/12/11
  • クラスター社のGo製WebAPI開発で主に使ってるライブラリについて - Qiita

    はじめに もうほかに選択肢無いでしょ的なライブラリを除くと主に使ってるのは以下くらいです。 思っていた以上に標準パッケージで筋肉なコード書いていたようです 😇 github.com/goadesign/goa: WAF github.com/jinzhu/gorm: DBmappingとquerybuilder go.uber.org/zap: logger aws-sdk-goとか紹介することもあまり無いので割愛してます。 github.com/goadesign/goa 独自のDSLでAPIの設計をすることで go generate とかでgoのコードとswaggerを生成している 設計の共通化やクライアントエンジニアと対話するときのドキュメントがコードとセットで吐き出せるので重宝している ↑にも書きましたが、レビューしてほしいときにswaggerのURLがgithubのコメントで

    クラスター社のGo製WebAPI開発で主に使ってるライブラリについて - Qiita
  • ngrokを使用してローカル環境を外部に公開する - Qiita

    Tunnel Status online Version 1.7/1.7 Forwarding http://77f81e21.ngrok.com -> 127.0.0.1:3000 Forwarding https://77f81e21.ngrok.com -> 127.0.0.1:3000 Web Interface 127.0.0.1:4040 # Conn 0 Avg Conn Time 0.00ms

    ngrokを使用してローカル環境を外部に公開する - Qiita
    urouro_n
    urouro_n 2017/11/30
  • チャットワークAPIのOAuth認証をReact Native Androidから使ってみたよ - Qiita

    みんな大好きチャットワークが念願のWebhook&OAuthに対応しました。 ビジネスチャット「チャットワーク」がWebhookとOAuthに対応、オープンβ版の提供開始〜2018年春までにクラウドサービス17社18サービスとデータ連携開始予定〜 ~ ChatWorkニュースリリース あまりにも喜びが高まったので、React Native Androidで投稿サンプルを作ってみました。 もちべ 通知系のbotで最も使われるであろう投稿権限(rooms.messages:write)のみのアプリケーションを作ってみたい OAuthとモバイルアプリって相性悪かった気がするけどどうだったか思い出したい たまにはReact NativeでAndroidだけに寄った素振りがしたい やったこと アプリケーション登録ページでサンプルアプリを登録 ↑でリダイレクトURLに登録したやつ(https://ww

    チャットワークAPIのOAuth認証をReact Native Androidから使ってみたよ - Qiita
  • 日本語等幅フォント - Qiita

    コーディングやメモ書きに必須となる等幅フォント。色々調べてみたのでメモを残します。 個人的にはSource Han Code JPが好きです。英数字:かな漢字=1:2が必須ならNoto Sans Mono CJK JPでしょうか。 M+系のポップ感は少し苦手です。 Noto Fonts / Source Han Sans https://www.google.com/get/noto/ https://github.com/adobe-fonts/source-han-sans AdobeとGoogleが共同開発しているフォントGoogleの方はNoto Sans、Adobeの方はSource Han Sans(源ノ角ゴシック)。Notoの由来は"No Tofu"(豆腐文字=文字化け時に表示される四角)だとか。 日語だけでよいのでNoto Sans CJK JPをダウンロード。 Not

    日本語等幅フォント - Qiita
  • Circle-CI 2.0のcron triggerを使って、定期実行をする - Qiita

    Circle-CIでいつのまにcron実行する機能が追加されていたので試した。 https://circleci.com/docs/2.0/configuration-reference/#triggers https://circleci.com/blog/manual-job-approval-and-scheduled-workflow-runs/ TravisCIには少し前から入っていた機能。 https://docs.travis-ci.com/user/cron-jobs/ Circle-CIの場合、TravisCIほとさくっと使える感じではなかったのでメモ どんな時に使えるか? 例えばこんなユースケースが思いつく E2Eなど重くて全branchで実行するには辛いもの 外部のAPIに引きづられて落ちてないかのテスト masterを定期的にstagingと同期するdeploy処理

    Circle-CI 2.0のcron triggerを使って、定期実行をする - Qiita
    urouro_n
    urouro_n 2017/11/05