タグ

関連タグで絞り込む (170)

タグの絞り込みを解除

プログラミングに関するshifuminのブックマーク (283)

  • 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita

    あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 「オブジェクト指向プログラミング」と「関数型プログラミング」のたった一つのシンプルな違い あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 この記事について この記事は新人向けの研修内容を再編集してお送りいたします。 ここで述べる内容はどのようにして現在のプログラミングスタイルが生まれてきたかを理解することで、よりよいプログラムを書くためのもので、正確なソフトウェア工学の歴史を学ぶためのものではありません。正確な歴史を把握したい場合は、原典をあたるようにしてください。 また、想定している読者は「よくあるオブジェクト指向プログラミングの学習」を既にし

    新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita
  • 35歳定年説より怖いフルスタックエンジニアしか生き残れない未来とは - paiza times

    Photo by Joi 今回のpaiza開発日誌は片山がお送りします。 今後も技術(開発)を中心にエンジニアとしてのキャリアを歩んでいきたいなと考えている方向けに最近騒がれているフルスタックエンジニアとは何か、という事と、何故今後フルスタックエンジニアしか生き残っていけないのか?という事について書いてみました。 ■最近よく見かける【フルスタックエンジニア】とは何か? まずStackって何だろう?、というところで海外の記事などを読むと"LAMP stack"という言葉が良く出てきます。LAMPの場合、OSはLinux、WebサーバはApache、データベースはMySQL、プログラミング言語はPHP(もしくはPerlPython)という形で組み合わせたものの事を言います。つまりOS、Webサーバ、DB、プログラミング言語の組み合わせ≒積み重ね、なのでStackという事のようです。こういった

    35歳定年説より怖いフルスタックエンジニアしか生き残れない未来とは - paiza times
  • 初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita

    ここ最近、沢山シェルスクリプトを書くようになりました。 元々あまりシェルスクリプトを書いたこと無かったので、色々と勉強しつつ書いてるのですが、 他のプログラミング言語とはちょっと違って独特なクセというか、発見の度におぉー!ってなることが沢山あって楽しいです。 そんなわけで、最近学んだり参考にした中で特に感動したシェルの上手い書き方をまとめてみます。 きっとまだ知らないこととかもっと上手くやる方法なんかが沢山見つかりそうなので、 もっといいやり方あるよ!って方はコメントください 何もしない : (コロン)コマンド シェルを書いていた時に非常に欲しかったコマンドがこれ!何もしない! : というコマンド(?)を利用すると、何もせずに終了ステータス0(つまり正常終了)を返します。 これが様々な事に使える万能コマンドで、これによって面倒なエラー処理を簡潔にできたり、 入力や出力のリダイレクト元/先と

    初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita
  • 最強の dotfiles 駆動開発と GitHub で管理する運用方法 - Qiita

    【2015/07/16 追記】優れた dotfiles を設計する - TELLME.TOKYO この記事では書かなかった全体のロジックについて書きました Dotfiles Driven Development dotfiles とは Unix 系 OS で俗に言う設定ファイルのことです。.vimrc や .zshrc など、設定ファイルの多くは隠しファイルとしてファイル名の頭にドットがつくことからそう呼ばれています。 ほとんどのエンジニアは CLI 環境での開発は避けては通れないものに思います。CLI 環境は「黒い画面」として敬遠されがちで、CLI になると格段に作業効率がダウンする人も少なく無いです。その作業を効率化するキーとなるのは、設定ファイルの習熟度にあると思います。GUI 開発環境と比べてこちらはテキストベースでカスタマイズできるため、究極まで自分好みに合わせることが可能です。

    最強の dotfiles 駆動開発と GitHub で管理する運用方法 - Qiita
  • エンジニアのための英語

    日、以下のような文章を読んだ > I was suffered from ~ ~の部分には遭遇した諸問題について書いてあったので、この文章は「苦しめられた」と言いたいのだと推察できた。ただ、残念な事に、be suffered というのは多分現在ではほとんど使わないし、意味が若干違ってくると思う(詳しくは検索してきて!) sufferと言う言葉は「苦しむ・被る」という意味なので、受け身にすれば「苦し『められる』」という意味になるのではないか、というつもりだったのはないかと推察するが、sufferはすでに受け身の意味なので、I sufferですでに何かに苦しめられているのであり、これをさらに受け身にする必要はない。 > I had to suffer from having to deal with spaghetti code とかなら、「スパゲッティコードに立ち向かわなくてはいけなかった

    エンジニアのための英語
  • RubyのMechanizeとNokogiriで読書メーターをスクレイピング - Qiita

    Ruby読書メーターをスクレイピング Ruby読書メーターをスクレイピングしたい 読書SNS読書メーターを利用しています。 読書メーター - あなたの読書量をグラフで管理 ユーザー間のコミュニケーションも活発で、お気に入り・お気に入られ(Twitterでいうフォロー・フォロワーの関係)のユーザーとどのくらい同じを読んでいるか(このことを共読と呼んでいます)、なんて話題で盛り上がったりしてます。 ユーザー毎のマイページでそういう情報は確認できますが、数字は日々変化しますし、何十人、何百人といると楽な方法が欲しくなります。 あるお気に入りユーザーの方がPerlで共読数などを一括取得するスクリプトを書かれていて、以前それをいただいたんですが、自分の環境ではうまく動かなかったのでどうせなら自分が勉強中のRubyで同じものを書いちまえ、ということで書いてみました。 共読解析ツールのソースコ

    RubyのMechanizeとNokogiriで読書メーターをスクレイピング - Qiita
  • userAgent一覧

    ブラウザの判別や携帯の機種判別に利用するためのユーザーエージェント一覧です。ただし、ユーザーエージェントは詐称(偽物)される場合があるため、完全にユーザーエージェントでブラウザなどの判別ができるわけではありません(詐称の方法のページを参照)。ここに掲載されているものは、このサーバーなどに対してアクセスしてきたユーザーエージェント名などを抽出したものなどです。あまりに古いブラウザおよびマイナーなブラウザに関してはアクセスログがないため掲載できていません。 [トップページに戻る] ■iPhone ●iOS Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1C28 Safari/419.3 ●iOS2 Mozilla/5.0 (iPhone

  • キトー君の悪い口コミ・失敗談と効果・販売店舗情報・安全と危険性・代用自作方法

    キトー君で真性包茎対策ができてしまいます。 包皮を引っ張ることで矯正できてしまうんですよ。 包皮輪狭窄の方も皮を伸ばすことでだんだんと広がっていきます。 テレビや雑誌でも紹介され多くの方が悩みを解決していますのでおすすめです。 そんなキトー君なのですが当に真性包茎・カントン包茎に効果があるのでしょうか?矯正できるのでしょうか、使い心地や評判が気になりませんか?そこで口コミを調べたら失敗談などの口コミが見つかりました。

    キトー君の悪い口コミ・失敗談と効果・販売店舗情報・安全と危険性・代用自作方法
  • あらためてRuby製のクローラー、"anemone"を調べてみた - プログラマでありたい

    3年ほど前に、Ruby製のクローラー"anemone"を紹介しました。その当時から完成度が高く、Rubyでクローラーを使う場合はanemoneを利用してきました。最近、他に新しくて良いのがないか調べましたが、機能面の網羅性という意味でanemoneを超えるものは見つけられませんでした。そこで改めてanemoneのソースを読んでみたところ、クローラーが必要とする機能を必要最小限で実装され、やはり中々良い出来です。冬休みの宿題ではないですが、勉強の意味を兼ねてソースを追っていくことにします。 Anemoneが利用しているライブラリ一覧 anemoneが利用しているライブラリは、4種類に分類できます。 Ruby標準or一般的なライブラリ データ取得で利用しているライブラリ データ解析で利用しているライブラリ データ保存で利用しているライブラリ この分類別に構造をみるとわかりやすいので、順番に追っ

    あらためてRuby製のクローラー、"anemone"を調べてみた - プログラマでありたい
  • robots.txtとは?設置する理由・SEO効果・書き方を解説

    ユーザーに届ける価値を徹底的に追求する マーケティングを提供します © Copyright 2022 バズ部. All rights reserved. robots.txtとは、Googleなどの検索エンジンのクローラーに対して、「どのURLにアクセスしていいか」を伝えるものである。 これを使えば、特定のページやフォルダのクロールを拒否できる(クロールさせない)ことができる。クローラーの動きを最適化することで、SEOの観点からも良い影響を得られる可能性がある。

    robots.txtとは?設置する理由・SEO効果・書き方を解説
  • 法と技術とクローラと私 - 最速転職研究会

    こんにちは、趣味や業務で大手ポータルサイトのサービスで稼働しているいくつかのクローラの開発とメンテナンスを行っているmalaです。 さて先日、岡崎市立中央図書館Webサイトをクロールしていた人が逮捕、勾留、実名報道されるという事件がありました。 関連URL: http://librahack.jp/ 電話してみた的な話 http://www.nantoka.com/~kei/diary/?20100622S1 http://blog.rocaz.net/2010/06/945.html http://blog.rocaz.net/2010/07/951.html この件につきまして法的なことはともかくとして技術者視点での私見を書きたいと思います。法的なことは差し置いて書きますが、それは法的なことを軽んじているわけではなく、法律の制定やら運用やらは、その法律によって影響が出る全ての人々の常識

    法と技術とクローラと私 - 最速転職研究会
  • Librahack : 容疑者から見た岡崎図書館事件

    出来事の詳細 3/13 新着図書データベースを作るためクローリング&スクレイピングプログラムを作成した ちょうどその頃、市場調査を行うためにECサイトのスクレイピングプログラムを作っていた。そのついでに、前々から構想していたLibra新着図書Webサービスを作ろうと思った。市場調査プログラムの一部をカスタマイズして、新着図書データベース作成プログラムを作った。この時、市場調査プログラムと新着図書データベース作成プログラムは同じプログラム内にあり、パラメータでアクションを指定して振り分けていた。 Webサービスを作ろうと思った動機は「なぜプログラムを作ったか」の通り。 Webサービスの概要は「どんなプログラムを作ろうとしていたか」の通り。 普段読むを入手する流れ:1. Amazonの各カテゴリの売れ筋をチェックしてレビューを確認し読むかどうか決める(または、書評ブログや新聞などのメディアで

  • Ruby Patterns - ✘╹◡╹✘

    この記事には、Rubyを書いているときに「これは言語化されたり公式化されたりしていないけれど基的には必ずこのパターンに則ってプログラムを書いているな」ということをふと思い出したときにやってきてそのパターンを書く。多分3パターンぐらいで終わると思う。ウケが良ければ思い出す確率が高くなると思う。題材さえあれば何も考えずに書けるので、これを書くコストは全然高くない。 名前が"?"で終わるメソッドは必ずtrueまたはfalseのどちらかを返す trueとfalse以外(例えばnil)が返る可能性がある場合は、必ず式の先頭に!!を付けてtrueかfalseになるようにしてる。 このパターンを守ることがとても大事だという風には全く考えていないけど、もしhas_user?がuserを返すとして、has_user?という名前のメソッドがUserオブジェクトを返すというのは一体どういう意味を持っているのだ

    Ruby Patterns - ✘╹◡╹✘
  • 正規表現 (Ruby 2.5.0)

    [edit] メタ文字列とリテラル、メタ文字とエスケープ 式展開 文字 任意の1文字 文字クラス 特別な文字列に対するマッチ 繰り返し キャプチャ グループ 部分式呼び出し(subexpression call) 選択 アンカー 条件分岐 オプション エンコーディング コメント フリーフォーマットモード 非包含オペレータ (absence operator) (実験的) 一覧 特殊変数 参考文献 正規表現(regular expression)は文字列のパターンを記述するための言語です。また、この言語で記述されたパターンも正規表現と呼びます。 正規表現を用いると、文字列が指定したパターンを含んでいるかどうかを判定し、また含んでいるならばそれが文字列中のどの場所であるかを知ることができます。 /pat/ %r{pat} などの正規表現リテラルや Regexp.new などで正規表現オブジェク

  • Git の diff を美しく表示するために必要なたった 1 つの設定 #git - 詩と創作・思索のひろば

    Git に同梱されている contrib/diff-highlight を使います。 あとは README に書いてあることの引き写しですが、PATH の通ったディレクトリに置いて、~/.gitconfig に以下のように設定を書く。 [pager] log = diff-highlight | less show = diff-highlight | less diff = diff-highlight | less すると、対応するコマンドの出力がこんな風になります。 行レベルの diff に加えて、単語レベルでの diff もハイライトされ、GitHub での diff のように描画されました。 組み込みのオプションで --color-words というのがありますが、こちらを使うと行レベルの diff 情報が失われるので、少し不便だったわけですね。とすべて README に書いてあ

    Git の diff を美しく表示するために必要なたった 1 つの設定 #git - 詩と創作・思索のひろば
  • Naming -名前付け- - Qiita

    プログラミングで最も重要な技術の一つが、名前付けです。 且つ、センスが問われるものなので、上達は難しいものでもあります。 この記事では、様々な文献から抽出した名前付けに関する情報を雑多にまとめました。 -名前重要- ソフトウェアの設計のアプローチとして、『まず名前から入る』というのは、あまり語られていない秘訣としてもっと広く知られても良いように思います。 - まつもとゆきひろ 『プログラマが知るべき97のこと』 コミュニケーションの基礎 名前は、コミュニケーションの基礎となるものです。 私にもあなたにも名前が無ければ、疎通することは困難になります。 名前をコミュニケーションの基礎と見た場合に重要なルールは以下の通りです。 発音可能であること 検索可能であること ※現実世界のみであれば検索可能じゃなくても良いかも知れません。 プログラミングは、チームや複数人で行うことのほうが多いと思います。

    Naming -名前付け- - Qiita
  • 電王戦,なんで勝てたんですか?――「ゲーマーはもっと経営者を目指すべき!」第15回は,「BM98」を開発した伝説的なプログラマー・やねうらお氏がゲスト

    電王戦,なんで勝てたんですか?――「ゲーマーはもっと経営者を目指すべき!」第15回は,「BM98」を開発した伝説的なプログラマー・やねうらお氏がゲスト 副編集長:TAITAI カメラマン:佐々木秀二 123→ 連載第15回めとなる,ドワンゴ・川上量生氏との対談企画「ゲーマーはもっと経営者を目指すべき!」。今回は,1990年代後半にネット上で一大ブームとなった「BM98」の開発者として知られ,最近では,ドワンゴが主催するコンピューター将棋大会「将棋電王トーナメント」(以下,電王トーナメント)でめざましい活躍を見せる,プログラマーのやねうらお氏がゲストです。 5歳からプログラミングを始め,学生時代はゲームの解析を趣味としていたというやねうらお氏ですが,そんな氏が「BM98」の開発に至った経緯,あるいは電王トーナメントへの参加を決めたいきさつなど,さまざまなことについて語ってもらいました。また,

    電王戦,なんで勝てたんですか?――「ゲーマーはもっと経営者を目指すべき!」第15回は,「BM98」を開発した伝説的なプログラマー・やねうらお氏がゲスト
  • ポインタの裏話

    ポインタの裏話 岡﨑 直観 okazaki at ecei.tohoku.ac.jp http://www.chokkan.org/ @chokkanorg ポインタの裏話 プログラミング演習A 1 このような説明を 覚えていますか? 知らなくても全く問題ありません ポインタの裏話 プログラミング演習A 2 int x = 0; &xは変数xの「アドレス」 「番地」「住所」を返す 変数x 0 &x メモリ空間, 記憶空間 変数xのアド レス(住所) ポインタの裏話 プログラミング演習A 3 ____ / \ 何言ってたんだこいつ? / ⌒ ⌒\ 番地 アドレス ぬるぽ / (●) (●) \ \ / | 、“ ゙)(__人__)" ) __________ \ 。` ⌒゚:j´ ,/ j゙~~| | | | __/ \ |__| | | | || / , \n||

  • プログラム初心者にC言語のポインタを不本意ながら教える羽目になったなら、こう教えると良いよ - 偏見プログラマの語り!

    僕がプログラミングに触れた当時は、プログラミングといえば「まず C 言語」でした。それから 10 年以上が経ちました。学校の授業や企業の研修では未だに C 言語を教えているところがあるようです。関数型プログラミング言語という波が来ている 2012 年にもなって未だに C 言語をやっているというのはまるで進歩が無く残念な気もしますが、比較的多くのプログラマに浸透している共通言語を最初に教えるというのは、一方では喜ばしい事だと解釈する事もできるのかもしれません*1。まぁとにかく、意にせよ不意にせよ現場で プログラム初心者に C 言語を教える羽目になった 人がたくさんいて、プログラム初心者なのに C 言語を学ばざるを得なくなった 若者がたくさんいるということです。 C 言語を教えるときに避けて通れないのがポインタで、プログラム初心者が C 言語を学ぶときにやたらとつまずく人が多いのがポインタ

    プログラム初心者にC言語のポインタを不本意ながら教える羽目になったなら、こう教えると良いよ - 偏見プログラマの語り!
  • (あなたの周りでも見かけるかもしれない)インスタンス変数の間違った使い方 - Qiita

    (2021-8-28追記) この記事の改訂版を書いてみました。改訂版の方が易しい内容になっているので、プログラミング初心者の方はこちらを参考にしてみてください。 はじめに:「引数があるよりは、ない方が良い」? 先日、同僚の西見さん(@mah_lab)がこんな技術ブログを書いていました。 インスタンスメソッドとクラスメソッドはどのようにして使い分けるべきか?(Rubyの場合) 同じ内容を僕だったらどういうふうに書くかな~?と思って、ちょっと書き始めてみたんですが、わかりやすく実践的な説明をするのは意外と難しく、内容も西見さんのブログとほぼ同じになりそうだったので、途中で断念しました。 というわけで、インスタンスメソッドとクラスメソッドの使い分けが未だにあやふやだという方は、ぜひ西見さんのブログを読んでみてください! ・・・なんですが、1点だけ気になる点がありました。 それはインスタンスメソッ

    (あなたの周りでも見かけるかもしれない)インスタンス変数の間違った使い方 - Qiita