タグ

Programmingに関するpipeheadのブックマーク (1,623)

  • 正式リリースされたES8の主な新機能 ???? | POSTD

    EcmaScript仕様第8版の新機能 EcmaScript 8もしくはEcmaScript 2017が、6月末にTC39から正式にリリースされました。私たちはこの1年、EcmaScriptについて色々と議論しているようですが、それは無駄なことではありません。現在、ES標準は新しい仕様のバージョンが年1回公開されています。ES6は2015年、ES7は2016年に公開されましたが、ES5のリリース時期をご記憶でしょうか。JavaScriptが魔法のように普及する以前の、2009年のことでした。 つまり私たちは、安定した言語としてJavaScriptの開発上の変化をたどっており、今や自分の語彙にES8を加える必要があるのです。 ES2017 (the 8th edition of the JavaScript Spec) was officially released and publishe

    正式リリースされたES8の主な新機能 ???? | POSTD
  • PythonでWebスクレイピングする時の知見をまとめておく - Stimulator

    - はじめに - 最近はWebスクレイピングにお熱である。 趣味機械学習のデータセット集めに利用したり、自身のカードの情報や各アカウントの支払い状況をスクレイピングしてスプレッドシートで管理したりしている。 最近この手の記事は多くあるものの「~してみた」から抜けた記事が見当たらないので、大規模に処理する場合も含めた大きめの記事として知見をまとめておく。 追記 2018/03/05: 大きな内容なのでここに追記します。 github.com phantomJSについての記載が記事内でありますが、phantomJSのメンテナが止めたニュースが記憶に新しいですが、上記issueにて正式にこれ以上バージョンアップされないとの通達。 記事内でも推奨していますがheadless Chrome等を使う方が良さそうです。 - アジェンダ - 主に以下のような話をします。 - はじめに - - アジェンダ

    PythonでWebスクレイピングする時の知見をまとめておく - Stimulator
    pipehead
    pipehead 2017/06/25
    requests, BeautifulSoup, Mechanize, PyQuery, Selenium, PhantomJS, chardet, timeout_decorator, multiprocess, joblib, aiohttp, grequests, requests-futures, Scrapy
  • 10年遅れたJavaScriptの知識をざっくり10分でアップデートしよう

    久しぶりにJavaScriptを勉強しようと思ったら、すっかり浦島太郎状態だった……なんて人も多いのでは?  モダンなJavaScriptの知識をコンパクトにまとめました。 JavaScriptを取り巻く環境がどんどん変化しています。新たなツールやフレームワークが生み出されているだけでなく、言語そのものがES2015(ES6)の登場で大きく変わりました。JavaScript開発の学習がいかに難しいか愚痴をこぼす記事がたくさんありますが、無理もないことです。 記事ではモダンJavaScriptを紹介します。JavaScriptの進展を解説し、フロントエンドWebアプリケーションを作るために使われているツールや手法の全体像を確認します。JavaScriptを学び始めたばかりの人や、以前は使っていて数年間離れたため変化を知りたい人はぜひ読んでください。 Node.jsについて Node.jsは

    10年遅れたJavaScriptの知識をざっくり10分でアップデートしよう
  • Python 3の組み込み関数を速攻理解しよう: オブジェクト/スコープ/モジュール/動的評価/入出力編

    連載目次 Python 3には多くの組み込み関数が用意されている。前回はオブジェクト生成/数値計算/文字や文字列/イテラブルに関連する組み込み関数を紹介した。今回は残りの組み込み関数の構文や使用例を紹介していこう。 ジャンル Python 3の組み込み関数はおおよそ次のようなジャンルに分類できる。

    Python 3の組み込み関数を速攻理解しよう: オブジェクト/スコープ/モジュール/動的評価/入出力編
  • 私はC言語を知らない | POSTD

    (注:2017/04/27、いただいたフィードバックを元に翻訳を修正いたしました。) この記事では、皆さん(特にC言語のプログラマ)に「自分はCを分かっていなかった」と気付いてもらうことを目標にしています。 Cの落とし穴は、思っているよりもずっと身近なところにあります。ちょっとしたコードにも 未定義の動作 が潜んでいることを以下で示しましょう。 この記事はQ&A形式になっており、それぞれの例題は独立したソースコードとして扱ってください。 1. Q: これは正しいコードでしょうか? (変数の二重定義エラーが発生するでしょうか。上述の通り、これは独立したソースファイルであり、関数体や複合ステートメントの一部ではありません) 解答 A: 正しいコードです。1行目は仮定義であり、2行目でコンパイラが処理した後に “定義” になります。 2. extern void bar(void); void

    私はC言語を知らない | POSTD
  • Python 3の組み込み関数を速攻理解しよう: オブジェクト生成/数値計算/文字列/イテラブル編

    Python 3の組み込み関数を速攻理解しよう: オブジェクト生成/数値計算/文字列/イテラブル編:特集:タイニーレファレンス(1/2 ページ) Python 3が提供する組み込み関数のうち、オブジェクトを生成するもの/簡単な計算を行うもの/文字列に関連するもの/イテラブルに関連するものを紹介する。

    Python 3の組み込み関数を速攻理解しよう: オブジェクト生成/数値計算/文字列/イテラブル編
  • JavaScript開発はこれ1つでOK!超お手軽にWebアプリを作れる全部入りコードエディタ「Gomix」の使い方大公開! - paiza開発日誌

     どうも、まさとらん(@0310lan)です。 今回は、JavaScriptでWeb開発をされている方や、これから勉強しようという方も含めてとても便利に使える無料オンラインエディタのご紹介です! バックエンドは「Node.js」でプログラミングして、フロントエンドは「HTML / CSS / JavaScript」で開発し、そのままホスティングもしてくれるので手軽に公開することも可能なスグレモノですよ。 【 Gomix 】 以前は「HyperDev」という名称でサービスが公開されていましたが、現在は「Gomix」というサービス名に変更されており、今も活発にバージョンアップが続けられています。 ■基的な使い方! それでは、実際に「Gomix」を使いながらどのようなサービスなのかを見ていきましょう! まずは、ブラウザから「https://gomix.com」にアクセスすると、いきなりコード

    JavaScript開発はこれ1つでOK!超お手軽にWebアプリを作れる全部入りコードエディタ「Gomix」の使い方大公開! - paiza開発日誌
    pipehead
    pipehead 2017/03/13
    > 類似のエディタと違って、ファイル構造が「①バックエンド」と「②フロントエンド」の2種類に分かれている
  • jQueryでAjaxするときに知っておきたい、JSONとJSONPの違い

    jQueryだけで他のサーバーのコンテンツを読み込もうとすると、クロスドメインの制限がついて回ります。なぜJSONではなくJSONPを使わなければならないのか確認し、他の解決策も検討してみましょう。 ※記事は2016年7月15日に掲載した記事の翻訳を一部更新したものです。執筆時点の情報をベースにしており、最新ではない可能性があります。 Webベースのアプリケーションを開発し、権限のないドメインからデータをロードしようとすると、おそらくブラウザーの画面に以下のようなメッセージが表示されているはずです。 XMLHttpRequest cannot load http://external-domain/service. No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘h

    jQueryでAjaxするときに知っておきたい、JSONとJSONPの違い
  • Python: python-fire の CLI 自動生成を試す - CUBE SUGAR CONTAINER

    今回は Google が公開した python-fire というパッケージを試してみた。 python-fire では、クラスやモジュールを渡すことで、定義されている関数やメソッドを元に CLI を自動で生成してくれる。 ただし、一つ注意すべきなのは、できあがる CLI はそこまで親切な作りではない、という点だ。 実際にユーザに提供するような CLI を実装するときは、従来通り Click のようなフレームワークを使うことになるだろう。 では python-fire はどういったときに活躍するかというと、これは開発時のテストだと思う。 実装した内容をトライアンドエラーするための CLI という用途であれば python-fire は非常に強力なパッケージだと感じた。 今回使った環境は次の通り。 $ sw_vers ProductName: Mac OS X ProductVersion:

    Python: python-fire の CLI 自動生成を試す - CUBE SUGAR CONTAINER
    pipehead
    pipehead 2017/03/07
    > python-fire はどういったときに活躍するかというと、これは開発時のテストだと思う。 実装した内容をトライアンドエラーするための CLI という用途であれば python-fire は非常に強力なパッケージだと感じた
  • 外国人が語る:英語でクラスやメソッド等の名付け方 - Qiita

    アメリカ人です。 Hello 👋 この記事の目的 多くの日人は自分の英語力には自信がないではないでしょうか。残念ながら「英語がわからん」、「英語が全然できない」という声をしょっちゅう聞いています。でも、今まで英語ができて意味がちゃんと伝わる何人かの日人に会ったがあります。完璧な英語ではないけど(外国人も英語でミスる時もある...)、がんばって話そうとするので充分仕事ができる人たち。そういうがんばる姿勢はオープンソースのプログラムや英語圏のプログラムに手を出すためには一番大事なことだと思います(外国人側もすごく助かります)。日文化では「私はできる!」と自慢することは少ない中、この記事を通して、流暢に話せなくても自分のプログラミングの命名の仕方にはちょっとだけでも自信を持たせたいなと思います。完璧じゃなくていいです。Let's go! 合わせて読んでいただきたい 【日エンジニア

    外国人が語る:英語でクラスやメソッド等の名付け方 - Qiita
    pipehead
    pipehead 2017/03/01
    > 「主語 + 動詞 + 目的語」という書き方が最高w 主語 = クラス 動詞 = メソッド 目的語 = 引数
  • 意外と知らないES5の新機能でJavaScriptのコードをメンテナブルに書き直す方法

    時代はECMAScript 2015(ES6)とはいえ、実はまだES5も追いかけられていない、使いこなせていない…という開発者も意外と多いのでは?  ES5のArrayメソッドを使ってメンテナンスしやすいコードを書く実例を紹介。 JavaScriptのメリットは多様なプログラミングスタイルを選べることです。オブジェクト指向、命令型、関数型のプログラミングもできます。さらに、必要性、好み、チームの意向に応じて、スタイルの切り替えもできます。 JavaScriptは関数型の書き方をサポートしてはいるものの、HaskellやScalaといった言語のように純粋な関数型プログラミングには最適化されていません。JavaScriptのプログラムを100%関数型にはできませんが、関数型プログラミングのコンセプトを使うと、コードがきれいになるだけでなく、簡単に再利用でき、テストしやすくバグを減らしやすいコー

    意外と知らないES5の新機能でJavaScriptのコードをメンテナブルに書き直す方法
    pipehead
    pipehead 2017/02/27
    filter(), map(), reduce()
  • Python3.6 から追加された文法機能 - Qiita

    Python3.6.0 が2016年12月23日にリリースされ、新たにアップデートされた項目がいくつかあります。 What’s New In Python 3.6 やはりPythonを使ってプログラミングをする人にとっては、新たに追加された文法機能などが特に気になるのではないでしょうか? そこで今回は3.6.0で追加された文法機能である、 PEP 498: 書式化済み文字列リテラル PEP 515: 数値リテラル内のアンダースコア PEP 526: 変数アノテーションのシンタックス PEP 525: 非同期ジェネレータ PEP 530: 非同期内包表記 について紹介します。 書式化済み文字列リテラル(f-strings) Pythonには、文字列(string)クラスにformat()メソッドが用意されており、str.format()を用いて変数置換や値のフォーマットを行うことができます。

    Python3.6 から追加された文法機能 - Qiita
  • フォーマット文字列リテラル/非同期プログラミング機能など、Python 3.6で追加された新機能をザックリ理解しよう

    連載目次 2016年12月23日にPythonの最新版であるバージョン3.6がリリースされた。稿ではその中でも特徴的な新機能を幾つか紹介していく。 Python 3.6で追加された主要な新機能 Pythonのドキュメント「What's New In Python 3.6」や、そのリリースノート(英語)にはPython 3.6で追加された機能や、変更点がまとめられている。 大まかなところを拾っていくと、構文的には以下のような機能が追加されている。 フォーマット文字列リテラル: いわゆる文字列補間 数値リテラルでのアンダースコアの使用: 「123456」を「123_567」などと記述可能 型注釈: 関数のパラメーター/戻り値の型に加えて、変数にも型注釈を付加可能に 非同期ジェネレータ: Python 3.5の非同期イテレータに加えて、非同期ジェネレータもサポートされた 非同期内包表記: 「a

    フォーマット文字列リテラル/非同期プログラミング機能など、Python 3.6で追加された新機能をザックリ理解しよう
  • すばらしいビット | POSTD

    unsigned int v; //only works if v is 32 bit v--; v |= v >> 1; v |= v >> 2; v |= v >> 4; v |= v >> 8; v |= v >> 16; v++;

    すばらしいビット | POSTD
    pipehead
    pipehead 2017/02/13
    https://github.com/keon/awesome-bits の和訳; ビット演算いろいろ
  • Lispのアイデア | POSTD

    Lispと聞くと、冷蔵庫のような大きいサイズのコンピュータや、大文字のアルファベット文字列や括弧の並びといったような過去の時代のことが頭に浮かびます。そう、非常に多くの括弧。何故、オブジェクト指向プログラミングの作成者たちは、そんなにもLispの アイデア に魅了されるのでしょうか。そしてまた、アイデアとされるプログラミング言語というものは、どうやったら説明できるでしょうか。こうしたことを教えてくれなかったコンピュータ科学の教育を責めるべきでしょうか。 Lispは、John McCarthyが書いた Recursive Functions of Symbolic Expressions and Their Interpretation by Machines, Part I という論文によって、初めて世界に登場しました。その中で、McCarthyはプログラミングに新しい多くのアイデアを導入

    Lispのアイデア | POSTD
    pipehead
    pipehead 2017/02/10
    /* https://dev.to/ericnormand/the-idea-of-lisp の和訳 */ > Fortranは大きな成果でしたが、Lispは大きな思想だったと言えるでしょう。
  • JavaScriptのfloorは小数点切り下げで切り捨てではない

    JavaScriptで取得した数値を整数として取得するため小数点以下を削除したいことがある。例えば12.34を12にするなどだ。 この際にfloorを使用されているケースが非常に多いのだがfloorは小数点切り捨てではなく小数点切り下げなので使用してはいけない。 小数点切り捨てと切り下げの違い 小数点切り捨てとは1.5なら1、-1.5なら-1のように小数点以下を削除することだが切り下げは指定された基準値1の倍数になるように、最も近い値に数値を切り捨てます。 そのためMath.floor(1.5)は1になりますがMath.floor(-1.5)は-2になります。 console.log(Math.floor(12.34)); // => 12 console.log(Math.floor(56.78)); // => 56 console.log(Math.floor(1.5)); // =

    JavaScriptのfloorは小数点切り下げで切り捨てではない
    pipehead
    pipehead 2017/01/30
    Math.trunc()
  • JavaScriptのFetch APIを利用してリクエストを送信する

    JavaScriptにおいて、XMLHttpRequest(XHR)に代わるAPIとして、Fetch APIというものが提供されるようになりました。XHRと同等の機能を提供しますが、Fetch APIはよりシンプルで強力です。使い方を学んでみましょう。 基的な使い方 Fetch APIはPromiseベースの簡単なAPIです。リクエストするにはfetch(url)を呼び出すだけです。 fetch('file.txt') fetch()メソッドはPromiseを返します。PromiseはResponseオブジェクトとして解決されます。返ってきたPromiseを実際に処理してみましょう。 fetch('file.txt') .then((response) => response.text()) .then((text) => console.log(text)) .catch((error

    JavaScriptのFetch APIを利用してリクエストを送信する
  • 最も割高なアンチパターン : 構造化されたデータを文字列関数で操作する「printfアンチパターン」について | POSTD

    記事では、私の知る最も割高なアンチパターンとなるプログラミングについて述べます。 それは、 構造化されたデータフォーマットを文字列関数を使って操作すること です。 以後これを” printfアンチパターン “と称します。 コスト 私がこれを”最も割高な”アンチパターンと呼ぶのは、根拠のない主張ではありません。 cve.miter.org のデータを使って 脆弱性をタイプ別にカウントし 、下記のように、上位を占める脆弱性のタイプ別リストを作りました。 rexec: 19268 DoS: 14849 xss: 9236 memory: 8212 sqlinj: 6230 privilege: 3321 dirtraversal: 2762 arith: 1260 csrf: 1117 私の方法に対する批判や良いご提案があれば遠慮なくどうぞ。 上位を見ると、XSSとSQLインジェクションの数が

    最も割高なアンチパターン : 構造化されたデータを文字列関数で操作する「printfアンチパターン」について | POSTD
    pipehead
    pipehead 2016/12/22
    /* http://m1el.github.io/printf-antipattern/ の和訳; XSS, SQL インジェクション */ > HTMLへ手当たりしだいに文字列を入れ込もうというのは、ひどい発想です。SQLについても同様です。
  • 「関数型プログラミングって何?」日本語訳 - Okapies' Archive

    この記事は、技術翻訳 Advent Calendar 2016 の15日目です(枠が空いてたので勝手にお邪魔してます)。前回(6日目)は、id:msyksphinz さんの「個人が趣味技術書を翻訳するという意義について」でした。 今回ご紹介するのは、昨年末に公開された Kris Jenkins さん (@krisajenkins) の "What Is Functional Programming?" です。日語訳の公開については著者から承諾済みです。また、London Functional Programmers meetup での同タイトルの講演動画が公開されています。 関数型プログラミングの考え方は、世間ではどうも小難しい話だと思われている節があります。その理由の一つに、議論の抽象度が(比較的)高いことが挙げられるでしょう。例えば、以前このブログで紹介した「なぜ関数プログラミング

    「関数型プログラミングって何?」日本語訳 - Okapies' Archive
    pipehead
    pipehead 2016/12/15
    /* http://blog.jenkster.com/2015/12/what-is-functional-programming.html の和訳 */ > 関数型プログラミングとは、純粋な関数を書いて隠れた入出力をなるべく取り除き、できるだけ多くのコードを入力と出力の関係だけで記述することだ。
  • C言語、知ってるつもり? | POSTD

    「Cならわかるよ」というプログラマーは大勢います。確かにCの文法はよく知られているし、44年の歴史を誇るわけだし、あいまいな機能に悩まされることもありません。簡単ですよね! あ、「Cならわかるよ」と 言うだけなら 簡単ですよねっていう意味ですよ。学校で習った人もいるだろうしお仕事で使ったことがある人もいるでしょう。覚えることもそんなに多くないし、完璧だという人もいるかもしれません。いいでしょう。でも、Cって実は、そんなにシンプルではないのです。 嘘だと思うなら、今から挙げる問題を解いてみましょう。たった5問です。基的にはどれも同じで「戻り値は何ですか?」という問題ばかりです。四択方式で、どの問題も正解はひとつだけです。さあどうぞ。 第1問

    C言語、知ってるつもり? | POSTD
    pipehead
    pipehead 2016/11/29
    /* https://hackernoon.com/so-you-think-you-know-c-8d4e2cd6f6a6 の和訳 */ > 言い伝えに頼るのではなく標準規格を参照すること、推測を信じるのではなく計測すること、そして「とりあえず動く」は疑ってかかること。