タグ

iNoのブックマーク (2,560)

  • Modern JavaScript概観、そしてElectronへ | さにあらず

    この一か月分の学習成果を整理したリポジトリを作ったので、その成果についてまとめておく。 作ったサンプルプロジェクトだけを手軽に欲しければ、このリポジトリを clone してほしい。 taichi/js-boilerplatemaster ブランチには、ミニマムな JavaScript 開発環境がサンプルコード付きで入っているfrontend ブランチには、React/Redux/webpackなウェブアプリケーション用の開発環境が入っているデフォルトブランチにしてある electron ブランチには、frontend ブランチの内容に加えてElectronでアプリケーションを開発するための環境が入っているはじめに#最近の JavaScript について#僕は仕事として JavaScript を書いている訳ではないけども、この半年くらいの間にちょっとしたツールならいくつか作った。どちらも便利

    Modern JavaScript概観、そしてElectronへ | さにあらず
  • 最近の私的 Golang 開発環境 - Qiita

    あらかじめ予防線を張っておくと Go 言語の開発環境で「これ!」という正解はない。特にチームで開発している場合は,チームの流儀に従うのが最善だと思っている。なので,この記事は「こういうやり方もあるよ」という参考程度に見ていただけるとありがたい。 GOPATH の構造 皆さん御存知の通り,環境変数 GOPATH は Go 言語パッケージや開発環境を指定するものだが,実は複数のパスを指定できる。Windows 環境ならこんな感じにセミコロン(;)で区切って指定する。

    最近の私的 Golang 開発環境 - Qiita
    iNo
    iNo 2018/01/29
  • VimでESLintとFlowを使うためにNeomakeからALEに乗り換える - Qiita

    はじめに [Vim]SyntasticによるESLintチェックが遅いのでNeomakeに乗り換えた - dackdive's blog ここで書いたように ESLint を Syntastic で実行するのはちょっと重いなというのがあって Neomake という非同期で lint チェックできるプラグインに乗り換えた。 それからしばらくして Flow を触り始めたのだが、 ESLint と Flow を同時に使おうとすると Neomake では色々問題があったので ALE という別のプラグインを使うことになった。 最初にまとめ 以下を満たすのは Neomake では無理で、ALE では可能だった ESLint・Flow のどちらか一方がインストールしたプロジェクトでも問題なく使える 現在編集中のファイルに対してだけチェックをかけることができる 軽い(非同期で実行される) ALE はインス

    VimでESLintとFlowを使うためにNeomakeからALEに乗り換える - Qiita
    iNo
    iNo 2018/01/15
    Asynchronous Lint Engine
  • イマドキのJavaScriptの書き方2018

    PySpa統合思念体です。これからJavaScriptを覚えるなら、「この書き方はもう覚えなくていい」(よりよい代替がある)というものを集めてみました。 ES6以降の難しさは、旧来の書き方にプラスが増えただけではなく、大量の「旧来の書き方は間違いを誘発しやすいから非推奨」というものを作り出した点にあります。5年前、10年前のやウェブがあまり役に立たちません。なお、書き方が複数あるものは、好き嫌いは当然あると思いますが、あえて過激に1つに絞っているところもあります。なお、これはこれから新規に学ぶ人が、過去のドキュメントやコードを見た時に古い情報を選別するためのまとめです。残念ながら、今時の書き方のみで構成された書籍などが存在しないからです。 たぶん明示的に書いていても読み飛ばす人はいると思いますが、すでに書いている人向けではありません。これから書くコードをこのスタイルにしていくのは別にいい

    イマドキのJavaScriptの書き方2018
  • OSXのコマンドライン通知ツール「Alerter」のご紹介 | DevelopersIO

    メールやチャットなど色々なところに通知が飛びます。 例えば会議が始まる前にチャットに通知したり、CircleCIがビルドを完了したらメールに通知したりしていますが、どちらも私が見に行かないといけません。 チャットを全然気にしていないタイミングで会議が始まったら通知を逃し、会議に行けない(遅れる)、といった結果が想定されます。 OSの機能で通知することで、私が気づく確率が上がるのではないかと思い調べていたところ見つけたのが今回紹介するAlerterです。 Alerter Alerter/Send User Alert Notification on Mac OS X 10.8 from the command-line. alerter is a command-line tool to send Mac OS X User Alerts (Notifications), which are

    OSXのコマンドライン通知ツール「Alerter」のご紹介 | DevelopersIO
  • HTML5 入れ子チートシート | 吉川ウェブ

    HTML 5.2のそれぞれの要素が入れ子にできる「子要素」、包含されることが可能な「親要素」の一覧のルールを視覚化して表示します。 ※1 a要素の親要素が包含可能であること※1 audio要素の親要素が包含可能であること※1 canvas要素の親要素が包含可能であること※1 del要素の親要素が包含可能であること※1 ins要素の親要素が包含可能であること子要素省略※1 map要素の親要素が包含可能であること※1 noscript要素の親要素が包含可能であること かつ body要素の子孫であること子要素省略※1 video要素の親要素が包含可能であること ルート要素&文書メタデータ html 親 子 head 親 子 title 親 子 base 親 子 link 親 子※HTML 5.2から可能。フレージングコンテンツが期待される場所※head要素の子孫であること meta 親 子※he

    HTML5 入れ子チートシート | 吉川ウェブ
    iNo
    iNo 2017/12/20
  • Goでテストを書く(テストの実装パターン集) - Qiita

    Goでテストを書くお話です。 基的なところから、応用的なテストの書き方(パターン?)をまとめておくことにしました。 ポイントを先に列挙します: テストのエラーメッセージは丁寧に書こう テーブルテストを活用してパターンを整理しながら網羅しよう t.Runをつかって大きなテストを分割しよう t.Helperをつかってテストエラーの箇所をわかりやすくしよう テスト用のデータは testdata ディレクトリに置こう Setup/Teardownをうまく書いてテストの見通しをよくしよう 等 では、見ていきましょう。

    Goでテストを書く(テストの実装パターン集) - Qiita
  • webpack時代の終わりとparcel時代のはじまり - Qiita

    設定不要のビルドツール parcelというビルドツールが空前の勢いでGitHubスターを集めており、リリース数日で5000スターを超えています。今日だけでも1000スター以上増えており、Googleなどの有名企業リポジトリ以外でこのスピードで人気がでるのは異例です。 https://github.com/parcel-bundler/parcel https://parceljs.org/ 実際に試してみたところ、これはwebpack一強時代を終わらせるレベルの使いやすさだと確信しました。 作者はAdobeのエンジニアで、その他著名エンジニアも続々と参加している様子です。 webpack疲れ webpackが出た当初、webエンジニアgulp/grunt疲れの状態だったことを覚えている方もいるかと思います。 webpackの統合された設定ファイルは、タスクランナーで逐次処理していたものを

    webpack時代の終わりとparcel時代のはじまり - Qiita
  • Goのパッケージ構成の失敗遍歴と現状確認

    この記事は Gunosy Advent Calendar 2017の5日目の記事です。前回の記事はGunosyのパーソナライズを支える技術 -ワークフロー編-でした。 GoAPIを書くときの問題僕の在籍するGunosyはGoを昔(?)から番採用しておりまして、ノウハウも潤沢に溜まっている企業だと言えます。 しかし、contextの扱いやベストなパッケージ構成、テスト、net/httpでAPIを書くノウハウなどなど、迷うことは多々あります。 これは弊社特有の事情ではなく、Goのサーバーサイドエンジニア全員にとっての問題です。中でも、パッケージ構成をどうすればいいのか(相互参照せずに快適に開発を進められるパッケージ構成とは)を見つけるのは結構難しく、各々のチームにお任せ、という状況です。 今回は上記の問題のうち、パッケージ構成に踏みこんで見たいとおもいます。会社でもよくパッケージ構成をどう

    Goのパッケージ構成の失敗遍歴と現状確認
  • 全モダンブラウザで使えるJavaScriptのdynamic import(動的読み込み) - Qiita

    JavaScriptでは他のJSファイルを読み込みES Modulesという仕組みがあり、Chrome、Edge、Safariなどブラウザのサポートが拡大しつつあります(参考記事「JavaScriptでモジュールを使う時代に! ブラウザで覚えるES Modules入門」)。 さらに、モジュールをimport()を使って「関数のように」呼び出すためのdynamic importという仕組みが2020年に公開されるECMAScriptの仕様で導入されます(tc39/proposal-dynamic-import)。Google Chrome、Firefox、Safariではではモジュールのdynamic importに対応しており、ブラウザでその挙動を確認できます。 dynamic importのメリットは、任意のタイミングでモジュールを読み込めること。たとえば、ページの初期表示に必要なJav

    全モダンブラウザで使えるJavaScriptのdynamic import(動的読み込み) - Qiita
  • ReduxにおけるGlobal stateとLocal stateの共存 - LIVESENSE ENGINEER BLOG

    初めまして!エンジニアの米山と申します。 転職会議ではフロントエンド開発にReact.jsとReduxを利用しています。 今回はReact, Redux開発におけるGlobal stateとLocal stateという考え方について、軽く紹介させていただきます。 Redux開発の難点 ReduxはSingle source of truthという原則を採用しており、アプリケーションの状態は1つのオブジェクトに格納されます。それゆえ、アプリケーションの状態が散らばることなく管理が楽になります。 ただし、その弊害としてstateが肥大化します。stateが肥大化すると、reducerが肥大化する可能性が高まります。 対応策としては、reducerを分割したり、Normalizrのような便利なツールを使う方法が考えられます。 しかし、React自身が提供するState管理を併用することで、Red

    ReduxにおけるGlobal stateとLocal stateの共存 - LIVESENSE ENGINEER BLOG
  • Redux の reducer で switch を使わない - Qiita

    はじめに 下記のコードは、公式ドキュメントのコピペです。テクニックについてとても勉強になったので感想を入れつつ、メモを残しています。 Switchによる問題点と関数型プログラミングのアプローチ Switchによる制御は、分岐が増えることによって制御を行うプログラムの実装が複雑になっていく可能性がある。 例えばReduxにおける、Reducerの実装がそれにあたる。 export function todos(state = [], action) { switch (action.type) { case ActionTypes.ADD_TODO: let text = action.text.trim() return [ ...state, text ] default: return state } } 関数型プログラミング脳では、このような問題に関して、扱う範囲を分解することでそれ

    Redux の reducer で switch を使わない - Qiita
    iNo
    iNo 2017/10/26
  • コーディング初心者こそ知っておきたい便利な「CSS関数」5選

    HTMLCSSでホームページのデザインを行うことを、一般的には「プログラミング」とは言わずに「コーディング」と言います。 論理的なバックエンドでの実行処理を考えるプログラミングとは違い、HTMLCSSは「見え方」や「見た目」の部分に責任を持つことが多く、コードによって「組み立てる」イメージからそのように呼ぶのでしょう。 しかしながら、CSSは通常プロパティと値をセットで指定していきますが、*「CSS関数」*と呼ばれる便利な関数も用意されています。 これらの関数を使うことで、計算を実行したり、条件を指定したり、特定の値を別のフォーマットに変形したりすることができます。 そこで稿では、*コーディング初心者こそ知っておきたい便利な「CSS関数」*を5つ紹介していきます。 普段業務などであまりCSS関数を活用していない方にこそ、CSS関数のよさを知って、使えそうな場面でぜひ活用していただきた

    コーディング初心者こそ知っておきたい便利な「CSS関数」5選
    iNo
    iNo 2017/10/26
  • async/awaitを使った非同期処理の書き方 - 30歳からのプログラミング

    ES2017で仕様に入ったAsyncFunctionとawait単項演算子。 これらを使うと非同期処理を同期的に書くことができ、非同期処理のループもシンプルに書けるようになる。 この記事の内容は全てNode.jsのv8.6.0で動作確認している。 非同期処理の基礎はこちら。 AsyncFunction 関数定義の前にasyncとつけると、その関数はAsyncFunctionになる。 async function myFunc(){ return 'foo'; } console.log(myFunc); // [AsyncFunction: myFunc] console.log(myFunc()); // Promise { 'foo' } myFunc().then(res => console.log(res)); // foo 非同期処理をシンプルに書けていることが分かる。 Asy

    async/awaitを使った非同期処理の書き方 - 30歳からのプログラミング
  • Big Sky :: Golang で物理ファイルの操作に path/filepath でなく path を使うと爆発します。

    たぶん逆引きが無いから探せないのかなと思ったので path/filepath にどういう機能があるのか書いておく。 filepath.Join 使って下さい。 / “Go言語でクロスプラットフォーム的にパスとファイル名を結合するには? | 非IT企業に勤める中年サラリーマンのIT日記” https://t.co/ehXCf0u8X9 — 自称mattn (@mattn_jp) October 24, 2017 パスからファイル名を得る filepath.Base を使う。 package main import ( "path/filepath" ) func main() { println(filepath.Base("C:/foo/bar")) } この場合 bar が表示される。 パスからディレクトリ名を得る filepath.Dir を使う。 package main impor

    Big Sky :: Golang で物理ファイルの操作に path/filepath でなく path を使うと爆発します。
    iNo
    iNo 2017/10/24
  • React Nativeアプリをリリースし続けるために、最初に行う8つの取り組み

    This document discusses React Native and best practices for building mobile apps. It covers getting started with React Native, setting the application ID and bundle identifier, versioning, build types, integrating Fabric and Firebase, and using Fastlane for deployment. Tips are provided for configuring Android and iOS projects as well as continuous integration/delivery best practices.Read less

    React Nativeアプリをリリースし続けるために、最初に行う8つの取り組み
  • tmnm.tech is Expired or Suspended.

    「 tmnm.tech 」のページは、ドメインが無効な状態です。 ウェブサイト管理者の方はこちらから変更・更新を行ってください。 「 tmnm.tech 」is Expired or Suspended. The WHOIS is here.

    iNo
    iNo 2017/10/10
  • goreleaserを使ってGoで書いたツールのバイナリをGithub Releasesで配布する - $shibayu36->blog;

    Goで書いたツールのバイナリ配布ってどうやれば良いのかなーと思っていたら、goreleaser というツールを見つけたので使ってみた。非常に便利だったのでメモしておく。 goreleaserとは 簡単に言うと、Goのバイナリのクロスコンパイルと、Github Releasesへのデプロイをやってくれる君。詳しくは https://goreleaser.com/ と https://github.com/goreleaser/goreleaser を参照。 goreleaserのインストール https://github.com/goreleaser/goreleaser/releases からバイナリを取ってくるでも良いけど、僕はgo getでインストールした。 $ go get github.com/goreleaser/goreleaser goreleaserの設定を行う まずはリリ

    goreleaserを使ってGoで書いたツールのバイナリをGithub Releasesで配布する - $shibayu36->blog;
  • jsに関する情報収集を淡々と話す

    Transcript KTʹؔ͢Δ৘ใऩूΛ୶ʑͱ࿩͢ 8F�"SF�+BWB4DSJQUFST�!��UI !NLJ@TLU ޲Ҫ࡙ਓ NVLBJ�TBLJUP 5XJUUFS w ݴޠɺϑϨʔϜϫʔΫͷ
 ެࣜΛϑΥϩʔɻ w Α͘৘ใΛᄁ͘ਓΛϑΥϩʔ
 ͯ͠ɺϦετʹ·ͱΊΔɻ w ࣗ෼΋ᄁ͘ʂ 2JJUB w ਓؾͷ౤ߘΛݟ͓͚ͯ͹
 ͦΕͳΓʹ৘ใ௫ΊΔɻ w ϑΥϩʔ͓ͯ͘͠ͱ
 ϑΟʔυʹϑΥϩʔͨ͠ਓͷ
 ετοΫͨ͠౤ߘ͕ྲྀΕΔɻ 2BMFJEPTQBDF w 2JJUBΛಠࣗΞϧΰϦζϜͰ
 ධՁͨ͠αΠτ w 2JJUBͱ߹Θͤͯ࢖͏͜ͱͰ
 ΑΓྑ͍৘ใΛ௫ΊΔɻ ͸ͯͳϒοΫϚʔΫ w ςΫϊϩδʔΧςΰϦʔΛ
 ݟ͓͚ͯ͹ྑ͍ɻ w ͨ·ʹ৽ணΛݟΔͱ
 ྑ͍৘ใ΋͋Δɻ 4MBDL w ༷ʑͳίϛϡχςΟʔͷ
 4MBDLνʔϜ͕͋Δɻ w ࣭໰͢ΔͱͰ͖Δ

    jsに関する情報収集を淡々と話す
  • GitHub English Challenge Cheat Sheet - Qiita

    GitHub上の実際のコミットメッセージやIssueのやりとりをみて、チートシート作りました。 共通的なこと コミットメッセージやIssueのタイトルは、主語省略し、1文で書き行末ピリオドは付けない 動詞は現在形・過去形のどちらも同じくらいの頻度で見られるが、どちらかに揃える。 コミットメッセージを書く Japanese English

    GitHub English Challenge Cheat Sheet - Qiita