Kotlin Multiplatform at Stable and Beyond (Android Makers 2024)
![1万7千⾏のKotlinを2週間かけ⼒尽くでScalaに移⾏した話](https://cdn-ak-scissors.b.st-hatena.com/image/square/e1c8e47d3d2d990b83c6e412575983b786ce4dbc/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Fcf2beeec75524b9abbb1e3c61ff0f227%2Fslide_0.jpg%3F16139318)
PDFからテキストを取り出すのは、意外と大変です。 それにはいくつかの理由があるのですが、もっとも根本的な点で真っ先に解決が必要になるのは、人間が雑に文字としてみなしている絵(「グリフ」)をコンピューターで扱えるような「文字」にする方法です。 これには2つのアプローチが考えられます。 PDFビューワーでファイルを開いた状態から何とかしてテキストを読み取る PDFファイルの中身を解析してテキストを抜き出す このうち2つめの話は明日以降にして、今日は1つめの話をします。 PDFビューワーでファイルを開いた状態から何とかしてテキストを読み取る方法 この方法は、言ってみれば、人間もしくは人間のように振る舞うソフトウェアによりPDFビューワーの表示を「視覚的に読む」ということです。 これはPDFの本来の使い道に即した手法です。 PDFというのは、グリフ(文字の形)をページ上に表示するための汎用の仕組
Vue・Vuexでモーダルを管理する - その2 以前Vue・Vuexでモーダルを管理するで、動的コンポーネントを用いた実装を記載いたしましたが、 これだけでは実案件で使うために不十分だったため、さらに深掘って実装を追加していきたいと思います。 最終的に出来上がったものをgithubにアップしました。 RikutoYamaguchi/vue-vuex-modal-boilerplate 動作サンプル そもそもモーダルウィンドウとは Wikipediaより モーダルウィンドウ(英: modal window)は、コンピュータアプリケーションソフトウェアのユーザインタフェース設計において、何らかのウィンドウの子ウィンドウとして生成されるサブ要素のうち、ユーザーがそれに対して適切に応答しない限り、制御を親ウィンドウに戻さないもの。モーダルウィンドウはGUIシステムで、ユーザーに注意を促したり、選
2016/05/20にjQuery 3.0のリリース候補版が出てたのでアップグレードガイドを見てみます。 Overview jQuery3.0ではコードのクリーンアップとかバグ修正とかDeprecatedなコードの削除とか色々やってるよ。 Browser Support ・IE 9以降 ・Chrome/Edge/Firefox 最新のひとつ前のバージョンまで ・Opera 最新版のみ ・iOS 7以降 ・Android 4.0以降 jQuery Migrate Plugin 移行プラグインを用意してるから、以下の1行入れとけば1.12、2.2と互換するよ。 <script src="https://code.jquery.com/jquery-3.0.0.js"></script> <script src="https://code.jquery.com/jquery-migrate-3.
問題 モバイルは回線が不安定なので、ロードの失敗が頻繁に起こります。 開発時は高速なwifi環境で開発しているので、リリース間近になって帯域を圧迫していることに気づいたりします。 解決方法 画像を先読みします var preload = function(src){ var d = $.Deferred(); var img = new Image; img.src= src; img.onload = d.resolve img.onerror = d.reject return d.promise(); }; 何をやっているかというと、空のimgタグをつくってそこに画像を読み込みます。その過程でブラウザキャッシュに画像が保存されます。正確に言うとこの時点ではどこにも紐付いていないのでGC対象ですが、その後すぐDOMに画像をはるなら問題ありません。 並列で先読みする(速い・不安定) va
JavaScript (Node.js) で開発する上で避けては通れない 非同期処理、コールバックについて考えてみたい。 自分なりのお勧めの方式を書いてみた。 いろいろなものを試した結果である。 ※この記事でのお勧めの方法は ES2015 (ES6) で実装された generators (yield) の技術を使用しています。 実はまだ Babel(6to5) 等を利用するか Node.js v4~v8 でしか 実質的に使用できない技術だと思います。悪しからず。 (早く全てのブラウザに広く普及する事を祈っています) まだブラウザでは独自ライブラリか Promise (Deferred) 等を使っています。 ※2015/10/15: 記事の内容を npm aa (async-await) に対応させました。 ※2015/04/19: 記事の内容を npm co@4 に対応させました。 ※20
のような感じにエンコードされることが分かります。 自分の好きなデータで試すことができて便利!という話でした。 PS. 以下は実行結果です。 % make % gzip < alice.txt > alice.txt.gz % ./puff -10 alice.txt.gz puff() succeeded uncompressing 1328 bytes 8 compressed bytes unused inpos=406,inbits=224,outpos=0,outbytes=45 41 6c 69 63 65 20 77 61 73 20 62 65 67 69 6e 6e 69 6e 67 20 74 6f 20 67 65 74 20 76 65 72 79 20 74 69 72 65 64 20 6f 66 20 73 69 74 74 A l i c e w a s b
概要 sedコマンドで任意の文字列を改行に置換する方法 知ってはいるけど記述が汚いのでもっと綺麗に書きたい。 そもそも改行ってどーやるの? 例えば、\nって書いてあるところを全部本物の改行に置換したいならこーやります。 sedの置換コマンド後半部分に、エスケープ用のバックスラッシュと、実際の改行コードを書くわけです。 でもこれって汚い!コマンドの途中で改行されちゃうのはイヤんな感じ。 スマートにいきましょ。 綺麗に書きたければ改行文字をシェル変数に入れておき、実際の改行を書く代わりに使えばいいのです。つまり、シェル変数$LFなどを作ってそこに'\'と'<0x0A>'の2文字を格納し、これを使えばいいのです。 まずは$LFに'\'と'<0x0A>'を入れましょ。 が!素直にはシェル変数には入ってくれません。 一筋縄ではいかない。 printfコマンドを使うとキーボードから打てないコントロール
また翻訳です! Efficient float32 arithmetic in JavaScript コンピュータ上で浮動小数点を表現する方法はいくつか存在する。だいたいのアーキテクチャではIEEE754標準を使っている。この標準では、倍精度浮動小数点(a.k.a. double or float64)を64bitで表し、単精度浮動小数点(a.k.a. float or float32)を32bitで表している。名前が示す通り、float64はfloat32よりもっと正確なんだ。だからパフォーマンスがあんまり重要視されないときは大体こっちを使おうねってアドバイスされる。 でもね、float32を使うことにもこんな利点がある: float32は計算操作をするのにfloat64よりCPUサイクルがしばしば少ない。精度が低いからだ。 float64の計算をfloat32に対して行うには、いくらか
(このシリーズのPart 2はこちら: Node.jsフロー制御 Part 2 – FiberとGenerator ) 今回は、JavaScript/node.jsアプリケーションのフロー制御に対するアプローチを、いくつか取り上げて比較してみたいと思います。 通常のコールバックを使う 平坦化されたコールバックを使う Async ( @caolan 作)を使う Highland (こちらも @caolan 作)を使う Bluebird ( @petkaantonov 作)を使う Expressフレームワークを使った以下のルート処理(お粗末ですが)を例に見てみましょう。 ファイルから読み込む いくつかのプロセスを実行する(ステップの数は3つ) プロセスとは、単に拡張データをコールバックする任意の非同期処理を指します ファイルに結果を書き出す リクエストに対して成功またはエラーのメッセージを返す
各辺3.8センチという小さな立方体なのに、重量がなんと1kgもあるという金属の物体が「Forge Solid」です。Forge Solidは希少金属の1つであるタングステンを四角く固めたもので、鈍く輝く表面が独特の存在感を放つ、金属の魅力が凝縮されたオブジェとなっています。 Forge Solid KILO: Denser than solid uranium by Jaime Raijman — Kickstarter https://www.kickstarter.com/projects/1014603694/forge-solid-denser-than-solid-uranium/ Forge Solidがどのような金属なのかは、以下のムービーなどを見るとわかるようになっています。 Forge Solidは純度95%のタングステンを正確な立方体に成形したもの。その加工には、1イン
2010-06-03 カテゴリ: Client Side タグ: JavaScript Tips アルゴリズム 前回の記事で予告したとおり、今回はJavaScriptのMath.random()で生成できる乱数の精度の話。 前回の記事で、JavaScriptでは2^53未満の正整数を扱うことができるということがわかったから、今回の記事では2^53未満のランダムな正整数を生成してみる。 具体的には↓のようなコード。 var ub = Math.pow(2, 53), list = []; for (var i = 0; i < 16; i++) { list[i] = Math.floor(Math.random() * ub).toString(2); while (list[i].length < 53) { list[i] = "0" + list[i]; } // padding }
サイボウズに在籍する技術者を紹介するインタビューシリーズ。 光成滋生(Shigeo Mitsunari) 2007年7月、サイボウズ・ラボ株式会社に入社。 「キーの数が多い」という理由で日本語配列キーボードを愛用。「:」キーにバックスペースを割り当て、「変換」や「無変換」キーをAltやCtrlのような(他のキーと組み合わせて押すことで機能する)Modifierキーとして活用するなど、徹底的にカスタマイズしている。 プログラマには、1つのプロジェクトだけに長く携わり続ける人もいるが、異なる複数の技術やソフトウェアを世に問い、マルチな才能を遺憾なく発揮する人も少なくない。たとえばPerlのオリジナル作者として著名なLarry Wallは、今では「パッチを当てる」という普通の表現にもなっているpatchコマンドを作ったことでも知られている。また、Linuxカーネルを最初に作り始めたLinus T
グーグルのプログラミング言語「Dart」、ECMA標準に:次はenumとdeferred loadingの正式サポートを 米グーグルはオープンソースのプログラミング言語「Dart」が国際標準化団体ECMAの正式仕様として承認されたことを発表した。 DartはJavaと同じクラスベースのオブジェクト指向言語で、複雑なWebアプリケーションの開発に使われる。 Dartはグーグルが2011年に発表。2013年12月には、ECMAによってDartの標準化を目指す技術委員会「TC52」が設置された。2014年6月25日に開かれたECMAの総会では、Dart 1.3をベースとする標準仕様「ECMA-408」の第1版が承認されている。 DartのGoogle+に掲載された情報によると、ECMA TC52委員会はこのほど開いた第3回会合で、enum(列挙型)やdeferred loading、async(
渋日記@shibu.jp 渋川よしきの日記です。ソフトウェア開発とか、ライフハックを中心に記事を書いていきます。 JavaScriptはもう好き嫌いを超えて、最低限の読み書きはもはや教養レベルといっても言い過ぎではないと思います。ブラウザ限定だったら他の言語もありますが、ブラウザで標準で使える言語はJavaScript以外には選択肢はありません。3DCG系のツールのマクロ言語は未だにPythonがトップシェアだと思いますが、Flash, Photoshop, Illustratorの仕事を効率化するマクロ言語はJavaScriptですよね。先日AppleのOS Xの次期バージョンの自動化ツールが独自言語に加えてJavaScriptをサポートすることを発表しました。サーバサイドで使われるnode.jsは、コンパイル言語を除けばトップクラスの性能です。QtもQMLとしてJavaScriptを中
このテキストは JavaScript のコールバック地獄に疲れたひとのためのコールバック駆逐術指南書です。対象読者は JavaScript道初段くらいの人です。このテキストを読むと、以下のそれぞれの手段における非同期処理制御の仕組み、利点および欠点がわかるようになるかもしれません。 コールバック地獄 jQuery.Deferred async.js Concurrent.Thread generators co fibers Web Workers (※なぜか『進撃の巨人』の一部ネタバレが含まれるので注意してください) それは『何故人はコールバックするのか』という話でしょうか? 非同期処理って面倒ですよね。JavaScriptではいわゆる コールバック地獄 というやつにしばしば陥りがちです。たとえば、Ajax でふたつのファイル hoge.txt と piyo.txt を持ってきて、それら
シリコンバレーのスタートアップを数多く取材する中で気付いた「シリコンバレーにおけるディシプリン(規律)の存在」や「General Electric(GE)やIBM、SAPといった老舗企業が必死になってシリコンバレーのスタートアップを真似している理由」、そして「日本企業がイノベーションを実現するための処方箋」について解説します 詳しく知りたい場合は「GE 巨人の復活」をご覧下さい。 http://www.nikkeibp.co.jp/atclpubmkt/book/17/P55110/ 今後の記事は「シリコンバレーNext」をご覧下さい。 http://itpro.nikkeibp.co.jp/siliconvalley/
imagesLoaded JavaScript is all like "You images done yet or what?" imagesloaded.desandro.com Detect when images have been loaded. imagesLoaded on GitHub 8,000 Edit this demo or vanilla JS demo on CodePen. Just to keep things interesting, there’s a 10% chance of adding a broken image. Install Download imagesloaded.pkgd.min.js minified imagesloaded.pkgd.js un-minified CDN <script src="https://unpkg.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く