タグ

programmingに関するms0924のブックマーク (215)

  • 初心者プログラマが犯しがちな過ち25選 - Qiita

    以下はThe Mistakes I Made As a Beginner Programmerの日語訳です。 The Mistakes I Made As a Beginner Programmer 初心者プログラマが犯しがちな間違いと、それらを特定し、避けるための習慣を学ぶ方法。 まず最初に言っておくことがあります。 この記事は、誤りを犯すことを悪いと糾弾するために作成されたものではありません。 むしろ貴方が誤りに自ら気付き、あるいはその兆候を見いだし、それらを避けられるようにするために書かれたものです。 私は過去これらの誤りを犯し、それぞれから学びを得てきました。 今ではこれらを避けるようなコーディングを習慣付けるようにしています。 貴方もそうしましょう。 紹介は順不同です。 1) 設計せずに実装する 高品質なコンテンツは、一般的には容易に作成できるものではありません。 それには慎重

    初心者プログラマが犯しがちな過ち25選 - Qiita
  • オブジェクト指向とは結局何なのか あるいはプログラミングをする上で気をつけるべきたった一つのこと

    題の前に まず「オブジェクト指向」という言葉を知っただけのまったくの初心者の方のために例を出してイメージをつかんでもらいます。あくまで例なので色々不完全なのはご了承ください。言語はJavaですがJavaを知らなくても何となく分かるように書きます。 オブジェクト指向とは (即物的に言えば) データとそれに関わるメソッドを クラス(class) にまとめてプログラミングすることです。 例えば友達の情報を管理するために以下のような「友人」クラスを考えてみましょう。 class Friend { String name;//名前 String phoneNumber;//電話番号 String mailAddress;//メールアドレス Friend(String name, String phoneNumber, String mailAddress) { //thisは自身を意味する thi

    オブジェクト指向とは結局何なのか あるいはプログラミングをする上で気をつけるべきたった一つのこと
  • ifの条件が2つ以上だと頭がパンクする

    if(param==0 && 判定(param2) || !param3){ //したいこと } みたいに3つぐらい条件がある場合、頭がパンクしそうになる。 この時こう考えている。 1:したいことをする条件は 2:paramが0 3:かつ 4:判定関数でparam2の条件を返して、true 5:またはparam3がfalseのときがtrueだから 6:trueだとだめなんだよね。falseが正しいんだ。でもfalseは偽なのに正? 8:あれ、何したいんだっけ。まぁいいや、とりあえず実行してエラーなら直そう。 7:実行。 8:あれ?なんか違う。何がおかしいんだ 1へ戻る。 これを3,4回繰り返してウアアアアアアアアアアアってなってしまう。 誰か助けて

    ifの条件が2つ以上だと頭がパンクする
  • 関数型プログラミングはまず考え方から理解しよう

    関数型プログラミングが注目されて久しいです。 そろそろ勉強しておかないとなぁということで調べてみるものの、情報として出てくるのは"高階関数","カリー化","遅延評価","モナド"などの物々しい単語の数々。これらを勉強して理解した気になったものの、プログラムを書こうと思うと全然書けませんでした。 結局、関数型言語を実現する手段を学ぶ前に関数型と言われるパラダイムを理解しないことには書けません。ということでここでは関数型プログラミングの"手法"ではなく、オブジェクト指向と関数型プログラミングを比較しながら考え方の違いを見ていきます。 日の例題 プログラミング課題を設定してオブジェクト指向と関数型で解答してみましょう。 課題: 唐揚げ弁当がいくつかあるとします。それぞれ唐揚げが複数入っています。 この中からx個の唐揚げをつまみいするプログラムを作りましょう。 つまみいはバレないようにする

    関数型プログラミングはまず考え方から理解しよう
  • 小学校低学年へのプログラミング教育には効果がないと考えたほうがいい - きしだのHatena

    子どもへのプログラミング教育は早ければ早いほどいいというものではない。 最近子どもへのプログラミング教育が話題になることが多いけど、恐らく小学3年生までの子どもへの効果はほとんどなく、小学4年生でもほとんどの子どもには難しいと思う。 人間の知能の発達には段階があって、必要な段階に達していないうちにそれが必要な教育を行っても効果は望めない。 まず、なんでこのエントリを書いたかというと、プログラミングには適した発達段階があるということを知らないと、その発達段階に達する前にプログラミング教育を行って、もちろんプログラミングは出来なくて、その子には適性がないという判断をしてしまうとうことが起きてしまうんじゃないかと思ったからだ。 まだ適した段階まで来てないだけなのにプログラミング教育をして失敗して「この子にはプログラミングができなかった/興味をもたなかった」という実績を作ってしまうことによって、将

    小学校低学年へのプログラミング教育には効果がないと考えたほうがいい - きしだのHatena
  • ついつい使ってしまうプログラミングの悪いテクニックは? | スラド デベロッパー

    プログラミングの際に、さまざまな理由でコーディングのルールを破ってしまうことがある。これらは誰もが「悪い」プログラミングテクニックであると認めるようなものだが、結果としてコードがクリーンになり、高速かつシンプルになることもある。InfoWorldの記事では、愛される悪いプログラミングテクニックを9つ選んでいる。 InfoWorldが選んだ悪いプログラミングテクニックは以下の通り。 gotoを使う 関数名だけで内容がわかるようにしてドキュメンテーションを避ける 1行に大量のコードを詰め込む 型宣言をしない 値の型を繰り返し変換する「ヨーヨーコード」 独自のデータ構造を書く ループの半ばでループを抜ける 短い変数名を使う 演算子や関数を再定義する プログラミング言語や環境によっては使用できないものもあるが、皆さんがよく使うものはあるだろうか。また、リストに追加するとしたらどのようなものがあるだ

  • プログラミング未経験者がWEBエンジニアになるためにやるべきこと

    最近よくプログラミング未経験の方から、これからエンジニアとしてやっていきたい、もしくはそこまでいかなくても自分でプロダクトを作れるようになりたいけど何からやったらいい?っていう相談を受けるようになってきました。個別に色々話を聞きつつこれやってみたら?っていうリンク送ったりはしてたんですが、その人たちにとっての大まかな地図的な意味でも、(「これ見といて」って自分が楽するためにも、)未経験者の人におすすめする学習教材をまとめてみました。 参考事例 ぼく自身ゼロからエンジニアを育て上げた経験があるわけではないので、先人の事例に学べることは学ぼう、かつこうやって伸びた人がいるんや!っていう人のモチベーションになったらいいな、ということで紹介します。 リブセンスさん リブセンスさんの、非エンジニアを1ヶ月でエンジニアに育て上げる話、かなり強烈でしたね。フルコミットでかつ桂さんという突出したメンター

    プログラミング未経験者がWEBエンジニアになるためにやるべきこと
  • プログラマーだけがやっている効率的な仕事のやり方

    プログラマーだけがやっている効率的な仕事のやり方 Only Programmers knows the way to optimize working 2015.08.26 Updated by Ryo Shimizu on August 26, 2015, 17:10 pm JST 先日上梓した拙書「最速の仕事術はプログラマーが知っている」がありがたいことに大変評判なようで、発売4日後に増刷が決まるなど売れ行きが好調のようです。 もともとこんな刺激的なタイトルのを書いていいのか、という悩みもあったのですが、編集の方の強い熱意と最初のミーティングの段階で完璧に近いところまで揃えられた目次と企画書を見て、「これは時間を割いてでも書いてみたい」と思い、引き受けることにしました。 実際に世に出ても、「やっぱりこれは書きすぎなんじゃないか」「刺激が強すぎるんじゃないか」と危惧していたのですが、A

    プログラマーだけがやっている効率的な仕事のやり方
  • teratail【テラテイル】|ITエンジニア特化型Q&Aサイト

    OR メールアドレスで登録上記ボタンのクリックにより、利用規約 及び 個人情報の取り扱い に関する要項に同意したものとします。 ※X(旧Twitter)での登録時に不具合が発生する場合があります。その際は他の登録方法をご利用ください。 アカウントをお持ちの方はこちらからログイン

    teratail【テラテイル】|ITエンジニア特化型Q&Aサイト
  • 30日間で300回のプログラミング面接をしてわかったこと | POSTD

    プログラマの採用方法を改善するため、1カ月程前にTriplebyteを立ち上げました。昔から変わらず、履歴書、コードをホワイトボードに書かせるプログラミングテスト、そして直感など、これらを判断基準に面接を行う企業が多すぎます。私たちは、より良い採用方法について最初に考えたアイディアを マニフェスト に記しました。それから1カ月と少しが経過し、この30日間で、300回の面接を行いました。私たちはアイディアを実行に移し、どの方法が有効で、どの方法が有効ではないかを確認し、そのプロセスを繰り返すということを始めたのです。この投稿には、300回の面接を通して私たちが学んだことを書いていこうと思います。 投稿では、細かい内容についての説明が多くなりますが、キーとなる発見は以下の通りです。 私たちが作ったオンラインのプログラミングクイズの結果を見れば、高い確率でプログラミング面接の結果を予測できる。

    30日間で300回のプログラミング面接をしてわかったこと | POSTD
  • 気が狂った設計 - hitode909の日記

    大きめのこととか,自信のないところを触るときは,コード書く前に,こういう作戦考えてみたけどどうですかって聞いてみたり,こういうことやりたいんだけど一緒に考えませんかって,いっしょに話して設計考えたりするとよいと思う. 一緒に考えたすぐあとに気が狂った設計とか言い出したらおかしいので,未然に変な設計のままコード書いてしまうのを防げる. 特に辛い気持ちになるのが、「気が狂った設計」「クソコード」「(こんな実装は)有り得ない」といった言葉だ。 Pull Requestのレビューが辛くて会社をやめたい 単に言葉が強いのはよくないと思う.我が社にはそんな強い言葉でレビュー書く人はいない. 我が社には,普段から強い言葉を発する人もいなくて,みんな物腰柔らかな変な言葉を話している. 言葉使いや文体は,ずっと過ごしてると同僚から移ったりするので,普段からそういう言葉を話していると,全体の雰囲気も悪くなりそ

    気が狂った設計 - hitode909の日記
  • プログラムは思った通りには動かない。書いたとおりに動くのだ

    プログラムは思った通りには動かない。書いたとおりに動くのだ Any code doesn't run as you thought, run as it wrote 2015.06.17 Updated by Ryo Shimizu on June 17, 2015, 10:13 am JST

    プログラムは思った通りには動かない。書いたとおりに動くのだ
  • プログラミングの勉強に役立つ優良ブログ8選

    プログラミング初心者が最初につまずき易いポイントに「解決できない」「分からない」ということがあります。 そんな時は疲れもドッとでますし、モチベーションもダウンしてしまいます。 今回ご紹介するブログは、そんなつまずきからあなたを救ってくれると思います。 同じように苦労してウェブやアプリ開発している方もいらっしゃいますので、他の人のやり方を少しのぞいて参考にしてみてください! "CodeCampus"はオンラインプログラミングスクール No.1のCodeCampが運営するプログラミング未経験の方のための学習メディアです CodeCampとは?(受講生体験記) 「エンジニアは女性のキャリアとして魅力的」未経験からの転職体験記リモートワーク×多拠点居住の新しい生き方を実現する。元バレエダンサーの挑戦普通の文系大学生/営業職が、エンジニア転職起業するまで成長の記録 初心者・非エンジニアが参考にし

    プログラミングの勉強に役立つ優良ブログ8選
  • bwin·必赢(中国)唯一官方网站

  • 女の子らしくコードを書く、ということ – Medium Japan – Medium

    この記事の元となっているプレゼンテーションは、オークランドで開催された AlterConf のものです。テーマはジェンダー・ダイバーシティについてでした。同カンファレンスでは、人種差別、障害、階級差別など多様なテーマについてのプレゼンテーションが行われていました。 Always (訳注:女性用品のブランド)の広告で、成人の男女に「走る・叩く・投げる」を女の子らしくやってもらう、というものがあります。頼まれた人々がそれをおこなう様子は、なよなよしくてひどいものでした。その広告では、次に、同じことを若い女の子達に頼んでみます。すると、彼女達がそれをおこなう様子はまさに「精一杯・一生懸命」でした。その後、「女の子らしくやる」ってどういうことかな?と尋ねてみると、女の子の1人がこう返します。「自分に出せる全力でやる、っていうことよ」。 残念ながら、ある程度年をとると、「女の子らしく何かをする」とい

    女の子らしくコードを書く、ということ – Medium Japan – Medium
  • プログラミングとかウェブでよく出てくる小難しい英単語30選 - Dance with Tech

    よくプログラマーエンジニア)は、 数学が得意な人じゃないと出来ないとか言われたりしますが、 個人的には数学というより、 英語が出来る(好きな)人の方が有利だと思っています。 だってプログラミングってコメント以外英語ですし。 「なでしこ」とかはありますけどw 僕は学生時代、どちらかと言うと数学が苦手なタイプでしたが、 英語はわりと出来る方でした(というか好きだった)。 もちろん、数学も出来た方が有利に決まっていますが、 普通にご飯をべていく分にはそんなに必要無いと思います。 ということで、 英語の意味を理解すると、仕事が更に捗るんじゃないかと思いまして、 プログラミングとかウェブで出てくるけど、 ちょっと意味が分かりづらい英単語30個をまとめてみました! プログラミングで出てくる英単語30選 英単語読み方意味 allocate アロケート 割り当てる attr(attribute) アト

    プログラミングとかウェブでよく出てくる小難しい英単語30選 - Dance with Tech
  • プログラミングで変数名や関数名のネーミングに迷ったときに便利なカンニングペーパーまとめ

    僕は、プログラムをする上で変数や関数に良い名前を付けるのはとても重要と考えています。 というのも、良い名前を付ければ、それだけでそのコードがしたいことの説明になり、コメントと同等の働きをすることもあるからです。 自分がちゃんとそれをできているのかはさておき、僕は普段から、できれば読みやすくて分かりやすい名前を付けたいと思っています。他の人も読むコードであれば、できればプログラムでよく使われるような単語を利用して書いた方がより分かりやすいです。 ただ、よい名前を考えるのって、ちょっと面倒くさいんですよね。僕はこれまで、英語の辞書を利用して、考えたりしていたのですが、「何か、プログラムでよく使われる単語をまとめたものはないか?」と探したら、ドンピシャのものがいくつかあったので、それらをまとめて以下で紹介します。 photo by Michael Coté codic codic – デベロッパ

    プログラミングで変数名や関数名のネーミングに迷ったときに便利なカンニングペーパーまとめ
  • プログラムを高速化する話

    9. 9 最適化について 「細かい効率のことは忘れて、時間の 97% について考え よう。時期尚早な最適化は諸悪の根源だ。それでも残り 3% についても機会を逃すべきではない」 - Donald E. Knuth 「プログラム最適化の第一法則 : 最適化するな。 プログラム最適化の第二法則 ( 上級者限定 ): まだするな。 」 - Michael A. Jackson 11. 11 最適化の対象 主に Intel の Haswell マイクロアーキテクチャ以降を対象 多くのテクニックは他のプロセッサにも応用できます ベース マイクロアーキテクチャ プロセスルール 登場年 Nehalem Nehalem 45nm 2008 〃 Westmere 32nm 2010 Sandy Bridge Sandy Bridge 32nm 2011 〃 Ivy Bridge 22nm 2012 Hasw

    プログラムを高速化する話
  • 「10倍プログラマ」の神話、Ruby on Railsの生みの親が語った高い生産性のカギとは!? | HRナビ by リクルート

    ずいぶん前のことだが、Webアプリケーション開発フレームワーク「Ruby on Rails」が00年代後半にブームを巻き起こしたとき、強い主張を持つソフトウェアとしてRailsは多くの議論を呼び起こした。その中でも最大のものはプログラマの生産性に関するもの。当時、すでにいくつも存在していたJavaベースのWebアプリケーション開発フレームワークに比べて、Ruby on Railsは10倍の生産性を達成できるという主張だ。 Rubyの生産性はJavaの10倍――。この主張が多くのエンジニアの琴線、もしくは逆鱗に触れた。「さすがに10倍は大げさだ」、「いや、現実に設定ファイルやコードを書く行数が劇的に減るのだから、そのぐらい当然だ」と意見が分かれたのだ。 2005年のリリースから約10年。Railsの生みの親で、今もプロジェクトをリードするデイビッド・ハイネマイヤー・ハンソン氏は当時を振り返り

    「10倍プログラマ」の神話、Ruby on Railsの生みの親が語った高い生産性のカギとは!? | HRナビ by リクルート
  • プログラマが知るべき97のこと

    プログラマが知るべき97のこと大人気の書籍『プログラマが知るべき97のこと』のエッセイを無料で公開中!すべてのプログラマにおすすめのがウェブで読めるようになりました。 エッセイ一覧分別のある行動関数型プログラミングを学ぶことの重要性ユーザが何をするかを観察する(あなたはユーザではない)コーディング規約を自動化する美はシンプルさに宿るリファクタリングの際に注意すべきこと共有は慎重にボーイスカウト・ルール他人よりまず自分を疑うツールの選択は慎重にドメインの言葉を使ったコードコードは設計であるコードレイアウトの重要性コードレビューコードの論理的検証コメントについてのコメントコードに書けないことのみをコメントにする学び続ける姿勢誰にとっての「利便性」かすばやくデプロイ、こまめにデプロイ技術的例外とビジネス例外を明確に区別する1万時間の訓練ドメイン特化言語変更を恐れない見られて恥ず

    プログラマが知るべき97のこと