タグ

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

タグの絞り込みを解除

Programmingとprogrammingに関するteracy_junkのブックマーク (1,707)

  • お前らがModelと呼ぶアレをなんと呼ぶべきか。近辺の用語(EntityとかVOとかDTOとか)について整理しつつ考える - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? みなさんは、Modelと言われたときに何をイメージしますか? こんなアレを思い浮かべた方も多いかと思います。 マサカらせてください。やはりお前らのModelは間違っている。 アレをModelと呼ぶと何が不味いのか すみません、早速言い過ぎました。半分は正しいです。MVCの発明者、Trygve Reenskaug氏による1979年の説明によると、 Models represent knowledge. A model could be a single object (rather uninteresting), or it could

    お前らがModelと呼ぶアレをなんと呼ぶべきか。近辺の用語(EntityとかVOとかDTOとか)について整理しつつ考える - Qiita
    teracy_junk
    teracy_junk 2017/12/20
    結論『ということで皆、アレのことはもうModelと呼ばず、ドメインオブジェクトと呼ぼう!』
  • やはりお前らの真偽値メソッド名は間違っている。 〜「Xxx できる?」系メソッドの命名〜 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 晒すつもりではありませんが、Facebook で友人のとある投稿を見かけて最初は「三単現にしないと💢」という軽い気持ちで返答したのですが、よくよく考えて見たらこれ思った以上のクソ命名でしたので、とりあえず流れのスクショを上げときます: はい、今回の記事はマサカリです。あしからず。 見ての通り、最初は友人の後輩ちゃんが isCanUseSkill という明らかにアレな命名をしてきたので、友人がそれを指摘をするも、まさかの allowSkill という更にダメな名前をつけてきた件。isCanUseSkill はまだ「なんだこいつの英語はw

    やはりお前らの真偽値メソッド名は間違っている。 〜「Xxx できる?」系メソッドの命名〜 - Qiita
    teracy_junk
    teracy_junk 2017/12/08
    コメント欄荒れてるw|「できる」が能力的なのか権限的なのかで使い分ける、なるほどな。あまり意識してなかったな
  • 約980名の生徒に行われたN高等学校のプログラミング教育の現状と課題 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    約980名の生徒に行われたN高等学校のプログラミング教育の現状と課題 - Qiita
  • もしコンパイラを全世界で同時にうっかり削除してしまったら、元の状態に復旧できるのだろうか?|Rui Ueyama|note

    思考実験として、全世界の人が同時に、自分の持っているコンパイラやインタープリタなどの実行ファイルをうっかり全部消してしまったとしよう。そうするとそれ以降、ソースコードが残っていても、コンパイラ自身も含めてどのようなプログラムもコンパイルできなくなってしまう。この状況から人類は元のコンピュータ文明を復旧することができるのだろうか? 僕は結論としては、かなり簡単に復旧できると思う。ここではその手順についてちょっと考えてみよう。 コンパイラのバイナリファイルが全部消えてしまった後、復旧のために目指すべきマイルストーンは、おそらくCコンパイラを元に戻すことになるだろう。Cで書かれたプログラムはOSやコンパイラ自身を含めてたくさんあるので、そこを起点にすれば、たくさんのプログラムを芋づる式に復旧していけるからだ。 ほとんどのCコンパイラはCかC++で書かれている。最近のGCCやClangは巨大かつC

    もしコンパイラを全世界で同時にうっかり削除してしまったら、元の状態に復旧できるのだろうか?|Rui Ueyama|note
    teracy_junk
    teracy_junk 2017/12/04
    『プログラミングのよくある疑問として、CコンパイラがCで書かれているなら最初はどうやってコンパイルしたのかというがあるけど、答えは、上のように徐々にブートストラップしていったのだ』
  • What are the Most Disliked Programming Languages? - Stack Overflow

    Capture, share, & collaborate on knowledge internally. On Stack Overflow Jobs, you can create your own Developer Story to showcase your achievements and advance your career. One option you have when creating a Developer Story is to add tags you would like to work with or would not like to work with: This offers us an opportunity to examine the opinions of hundreds of thousands of developers. There

    What are the Most Disliked Programming Languages? - Stack Overflow
    teracy_junk
    teracy_junk 2017/11/30
    MS嫌われすぎワロタw
  • O'Reilly Japan - ベタープログラマ――優れたプログラマになるための38の考え方とテクニック

    プログラマとしてのキャリアをスタートすると、構文や設計を理解するだけでなく、その他の様々な事柄を理解し習得する必要があると気づきます。書は、優れたコードを作りだし、人々と効率的に働く生産性の高いプログラマになるための考え方とテクニックを38のテーマで紹介します。はじめに、コード1行1行の書き方、デバッグやエラー処理、コードの改善方法など開発現場でのコーディングを取り上げます。次にコードを単純に保つこと、コード変更やテスト、リリースなどソフトウェアを開発する際の考え方や心構えを扱います。個人的な活動として、継続的な学習方法と停滞を避けるための課題の見つけ方など、自らを成長させる方法も紹介。さらに組織の中で他の人とコミュニケーションを取りながら、効果的に働くための習慣を解説します。『Code Craft』の著者Pete Goodliffeが、自らの経験を元に「優れたプログラマ」になるための考

    O'Reilly Japan - ベタープログラマ――優れたプログラマになるための38の考え方とテクニック
    teracy_junk
    teracy_junk 2017/11/29
    ベタープログラマーなんだから、表紙はベタがよかった
  • ソフトウェアの互換性と僕らのUser-Agent文字列問題|Rui Ueyama

    いろいろな環境で動くプログラムでは互換性のためにその場しのぎのことをしないといけないことがよくあるけど、歴史が積み重なってくると、アドホックな技の上にアドホックな技が積み上がる喜劇的な状態になることがある。こういう問題は認識するのは簡単だが直すことは誰にもできない。まさに僕がそのような体験をしたのでちょっと説明したい。 僕は仕事としてオープンソースのlldというリンカを書いている。リンカというのはコンパイラが生成したバイナリファイルをつなぎ合わせて最終的な実行ファイルやDLLを作成するプログラムで、知らない人も多いと思うけど、何をコンパイルしても最後にはリンカが動いている。lldは既存プログラムより何倍も速くてビルドが早くなるというので最近は結構人気が高まっていて、FreeBSDなどのいくつかのOSが全面的にスイッチしようとしたり、あるいは大規模プロジェクトChromeや、どうもFire

    ソフトウェアの互換性と僕らのUser-Agent文字列問題|Rui Ueyama
    teracy_junk
    teracy_junk 2017/11/15
    現状がどんなに糞でもそれを是認してアドホックで対応、と。まあ現実は常に「正しい」よねぇ…
  • 「プログラミングの常識」を時々見直す必要性について|Rui Ueyama

    自分の中のプログラミングの常識というものは、ときどき現実のハードウェアに合わせて調節しないといけない。ハードウェアが進歩し続けているので、コンピュータで簡単にできることと相対的に難しいことのバランスが変化し続けているからだ。ここでは特にストレージにフォーカスして書こうと思う。 昔はメモリが相対的にとても貴重な資源だったので多くのプログラマがメモリを節約することに血道を上げていた。例えばWindowsの初期の頃に設計されたデータ構造には、メモリをバイト単位ででもいいから節約したいという意図の痕跡がいまでも多く見受けられる。DRAMの次に速い記憶装置はHDDだったので、メモリが足りなくなればHDDにデータを保存せざるを得ないのだが、DRAMとHDDのランダムアクセスの速度差は、机の上のの開いているページを見るのと、そのAmazonで注文して到着するのを待つのと同じくらいのスケールで違うの

    「プログラミングの常識」を時々見直す必要性について|Rui Ueyama
  • プログラミング初心者がつまづきやすい0とnullの違いを「トイレットペーパーで」解説した画像が見事

    プログラミング初心者がつまづきやすい、0(ゼロ)とnullの違い。その違いをトイレットペーパーで表した画像が分かりやすいと共感を呼んでいます。 0とnullの違いは初心者がつまづくポイント TwitterユーザーのR SATO(佐藤 玲)(@raysato)さんが投稿した画像には、2つのトイレットぺーパーホルダーが写っています。左側は「トイレットペーパーがなくなり芯が残っている状態」、右側は「芯も何も存在していない状態」です。 左が0、右がnullを表している(画像提供:R SATO(佐藤 玲)さん) 紙のない芯(=紙が0のもの)が存在している画像で0を、芯も何も存在していない(=無である)画像でnullを表しているというわけです。画像を見たTwitterユーザーからは「これ、的を射てます」「なんと分かりやすい」「これは秀逸」「わかりやすくてわろた」「この状態を見て、この解説を閃くことが素

    プログラミング初心者がつまづきやすい0とnullの違いを「トイレットペーパーで」解説した画像が見事
  • 15週間でクソゲーを20本作って得たもの - Qiita

    5の「振り返り」は以下の項目を検討しておくと良いです。 Idea:アイデア。コンセプト。テーマ。元ネタ What went right:やってみて良かったこと。うまくいったところ。成功したところ。次回に生かせそうなこと What went wrong:ダメだったところ。うまく機能しなかったところ。問題点。改善すべき点 What I learned:学んだこと。効果的なゲームデザインの方法やツールの使い方、獲得したテクニックなど ちなみに最初にリンクを貼った、作ったゲームの各ページの下の方には、振り返りや作成にかかった時間などを記載しています(以下はノンフィールドRPG「OneWay RPG」を作った時の振り返り) Game A Weekで得たもの ということで「Game A Week」を行った結果、私が得たものです。 ゲームを作りながら技術検証できる ゲームを完成させたときの達成感を繰り返

    15週間でクソゲーを20本作って得たもの - Qiita
    teracy_junk
    teracy_junk 2017/10/13
    素晴らしい
  • is-a関係とhas-a関係: 継承と包含

    あるオブジェクトが、他のオブジェクトを継承しているのか包含しているのか。 一見すると継承と包含は全く別物ですが、これが意外と判断が難しい場合があります。 is-a関係、has-a関係という言葉は、そういう場合の判断の指針として使われるものです。 コンテンツ はじめに 分類による分析 分割による分析 分類法と分割法をオブジェクト指向で表現 質はアプローチ はじめに 最初に知っておいていただきたいのは、そもそも、is-a 関係と has-a 関係というのは、オブジェクト指向に限った話ではないということです。 これらは、一般的な物事の質を捉えるための分析のしかた、考え方についてのメタファです。 分類による分析 is-a というのは、以下のような関係を表しています。 A is a B. 日語で言うと、A は (is) B の一種 (a) ということになります。 これは、分類法によって物事を捉

    teracy_junk
    teracy_junk 2017/10/13
    余りに酷いコードのリファクタリングが続いたので読み返す
  • 同僚のコードレビューでこんなにクラスの設計が良くなったという話 - Qiita

    弊社では、案件とは関係のないプロジェクトでも業務時間中にみんなにコードレビューを依頼できる時間が確保されています(参加は任意)。案件のコードレビューを依頼したり、ちょっとした個人の制作物を見てらったりと使い方は色々です。 先日、TypeScriptの練習にQiitaのAPIを叩いていて記事を表示するブログウィジェットを作成しました。このウィジェットのレビューを依頼したところ、クラスの設計について具体的な指摘と、それに対する改善を経験できたのでこの記事に記載します。 今回作ったQiitaWidgetの要件 Qiitaの公式APIV2から記事とユーザー情報を取得し、HTMLテンプレートに表示する 投稿の合計いいね数を算出するために、あるユーザーの投稿を全件取得する (このために複数回リクエストの送信とレスポンスデータの結合を行う) パラメータによってユーザー、いいね数によるソート、表示件数、ラ

    同僚のコードレビューでこんなにクラスの設計が良くなったという話 - Qiita
  • Markdownエディタを作って月15万円稼ぐためにやったこと — Inkdrop

    自分でもびっくりしてるいぬさん僕はフリーランスをしながら脱受託を目指してアプリを作って生活しています。だいたい1年のうち7割ぐらいをアプリ作りの時間に充てています。稿では、Inkdropというマルチプラットフォーム対応のMarkdownエディタを一人で開発して月15万円の売上を達成するまでにやった事を包み隠さずにシェアしたいと思います。 Inkdropの月間売上の推移やったこと概要毎日感じるちょっとした問題を見つける自分自身がこれだ!と思えるまでプロトタイプを作るプライベートβ期間でヘビーユーザを作る継続性を重視して価格をつける決済処理はStripeで楽に実装する良いランディングページを作るユーザサポートを最優先にする自分の得た知見を惜しまずブログに書くクオリティで勝負する批判を全て無視する毎日感じるちょっとした問題を見つける僕は別に特別でもなんでもありません。人は意外と同じ事を感じたり

    Markdownエディタを作って月15万円稼ぐためにやったこと — Inkdrop
    teracy_junk
    teracy_junk 2017/09/26
    「やったこと概要」が「プログラマが健全に生きるための十箇条」みたいな感じで素晴らしいと思った
  • Understanding RxJava subscribeOn and observeOn – ProAndroidDev

    https://www.flickr.com/photos/marionchantal/24195403325One of the biggest strengths of RxJava is its ability to easily schedule work and process results on various threads. This article aims to give you a solid foundation of working with threads in RxJava and RxAndroid to optimize system performance while avoiding bugs (threading-related bugs are notoriously hard to track down). RxJava SchedulersT

    Understanding RxJava subscribeOn and observeOn – ProAndroidDev
  • When to call activity context OR application context?

    getApplicationContext() is almost always wrong. Ms. Hackborn (among others) have been very explicit that you only use getApplicationContext() when you know why you are using getApplicationContext() and only when you need to use getApplicationContext(). To be blunt, "some programmers" use getApplicationContext() (or getBaseContext(), to a lesser extent) because their Java experience is limited. The

    When to call activity context OR application context?
    teracy_junk
    teracy_junk 2017/09/12
    ベストアンサーの出だしがめっちゃダメ出しなの頼もしい
  • 大学受験講座 - N予備校

    コース紹介 N予備校では、豊富な科目ラインナップに加え レベルも数段階で設定。 自分のレベルや目標にあったコースが選択できます。 講座の種類 大学受験講座にはレベル別のコースがあり、難関大学の合格まで目指せるカリキュラムになっています。 大学受験講座のほか、中学校までの学習内容の復習ができる講座や、大学受験を有利に進めるうえで欠かせない英検対策講座もあります。 自分の学力レベルに合わせて学習をスタートし、志望校の入試レベルまで学力を積み上げていきましょう。 高校準備・大学受験準備 大学入試対策 基養成 レベル 基礎力養成 レベル 基礎力完成〜 一般私大 レベル 共通テスト 中堅国公立大 中堅私大 レベル 難関 国公立大 難関私大 レベル

    大学受験講座 - N予備校
    teracy_junk
    teracy_junk 2017/09/12
    プログラミングコース、月額1000円でこの内容パねぇな…
  • 真偽値を返す関数のネーミング - Qiita

    みんな exists を使ってます。 納得できようができまいが、exists なのです。 ソフトウェアの世界では、AppleMicrosoftGoogle が黒と言ったら黒です。 黙って従いましょう。 このように、関数名の表現に困ったら、世の中の API を参考にすると良いです。 非ネイティブの我々では思いつかないような的確な表現が見つかることもあります。 関数の名付け方 真偽値を返す関数は if 文で使われることが多いので、頭に if を置いて最もしっくり来る表現が良いと思います。 個人的には、真偽値を返す関数名を考えるときは以下のフォーマットに当てはめるようにしています。 if オブジェクト名 関数名 「項目が選択中だったら」なら "if item is selected" なので関数名は item.isSelected() となります。 同様に「項目が存在したら」なら "

    真偽値を返す関数のネーミング - Qiita
    teracy_junk
    teracy_junk 2017/09/11
    C++タグが付いてるから議論はC++限定の話かもしれないけど、is+動詞気持ち悪い→自動生成getterがなんでもis○○はあるある
  • 入社からの半年間でコードレビューで指摘されたことのまとめ - 30歳からのプログラミング

    実務未経験でプログラマとして入社して半年以上が経った。 コードレビューで指摘されたことを備忘録としてまとめておく。 自分なりにまとめたものなので、レビュアーが言いたかったこととニュアンスや解釈がずれている可能性はある。 初歩的な内容ばかりで我ながらうんざりする。 せっかく優秀な同僚ばかりなのだからもっと高度なことを学びたいが、こういう初歩的なことが出来ないのが俺の現状なのだから、仕方ない。 そもそもPullRequestを送ったこともなかったわけだし。入社初日は、一人でPullRequestの出し方を練習していた。 それを考えればまあ、こんなものだろうか。 当たり前のことをちゃんと当たり前に出来るようになって、早く、次のステージに進みたい。 PullRequest(PR) PRのタイトルは分かりやすいものに。必要に応じてチケットの番号なども入れる。 コミットやPRは出来るだけ粒度を細かくす

    入社からの半年間でコードレビューで指摘されたことのまとめ - 30歳からのプログラミング
  • Big Sky :: 虫が入り込むその瞬間

    今日とある場所で虫が入り込む瞬間を見た。虫といってもバグの方。それはプログラマ向けの Q&A サイトで始まった。質問の内容はこうだ。 文字列には0または4がだけが含まれる。文字列は 4 から始まり、例えば 440, 44, 40, 4400, 4440 など、これらは正しいとするが 404 は正しくない。今のところ、私は 0 の直後に 4 が現れるかどうかでチェックしている。これは果たして効率的だろうか。 始め僕はこの質問文をちゃんと読んでおらず、正規表現を使ってこれを実装した。 package main import ( "regexp" ) func check(s string) bool { return regexp.MustCompile(`^4+0*$`).MatchString(s) } func main() { for _, tt := range []string{"

    Big Sky :: 虫が入り込むその瞬間
  • WEB+DB PRESS Vol.99の「良いコード」を本気でコードレビューしてみた - give IT a try

    はじめに Twitterを見てたら、気になる雑誌の特集を見つけました。 WEB+DB PRESS Vol.99の「Rubyで学ぶ!良いコードって何だろう?」という特集記事です。 WEB+DB PRESS Vol.99 作者: ?橋健一,谷口禎英,井大登,山崎勝平,大和田純,内村元樹,坂東昌哉,平田敏之,牧大輔,板敷康洋,大?浩崇,穴井宏幸,原口宗悟,久田真寛,ふしはらかん,のざきひろふみ,うらがみ,ひげぽん,池田拓司,はまちや2,竹原,片田雄樹,渋江一晃,WEB+DB PRESS編集部編出版社/メーカー: 技術評論社発売日: 2017/06/24メディア: 大型この商品を含むブログを見るRuby大好き!きれいなコード大好き!!な僕にとっては、この特集は読まずにはいられません! 早速買って読んでみました。 お~、なるほど、たしかにいいことが書いてある! うんうん、そうそう・・・あれ?この

    WEB+DB PRESS Vol.99の「良いコード」を本気でコードレビューしてみた - give IT a try