なんか書いていこうぜー .com

Let's write something good

社内の開発コンテストでスライドアプリを作った

2017-04-08
  • Share on Facebook
  • Tweet
  • Add to Pocket

社内で開催している開発コンテストでスライドアプリをElectronで作成してみた。

muryoimpl/slippr

作ったもの

テキストエリアに markdown かいたら preview 画面に変換されたHTMLが表示されて、全画面表示にするとスライド表示されて、前後のスライドに移動できるというもの。 おまけで、タイマー機能、rabbit のような現在のスライドと残りの表示、PDF印刷機能をつけている。

以下がこれを使って社内で雑にwebpackについて紹介したときのスライドをPDF印刷機能を使って出力したもの。

作った動機としては、frontend 周りの自主練をしていた時期に作ろうと思って止まっていたものを開発コンテストを理由に新たにReact, Redux使って作り始めた。 Linux で使えて、特にネットワークが必要なく、凝ったものを作る必要がないときにパッと作れるアプリが欲しかった、がスライドアプリを作ろうと思った動機。

作り始めてから marp なるものがあることを知ったけど、React, Reduxの勉強兼ねて作ってるからいっかーemoji-innocentという気持ち。

雑にLTするぶんには使えるかな、と思う。なんとか動くところまでもっていけた。

作ってみて

実際に開発してみると、以前frontendの開発を避けていたときより、思ったより簡単に実現できるんだな、と思った。 勿論、ツールが揃ってきたいい時代というのが大きいのだけれども、苦手意識を持たずに調べて実装すると意外にできるものだな。

しかし不慣れなもので、CSSとかちょっとした動きつけるのとか結構たいへんだった。テストをつけられなかったのが心残り。

ちょうど webpacker が話題にあがっていたときに babel, webpack に触れていたのはただの偶然。更にお仕事でもちらっとReact, Redux使うことになったのも偶然。 いろんなものに触れておくのは大事ということを体験した。どこから何が起こるかはわからない。

開発コンテストについて

社内の開発コンテストは、以下のいくつかの動機で始めたもの。

  • 普段のお仕事で使わない技術を使って何かを作ってみる
  • 普段一緒に仕事をしない人とプロジェクトを組んで作業をする
  • ある技術に知見があるがここにいるよ、という紹介
  • 部署やチームをまたがったコミュニケーションの促進

ちょっと運営に噛んでいるので、エントリ数を増やすために私は個人参加してるのですが emoji-sweat_smile

このあたりの話は、関西Ruby会議2017 で話しすることになりそう。

で、来週から社内で投票を行って競う予定になっているので、それなりの結果がでるといいな。

IE11 でbabel-polyfillが入ってなくて画面が真っ白になる

2017-03-12
  • Share on Facebook
  • Tweet
  • Add to Pocket

社内のesaに書いたものをちょっと改変して掲載。

React + Redux + material-ui な SPA で、IE11 で表示しようとすると画面が真っ白、開発者ツール?を見てもなんのエラーも書いてなかった…という現象に遭遇した。

少し調べるとstackoverflowのこれ に当たったので、先のページの内容と併せて ES2016 絡みっぽいのでもしや polyfill 入ってないのでは?と思ってみたら入ってなかった。 babel公式サイトのpolyfillのページ を参考に入れたら解決した。

これって実は webpacker 使って固めたアプリにも影響あったりするかも?と思いつつ、まだ確認できていない。(というのも、Windows がないのであった…)

progressタグに対するデザイン適用

2017-03-12
  • Share on Facebook
  • Tweet
  • Add to Pocket

社内のesaに愚痴的に書いたものをパクって転載。(パクってって書いたけど自分で書いたものねemoji-sweat_smile)

progress タグにデザインを当てるには、The HTML5 progress Element のように [value] や -webkit-progress-value を指定してそこにいろいろ記述していくのだけれども、-webkit-progress-bar に after/before 疑似要素が、少なくとも Chrome/Chromium だと指定しても無視される様子。なので、progress の右端に現在の%をcontentで表示したり画像載せるのは難しいっぽい。

