並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 359件

新着順 人気順

イテレータの検索結果161 - 200 件 / 359件

  • FirefoxのE4XはXPathより便利? - bits and bytes

    つい最近FirefoxのXMLオブジェクトがすごく便利なのを知りました。そして、そのXMLオブジェクトサポートのことをE4X(ECMAScript for XML)と呼んでいたというのを今知りました.... E4Xについては ECMAScript for XML (E4X) 仕様邦訳 を翻訳された nanto_viさんが書かれている E4X in Firefox が詳しいです。 しょせんはさっきE4Xがなんなのかを知った程度なのでちゃんとしたことは他のページを参照していただくことにして、11.2 左辺式 に書かれているアクセサと選別述語演算子でXPathと同じようなことができて、それがXPath以上に便利なところがありますよ、というはなしだけ書こうと思います。 E4XについてECMAScript for XML (E4X) 仕様邦訳序文には このプログラミング言語拡張は、世界中のもっとも大

    • PHP 5.5 でジェネレータが導入される

      PHP 5.5 でジェネレータが導入されることになりました。 PHP においてジェネレータは Iterator インターフェイスを実装するクラスで次のメソッドが定義されています。 final class Generator implements Iterator { void rewind(); bool valid(); mixed current(); mixed key(); void next(); mixed send(mixed $value); } 関数やメソッド定義のなかの yield 文で指定した式は foreach ループで展開されます。これによって Iterator インターフェイスを実装するクラスを用意しなくても、上記のイテレータのメソッドを利用したり、AppendIterator や MultipleIterator を使って複数のジェネレータをまとめるなど、イテ

        PHP 5.5 でジェネレータが導入される
      • JavaScript ガイド - JavaScript | MDN

        この JavaScript ガイドでは、JavaScript の使い方を紹介し、この言語の概要を説明します。JavaScript の機能についてもっと知りたい場合は、JavaScript リファレンス を参照してください。 目次 このガイドは、いくつかの章に分かれています。 入門編 このガイドについて JavaScript について JavaScript と Java ECMAScript ツール Hello World 文法とデータ型 基本構文とコメント 宣言 変数のスコープ 変数の巻き上げ データ構造とデータ型 リテラル 制御フローとエラー処理 if...else switch try/catch/throw エラーオブジェクト ループと反復処理 for while do...while break/continue for..in for..of 関数 関数の定義 関数の呼び出し 関

          JavaScript ガイド - JavaScript | MDN
        • JavaScriptベストプラクティス Part 2 | POSTD

          ThinkfulはWeb/スマートフォンアプリの技術などを学ぶことができるオンラインスクール。プロフェッショナルな開発者がメンターとして1対1で伴走するため、他の同様サービスよりも続けることができる。 「ベストプラクティス」パート2でも、引き続きMozillaのWebエバンジェリストであるChristian Heilmannが提供するスライドショーから内容を抜粋します。パート1同様、ご紹介するのはメンテナンス性が高く効率の良いコードを書く手助けとなるJavaScriptのベストプラクティス例です。JavaScriptがソフトウェア開発で大きな割合を占めているような場合、不要なものがなく読みやすいコーディングがより重要になってきます。 もしWeb開発についてもっと学びたいと思うのであれば、私たちが提供しているフロントエンドWeb開発コース、もしくはAngularJSコースを覗いてみてください

          • Rustで勘違いしていたこと3選 🏄🌴 【100 Exercises To Learn Rust 🦀 完走記事 🏃】 - Qiita

            100 Exercises To Learn Rust を題材に Qiita Engineer Festa 2024 投稿マラソン に参加していました! 7月17日に仮置きを残しながら投稿したのち、 ようやく全記事完成しました! ので、その記念として、色々話したいと思います!(え、7/17ってもう3週間前...?!) 目次 全記事一覧 100 Exercises To Learn Rustを完走した感想 100 Exercisesの魅力 1. そこそこの長さ 2. 無理のない学習順序 3. 各エクササイズ間に関連がある 4. 効率よく"ミソ"を摂取できる Rustで今まで勘違いしていたこと3選 1. Copy は Clone::clone を...呼び出さなかった! 2. 不変参照は...実は不変ではなかった! 3. 値がスレッドを跨ぐには 'static は...不要だった! 所感 ※

              Rustで勘違いしていたこと3選 🏄🌴 【100 Exercises To Learn Rust 🦀 完走記事 🏃】 - Qiita
            • 京都収納棚:DBMの率直な壱実装 - mixi engineer blog

              飲み屋に行くとかなりの確率で荷物を忘れて帰るmikioです。さて、今回はここ2ヶ月ほどで急ピッチで開発した軽量データベースライブラリ「Kyoto Cabinet」について紹介します。 開発の動機 以前から軽量データベースライブラリとしてご好評いただいているTokyo Cabinetですが、DBMとして必要十分な機能と性能を備えていてなかなか良いものだと自負しております。ただ、開発を進める中でいくつか不満な点があったのも事実です。端的に言えば、全てC言語で記述して、標準ライブラリ(とzlib/bzip2)以外の機能は全て自作しているので、最適化がしやすい反面、メンテナンスの難易度が高くなってしまっているというのが不満です。 そこで、多少性能が悪くなってもいいから、私自身としてお気楽に開発およびメンテナンスができて、移植性も高いような実装を作ってみようと思い立ったのが昨年10月頃。様々な検討を

                京都収納棚:DBMの率直な壱実装 - mixi engineer blog
              • イケてないのに人気がある golang vs イケてるのに人気がない Nim - 強まっていこう

                ここ最近 GCP を持ち上げて Google のポチと化していましたが、そのポチが今回は Google に噛みつきます。 wolfbash.hateblo.jp だって golang 酷いんですもん。何かセンスがぜんっぜん Google っぽくない。 せっかく作るのなら、もっと良いものにして欲しい、そう言う願いも込めてこのエントリーを書きます。 wolfbash.hateblo.jp 前回 Rust と比較してみましたが、今回はその golang 版です。 golang は言語のシンプルさを追求していて、言語的な便利機能が片っ端からありません。 それは覚えることが少ないことを意味します。学習コストを低く抑える事を根本的なポリシーにしている言語です。 裏を返せば完全に人を小馬鹿にしているんですが、その分ドキュメントなどがかなり充実しています。 構文的には、ほぼ C と同じです。そらそうですね

                  イケてないのに人気がある golang vs イケてるのに人気がない Nim - 強まっていこう
                • 仮想パネル: JavaScriptで非同期プログラミングを乗り切る方法

                  これに対して、CommonJSグループはPromiseという形でこれに答えている。これは任意の時点で、完了しているかもしれないし完了していないかもしれない、非同期に実行されるアクションの結果を表現したオブジェクトとのインターフェイスを提供する。この方法では、さまざまなコンポーネントが非同期アクションのためのpromiseを返すことができ、コンシューマは予測可能な形でそのpromiseを利用できる。また、Promiseは非同期性を支援するために構文上便利な言語レベル拡張のために利用される基本エンティティを提供することもできる。 Stratified JavaScriptはこれとは別のアプローチをとっており、JavaScript言語のスーパーセットを提供することで、この問題を解決している。しかし、使う言語を切り替えられないのなら、とるべき道はシーケンシャルなコードをエミュレート可能な、柔軟なA

                    仮想パネル: JavaScriptで非同期プログラミングを乗り切る方法
                  • 第5回 Rubyでサーバ要らずの高速全文検索! - rroongaの紹介 | gihyo.jp

                    前回のMilkodeでの事例紹介では、Rubyでrroongaを使ってソースコード検索エンジンを実装している事例を紹介しました。Milkodeは全文検索エンジンを組み込むことにより、大量のファイルに対しても高速な検索を実現しています。rroongaを使った代表的なアプリケーションの1つです。プログラマにとってとても便利なアプリケーションなので、ぜひ使ってみてください。 前回はユーザ視点からのrroongaの紹介でしたが、今回は違った角度から紹介します。rroongaの歴史、大事にしていることについて説明します。 自分のアプリケーションで利用するプロダクトを検討するときに、プロダクトがどのような方向で作られているかを考慮していますか? 自分のアプリケーションが大事にしたいことをそのプロダクトでも大事にしているなら、相性がよいかもしれません。さて、rroongaはあなたが大事にしたいことを大事

                      第5回 Rubyでサーバ要らずの高速全文検索! - rroongaの紹介 | gihyo.jp
                    • MapReduce以外の分散処理基盤BSP, Piccolo, Sparkの紹介 - Preferred Networks Research & Development

                      どうも,実は今年から開発チームにjoinしていた中川です.可愛い犬の写真がなかったので,可愛いマスコットの画像を貼っておきます. 最近MapReduceとかその実装であるHadoopとかをよく聞くようになりました.これはつまり,それだけ大量のデータをなんとか処理したいという要望があるからだと思います.しかし当たり前ですが,MapReduceは銀の弾丸ではありません. ということで,最近気になっているMapReduceとは違ったアプローチを取っている分散処理基盤について,社内のTechTalkで話した内容を簡単にまとめて紹介したいと思います. Bulk Sychronous Parallel このアルゴリズム自体は1990年に誕生したものです.長いのでBSPと書きます.さて,グラフから最短経路を求める時,MapReduceは使えるでしょうか?このような論文が出るくらいですから出来ないことはあ

                        MapReduce以外の分散処理基盤BSP, Piccolo, Sparkの紹介 - Preferred Networks Research & Development
                      • eclipseのインストール(Eclipse 3.6.0 Helios編) - 愚鈍人

                        プログラミングメモJavaJava-tipseclipseのインストール(Eclipse 3.7 Indigo編)JavaのリフレクションJavaとSQLiteデータベース参照型変数と値が未定義の変数とnullと空文字==とequalsメソッドの違い。イニシャライザ(initializer) ― staticイニシャライザとインスタンスイニシャライザネストした型-内部クラス(インナークラス)(1)ネストした型-内部クラス(インナークラス)(2)ネストした型-内部クラス(インナークラス)(3)-内部クラス,外部クラスへのアクセス匿名クラス(無名クラス)とイベントリスナー定数と初期化配列の初期化SAStrutseclipseにSAStrutsのプラグインをインストールチュートリアルのセットアップSAStrutsの新しいプロジェクトを作成する最初に起動されるアクションIndexActionクラス

                        • JavaScriptのthisは結局何種類あるのか - uhyo/blog

                          JavaScriptのややこしい機能としてよく槍玉に挙げられるのがthisです。その特徴のひとつは状況によって意味(thisの値)が違うことであり、これを指して「JavaScriptのthisは4種類」とする説も見られます。 そこで、この記事ではthisが何種類あるのか、ECMAScript仕様書を頼りに調べます。ECMAScript仕様書とはJavaScriptという言語を定義する文書であり、JavaScriptのthisがどのような挙動をするのかも当然定義されています。今回は仕様書の2020年5月26日版ドラフトを参照します。 https://tc39.es/ecma262/結論としては、最も大ざっぱに分けると3種類、最も細かく分けると157種類です。この記事では全種類漏れなくサンプルコード付きで説明します(似たようなやつはまとめて説明します。また、一部観測不能なものがあります)。 ス

                            JavaScriptのthisは結局何種類あるのか - uhyo/blog
                          • C++11 FAQ

                            訳者注 下記の文章は C++0x - the next ISO C++ standard の暫定勝手和訳です。 翻訳は現在進行中であり、未完成かつ不正確である可能性があります。 っていうか未完成かつ不正確です。 正しい情報を必要とされる方は、原文を当たってくださいますようよろしくお願いします。 誤訳の指摘は大歓迎です。 2010年01月06日更新 (訳注: 和訳は2010年01月21日更新) この文書 (訳注: 原文) は Bjarne Stroustrup が記述、更新している。 建設的なコメント、訂正、参考資料、提案はもちろん大いに歓迎する。 現在、著者は参考資料の充実化と清書に取り組んでいる。 C++0x は次期 ISO C++ 標準である。 現時点の 草案 を、コメント募集のため公開している。 以前の (そして現在の) 標準は、しばしば C++98 や C++03 と呼ばれる; C

                            • ワイ「なに!?ジェネレーター関数を使えば複雑なCSSアニメーションも簡単やと!?」 - Qiita

                              業務中ワイ ワイ「お、また株式会社ブラックはんからお仕事依頼のメールが来てるで」 ワイ「どれどれ・・・」 暗井「お世話になっております。株式会社ブラックの暗井 暗人(くらい・あんと)です」 暗井「クリックするとフワフワっとだんだん縦横に大きくなるボックスを作ってください」 暗井「予算は800万円です」 ワイ「これまた何ちゅうフワフワっとした指示や」 ワイ「でもjQueryのanimateメソッド使えば余裕やろ」 ワイ「かしこまりました」 ワイ「何とか800万円以内に抑えます」 ワイ「送信っと」 ワイ「お、早速お返事や」 暗井「なお、発注元の都合でjQueryの使用はできません」 ワイ「ファッ!?」 ワイ「まじか・・・jQuery禁止か」 ワイ「800万円で出来るかな・・・」 社長「(それは出来るやろ・・・何年かける気や・・・)」 ザコーダーワイ、jQuery禁止で困る ワイ「jQueryな

                                ワイ「なに!?ジェネレーター関数を使えば複雑なCSSアニメーションも簡単やと!?」 - Qiita
                              • Ruby - Wikipedia

                                Ruby(ルビー)は、まつもとゆきひろ(通称: Matz)により開発された、簡潔な文法が特徴的なオブジェクト指向スクリプト言語[注釈 1][4]。 日本で開発されたプログラミング言語としては初めて国際電気標準会議(IEC)で国際規格に認証された事例となった[5][6]。 Ruby は1993年2月24日に生まれ、1995年12月にfj上で発表された。名称の Ruby は、プログラミング言語 Perl が6月の誕生石である Pearl(真珠)と同じ発音をし、「Perlに続く」という意味で、6月の次の誕生石(7月)のルビーから名付けられた[7]。競合言語として Perl の他に Python があり、「Matz(まつもと) が Python に満足していれば Ruby は生まれなかったであろう」と公式のリファレンスの用語集で言及されている[7]。 機能として、クラス定義、ガベージコレクション、

                                  Ruby - Wikipedia
                                • Google I/O で発表された GAS の新機能で Web アプリを作ってみた - WebOS Goodies

                                  WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 Google I/O 、盛り上がってますね! 2 日目の基調講演では新サービスの Google Compute Engine も発表されて、 Google のクラウドサービスはまさに死角なしです。 それはさておき、初日の発表で一番印象に残っているものはなんでしょうか。メガネも捨てがたいですが、私は Google Apps Script (GAS) の新機能が最も嬉

                                  • ES2015(ES6) 入門 - Qiita

                                    はじめに 今更ですが、ES2015(ES6)で追加された機能や構文に関する備忘録です。 「JSは書けるけどES2015(ES6)はわからないっす...!」といった人達向けの記事です。 入門記事のためイテレータやジェネレータ等のわかりづらかったり、 説明が長くなりそうな機能や構文は割愛しております。 ES2015(ES6)とは ECMASCriptの6th Editionのこと。ECMAScript 6th editionの6を取ってES6と呼ばれていたが、 2015年に標準化されたため正式名称はES2015になった。 正式名称がES2015ならES6という名称を使うのは間違いなのか どちらの名称でも問題はない。 ES6の名称の方がエンジニアコミュニティに中では浸透しているらしく、ES6と記載されていることが多い。 詳細は以下を参考。 ES6 or ES2015 ? 〜WEB+DB PRES

                                      ES2015(ES6) 入門 - Qiita
                                    • 問い:Java 8のStream APIは業務でどんな時に使うの? 答え:あなたがfor文使いたい時 - ブログなんだよもん

                                      ※ サンプルがJDK7までとJDK8までで意味が変わっていてわかりにくいという指摘があったので、少し直しました。 ※ boxedを使う書き方だと無駄なAutoboxingが走るとの指摘を頂きましたのでmapToObjを利用するように変えました。 Java8の目玉機能の一つにStream APIがあります。 目玉機能だけあって、先日のJava Day Tokyo 2014を含めて色んな所で発表やブログの記事が公開されているので、どんなものかを知ってる人は多いと思います。 Stream APIといえば「".parallel()"と書くだけで並列化してスピードアップ出来る!」という魅惑的なキーワードで紹介されることが多いので、並列化のための仕様だと勘違いされそうですが、そうではありません。 ※ もちろんそういった記事の中をちゃんと読めばそう単純な話じゃないことも分かります。 むしろ、並列化に関し

                                        問い:Java 8のStream APIは業務でどんな時に使うの? 答え:あなたがfor文使いたい時 - ブログなんだよもん
                                      • 豆知識 - 知っておくと役に立つ - Perl入門ゼミ

                                        Perl › 豆知識 知っておくと何かとPerlが使いやすくなったり、読みやすくなるかもしれないことをいろいろと追加していきます。 BEGIN BEGINはコンパイルのときに実行するということをあらわします。 BEGIN { # コンパイルのときに実行したい文 } require requireはuseと似ていますが実行時にモジュールを読み込むことと、importメソッドを自動的に実行しないところがことなります。 use File::Basename 'basename'; # 上と同じ意味 BEGIN { require File::Basename; File::Basename->import('basename'); } 動的にモジュールを読み込みたい場合はrequireを使用することがありますが、一般的な用途ではuseで統一するのがわかりやすいでしょう。 local localは

                                          豆知識 - 知っておくと役に立つ - Perl入門ゼミ
                                        • STLのページ

                                          角のページへ戻る STL(Standard Template Library) C++の標準テンプレートライブラリ、STLのページです。 2003/6/7 コンテナ全ページ標準に合わせて修正 目次(と予定) 更新履歴 はじめに STLとは? '99 11/07 作成 その前にC++で知っておかなければならないこと 馴染みがない(かもしれない)単語 '99 9/23 わずかに修正 テンプレート(template<>) 2001 1/31 更新 環境 '99 2/20 VCでSGI_STLを使う、BeOS、egcs等 使い方 イテレータ(反復子)の使い方 '99 6/19 更新 関数オブジェクトの使い方 '99 7/4 mem_fun()の使い方追加 早見表 STLで使う主なクラス '99 6/13 各クラスの説明、ヘッダをまとめた STLで使われる名前 '99 6/13 微妙に更

                                          • YOUたち!RubyでinjectしちゃいなYO!

                                            プログラミングの存在価値は処理の自動化です。任意の集合に対して処理を繰り返しその結果を返す、それがプログラムです。つまり集合に対して処理を繰り返す能力が、プログラムの価値を決定付けるのです1。 「手続き型言語」ではループが処理の繰り返しを実現するための重要な手法の一つです。しかしループは、一時変数を用意してプログラマがループの進行を管理しなければならない、という欠点があります。そしてその管理ミスがバグとなります。 「関数型言語」では再帰が処理の繰り返しを実現するための重要な手法の一つです。再帰では再帰の進行はその構造に基づいて自動的になされるので、プログラマがそれを管理する必要はありません。しかしその一方で、処理が多段階に渡る立体的なものとなるので、その動作の理解が平面的なループ処理に比べて難しいという欠点があります。習得には慣れが必要です。 Rubyは、手続き型言語と関数型言語の両方の側

                                            • 【Python】RプログラマーのためのPython入門 - 歩いたら休め

                                              会社に優秀な後輩が入ってきて、優秀な先輩(私でゎない)の助けを得ながら、立派な分析者・Rプログラマーとして成長しつつあります。 しかし、R言語だけで全ての作業が完結できるわけではありません。手元でデータを加工・分析するための環境としては素晴らしいのですが、大規模な計算では遅かったり(パフォーマンスを上げるにしても工夫が必要だったり)、クラスベースのオブジェクト指向が無いため、プログラムが大きくなるにつれて関数の整理が難しかったり、言語としてつらい面も多いです。 また、データ分析して作ったモデルをサービスに乗せる際には別の言語を使う必要があると思います。一応、shinyというWEBアプリを作るためのライブラリもあるものの、「社外向けのサービスでバリバリ使ってるぜ!」という話は聞いたことがありません。 というわけで、R言語メインのプログラマーが、一歩進んでスクリプト言語(Python)が抵抗な

                                                【Python】RプログラマーのためのPython入門 - 歩いたら休め
                                              • FindBugsのバグパターン一覧 - たかのり日記

                                                Javaに対する静的解析ツールには、以下のようなものがあります。 FindBugs PMD Jlint Lint4j Jtest(有償) 近頃の動向を見ていると、OSSのツールでは、FindBugsがデファクトスタンダードになりつつあるように思います。FindBugsは、2007/11/08にリリースされた1.3.0以降、1〜2ヶ月に一度の頻度でリリースされており、チェックルールも充実してきています。最近、FindBugsのチェックルールを調べる機会があったので、どんなルールがあるのかをまとめてみました。 FindBugsが検出するバグパターンは、次のような括り方となります。 バグカテゴリ > バグコード > バグタイプ 左側がより大きい括りになっており、バグタイプが1つの検出ルールに対応付きます。 FindBugsは、1.3.4時点で、8個のカテゴリと354個のチェックルールから成り立ち

                                                  FindBugsのバグパターン一覧 - たかのり日記
                                                • Rust 基礎文法最速マスター (rust 0.7 編) - gifnksmの雑多なメモ

                                                  警告 (2014/1/25 追記) 以下の記事ですが、今となっては通用しない記述が多く含まれています。 0.7 から現在までに行われた大きな変更としては、思いつくだけでも 言語組み込み機能としての managed box が非推奨になった (将来削除され、ライブラリによる実装と置き換わる) rusti ツールが削除された というものがあります。 おそらく、文中のコード例はコンパイルすら通らなくなっていることでしょう。 また、今後も 1.0 に向け大きな変更が予定されています (DST や GC の実装など)。 文中の、言語の基本的なコンセプトに関する部分はかろうじて現在でも通用すると思いますが、その他の部分についてはきちんとメンテナンスされている文章 (公式のドキュメントなど) を参照してください。 以下、オリジナルの記事です。 ブログ移転後の最初の記事っということで、最近僕がハマっている

                                                    Rust 基礎文法最速マスター (rust 0.7 編) - gifnksmの雑多なメモ
                                                  • 川o・-・)<2nd life - Railsの最適化に関する10の事柄

                                                    http://weblog.textdrive.com/article/175/rails-optimizing-resource-usage TextDriveで、Optimizing Rails Resource Usageという記事が公開されました。Railsの最適化について10の事柄を挙げています。興味がある人は原文を読んでもらうとして、ここでは軽くサマリー(意訳)を。間違っていたらコメント歓迎! 1. 最小限のFastCGI 開発には1つのDispatcherで十分。A list Apartでも4つのFastCGI Dispatcherで動かしてて速くてloadも0.01だよ。あとFCGIが増えるとDBコネクションも増えるからね。 2. キャッシュを使う Dispatcherを通さずキャッシュを使う。Railsではとっても簡単にキャッシュ使えるし、期限設定も楽だし。lighttp

                                                      川o・-・)<2nd life - Railsの最適化に関する10の事柄
                                                    • Ruby 2.5.0 リリース直前!何が変わるのかもう一度おさらいしておこう! - Speee DEVELOPER BLOG

                                                      この記事は Speee Advent Calender の25日目の記事です。 開発部 R&D グループの村田です。所謂フルタイム CRuby コミッターの一人です。 今日は 12/25 です。数時間後には Ruby 2.5.0 がリリースされている予定です。 皆さんはもう RC1 を試しましたか?え?毎日 trunk をビルドして使っているって?とても素晴らしいですね。 しかし、そうじゃ無い人も大勢いると思います。ですから、ここでは Ruby 2.5.0 で何がどう変わったのか、インパクトが大きいものを選んで最終確認をしておきましょう。 まとめ方は以下のようにしました*1。 言語仕様の変更 組み込みクラスの変更 パフォーマンス改善 言語仕様の変更 トップレベルで定義された定数の検索 トップレベルで定義された定数はObjectクラスの下に定義されたことになります。 TWO = 2 Obje

                                                        Ruby 2.5.0 リリース直前!何が変わるのかもう一度おさらいしておこう! - Speee DEVELOPER BLOG
                                                      • 西尾泰和のブログ: Pythonでワンライナーを作成する際のノウハウ集

                                                        これはLL Ringというイベントの「じゃんけん2.0」に出場する際に「多くの構文に改行が必須であるPythonで書かれたじゃんけんエージェントをワンライナーにしていたらウケるかな」と思ってワンライナー化しているときに書いたメモです。自分用のメモのつもりだったので書き殴ってありますが、意外と人気のようなので近いうちに加筆します。 実は後から書いた英語版(How to make oneliner in Python?)の方が整理されているのかも。 完成したワンライナー def文を式にする defは改行を要求するのでlambdaに置き換える必要がある。 def foo(x): return x + 1(ここに改行) foo = lambda x: x + 1 globals().__setitem__("foo", lambda x: x + 1) lambdaは式しか含むことが出来ないので、

                                                        • 「第4のブラウザ言語」WebAssemblyが変えるフロントエンド開発 | レバテックラボ(レバテックLAB)

                                                          執筆 山内 直 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)に所属するテクニカルライター。出版社を経てフリーランスとして独立。ライター、エディター、デベロッパー、講師業に従事。屋号は「たまデジ。」。著書に『Bootstrap 5 フロントエンド開発の教科書』、『作って学べるHTML+JavaScriptの基本』など。 監修 山田 祥寛 静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「独習」シリーズ、「これからはじめるReact実践入門」、「改訂3版 JavaScript本格入門」他、

                                                            「第4のブラウザ言語」WebAssemblyが変えるフロントエンド開発 | レバテックラボ(レバテックLAB)
                                                          • JavaScriptパターン

                                                            JavaScriptについては一通りマスターした中上級者がさらに上を目指すための高度でかつ有用なテクニックを盛り込んでいます。デザインパターン、コーディングパターン、アンチパターンに基づき、いままで以上にJavaScriptを使いこなし、プログラミングの力を向上させ、JavaScriptのエキスパートになるための知識と技を豊富に紹介。次のステップに踏み出したいプログラマにとって貴重な情報源となる一冊です。Yahoo!のエンジニアとして数々の有用なアプリケーションの開発に携わってきた著者がJavaScriptを200%使いこなすための秘伝を伝授します。 まえがき 1章 はじめに 1.1 パターン 1.2 JavaScriptの概念 1.2.1 オブジェクト指向 1.2.2 クラスというものはない 1.2.3 プロトタイプ 1.2.4 環境 1.3 ECMAScript 5 1.4 JSLin

                                                              JavaScriptパターン
                                                            • Dwangoプログラミングコンテストの感想

                                                              2016年2月14日、dwangoプログラミングコンテスト2016が行われた。「ドワンゴからの挑戦状」というタイトルもつけられている。 今回の競技プログラミングの参加者は、1月24日に行われた予選を勝ち残った、2016年度新卒予定者から上位20名、一般から上位10名の者である。予選では、以下のような問題が出された。 Welcome to dwangoプログラミングコンテスト - dwangoプログラミングコンテスト | AtCoder この予選が終わった後で、筆者が予選問題を試みた結果が以下である。 本の虫: ドワンゴのプログラミングコンテストをクリアできなかったお話 筆者は、C問題のゲーマーじゃんけんの期待値計算が分からなかったので、バカにでも書けるモンテカルロ法を使い、力技で解こうと試みたが、少数点6桁という圧倒的に高い精度が要求されているため、必要な精度が出ずに敗北した。後に聞くとこ

                                                              • 聖書降臨 - 書評 - プログラミング言語Ruby : 404 Blog Not Found

                                                                2009年01月25日00:00 カテゴリ書評/画評/品評Lightweight Languages 聖書降臨 - 書評 - プログラミング言語Ruby オライリー矢野様より献本御礼。 プログラミング言語Ruby まつもとゆきひろ / David Flanagan 卜部昌平監訳 / 長尾高弘訳 [原著:The Ruby Programming Language] 初出:2009.01.22; 販売開始まで更新 やっとキタ━━━━(゜∀゜)━━━━ッ!! 長らくバイブル不在だったRubyに。 ただし、ちょっとした注意点がある。ヒント: ラクダ本は「Programming Perl」 ヘビ本は「Programming Python」 で、おそらく今後「ハチドリ本」と呼ばれるであろう本書は「The Ruby Programming Language」 本書「プログラミング言語Ruby」は、プログ

                                                                  聖書降臨 - 書評 - プログラミング言語Ruby : 404 Blog Not Found
                                                                • Awesome Java : 素晴しい Java フレームワーク・ライブラリ・ソフトウェアの数々 - Qiita

                                                                  Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 元記事: Awesome Java Awesome List in Qiita Awesome Ruby Awesome JavaScript Awesome Node.js Awesome Python Awesome Go Awesome Selenium Awesome Appium Bean マッピング Bean マッピングを容易にするフレームワーク dOOv - 型安全なドメインモデルの検証とマッピングのための API を提供します. アノテーション, コード生成, および型安全 DSL を使用して, Bean の検証とマッピ

                                                                    Awesome Java : 素晴しい Java フレームワーク・ライブラリ・ソフトウェアの数々 - Qiita
                                                                  • データベースの動的デフラグ - mixi engineer blog

                                                                    ノートPCの冷却ファンがうるさいのを対処しようとしてWebで調べたら、そのファンの設計者が「静音性へのこだわり」を語ったページにたどり着いて複雑な心境のmikioです。今回は、Tokyo Cabinet(TC)の最新バージョンで実装された動的デフラグ機能について長々と説明します。 断片化とデフラグ 任意のサイズのデータを管理する記憶装置においては、利用可能領域の断片化(fragmentation)の問題が常につきまといます。ファイルシステム上で任意のサイズのファイルを管理する際にも、データベースファイル内で任意のサイズのレコードを管理する際にも、C言語のmalloc/free関数群でメモリの管理をする際にも、様々なレイヤで断片化が起きうるのです。なぜなら、データを削除もしくは移動した際の空き領域を再利用するにあたって、その領域と同じサイズのデータが常に入ってくるとは限らないからです。特にデ

                                                                      データベースの動的デフラグ - mixi engineer blog
                                                                    • 実践Vim

                                                                      Vimのコア機能を徹底解説。古くて新しいUnixのエディタVim--このVimのエディタとしてのコア機能をマスターするためのレシピ集。 関連サイト本書の詳細ページが用意されています。 『実践Vim』内容紹介『実践Vim』は、自分の技量を向上させたいプログラマに向けたものだ。聞いたことがあるだろうが、熟練者の手にかかれば、Vimは思考のスピードでテキストを切り刻んでいく。この目標に向かう次のステップが本書を読み込むことだ。 『実践Vim』はVimマスターへの近道だ。手取り足取り教えたりはしないが、前提となる知識はVimチューター(Vimと一緒に配布されているインタラクティブなVim入門)をひとしきり実行すればわかるだろう。『実践Vim』は、Vimの中核となるコンセプトとイディオム的な使い方に着目することで、この前提となる知識からさらなる高みを目指すものだ。 Vimは非常に柔軟に構成を行える。

                                                                        実践Vim
                                                                      • forEach書いたら負け、for文禁止 - torutkのブログ

                                                                        本日は日本Javaユーザーグループ(JJUG)主催のクロスコミュニティカンファレンス2014春に参加してきました。今日の日記は、参加内容のまとめではなく、参加して得たことやそれをきっかけに考えたことなどをだらだらと書き連ねます。 Java SE 8では、forEach書いたら負け、for文禁止 日記のタイトルは、午前のセッション「K-1 詳説 Java SE 8 – CCC Edition」で出た話題です。手続き的なロジックを書いて、ネストが深く制御構造が複雑になってしまう人向けにはJava SE 8で導入されたラムダ式とStream APIを使って、内部イテレータと関数型プログラミングのエッセンスを取り入れた書き方をするといいよ、という話から出た言葉です。 実は昨日開催したJava読書会(「Java 8 Lambdas」を読む会)でも、「for文は禁止だ!」という話題が出てました。for

                                                                          forEach書いたら負け、for文禁止 - torutkのブログ
                                                                        • 細かすぎて伝わりにくい、Pythonの本当の落とし穴10選+α - Qiita

                                                                          Pythonはコードが書きやすい?ご冗談でしょう ・とにかくコロンを忘れまくる ・Pythonでは、関数が返す値には明示的に「return」を付ける必要がある ・リストに対してmapやfilterといった関数を適用した結果が、リストではなくイテレーターのオブジェクトになっている こんなのを槍玉にあげてるの?ご冗談でしょう。 今こそあの記事を復活させなきゃいけない気がしたので、自分の昔のブログからサルベージ1しました。またせっかくなので、新しく加筆しました。Python の本当の落とし穴、ご査収ください。 自作の test.py を import しようとしてもできない 多くの初心者がハマることですが、自分で test.py というファイルを作って実行しようとしても、うまくいかないことがあります。 これは、Python には標準で test というモジュールが用意されており (!)、自作スク

                                                                            細かすぎて伝わりにくい、Pythonの本当の落とし穴10選+α - Qiita
                                                                          • ついに顕在化しはじめたArrayリスク : 404 Blog Not Found

                                                                            2013年03月11日18:15 カテゴリTipsLightweight Languages ついに顕在化しはじめたArrayリスク JavaScript: The Definitive Guide (Kindle ed.) David Flanagan [邦訳:JavaScript 第6版] 以下のようにした理由は、実はJavaScriptのArrayが配列ではないことに起因します。 404 Blog Not Found:Algorithm - Ruby 2.0 や Haskell の遅延リストを JavaScript で これに対して、List.Lazyではmapやfilterを関数合成で実現しています。JavaScriptのArrayが、(整数個のデータ構造が順序よくならんだ古典的な意味での)配列でないことは、以下のように確認できます。 JavaScript var ary = ne

                                                                              ついに顕在化しはじめたArrayリスク : 404 Blog Not Found
                                                                            • JavaScript の ジェネレータ を極める! - Qiita

                                                                              ECMAScript 6(2015年6月に公開され、今もなお比較的新しい JavaScript)の大目玉である イテレータ と ジェネレータ。なかなかに複雑で巨大な仕組みになっていてややこしいです。 そこで今回は ジェネレータ を、順を追って理解できるように解説したいと思います。 Qiita: JavaScript の イテレータ を極める! ←こちらから読むのがオススメです Qiita: JavaScript の ジェネレータ を極める!(この記事) また、実用的なサンプルを「3. 実用サンプル」に示しました。 初めにこちらを見て、何ができるのかを知ってから読み始めるのもオススメです。 (2017年3月現在、オープンなページでの使用はまだ避けたほうがいいかもしれませんが、実装は確実に進んでいます。ECMAScript 6 compatibility table) 1. ジェネレータ、ジェ

                                                                                JavaScript の ジェネレータ を極める! - Qiita
                                                                              • asyncioを用いたpythonの高速なスクレイピング - HackerNews翻訳してみた

                                                                                「HackerNews翻訳してみた」が POSTD (ポスト・ディー) としてリニューアルしました!この記事はここでも公開されています。 Original article: Fast scraping in python with asyncio by Georges Dubus ウェブスクレイピングについては、pythonのディスカッションボードなどでもよく話題になっていますよね。いろいろなやり方があるのですが、これが最善という方法がないように思います。本格的なscrapyのようなフレームワークもあるし、mechanizeのように軽いライブラリもあります。自作もポピュラーですね。requestsやbeautifulsoup、またpyqueryなどを使えばうまくできるでしょう。 どうしてこんなに様々な方法があるかというと、そもそも「スクレイピング」が複数の問題解決をカバーしている総合技術だ

                                                                                • Python 2.4 クイックリファレンス

                                                                                  Does the web look weird? Ugly? Perhaps that's because your browser does not support the CSS standard. I recommend you consider updating it. Without CSS, this and other pages are visible, but nothing like they were meant to be. A very good free browser with support for all standards is Firefox. For information about standards and why they are important, please visit the browser upgrade campaign. St