タグ

ブックマーク / qiita.com/shibukawa (12)

  • JavaScript/TypeScriptの例外ハンドリング戦略を考える - Qiita

    PySpa統合思念体です。あと、 @yosuke_furukawa にも協力いただきました。 基的に、あまりエラーの種別を細かく判定してあげることはJavaScriptでは今までやってこなかったのですが、ちょっとしたメタデータを乗っけてあげるとか(例えばリトライ回数)、何か凝ったことをしたくなったらこういう方針でやればいいのでは、という試行錯誤録です。 エラーと例外の区別が必要か この手の話になると、エラーと例外の違いとか、こっちはハンドリングするもの、こっちはOSにそのまま流すものとかいろんな議論が出てきます。このエントリーではエラーも例外も差をつけずに、全部例外とひっくるめて説明します。 例外というのはすべて、何かしらのリカバリーを考える必要があります。 ちょっとしたネットワークのエラーなので、3回ぐらいはリトライしてみる 原因: ネットワークエラー リカバリー: リトライ サーバー

    JavaScript/TypeScriptの例外ハンドリング戦略を考える - Qiita
  • イマドキのJavaScriptの書き方2018

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

    イマドキのJavaScriptの書き方2018
  • printデバッグについて - Qiita

    初心者が多用するデバッグ法というと、printデバッグです。誰に教わることもなく、自然と自己発見して使い続けるケースが多い気がしています。 プログラマーの三大美徳には怠惰という文言があります。ただ、この怠惰というのは繰り返し作業をやめるために、アクティブな行動を伴うので、別なポジティブなラベリングがされるべきだし、個人的にはちょっと違和感があります。低きに流れて部分最適化されてしまうprintデバッグこそ愛すべき怠惰な気がしています。 UI/UXというと、すごい意識高い感じだけど、じつは意識の低さが大事だと思っていて、低きに流れた先が最短ルートで目的というのが大事なんじゃないかと。何かを探すときはまずスタートボタン(Windows95)。困ったらホームボタン(iOS)。OSごとのUIガイドラインに従うのも、そのユーザーにとってすでに常識となっている使い方に対応することで、ユーザーに新しい学

    printデバッグについて - Qiita
  • JavaScriptはなぜトレンドが毎年変わると思われていたのか - Qiita

    JavaScriptはなぜトレンドが毎年変わると思われていたのか JavaScriptのエンジニャーは口を開くたびに出てくるツール名が違う、いつも環境設定をしている、みたいな話をよく聞きます。実際、それを揶揄するようなエントリーが人気だったりします。 とはいえ、JavaScriptを実際に使い込んでいる人は別にそんなに大きな変化だと思っていない節があって、台風は外周部ほど風速が速い、みたいな印象を感じます。 カンブリア紀のJavaScript ウェブサイトをパカパカ動かすための言語でした。DHTMLです。FireBugが出る前のJavaScriptを開発していた人類は、念力デバッグを駆使していました。あるいはalert()。 三畳紀のJavaScript prototype.js、jQuery、Closure Compiler、YUI、mochikit、Ext.jsなどの時代。JavaSc

    JavaScriptはなぜトレンドが毎年変わると思われていたのか - Qiita
  • Mithril + WebPackでページごとの非同期読み込み対応のSPAを作る - Qiita

    PySpaコミュニティで、いいことも悪いこともいろいろ教えてくれるみんなのお兄さんのmopemopeさんから、ES6で全面的に書きなおされたVue.jsが良いよ、という話を聞きました。Vue.jsはMithrilを触る前にちょびっと触ってみたことはあったのですが、良さそうだったものの、当時使っていたJSX(DeNAの方)の静的型付けと相性が良くなくて、あきらめました。まあ静的型付けと相性のいいWebMVCはtypeScriptで作りなおされているというAngular 2の登場までは存在しないかもしれませんが・・・ 当時は知らなかったのですが、vueifyというツールを使うと、CSS/テンプレート/ロジック(.js)がセットになった.vueファイルというのがあって、大規模での開発でも取り回しがしやすいとのこと。 mopemope

    Mithril + WebPackでページごとの非同期読み込み対応のSPAを作る - Qiita
  • オレの最弱のES6開発環境 - Qiita

    ブラウザのES6サポートが急速に良くなってきています。社内ツールとかElectronとか、ブラウザの普及率を気にしなくていい環境ならそろそろ使えるのではないかと思って調べたり試してみたりしています。 更新 https://caniuse.com/#search=es6 http://kangax.github.io/compat-table/es2016plus/ これを見るともうほぼ実装は完了していますね。Node.jsも対応していますし使えるブラウザが限定できるならもはや変換なんかしなくても大丈夫。注意点としては以下の2つ。 IE11は渋い ES6 modulesはまだまだ ソースをES6で書いて、結果もそのままES6という手抜き開発に使えるツールのメモです。手抜きなので、おそらく経年変化の影響はほとんどないはずです。対象としてはブラウザだったり、ElectronでのSPA開発です。

    オレの最弱のES6開発環境 - Qiita
  • オブジェクト指向の欠点をカバーする努力 - Qiita

    オブジェクト指向の問題点 インターネッツを良くするポエムというのは、「こういう問題に対して、こういうソリューションでカバーしてきたよ」をみんなでシェアすることだと思うので、ここに挙げられていることの一部に対して、オブジェクト指向界隈が今までこんな工夫をしてきたよとか、僕の目から見えている「技術発展の流れ」について書いてみようと思います。まあ僕も全ジャンルをまんべんなくやっているわけじゃないし、一部想像で補っている部分もあります。他にもあればぜひシェアしてください! 上記のサイトで書かれている内容のうち、 オブジェクトのつながり具合が手続きでしか表現できない/知識表現が手続き側に偏っている 関係性が表現できない ユーザレベルでの部品化再利用に全然なっていない について取り扱います。 オブジェクトのつながり具合が手続きでしか表現できない/知識表現が手続き側に偏っている 元は2項目ですが、内容的

    オブジェクト指向の欠点をカバーする努力 - Qiita
  • オブジェクト指向と20年戦ってわかったこと - Qiita

    この記事の内容 オブジェクト指向と10年戦ってわかったこと Twitterやはてブコメントを見たら、「わかりやすかった」というコメントもあったのですが、どちらかというとネガティブ方面なコメントが多く目につきました。マサカリという用語で忌憚なく意見を言う風潮については別にいいんですが、「わかりにくい」「間違っている」「古い」みたいなコメントは何も生み出さないし、みんなでニコニコポエムを投稿しあうやさしいインターネッツになったらいいなって思ったので、僕もオブジェクト指向について投稿しようと思います。 何原則? 3原則じゃなくて4では?みたいなコメントもあったのですが、別に3でも4でも5でも重要ではないかなって思います。この4原則の出どころがどこかは知らないですが、C++かSmalltalkあたり(このあたりの話を見かけたのはJava登場前だった気がする)をターゲットとしている気がします。Jav

    オブジェクト指向と20年戦ってわかったこと - Qiita
  • Go最後の秘宝「GUI」を探しに行く - Qiita

    Golangができること、むしろ「得意」と言われるものはすでにたくさんあります。 クロスコンパイルが得意だし依存が少ないバイナリができるから、いろんな環境で使えるコマンドラインツールを書くにはGoがいいよ パフォーマンスが高いし文字列処理もやりやすいので、高速なAPIサーバが得意。gRPCでもHTTP/2でも Webアプリケーション・フレームワークも増えてきていてウェブサービス作れるよ ビルドシステムとパッケージマネージャ内蔵なので、gitから簡単にパッケージをダウンロードしてきたり、◯makeコマンドとか◯runtとか◯owerで消耗しなくて済む gopher.jsでJavaScriptにもなる 逆に今まであまり良い解がなくて、「Goにはちょっと不向きだね」と言われ続けていたのがGUIです。鳴り物入りで出てきたGXUIが開発が止まってしまい、それと同じぐらいにshinyというものが開発が

    Go最後の秘宝「GUI」を探しに行く - Qiita
  • Electron + Mithrilで、ふつうのデスクトップアプリを作る - Qiita

    最近は、Mithrilのお陰で、シングルページアプリケーションが大分作りやすくなりました。仕事でも使ってます。あ、ドキュメントの日語訳もありますよ。もあります! http://mithril-ja.js.org/ http://www.oreilly.co.jp/books/9784873117447/ 社内ツールを作るのにMithrilとElectronで作ってみたのですが、ふつうのデスクトップアプリを作るのにちょっと手間が多いので(これはMithrilを使わなくても)、ふつうを実現するためのフレームワークについて考えて実装してみました。特にまだ名前はありません。 Electronとは? Electronはウェブ的なスキルがあれば、それが簡単にデスクトップで動くようになるという仕組みです。元々はatom-shellと呼ばれていました。類似のものに、NW.js(元node-webkit

    Electron + Mithrilで、ふつうのデスクトップアプリを作る - Qiita
  • Go用のGoogle製のGUIツールキットgxuiのインストール - Qiita

    GoogleGo用の新しいGUIライブラリのgxuiをリリースしました。 ソースコードを見て分かる特徴 ボタン、テキスト入力、ツリーコンポーネントとかがありそう ツリーアダプタ的なクラスがある。直接ツリーコンポーネントに要素を追加するんじゃなくて、MVC的な作り? テーマが切り替えられる。darkというのが最初から組み込まれている。色を変えるぐらいならすぐできそう。ちなみに、テーマといいつつ画像データはなくてフルソースコード。 ベースはOpenGL。 C拡張を使っているのでクロスコンパイルは簡単ではなさそう。 Macへのインストール MacOSX 10.9+Golang 1.4.2(公式バイナリ)で試しています。 glewというライブラリが必要そうなので、Sourceforgeからtarballをダウンロードしてきてインストールします。

    Go用のGoogle製のGUIツールキットgxuiのインストール - Qiita
    alphabet_h
    alphabet_h 2015/03/17
    Go用のGoogle製のGUIツールキットgxuiのインストール - Qiita
  • C言語的にJavaScriptを使う - Qiita

    プログラミング言語は世の中にたくさんありますし、用途や好みによって自由に使えることが多いのですが、一部どうしても置き換えができない言語というものがあります。ブラウザやFlashマクロやPhotoshopマクロのJavaScript、Action Script、GPUのシェーダ言語、Visual Basic for Application、SQLなどなどです。それでもaltJSやORMなど、直接書かないという選択肢もあったりもしますが、どうしても直接書くほうが実行効率が良かったりチューニングが効いたりします。 JavaScriptを使ったコーディングを何年かやっていると、C言語で書かれたアルゴリズムをJavaScriptに移植しないといけない事態に遭遇する機会も増えてくると思いますので、それについて説明します。 整数型としてデータを扱う JavaScriptの言語仕様ではJavaScript

    C言語的にJavaScriptを使う - Qiita
  • 1