progress {
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  border: 0;
  width: 100%;
  height: 5px;

  &[value] {
    border: 0;
    -webkit-appearance: none;

    &::-webkit-progress-value {
      transition: all .2s ease;
      background-color: $progress-bar-color;
      transition-delay: 0;
    }
  }
}

徐々に表示が右にずれていくようにしたかったため、span タグを使って回避した。

経過とともに progress が ++ されていくようにしているので width が emoji-upされ 、右端に画像が表示されるように指定しているのでそれが emoji-arrow_right に動いていく(ように見えるようになる)。(裏でprogressの計算はしている)

<span className="p-progress-icon-area" style=\{\{width: `${progress}%`\}\}>
  <img src="assets/images/emoji/koko.png" className="p-progress-icon" />
</span>

※記事buildの都合でstyle={{}}のところをescapeしております emoji-sob

.p-progress-icon {
  width: .8em;
  height: .8em;
  vertical-align: middle;
}

S3 の静的サイトホスティングにゆるりと移行中

2017-02-18
  • Share on Facebook
  • Tweet
  • Add to Pocket

意を決して Octopress から Jekyll に移して S3 ホスティングにしてみた。

https 化も着手中ではあるが、メールが届いてこないemoji-angelのでまだもう少し先の話になりそう。

リンク切れとかもありそうなのでemoji-innocentゆるりと直して行く予定。

2017年の目標

2017-01-08
  • Share on Facebook
  • Tweet
  • Add to Pocket

毎年恒例の事業部行事で、2017年の目標を書いた。※私のは23ページ目

{% slideshare 70728602 %}

年末の休みにふと、物事を習慣化して継続するにはどうしたもんかと思ってググると、やる気の継続が…とか書かれていてついカッとなって目標にした。

「やる気の継続」と「習慣」は別の要素だと思っているので、やる気が継続してたとしても作業が続くか?部屋を片付けたいとずっと思っていても、ただし部屋を片付けるとは言っていない、みたいなこともあるので、やる気が継続していてもアクションしないと結果として「続いた」とは言い難い。

なので、アクションを起こし続けられるような仕組みを生活に組み込んで、長期間何かを意識的にやっていこう、というのが目的の目標。

その1 trello を使ってみた

とりあえず、安易に「日常意識的に見るものにやることを表示しておこう」と思って trello を使ってやることを書き出して、スマホのウィジェットにやることを表示させてみた。

やりたいことが常に見えるのでやらないといけない感じが演出はできたものの、ウィジェットではタスクがあいうえお順に表示されるのと、レーンの区別なく表示されるのでちょっとしっくりこなかった。見えすぎるのも逆に無視しやすくなる感じもした。(オオカミ少年的な?)

スマホは毎日意識的に見るので、ここに組み込むのはよさそうな気がする。

その2 Pivotal Tracker を使う(←イマココ)

Pivotal Tracker は本来見積もりのためのツールなので本来の使い方とは違うのはわかっているものの、Epicでレーンを分けてstory表示ができるのと、start すると Current/Backlog に横断的に表示されるので見やすい。point をタスクの重みとして使ってそれっぽく見せている。

今回初めて知ったのであるが、Pivotal Tracker にスマホアプリがあった。ウィジェットがないので意識的にアプリを開く必要があるが、狼少年状態にはならないかな…。 Done したものが Current から見えなくなるのも、Done から done した story が見えるのもよい。

スマホアプリを使って、電車移動中とかトイレへの移動時とかに story 見ながら description 書いたり、task 書いたりしてる。

現状

とりあえず、その2 を採用して一週間ほど続いて入るので、これを続けていく予定。

壁使ってうまいことできないか思案中。カンバンはスマホアプリと重複して二重管理になるので、一旦はスマホアプリに利用を寄せている。

とにかく、なんでもいいから意識的に続けられる仕組みになればいいな、と。