タグ

*プログラミングに関するshinokiwaのブックマーク (19)

  • コメントの9割は無駄!~アンチプラクティスから学ぶ洗練されたコメントの書き方~ #code #コード|CodeIQ MAGAZINE

    コメントは基礎的で一般的なものでありながら、「どのようなことをコメントに残すか」は経験のあるプログラマにとっても難しいもの。 この記事では、アンチパターンコメントを見ながら、どのようなコメントを残すべきかについて説明します。 by 馬場美由紀 (CodeIQ中の人) コードは機械のために、コメントは人間のために? プログラミング言語を学ぶとき、コメントは最初に習う項目のひとつです。そして、プログラムであればコメントを含んでいることが普通です。ある研究によれば、ソースコードの平均19%がコメントだそうです。 コードを書くとき、私たちは機械とコミュニケーションを取ることを意識しています。機械はコードを認識してコンパイルしたり実行してくれます。解釈できなければ教えてくれます。プログラマは、コンパイラのためにデータ型を明示するコードを書いたりもします。 一方、コメントは人間とコミュニケーションする

    コメントの9割は無駄!~アンチプラクティスから学ぶ洗練されたコメントの書き方~ #code #コード|CodeIQ MAGAZINE
    shinokiwa
    shinokiwa 2013/12/19
    これに尽きるなあ > コメント以外で表現できないか考え、そうでなければコメントを残す
  • PHP 5.6の新機能

    (Last Updated On: 2018年8月13日)PHP Advent Calender 2013、3日目の参加エントリです。前日のPHP の配列を使った手品とその種明かしに続き3日目です。PHPの配列(ハッシュ)のキーはバイナリセーフなので何でも入れられる、ということはあまり知られていないですよね。面白い話だったと思います。 私のネタには面白さはありません。予めご了承ください :-) さて今日のテーマのPHP5.6新機能です。PHPプロジェクトのgitレポジトリでは既にPHP5.6用のブランチが作成されています。PHP 5.6は来春リリース予定です。 大ニュース(?)だったので多くの方はご存知だと思いますが、PHPは毎年新しいマイナーバージョンをリリースします。メンテナンスされるのは2つのバージョンのみです。つまりPHP 5.6がリリースされるとPHP 5.4はEOL(メンテナン

    PHP 5.6の新機能
    shinokiwa
    shinokiwa 2013/12/03
    PHPDBGは気になるが、果たして現場で使える日が来るのだろうか…。
  • メジャーなプログラミング言語とそれらの役割を、素人でも分かるように教えてください。 - Knoh (ノウ) | The Knowledge Hub

    プログラマーたちは、使用するプログラミング言語と驚くほど密接な関係を持っています。プログラミング言語はあなたをイライラさせ、また教え導いてくれます。あなたはそのうちにプログラミング言語の内部構造や、ちょっとした変な癖を学ぶことになるでしょう。それはあなたの頭のなかにも入り込み、考え方をも変えるでしょう。 正しいプログラミング言語を選べば、新しくて美しい何かを一緒に作り上げることができます。間違った選択をすれば、もちろん面倒なことになります。 言い換えれば、プログラミング言語を選ぶことは、恋人を選ぶことによく似ているのです… (注: 私はストレートの男性です。それ以外の方は、自分の興味に合わせて自由に脳内変換してください) PHP は、あなたが高校時代のある夏、不器用ながらも付き合った初めての彼女です。もっと真剣な関係を築こうとしてはいけません。この子は複雑な問題を抱えています。 Perl

    shinokiwa
    shinokiwa 2013/03/14
    ネタとして、読み物として面白かったw 何も間違ってないし。しかし質問に対して何の回答にもなってないのは気のせいだろうか…。
  • プログラマの思索: Testlink設定メモ

    TestLinkを運用する時の設定メモ。 TestLinkはRedmine以上に癖が多く、デフォルト機能のままではすごく使い辛い。 大人数でテストケースを厳格に管理しようとして、逆に使い辛くなっているから、基は制限を緩めた方が使いやすいと思う。 #八朔さんへの援護射撃になるかな? 【環境】 TestLink 1.7.4 【1】RedmineとTestLinkの連係 TestLinkテストケースが失敗になったら、バグ登録する。 この時、BTSと連携する重要な機能。 Mantis、Bugzilla、Trac、Redmineが連携可能だ。 BTSのURLを設定するだけでOK。 この機能を使うと、テスト実行画面で「失敗」ケースのバグアイコンからバグ管理IDを登録すれば、BTSのチケットへリンクできる。 更に、テスト結果画面にある「失敗したテストケース一覧」リンクから、NGケースとRedmine

    プログラマの思索: Testlink設定メモ
  • PuTTYポートフォワーディングマニュアル

    すでにPuTTYの設定は完了しているものとします。PuTTYを起動してください。 すでに設定してあるものを選択し、[読込]ボタンを押します。 カテゴリの[トンネル]を選びます。 源ポートは任意の番号でかまいませんが、ここでは1234として説明します。送り先をruby.club.kyutech.ac.jp:21として、[追加]ボタンを押します。 追加されたのを確認したら[開く]を押してください。 あとはユーザ名とパスワードを入力してログインすると、ポートフォワーディングが有効になります。終了するときはログアウトしてください。 設定を保存する場合は[開く]を押す前にセッションに戻り、保存されたセッションの名前を変更して、[保存]ボタンを押します。

    shinokiwa
    shinokiwa 2012/03/18
    あ、PuTTYもSSHポートフォワーディングできるのね。EclipseのDBViewerがリモートDBに接続できた。
  • リアルタイムにログファイルを監視できるEclipseプラグイン「Logfile Viewer」

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    リアルタイムにログファイルを監視できるEclipseプラグイン「Logfile Viewer」
    shinokiwa
    shinokiwa 2012/02/24
    うわあ、実際使ってみたらtailいらなくなった。ローカルに鯖たててWebアプリ開発するなら相当使えるなこれ。
  • Javaの道:クラス(9.オーバーライドとオーバーロード)

    オーバーライド オーバーライドとはスーパークラスにおいて定義されているメソッドを、サブクラス内で再定義することを言います。スーパークラスのメソッドを変更することはできないが、サブクラスに特化した機能を付与したい場合に使用します。 オーバーライドを定義する際には以下の規定があります。 オーバーライドする側はオーバーライドされる側と戻り型、メソッド名、引数型、引数の数が同じでなければなりません。どれか一つでも異なる場合はオーバーライドとは見なされません。 オーバーライドされる側のメソッドに指定されるアクセスレベルより厳しい制限を持つアクセスレベルをオーバーライドする側のメソッドに付与することはできません。例えばオーバーライドされる側のメソッドにprotectedが指定されている場合、オーバーライドする側のメソッドにprivateを指定することはできません。 オーバーライドされる側のメソッドに指

    Javaの道:クラス(9.オーバーライドとオーバーロード)
    shinokiwa
    shinokiwa 2012/02/24
    オーバーライドとオーバーロードの違いについて。わかりやすかったので。
  • PHPの文字列比較で気をつけるべきこと – 暗黙の型変換 - EC studio 技術ブログ

    PHPではこのコードで true が出力されます。 かなりギョッとしますが、PHPのバグではなく仕様です。。 これはPHPとしてどういう解釈がされているのかを理解しないと とても怖い部分ですので、調査してみました。 ※もし間違っている部分などがありましたらご指摘いただければと思います。 文字列型と数値型の比較 どうやら、PHPでは文字列型と数値型(int,floatなど)など 違う型同士での比較を行う場合、自動で型変換が行われるようです。 整数値を文字列と比較する際、文字列が 数値に変換されます。

    shinokiwa
    shinokiwa 2012/02/20
    知ってる中では一番きれいにまとまってる。でも個人的にPHPで文字列比較するときは演算子を使わずにstrcmp()使えばいいと思うの。あれ型キャストされないから。
  • 日時・日付・期間 リテラル - オラクル・Oracleをマスターするための基本と仕組み

    日付・日時、期間リテラル 期間リテラル 期間リテラルには複数フィールドを一つで扱う、年月と日時分秒の任意の間の複合型*1の期間リテラル、 または、個々を独立して扱う(年、月、日、時、分、秒) のリテラルがある。 但し Oracle 10g 時点の PL/SQL で使用できるのは YEAR TO DAY と DAY TO SECOND に限られる。 ⇒ 文字・数値 リテラル データ型として認められている期間リテラル データ型として認められているものは PL/SQL においても使用できる。 YAER TO MONTH (年〜月) 年月( YEAR TO MONTH ) 123 年と 11ヵ月 YEAR に精度(3) を指定しないとデフォルトで 2 桁となり ORA-01873: 間隔の先行精度が小さすぎます が発生する。 INTERVAL '123-11' YEAR(3) TO MONTH 1

    shinokiwa
    shinokiwa 2012/02/17
    Oracleの場合、たとえば sysdate - INTERVAL '3' DAY とかで三日前の日付が取れるんだな。
  • PHP: マジックメソッド - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

    shinokiwa
    shinokiwa 2012/02/09
    やべえ、__toString()と__invoke()で試したい事があるから家かえったらやろうと思ってたら、脳内でTMRの「INVOKE」ループ再生が止まらなくなった…
  • jQuery 日本語リファレンス

    jQueryとは、JavaScriptのコーディングを強力に支援するライブラリです。 $('.semooh a').hover( function(){ $(this).text('ヌ?'); }, function(){ $(this).text('ヌー'); } );

  • Eclipseのキーバインドをvim風にできるVrapperが素晴らしすぎる件について - ( ꒪⌓꒪) ゆるよろ日記

    俺はエディターはvim派です。指が覚えてしまっているので。 普段はターミナルでvimを使っていて、Javaのコードを書くときだけEclipseな生活なんですが、Eclipseのエディターは、 なので、常々不満に思っておりました。 いままで、Eclipseのキーバインドをvim風にする、vipluginやEclimなどを試してみたのですが、vipluginはeclipseの補完がうまく働かない、Eclimはeclimdを起動させておく必要がありちょっと大げさ、など「これだっ!」というものがありませんでした。 そこで、「Vrapper」さんの登場ですよ! Eclipseのエディターがvim風のキーバインドで使えます。しかも、Eclipseの補完機能なども同時に使えます! Vrapperのインストール Eclipseの更新サイトに"http://vrapper.sourceforge.net/u

    Eclipseのキーバインドをvim風にできるVrapperが素晴らしすぎる件について - ( ꒪⌓꒪) ゆるよろ日記
    shinokiwa
    shinokiwa 2012/02/02
    面倒でサボってたけど再度追加。やっぱvimは良い。
  • Shift_JIS 文字コード表

    注 このページはWindowsMeというOSでJavaの学習をしていた時代にファイル内の文字コードを見るときの参考に書かれものです。ページの文字コードもShift_JISのままにしてあります。 このページで説明している文字コードは、JIS X 0208 にNEC選定IBM拡張文字とIBM拡張文字を加えたものです。最近では拡張文字を含んだものをwindows-31jとかCP932とよんで、Shift_JISは拡張文字を含まない場合をいう傾向にあります。 Windows7から JIS X 0213 に対応しましたが、これをShift_JIS(Shift_JIS:2004)にすると拡張文字の部分が0213で追加された文字とは衝突します。Windowsでは互換性の確保の観点からShift_JISのテキストファイルはWindows-31jにしますから、ここに書かれた情報はいまでも合致するはずです。た

    shinokiwa
    shinokiwa 2012/01/27
    なんかあるたび探すハメになってるので、いい加減ブックマーク。個人的にここのが一番見やすい印象。Shift-JISなんか滅べばいいのに…。
  • Google CodeのIssue Trackerと連動するSVNのコミットログの書き方 - Startup Reality

    infoScoopもinfoScoop CalendarもGoogle Codeを使っています。 そして、ソースリポジトリにSubversion(SVN)を使っています。 Redmineなどのプロジェクト管理ソフトと同様、Google CodeのIssue TrackerもSVNのコミットログと連動することができます。 コミットログにチケット番号を書くと、そのチケットも更新されます。 詳しくはIssueTracker - support - User guide for Project Hosting issue tracker - Project Hosting on Google Codeに書いてありますが、英語だしちょっとクセがあるのでコミットログの書き方をまとめておきます。 コミットログの書き方 さて、ここから書き方を説明します。 まず、2パターンあり、それで書き方が違います。 ス

    Google CodeのIssue Trackerと連動するSVNのコミットログの書き方 - Startup Reality
    shinokiwa
    shinokiwa 2012/01/18
    SVNのコミットコメントでIssueの操作ができるのか。便利だなあ。
  • Release notes for 1.7 · TortoiseSVN

    AboutAbout TortoiseSVNScreenshotsScreenshots of various dialogsTestimonialsWhat users say about TortoiseSVNNews ArchiveNews archiveSupportFAQFrequently asked questionsHelp filesThe complete documentationUseful tipsTips about not well known featuresMailing listsWhere to find the mailing listsReport bugsHow and where to report a bugTranslationsHelp translateProject statusOverview of releasesMiscIssu

    Release notes for 1.7 · TortoiseSVN
    shinokiwa
    shinokiwa 2011/11/16
    いつの間にかTortoiseのファイル管理、各フォルダに.svnを作成する形式からルート直下だけに.svn作るようになってた。おかげで作業コピーのアップグレードが必要みたいだけど。ともあれ、容量減ったのは良いことだ。
  • データ型 - オラクル・Oracleをマスターするための基本と仕組み

    (※1) Oracle 12c において、初期化パラメータ COMPATIBLE = 12.0.0.0以上、MAX_STRING_SIZE = EXTENDED でデータベースを構築またはアップグレードしておく必要がある。従来型と異なる表外格納形式、索引が桁あふれから特殊な方式になることもあってか現行のデフォルト設定ではない。(Oracle12c R2 時点) (※2) 上限が 4000 バイトの場合、UTF8(1〜4byte) 最短 1333 文字 AL32UTF8(1〜4,6 byte) Oracle 10g R2 (Unicode 4.0) では 最短 666 文字、Oracle 11g (Unicode 5.0) では 1000 文字となる。 Oracle 12c で 初期化パラメータ MAX_STRING_SIZE = EXTENDED で 構築している場合には 8191 文字が

    shinokiwa
    shinokiwa 2011/11/14
    OracleってINT型ないのね。上位互換なNUMBER型があるからだろうけど、NUMBER型はバイト長じゃなくて桁数を指定するのか。戸惑ったのでメモ。
  • [php]タイプヒンティング – 引数の変数型を限定する | うえちょこ@ぼろぐ

    最近になってphpのメソッドの引数に変数型を指定してあるのをちらほら見かけるようになりました。具体的にはHTTP_Request2のSplSubjectやsymfony 1.2のソースコードなどで見つけました。調べてみると、ちゃんとマニュアルに書いてありますね。タイプヒンティングという機能名でした。メソッドだけではなく、通常の関数でも使えるようです。指定できるのはobject型かarray型。つまり特定のクラスとか配列に限定することができます。これは賢い。結構レベルが上がったかも。 百聞は一見に如かず。phpマニュアルに載っていた例を引用。 [phpcode] var; } /** * もう一つのテスト関数 * * 第 1 引数は配列でなければならない */ public function test_array(array $input_array) { print_r($input_ar

    [php]タイプヒンティング – 引数の変数型を限定する | うえちょこ@ぼろぐ
    shinokiwa
    shinokiwa 2011/11/04
    タイプヒンディングって言葉を毎回忘れる。なぜか覚えられない名詞のひとつ。PHP4で使えたかどうか忘れたので調べたけど、使えないみたいね…。
  • スタートアップ研修記 » svn trunkとbranchとtagの用途

    お久しぶりです。uchiumiです。 最近prototype.jsで昔effectな機能があったことを知ってびっくりしました。 というか最近まで普通にあるものだと思っていたのですが、そうでもなかったことにびっくりしました。 effectな機能も使えていろいろ便利なjQueryってすごいんだなと思いました。。 まだ使う機会がないのですが、今度いろいろ試してみたいです♪ さて今日は、先輩から「trunkやbranchやtagがどのような用途で使われるのか」というのを教えてもらったので早速ブログにまとめてみたいと思います! trunk メイン開発用。 一通りの流れはここを使っていて、常に進化しているところ。 trunkでの作業は、すでに切ってあるbranchには影響はない。 branch リリース毎に切るところ。 次のリリースに向けてtrunkで作業しつつ、こちらでリリースされているものの修正な

    shinokiwa
    shinokiwa 2011/10/04
    なんかすぐ忘れるな。trunkは現在作業中のもの、branchは最新リリース分(+不具合等の緊急リリース用)、tagは過去バージョンと覚えるとすっきりするかな。
  • 10分で作るFirefoxアドオン - LukeSilvia’s diary

    今回は、はじめてFirefoxのアドオンを作ったので、調べたことをメモしておきます。難しいと思っていたのですが、簡単なものなら直に作れることを知りました(*´艸`) ※ 動作対象はFirefox <= 3.6 になります。 何を作るか ブログを書く時に使うような、「開いているページのタイトルとURLを一回の操作で、マークアップ形式でクリップボードにコピーする機能」を作成します。機能を使う方法は、「Shift+u」か、「右クリックメニューから選択」の2種類とします。 作り方 作り方を以下のステップに分けて説明します。 「copytitleurl」フォルダ作成 「install.rdf」作成 「chrome.manifest」作成 「chrome」フォルダ、「content」フォルダ作成 「copytitleurl.js」作成 「copytitleurl.xul」作成 「copytitleur

    10分で作るFirefoxアドオン - LukeSilvia’s diary
    shinokiwa
    shinokiwa 2011/09/13
    特に何か作るわけじゃないんだけれども、よくまとまっていたので。
  • 1