タグ

xoyipのブックマーク (1,726)

  • Googleカレンダーの予定を毎朝LINEに通知する - PIYO - Tech & Life -

    LINE Notify allows you to send web notifications from GitHub, IFTTT, Mackerel, and more directly to your LINE chats. このサイトの右上リンクからLINEのIDログインして、画面下にある「トークンを発行する」から進みます。今回の連携に名前を付け、適当送信先のグループを選べばトークンが発行されますのでそれを控えておきます。 送信先グループはLINE Notifyとの1:1のチャットか、グループを選べます。グループを選んだ場合はLINE Notifyアカウントをそのグループに追加しておかなければなりません。 僕の場合は、「今日の予定」という自分(+ LINE Notify)だけのグループを作り、そこに送るよう設定しました。 (※初めて登録したときの流れを忘れてしまっています。もしか

    Googleカレンダーの予定を毎朝LINEに通知する - PIYO - Tech & Life -
    xoyip
    xoyip 2018/05/19
  • 料理教室のデザインリニューアルを支えた技術 - クックパッド開発者ブログ

    料理教室事業部の長(@s_osa_)です。最近読んで面白かった漫画は『ランウェイで笑って』です。 クックパッド料理教室では今年10月にデザインの全面リニューアルを行ないました。 Before After ユーザー向けページの HTML, CSS, JavaScript を約1ヶ月でまるっと書き換えるプロジェクトでした。 今回はそんなデザインリニューアルを支えた仕組みについて書きたいと思います。 全面リニューアルの大変さ 「全面リニューアル」 聞いただけで大変さがにじみ出る言葉ですが、具体的に何が大変なのか少し考えてみます。 主な大変さは2つあると考えています。 スコープが大きい デザインの全面リニューアルという性質上、全ページが対象になります。 クックパッド料理教室のコードはそれほど大きくない Rails ですが、それでも対象の view ファイルは約200ほどあります。 もちろん、これら

    料理教室のデザインリニューアルを支えた技術 - クックパッド開発者ブログ
    xoyip
    xoyip 2018/05/18
    これに近いことをやることになるのかなあと予想
  • CSSだけで実装できる横スクロールUI(スクロールバーなし)

    モバイル時のUIで横スクロールのを採用するアプリやWebサービスも増えてきており、デザイナーやコーダーの方は実装する機会もあるかと思います。 今回はCSSだけで横スクロールを実装する方法と気にするべきポイントをご紹介します。 横スクロール(horizontal scroll)とは 上記の画像の様なUIのことです。アプリの方が見る機会は多いと思いますが、WEBサービスでも最近はよく見るかと思います。 横スクロールが見れるWEBサービス(2017/09現在) ・GoogleAirbnb ・TripAdvisor ・Bookingtable ・zomato 実装時の気をつけるポイント 横スクロールだと画面の横にコンテンツを配置するため、縦のスペースを取らずにコンテンツを配置することができます。ですが、アプリなどでよく使用されるUIだとはいえ、まだまだ横スクロールに慣れていないユーザーもいるか

    CSSだけで実装できる横スクロールUI(スクロールバーなし)
    xoyip
    xoyip 2018/05/17
  • スクロールするタブはスライダーのプラグインで実装できる - LCL Engineers' Blog

    フロントエンドエンジニアの岡田です。 日、夜行バス比較なびでは、プレミアムフライデー用の特集ページをリリースいたしました。 www.bushikaku.net こちらの特集でつかった、スクロールできるタブの実装についてご紹介します。 スマホ用のページの以下の部分です。 こちらは、FlexSliderというプラグインを使っています。 画像のスライダーやカルーセルを実装するときに使う、jQueryプラグインです。 woocommerce.com オプションは以下のように設定しました。 $('#region-tab').flexslider({ animation: "slide", selector: ".slides > li:visible", slideshow: false, animationLoop: false, controlNav: false, directionNav:

    スクロールするタブはスライダーのプラグインで実装できる - LCL Engineers' Blog
    xoyip
    xoyip 2018/05/17
  • MobXでTodoアプリ[Part1] MobX導入まで - PIYO - Tech & Life -

    3部作のPart1です。 MobXでTodoアプリ[Part1] MobX導入までMobXでTodoアプリ[Part2] データを保存してみるMobXでTodoアプリ[Part3] Storeをデバッグしてみる以前も書いたように、ここ1年ほどReact Nativeによるアプリ開発を時々行っています。凝ったアプリでなければ割とサクッと作れるのが良いです。 さてReact Native(というかReact)単体だとデータ管理が面倒、バケツリレーが云々という話がよくあります。その問題に対応すべく色々なFluxなフレームワークが存在していて、中でもReduxがよく使われるようになったという流れが2年前ぐらいにあったと記憶しています。 そういう流れで僕もReduxを使ってアプリ開発をしていましたが、ここ数ヶ月MobXというのをよく聞くようになりました。データ管理の用途だったらMobXで十分だよとい

    MobXでTodoアプリ[Part1] MobX導入まで - PIYO - Tech & Life -
  • MacBook Air スタンド 自作して、クラムシェルモードで使う

    こんにちは。 MacBook Air用のスタンドが欲しいなと思ってまして調べてたら、よさげなやつは、BookArc for Air くらいしかなく、ちょっと高いなーと思い自作してみることにしました。 それで家の近くのホームセンターやら100均とかを適当に物色したところ、これとこれを組み合わせたらちょうどいいのが作れそうだなというのが見つかりました。これです! 棚をつけるときの棚を置く台というか柱みたいになる、通称「棚受」を2つ。で、棚(シェルフ)を1つ。 イスや机の脚などで床を傷つけないようにするための「床キズ防止材」 まぁ実際作ってみてダメでも出費1000円ちょいなので、まぁいっかということで購入。 棚受とシェルフは、ホームセンターで購入(3つで1100円弱)、床キズ防止材は100均で購入 (2個で210円)。棚受とシェルフは、このDIYセンチュリーというメーカーサイトでも販売されてるよ

    xoyip
    xoyip 2018/04/28
    これいいな。俺も自作しよう
  • プログラミングにおける不安と学びのプロセス - 人間とウェブの未来

    僕の場合、実現したいことをコードで書けない時には、ひたすら似たコードを読んで理解して写して…を繰り返す。そのうちに手元に大量の自分のサンプルが溜まっていく。その繰り返しがパターンの細分化を促し、書けるコードの幅を広げていく。書けるコードを気持ちよく書き続けてるだけでは新しいコードは書けないからだ....と、向き合えるようになるには時間がかかった。 書き慣れたコードの延長で書いていると、自分でコードを書けている実感があって、リファレンスなど何も見ずに自分の力でプログラミングできている感があるのだが、ある時これはただ「慣れ」の感覚を高めているように思えた。素早く書けること自体は、それはそれで一種のスキルで素晴らしいのだけど、実現したいことをコードで書けるようになる、という観点で振り返ったときに、どうしても成長を感じなかったのだ。それ以来、まずいと思い、実現したいことを思い描き、それを実現するた

    プログラミングにおける不安と学びのプロセス - 人間とウェブの未来
    xoyip
    xoyip 2018/04/20
    この話は何度読んでもとても良いなあ。主に仕事で使ってるRailsだと慣れも含めて高速に作れちゃう分、頭はあまり使ってないんだよね。すぐ出来るのは気持ちいいんだけど。
  • FFTs in Javascript

    xoyip
    xoyip 2018/04/19
  • Rubyで繰り返し予定を扱えるice_cube gemをざっくり紹介 - PIYO - Tech & Life -

    Ruby Date Recurrence Library - Allows easy creation of recurrence rules and fast querying - GitHub - seejohnrun/ice_cube: Ruby Date Recurrence Library - Allows easy creation of recurrence rules and fast querying ice_cube gemは繰り返し予定用のRubyのライブラリです。ちなみにRailsとは直接は連携しませんが工夫することで使えます。 簡単な使い方かなりざっくり言うと、ice_cubeは繰り返し予定に関するいろいろな条件を与えたとき、その条件に該当する日付に関する処理を行うことができるライブラリです。 ユースケースで考えたほうがわかりやすいかもしれないですね。 例えば、2

    Rubyで繰り返し予定を扱えるice_cube gemをざっくり紹介 - PIYO - Tech & Life -
    xoyip
    xoyip 2018/04/19
  • Emacsで特定のマイナーモードのキーバインドを無効にする - PIYO - Tech & Life -

    xoyip
    xoyip 2018/04/18
    昔の俺GJ
  • Hugoで月別アーカイブを作る

    <ul> {{ range $name, $items := .Site.Taxonomies.archives }} <li><a href="{{ $.Site.BaseURL }}archives/{{ $name | urlize | lower }}">{{ $name }} ({{ .Count }})</a></li> {{ end }} </ul> あとは各記事のFront Matterにarchivesを定義するだけ。 2017/09のようにスラッシュ区切りで名前をつけるといい感じにディレクトリを作ってくれます。 なので、月別じゃなくて年別で作りたかったらarchivesを2017とかにすればOK。月別も年別も、ということなら両方定義すればいけるはずです。 +++ date = "2017-09-08T22:13:57+09:00" slug = "hugo_monthl

    Hugoで月別アーカイブを作る
    xoyip
    xoyip 2018/04/18
    これやろ
  • storybook.jsとは何か?何も知らずに触ってみた。 - PIYO - Tech & Life -

    xoyip
    xoyip 2018/04/18
  • Algoliaを使ってブログに全文検索をつける(検索index作成編) - PIYO - Tech & Life -

    検索インデックス用のJSONHugoのCustom Output Formatsの仕組みを用いて、サイトのビルド時にAlgoliaに登録するためのJSONを生成します。RSSを出力するときと同じような方法で比較的簡単に作ることができました。 Custom Output Formats | Hugo config.tomlAlgoliaはJSON形式で検索インデックスを登録できます。なんとなく触った感じ指定のフォーマットがないので、記事タイトル、文、タグ当たりを含めたらいいと思います。 forestry.ioの設定をベースに、config.tomlに次のような設定を追加しました。 [outputFormats.Algolia] baseName = "algolia" isPlainText = true mediaType = "application/json" notAlternat

    Algoliaを使ってブログに全文検索をつける(検索index作成編) - PIYO - Tech & Life -
    xoyip
    xoyip 2018/04/12
  • リモートワーカーのこだわり書斎づくり。2つの書斎で環境を改善し、家族との新たな接点も(寄稿:mizzy) - ソレドコ

    こんにちは、mizzyと申します。フリーランスのソフトウェアエンジニアをやりながら、と5人の子供(高3男、高2男、中2女、小3男、小2男)と暮らす43歳のおっさんです。 私は賃貸派か持ち家派かで言えば断然賃貸派なのですが、家族7人で快適に暮らせる賃貸物件がいくら探しても見つからなかったため、ふらっと立ち寄ったモデルハウスの見学をきっかけに2年ほど前に家を建てました。 家を建てるに当たって、業者、土地、間取り、インテリア、エクステリアなど、検討しなければいけないことがたくさんあるのですが、今回は私が家で過ごす時間が最も多い「書斎」にテーマを絞り、理想の空間を手に入れるためにどのような書斎づくりをしたのかをご紹介します。 家族とコミュニケーションをとるためにオープンとクローズド、2つの書斎を作った わが家にはオープンとクローズド、2つの書斎があります。「クローズドな書斎」は下の写真のような、

    リモートワーカーのこだわり書斎づくり。2つの書斎で環境を改善し、家族との新たな接点も(寄稿:mizzy) - ソレドコ
    xoyip
    xoyip 2018/04/11
    オサレだわー
  • React Nativeで自社サービスのiOS/Androidアプリをリプレイスした話 - PIYO - Tech & Life -

    前置き僕が所属しているソニックガーデンではRemottyというツールを自社で開発し、普段の業務に使っています。リモートワークをするためにオフィスと言ってもいいような場所で、業務中は常にオンラインとなり、リアルタイムチャット(対面の会話の代替)とトピックベースの掲示板(メールなど非同期コミュニケーションの代替)の両方を備えたオフィスとなるようなツールです。 オフィスにいられない間にもチャットや掲示板に反応できるように、iOSとandroidそれぞれにネイティブアプリのクライアントアプリがあり、それぞれを別の開発者が担当していました。iOS版はその当時新卒2年目だった若者が作ったものを僕が引き継ぐ形でメンテしていました。 もともと自社向けに開発していたプロダクトではありますが、働き方改革の流れなどの関係もあってここ1年〜2年ぐらいの間に有償で使ってくださるお客さまが出てきました。 そうなってく

    React Nativeで自社サービスのiOS/Androidアプリをリプレイスした話 - PIYO - Tech & Life -
  • Even faster code formatting using ESLint

    In Your last ESLint config article I’ve covered ESLint setup that incorporates Prettier to unify and automate formatting of your JavaScript codebase. The solution is pretty neat and delivers much value but it has one meaningful downside: the formatting script has to be run manually. In the guts we all know that something is not ok with this approach. And we are right - the smarter and more experie

    Even faster code formatting using ESLint
    xoyip
    xoyip 2018/04/06
  • Prettier 入門 ~ESLintとの違いを理解して併用する~ - Qiita

    お知らせ(2021/05/26 追記) 以前はeslint --fixなどで ESLint を実行時に Prettier でコードを整形し、整形したコードに対して構文チェックが実行されるようにすることが推奨されていました。 ESLint で Prettier を実行するためには、ESLint の Plugin が必要でしたが、これを利用することが公式で推奨されなくなりました(詳細はこちら)。 そのため、記事を更新して Prettier と ESLint をそれぞれ実行させるような内容に変更しました(ついでに husky のバージョンも上げており、それに関する内容も更新しています)。 更新前のコードや記事は以下にありますので、必要に応じてご確認ください。 はじめに Prettier(v.2.3.0) に関しての備忘録です。 「Prettier の何が便利なのかよくわからない」 「ESLint

    Prettier 入門 ~ESLintとの違いを理解して併用する~ - Qiita
    xoyip
    xoyip 2018/04/06
    これいいね。設定なしである程度きれいになる。
  • brew install go-delve/delve/delve で「undefined method `check_for_bad_install_name_tool'」 - メンチカツ

    brew install go-delve/delve/delve で、以下のエラーが出ました。 Upgrade to delve fails https://github.com/go-delve/homebrew-delve/issues/20 /usr/local/Homebrew/Library/Homebrew/exceptions.rb:426:in `block in dump': undefined method `check_for_bad_install_name_tool' for #<Homebrew::Diagnostic::Checks:0x007fb983297950> (NoMethodError) Did you mean? check_for_tap_ruby_files_locations issueへのリンクがあるので確認。 github.com 結

    brew install go-delve/delve/delve で「undefined method `check_for_bad_install_name_tool'」 - メンチカツ
    xoyip
    xoyip 2018/04/06
    同じことで引っかかったけど、これで無事解決した
  • ブログのビルド用にOGPの情報をJSONで返すサーバーも作った - PIYO - Tech & Life -

    先日Hugo + Netlifyでブログを再構築したよという記事を書きました。Amazonのアフィリンクを簡単に置くためにショートコードを使っていて、記事のビルドの際にはAmazonの情報をを取ってくるサ すでに動かしているGoのサーバーに機能を追加しました。/ogp?url=http://xxxxxとリクエストすると欲しいサイトのOGPをJSONで返してくれるようにします。 依存ライブラリのインストールGoはまだ触り始めたばかりでよくわからないんですが、元々参考にしてたコードがdepというもので依存ライブラリの管理をしていたので、そのまま踏襲して使いました。 Go製でOGPを取得できるライブラリって探して見つけた↓を使いました。 otiai10/opengraph: Golang Open Graph Parser $ dep ensure -add github.com/otiai10

    ブログのビルド用にOGPの情報をJSONで返すサーバーも作った - PIYO - Tech & Life -
    xoyip
    xoyip 2018/04/04
  • Hugo + Netlifyでブログを再構築 - PIYO - Tech & Life -

    2つほど前の記事でRailsで作ったよと書いて早1年。Railsで作った時点で満足し、その間ほとんど新しい投稿をすることもなく過ぎてしまった。心機一転ブログを再開する気持ちになったものの、なんか盛り上がらないなーということでまずは引っ越しからはじめました。 今までWordpressを自分でホストしたり、ブログサービスを使ってみたり、CMSごと作ったりと色々やってきて、次も違うやり方をしたいなと思いスタティックサイトジェネレータとNetlifyを使うことにします。 スタティックサイトジェネレータにはGo言語製のHugoを選びました。Rubyのより早そうだし。 The world’s fastest framework for building websites | Hugo データエクスポート各記法への対応引っ越しということで、過去データがあるのでそれを移行しなきゃいけません。はてなブログ時

    Hugo + Netlifyでブログを再構築 - PIYO - Tech & Life -
    xoyip
    xoyip 2018/04/04