タグ

Programmingに関するtatchimeeのブックマーク (59)

  • Rubyのtrueとfalseの話 - Qiita

    この記事は、技術同人誌としてまとめるはずだった原稿をほぼそのまま転載しています。諸事情により向こうかなり長い間同人誌即売会に売り手として参加することが難しくなったためです。 長いですが、お楽しみいただければ幸いです。 まえがき このは、Rubyコミッタである卜部昌平に、そのである私、卜部一恵がRubyのtrueとfalseについて突っ込んで聞いてみた話です。文は両者の対話形式で進んでいきます。 私は昌平と同じ大学同じ研究室に所属していたのでプログラミングについての基礎は一応ありますが、エンジニアとして職を得たことはありません。つまり、プログラミング初級者です。このはそのくらいのレベル感のだと思います。 私自身が初級者なりにRubyを使っていて、if文が思った通りに動かない、そんなときに抱いた疑問からこのが生まれました。 同じような疑問を抱いている方の一助になれば幸いです。 は

    Rubyのtrueとfalseの話 - Qiita
  • - リファクタリング

    チャートで解るリファクタリング XPが注目を集めている昨今では、リファクタリングという言葉を聞いたことのある人は、結構多いことでしょう。この特集記事は、リファクタリングについて扱います。

  • List#subListの罠 - mtoyoshi開発メモ

    String#subStringって結構メジャーなメソッドだと思うんですけど、List#subListって知名度どれくらいかなー。subStringの感覚で使ったら痛い目あうよー・・・ってそんなことどれだけの人が知ってるんだよ!!というお話です。 このシンプルなプログラムの実行結果がどうなるか予想できるだろうか。 List<String> list = new ArrayList<String>(); list.add("dog"); list.add("cat"); List<String> list1 = list.subList(0,1); // dog List<String> list2 = list.subList(1,2); // cat list1.add("pig"); System.out.println(list); System.out.println(list1)

    List#subListの罠 - mtoyoshi開発メモ
  • 今からでも遅くない これから始めるScala(前編)

    なぜ、いまScalaなのか? TwitterScalaを利用しているのは有名ですが、他にも位置情報を利用したfoursquareはScalaで構築されたLiftというWebフレームワークを利用していますし、GTDツールとして有名なRemember The MilkもScalaの利用を検討しているようです。 Scalaは、Java Virtual Machine(以下JVM)上で動くオブジェクト指向+関数型言語です。簡潔で柔軟な記述が可能であり、マルチコアを意識したライブラリがあり、JVMでのスケールメリットを享受できることが、これらの企業で採用に踏み切った理由であると考えられます。 Scalaは、非常にバランスの取れたプログラミング言語です。連載では、Scalaの基的な文法を解説しながら、オブジェクト指向と関数型言語を組み合わせたプログラミングスタイルについて、解説したいと思います。

    今からでも遅くない これから始めるScala(前編)
  • WEBプログラマー必見!WEB脆弱性基礎知識最速マスター - 燈明日記

    以下は、WEBプログラマー用のWEB脆弱性の基礎知識の一覧です。 WEBプログラマーの人はこれを読めばWEB脆弱性の基礎をマスターしてWEBプログラムを書くことができるようになっているかもです。 また、WEB脆弱性の簡易リファレンスとしても少し利用できるかもしれません。 WEBアプリケーションを開発するには、開発要件書やプログラム仕様書通りに開発すれば良いというわけにはいきません。 そう、WEB脆弱性を狙う悪意のユーザにも対処しないといけないのです。 今回、WEBアプリケーションを開発にあたってのWEB脆弱性を、以下の一覧にまとめてみました。 このまとめがWEBアプリケーション開発の参考になれば幸いです。 インジェクション クロスサイト・スクリプティング セッション・ハイジャック アクセス制御や認可制御の欠落 ディレクトリ・トラバーサル(Directory Traversal) CSRF(

    WEBプログラマー必見!WEB脆弱性基礎知識最速マスター - 燈明日記
  • Stack Overflow

    Collectives™ on Stack Overflow Find centralized, trusted content and collaborate around the technologies you use most. Learn more about Collectives Teams Q&A for work Connect and share knowledge within a single location that is structured and easy to search. Learn more about Teams

    Stack Overflow
  • どの言語を学ぶべき? - プログラミングスレまとめ in VIP

    ゲームを作りたい(C/C++Java、C#、Delphi、ActionScript、PythonRuby) † 一昔前はゲームといえばC/C++という感じでしたが(さらに前はアセンブリ言語)、 最近はPCの性能も上がり色々な言語が選べるようになってきました。 なので、定番のC/C++以外でのおススメを考えてみました。 しっかり学びたい方は少しくらい大変でもジャンルを問わずC/C++をやりましょう。 3Dバリバリなゲームを作りたい場合、ほぼC/C++になります。 最近ではC#もライブラリが充実してきています。 2DならJava、C#、Delphi、ActionScriptなどGUIの作りやすい言語や、 ゲームライブラリのある言語(PythonRubyなど)がオススメです。 また、ゲーム製作のための言語であるHSPや、 RGSS(Rubyインタプリタを内蔵したゲームエンジンと、その機能を

  • 「最強最速アルゴリズマー養成講座」関連の最新 ニュース・レビュー・解説 記事 まとめ - ITmedia Keywords

    最強最速アルゴリズマー養成講座: そのアルゴリズム、貪欲につき――貪欲法のススメ アルゴリズムの世界において、欲張りであることはときに有利に働くことがあります。今回は、貪欲法と呼ばれるアルゴリズムを紹介しながら、ハードな問題に挑戦してみましょう。このアルゴリズムが使えるかどうかの見極めができるようになれば、あなたの論理的思考力はかなりのレベルなのです。(2010/9/4) 最強最速アルゴリズマー養成講座: 病みつきになる「動的計画法」、その深淵に迫る 数回にわたって動的計画法・メモ化再帰について解説してきましたが、今回は実践編として、ナップサック問題への挑戦を足がかりに、その長所と短所の紹介、理解度チェックシートなどを用意しました。特に、動的計画法について深く掘り下げ、皆さんを動的計画法マスターの道にご案内します。(2010/5/15) 最強最速アルゴリズマー養成講座: アルゴリズマーの登

  • マンガで分かる JavaScriptプログラミング講座

    はじめに 「マンガでわかるJavaScript」は、難しそうに思えるプログラムを、簡単そうに見えるマンガで解説するという初心者向けの入門講座です。 架空の高校生たちに教える形式で、プログラムの基礎から応用を、解説していきます。一通りのマンガを読めば、かなり実践的なところまで、プログラムを書けるようにしていきます。 (マンガは、左上から右下へと読みます) プログラムというと、けっこう大変そうに思えますが、この講座のテーマは「面倒くさいことを楽にする」です。面倒臭がりで、手抜き大好きの女子高生を主人公にして、楽しくプログラムを学んでいくことにします。 主な対象読者は「これからプログラムを学んでみたい人」「Webの世界に関わっていてJavaScriptを学んでみたい人」「昔JavaScriptを触っていたけど最新のトレンドが分からないので改めて学んでみたい人」などです。初心者だけでなく、Webデ

    マンガで分かる JavaScriptプログラミング講座
  • 【悪用厳禁】twitter使って懸賞でウマウマしてみた

    2020/10/18 エンジニア D4DJ Groovy Mix オープンベータ開始 2020/10/18 DJ 秋葉原(を夢見る)パラダイスレイディオ Vol.1 @ twitch配信 2020/10/25 エンジニア D4DJ Groovy Mix リリース 2020/11/14 DJ UNDER Freaks 2nd anniv. @ 渋谷Cafe W (渋谷WOMB 1F) ※注意※ これは専門的なエントリです。 ムダに長いです。しかもtwitter APIわからないと面白くないです。 ですので、いそがしい方は適当に流し読みし、 ブコメには「ui_nyanかねかえせ」とだけ入れておくと たぶんだいたいあってるので非常に便利かと思います。 user streamがやってきた 4月19日からtwitterより新しいAPIである「Chirp user streams(通称user str

    【悪用厳禁】twitter使って懸賞でウマウマしてみた
    tatchimee
    tatchimee 2010/04/28
    0.7秒でってすげー!ui_nyanかねかえせ
  • Java変態文法最速マスター - プログラマーの脳みそ

    Java基礎文法最速マスター - いろいろ解析日記をリスペクト。 Javaの変態文法・技法一覧です。Javaの基礎をある程度知っている人はこれを読めばJavaの変態をマスターしてJavaを書くことができるようになっています。簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 1.基礎 エンクロージング型内部classの作成 外部classのインスタンスに紐付くインスタンスを生成します。外部クラスのインスタンス - 内部クラスのインスタンス間に、クラス - インスタンスのような関係を持たせることができます。 public class Outer { public class Inner { } } というようなクラスを作った場合、 Outer o = new Outer(); Inner i = o.new Inner(); となります。new

    Java変態文法最速マスター - プログラマーの脳みそ
    tatchimee
    tatchimee 2010/04/22
    制御文や、ブロックでのラベルは知らなかったなぁ。
  • JavaScript - MDC Doc Center

    JavaScript チュートリアル 初級編 JavaScript の基礎 JavaScript の第一歩 JavaScript の構成要素 JavaScript オブジェクト入門 JavaScript ガイド 入門編 文法とデータ型 制御フローとエラー処理 ループとイテレーター 関数 式と演算子 数と日付 テキスト処理 正規表現 インデックス付きコレクション キー付きコレクション オブジェクトを利用する Using classes プロミスの使用 JavaScript 型付き配列 イテレーターとジェネレーター メタプログラミング JavaScript モジュール 中級編 クライアントサイド JavaScript フレームワーク クライアントサイド Web API Language overview JavaScript のデータ構造 等値比較と同一性 プロパティの列挙可能性と所有権 クロ

    JavaScript - MDC Doc Center
  • (未完成)やってみた。麻雀の上がりチェックプログラム - ラシウラ

    http://alfalfalfa.com/archives/391753.html 洗濯の合間1時間ほどでできたところまでです。 問題の要件的には未完成で、重複がでる状況があり、コードの最後に書いてあります。 基のアルゴリズムは簡単です(ただし七対子チェックは入ってません)。 全体的には、各通りツモってみて、その14牌で上がりパターンかチェックして、上がってれば出力する 上がりチェックは、まず頭の対子をすべて列挙し、各対子に対しそれを除いた12牌で4面子になるか検査する コードはPythonで、generatorを多用しています。 一番時間かかったのは用語選びでしょうか。呼び方がわからないものもありました: 手配+ツモ牌 のことをなんて呼ぶのだろうか 面子と対子(や単騎、カンチャン、両面なども)といった組になるものをなんと呼ぶのだろうか 識別子は漢字で書けばよかったかな(とはいえgoo

    (未完成)やってみた。麻雀の上がりチェックプログラム - ラシウラ
    tatchimee
    tatchimee 2010/04/14
    まだ自分でやってない。やったら見る。
  • ハタさんのブログ : Javascriptによる大規模開発の覚え書き。高速化編

    前回書いた「Javascriptによる大規模開発の覚え書き」が凄いことになってました。 今回は、省略した「5.高速化せよ」について書きます。 僕にとってjavascriptは非常に高速な言語です。それは何が高速か 開発速度が高速である 開発速度、及びそこに至るまでの修得速度はとても高速です。動的言語を上手く操る開発者はもちろん、開発に不慣れな(言葉が悪いけど)新人達でさえ「動く」モノをサクっと作ってしまえる。 また、プラットフォーム(? というかブラウザ)が広く普及しているので、ググればスグに問題解決もできる。 それにローカルで簡単に作れる。javascript、それは動作環境を含めて高速です。 高速にUI操作ができる(UI操作が非常に簡単である) swingとかでUI操作をするには多くのオブジェクト操作をしなければならないけど、javascript(もといDHTML)は非常に簡単に

  • ハタさんのブログ : Javascriptによる大規模開発の覚え書き

    未だに半年前のエントリにブクマされるみたいなので、もう少しjavascriptについて書いてみる。 今回は大規模化開発におけるJavascriptの注意点とかそういうの。当てはまらない環境の方もいます。(しかも基的な事だらけで大したことは書いてないです) ほぼリッチクライアントを主目的としたjavascripterとコードを対象とします。 どちらかというと、ライブラリを提供する側の視点から 1.ログを出力せよ あなたが書いたコードは遅い、と必ず言われます。なので言われる前から、自分の書いたコードの処理時間をログするようにしましょう。 次のような処理時間を計測するロガーを作ります。 var TraceLog = function (){ this.startTime = -1; var outer = document.getElementById('_outer'); if(oute

  • JavaScriptを高速化する6つのテクニック | エンタープライズ | マイコミジャーナル

    Thomas Fuchs, author of the script.aculo.us user interface JavaScript library, a member of the Prototype core team and a Ruby on Rails core alumnus. Thomas Fuchs氏が6 easy things you can do to improve your JavaScript runtime performanceにおいてJavaScriptの実行パフォーマンスを改善するための6つのテクニックを紹介している。Thomas Fuchs氏はscript.aculo.usの開発者であるとともにPrototypeコアチームのメンバーも務めている。またRuby on Railsでコアチームで開発を担当していたこともある。 JavaScriptエンジン

  • RIAトピックス 【Javascript】引数にデフォルト値

    引数にデフォルト値 【三等兵より】 http://d.hatena.ne.jp/sandai/20100330/p1 Javascriptである関数に引数が渡ってきた場合にはそれを使用し、そうでない場合にはデフォルト値を設定したい場合は↓のようにすればOK。 function func(val) { val = val || デフォルト値; // val を使う処理。 } これは結構使いどころかあるテクニックなので、覚えておくとよいかも。 Javascript Tricks 【技術メモ帳より】 http://d.hatena.ne.jp/lurker/20060811/1155307397 RIAトピックス JavaScriptを高速化する6つのテクニック http://mfria.blog106.fc2.com/blog-entry-1652.html K.Y

  • Greasemonkeyスクリプトの開発で役に立ったサイトや本 - Alone Like a Rhinoceros Horn

    Firefox にこんな機能があればいいなあ → ん、Greasemonkey というのでできるらしいぞ → ユーザースクリプトとやらを書けばいいのか → どうやって書くんだ? というところからスタートして、最終的に自作のユーザースクリプトを公開するに至るまでの間、参考にしたサイトやをできるだけ自分の学習順に時系列に沿って列挙してみました。 JavaScript を少々かじったことのある人が Greasemonkeyスクリプトを書いてみようと思い立ったときに、その学習の指針というか、道標のようなものとして役立つリンク集になればいいなと思ってます。 Greasemonkey まずは Greasemonkey ってなんだとか、ユーザースクリプトってどう書くんだというのを調べるところからスタート。(以下小見出しがリンクになっています) Greasemonkeyの開発をまとめてみる ここで Gr

  • アルゴリズムの紹介

    ここでは、プログラムなどでよく使用されるアルゴリズムについて紹介したいと思います。 元々は、自分の頭の中を整理することを目的にこのコーナーを開設してみたのですが、最近は継続させることを目的に新しいネタを探すようになってきました。まだまだ面白いテーマがいろいろと残っているので、気力の続く限りは更新していきたいと思います。 今までに紹介したテーマに関しても、新しい内容や変更したい箇所などがたくさんあるため、新規テーマと同時進行で修正作業も行なっています。 アルゴリズムのコーナーで紹介してきたサンプル・プログラムをいくつか公開しています。「ライン・ルーチン」「円弧描画」「ペイント・ルーチン」「グラフィック・パターンの処理」「多角形の塗りつぶし」を一つにまとめた GraphicLibrary と、「確率・統計」より「一般化線形モデル」までを一つにまとめた Statistics を現在は用意していま

  • Ideone.com

    /* package whatever; // don't place package name! */ import java.util.*; import java.lang.*; import java.io.*; /* Name of the class has to be "Main" only if the class is public. */ class Ideone { public static void main (String[] args) throws java.lang.Exception { // your code goes here } }

    tatchimee
    tatchimee 2010/03/30
    Chroem Extensionから。すげー!でもなんて読むのかなぁ?