タグ

programmingに関するdochanのブックマーク (228)

  • masuidrive on rails » Blog Archive » masuidrive的プロジェクトの方針

    初めて会社員になって早3ヶ月。会社の仕組みもやっと分かってきたし、そろそろ格的に開発プロジェクトも動いて行くということで、今後、社内で私と一緒に開発して行く人に、「私がどういう考えで仕事を進めていきたいか」という事を知ってもらうためのプレゼンを作ってみました。(今のところ一人だけど) NIFTYさんと仕事した時も、作業に入る前に「今までどうやって遠隔地で仕事を進めてきたのか」をプレゼンしていました。特に初めて仕事をする場合、「今まで自分はどういう風に仕事をしてきて、この仕事はどういう風に勧めていきたいか」を明確にしておくと、スムーズに仕事を進めることができます。 仕事、特にその上でのコミュニケーションをうまく進めていくためには、信頼と共通認識が必要だと思ってます。信頼は当たり前の話ですが、開発を進める上での共通認識についてはあまり重要視されることが無い気がしています。 仕事をする上ではコ

    masuidrive on rails » Blog Archive » masuidrive的プロジェクトの方針
  • IBM わかりやすいコードを作成するための 6 つの方法 - Japan

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM わかりやすいコードを作成するための 6 つの方法 - Japan
  • オブジェクト指向分析/設計概論

    1 はじめに Javaプログラミングを行っていくうえで、大きな関門となるのはオブジェクト指向分析/設計でしょう。「クラスとオブジェクトの違いは」といった初歩的なものから、「再利用性を高めるためのフレームワークとコンポーネントの責任の配分の度合」といった高度なものまで、Javaプログラミングの要諦(ようてい)はオブジェクト指向分析/設計との関係の中にあるに違いありません。 Javaプログラマという立場からオブジェクト指向分析/設計を取り巻く状況を整理してみるのが稿の目的です。 業界標準のオブジェクト指向モデリング言語であるUMLと、代表的なオブジェクト指向分析/設計プロセスであるユニファイドプロセス、そして最近発展が著しいパターン技術をベースにJavaプログラマに取ってのオブジェクト指向分析・設計の枠組みを総括してみました。 2 オブジェクト指向とは何か オブジェクト指向といえばクラスやイ

  • javafaq.jp – このドメインはお名前.comで取得されています。

    このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年10月時点の調査。

  • 『プログラミングを始めようとして何度も挫折した人へ』

    悪態のプログラマとある職業プログラマの悪態を綴る。 入門書が書かないプログラミングのための知識、会社の研修が教えないシステム開発業界の裏話は、新人プログラマや、これからプログラマを目指す人たちへのメッセージでもある。 少し前になるが、はてな匿名ダイアリーで「プログラミングを始めようとして何度も挫折した」という人の投稿を読んだ(yasuhoの隠れ家さん経由)。色々な意味で考えさせられる話である。 才能以前なんだろうな。必死さが足りないって言われた。でも必死になるってどういう事なのか全然判らない。 元記事のトラックバックでも指摘されているが、この人は「プログラミングをしたい」とは思っているようだが、「プログラムを作りたい」と思っているようには見えない。例えば、「日常の単純作業を自動化するためのプログラムを作りたい」とか、「ゲームを作って友達に見せたい」とか、そういった動機がなければ、プログラミ

    『プログラミングを始めようとして何度も挫折した人へ』
  • Webアプリケーションを作る前に知るべき10の脆弱性 ― @IT

    Webアプリケーションが攻撃者に付け込まれる脆弱性の多くは、設計者や開発者のレベルで排除することができます。実装に忙しい方も、最近よく狙われる脆弱性のトップ10を知ることで手っ取り早く概要を知り、開発の際にその存在を意識してセキュアなWebアプリケーションにしていただければ幸いです。 Webの世界を脅かす脆弱性を順位付け OWASP(Open Web Application Security Project)は、主にWebアプリケーションのセキュリティ向上を目的としたコミュニティで、そこでの調査や開発の成果物を誰でも利用できるように公開しています。 その中の「OWASP Top Ten Project」というプロジェクトでは、年に1回Webアプリケーションの脆弱性トップ10を掲載しています。2004年版は日語を含む各国語版が提供されていますが、2007年版は現在のところ英語版のみが提供さ

    Webアプリケーションを作る前に知るべき10の脆弱性 ― @IT
  • Yoshioriの日記: JavaはIteratorを使うべき理由

    ちょっと大人げないかもしれませんが・・・ 未来の日記 〜人間ってこんなもの〜 - メモ イテレータってこんな遅いのか。 半分正解で半分間違い。 多分(呼び出し元が書いてないので何とも言えないが結果から見ると)、 ArrayListを使ってるから そうなっただけ。 実際にやってみればすぐにわかる。 import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedList; import java.util.List; public class Test { public static void main(String[] args) { List list = new ArrayList(); System.out.println("== ArrayList Start =="); testForLo

  • Iteratorより基本forループでArrayListのget()を使ったほうがいいなんて話はもはや百害あって一利なしです。 - 矢野勉のはてな日記

    Java yoshioriさんがいいこと書いてるのを発見しました。私も大賛成。今までArrayListが返ってきていたから getでfor文を書いていたとき。 フレームワークをバージョンアップして もしもそこがLinkedListになっていたら それだけでかなりのパフォーマンスの低下になる。 (Iteratorの誤差など遙か彼方へ吹き飛ぶほどに) そのリストを使っているfor文を全部調べ上げて すべて書式を変更するのはかなりの作業になるだろう。 だから、JavaではIteratorを使うべきだ。 関連記事はこのあたりかな。 http://d.hatena.ne.jp/BlacksmithMirai/20061017/1161081012LinkedListに関する不適切な説明J2SE 5.0虎の穴 拡張 for 文 Iteratorと基forループとの話は、櫻庭さんまで上記虎の穴のリンク

  • 青木淳「オブジェクト指向システム分析設計入門」

    はじめに このはオブジェクト指向技術を利用してソフトウェア開発することを目指す技術者および管理者のために書かれたです。プログラムのコードや難しい数式などを排除してあり,図と文章によって基概念や適用技術を平易に解説しています。オブジェクト指向技術数学(形式)ぬきで探求する試みといえるでしょう。 来,オブジェクト指向技術を,瓶から瓶へ水をもらさぬように,正確に伝えるには,数学(型理論)を必要とします。数学的形式化が行われていないと,オブジェクト指向で表面化する問題の議論がかみ合わず空転することが多いからです。あの時はこうだっだ,この時にはああだったと経験則の披露になりかねないのです。やはり何かしらの形式化は必要でしょう。しかし,数学的形式化の苦しみときたら並大抵ではありません。特に,後述するインヘリタンス(継承) や並列などが絡んだあかつきには残酷なのです。私だけかもしれません

  • ネットの時代には「知識量・記憶力」よりは「適応力・応用力」の方がずっと大切

    先日の「習作UI: 縁日の金魚を再現してみた」というエントリー。特に深い意味もなく作ったのだが、ソフトウェア・エンジニアを目指す学生さんのためにひとこと付け加えておきたいのは、この業界で気で成功しようと思ったら、この程度のプログラムは、シミュレーションの専門家でなくともサクッと作れるように自分を鍛えておかなければいけない、ということ。 この業界で働きはじめると、担当した仕事によって、データ解析・Java・3D・シミュレーションなどのある特定の分野のプログラミングの経験を積むことになる。そういった経験を通して特定の分野を深堀りしてエキスパートになるのはおおいに結構なのだが、往々にして落ち込んでしまうのが「ボクはJavaのエキスパートだからRubyではプログラムは書かない」、「シミュレーションのことならそれに詳しいエンジニアがいるんだからその人に頼んで」、「今からFlashを勉強している時間

  • 習作UI: 縁日の金魚を再現してみた

    Flashでプログラムを書く機会があったら一度は作らねばと思っていたのが、鳥や魚の群れ(flock)のシミュレーション。そこでカスタムクラスのプログラミングの練習も兼ねて作ったのがこれ。アルゴリズムそのものは、良く知られた(1)仲間と同じ方向に泳ごうとする気持ち、(2)仲間と一緒に泳ごうとする気持ち、(3)衝突を避ける気持ち、をそれぞれの魚に持たせて泳ぐ方向を少しずつ変化させる、というものである。 プログラムはそれほど時間をかけずに作ることができたのだが、苦労したのがそういった「気持ち」の部分を表現するのに必用な具体的なパラメーター(どのくらい離れた仲間まで認識しているか、どのくらいの距離までの接近を許すか、など)を見つけ出す部分。金魚すくいの水槽の中の金魚の動きをちょうど良い感じで再現するためのパラメーターを見つけるのにかなりの試行錯誤が必要であった。 しかし、これを作って思ったのは、F

  • Wataru's memo(2007-05-01)

    ● [Books][UNIX][Thoughts] UNIX システムプログラミング三大名著と図書館 2007年版の「UNIX システムプログラミング・お勧めの書」として、以下の3冊を紹介してきました。 UNIX 誕生から30年以上経過した現在でも、3冊の発行は続けられていますが、残念なことに三大名著を揃える国内の図書館は数少ないようです。3冊の特徴を簡単に振り返った後に、この状況を確認してみましょう。 Understanding Unix/Linux Programming UNIX システムプログラミングの入門書として、書を越える書籍は現時点でこの世に存在しないと、私は断言致します。ハーバード大学での授業をもとに練り上げられた書の内容は、群を抜いた独創性に満ちており、ある意味 Stevens 氏の APUE を凌駕しています。 説明図、題材として使われるプログラム、すべてに工夫が凝

  • twitterブームの陰で注目を集める“Erlang” - @IT

    2007/04/27 “twitter”がブームだ。140バイト以内の短いメッセージで“現在進行形”の自分のステータスをほかのユーザーとシェアするだけのオンラインサービスだが、国の米国はもとより、日でも非常な人気を集めている。Alexaでアクセス数の推移を調べると、今年に入ってから格的にブレークしている様子が分かる。4月22日にはニューヨークタイムズもtwitterと、サンフランシスコ在住の創業者2人を記事で取り上げている。 twitterのコミュニケーションツールとしての新しさ twitterに参加してみると、チャットやメール、SNSといった、既存のコミュニケーションツールのいずれとも異なる、不思議なつながり方が新鮮で楽しい。熱心にメッセージを更新するユーザーを見ていると、CUSeeMe、ICQ、mixiなどが登場したときに人々が示した熱狂に近いものを感じる。 twitterでは、

  • 「Ajax? 知ってますよ」と言えますか:ITpro

    新人配属や異動の季節になった。この4月,あなたがもし新しい職場に配属されて,上司から「君,Ajaxって知ってる?」と聞かれたとする。そのとき,堂々と「知ってますよ」と答えられるだろうか? このITproのサイトでは,Ajax,マッシュアップ,リッチ・クライアント,SaaSなどいわゆるWeb2.0関連の記事が一昨年ぐらいから毎日のように掲載されている。そもそもITproはこうした言葉を知っている読者を対象にしているので,ほとんどの読者は冒頭のような質問を受けても,「知ってますよ」と堂々と答えられるだろう。しかし,この春初めてITの世界に入る人の中には,「名前や概念的なことなら分かるのですが…」という人も多いのではないだろうか。 そこで今回の記者の眼では,そういう新人君にお勧めな「Ajax学習法」を考えてみた。といっても,要するに,実際に自分でちょっとしたプログラムを作って試してみるだけである

    「Ajax? 知ってますよ」と言えますか:ITpro
  • シェル・スクリプト・リファレンス・ランキング

    Linuxで一連の処理を行う際には,シェル・スクリプトが役立ちます。シェル・スクリプトは,シェル上で同じような操作を続けるときや複雑な操作を行いたいときに,その操作手順をテキスト形式で記述しておき,任意に実行できるファイルです。定型的な処理を繰り返し実行するときに便利ですが,シェル・スクリプトを作成するには,記述のルールなどを知っておく必要があります。 日経LinuxのWebサイトでは,シェル・スクリプトの使い方について紹介した「シェル・スクリプト・リファレンス」を公開しています。シェル・スクリプトの基的な知識から,変数の扱い方,繰り返しや条件分岐などの記述方法,シェル・スクリプトで便利に利用できるコマンドなどを紹介しています。 日経Linuxは2006年3月1日に,シェル・スクリプト・リファレンスをITproに公開しました。公開後1年が経過したのを契機に,過去1年間によく閲覧された項目

    シェル・スクリプト・リファレンス・ランキング
  • ソフトウェア開発者のための推薦図書

    Code Complete 2 [ Code Complete第2版―完全なプログラミングを目指して (上・下) ] スティーブ・マコネルのCode Completeはソフトウェア開発者のための「楽しい料理だ。このを読むということは、自分の仕事を楽しんでいるということであり、自分のすることに真剣であるということであり、もっと向上したいと思っているということなのだ。Code Completeの中で、スティーブは平均的なプログラマが読む 技術書は年に1冊に満たないと指摘している。このを読んでいるという時点で、あなたはおそらく周りにいる開発者たちの90%と違う行動を取っていることになる。それもいい方向にだ。 私はこのがすごく好きで、ここから自分のWebサイトの名前(Coding Horror)を取ったくらいだ。このではやるべきでない悪い例には"coding horror"アイコンで印

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • ITmedia エンタープライズ:あるWebプログラマーの作業環境――豪傑の三種の神器【前編】 (1/2)

    春は出会いと別れの季節。入学や就職で、新しい生活を始める人も多いだろう。それを機にPC環境もそろそろ大人への階段を上ってもいいかもしれない。ここでは、はてなという企業でプログラマーとして働くあの人の開発環境を紹介することで、プロが好む作業環境を考える。 わたしははてなという企業でプログラマーとして働いています。はてなは、ブログやソーシャルブックマークなどWeb上のサービスを提供する会社ですが、それらのほとんどはPerlで書かれており、LinuxやApache、MySQLをはじめとするオープンソースソフトウェアの上で動作しています。そんな理由から、開発環境も自然とオープンソースのツールを使うことになります。今回から2回に分けて、そんなわたしの開発環境を簡単に紹介させていただきたいと思います。 ノートPC1台で開発する 題のツール類の話に入る前に、開発に使っているハードウェアの話を先にしてお

    ITmedia エンタープライズ:あるWebプログラマーの作業環境――豪傑の三種の神器【前編】 (1/2)
  • Geekなぺーじ:UNIX哲学の基本原則

    「Basics of the Unix Philosophy」でUNIX哲学の基原則がまとめられています。 UNIXの設計思想として紹介されていますが、多くは普通のソフトウェアを設計する場合にもあてはまると思われます。 1. Rule of Modularity(モジュール性): きれいなインターフェースで接続された、簡潔な部品を書きましょう。 2. Rule of Clarity(明瞭さ): 明瞭さは賢さよりも良いです。 3. Rule of Composition(構成): 他のプログラムと接続できるようにプログラムを設計しましょう。 4. Rule of Separation(分離): ポリシーとメカニズムを分離しましょう。エンジンとインターフェースを分離しましょう。 5. Rule of Simplicity(単純性): 単純化された設計をしましょう。複雑さは必要な時だけ追加しま

  • kajidaiの日記 - 新しいプログラミング言語を習得するための15の方法

    ↓で紹介されてた新しいプログラミング言語を習得するための15の方法についてhttp://forums.programming-designs.com/viewtopic.php?pid=3482I've working knowledge of a bunch of programming languages but job demands to learn a new language frequently in a short time. Instead of reading hundreds manual/book pages, I quickly read 10-15 pages of tutorial or primer. (As you know google is the best search engine to look for such stuff). I keep p