タグ

プログラマに関するsanthiagomanのブックマーク (18)

  • 私はC言語を知らない | POSTD

    (注:2017/04/27、いただいたフィードバックを元に翻訳を修正いたしました。) この記事では、皆さん(特にC言語のプログラマ)に「自分はCを分かっていなかった」と気付いてもらうことを目標にしています。 Cの落とし穴は、思っているよりもずっと身近なところにあります。ちょっとしたコードにも 未定義の動作 が潜んでいることを以下で示しましょう。 この記事はQ&A形式になっており、それぞれの例題は独立したソースコードとして扱ってください。 1. Q: これは正しいコードでしょうか? (変数の二重定義エラーが発生するでしょうか。上述の通り、これは独立したソースファイルであり、関数体や複合ステートメントの一部ではありません) 解答 A: 正しいコードです。1行目は仮定義であり、2行目でコンパイラが処理した後に “定義” になります。 2. extern void bar(void); void

    私はC言語を知らない | POSTD
  • ドイツの受託開発会社を退職しました - WETな備忘録

    2月末日付けで退職しました。退職エントリ書くつもりは無かったんですが、周囲から「公益性が高そうなので書け」というお言葉をいただいたのと、あと海外在住プログラマのキラキラ記事っておおいに生存バイアスかかってる気がするし、死にゆく者の事例も大事かな、と。 はじめに つらみは有りましたが、うらみは有りません。当初3年ぐらいかなと思ってたけど、この1年間の経験には大変満足しています。また、同僚各位にも深く感謝しております。Vielen Dank. I love you ;) 日に帰る理由も、ドイツがつらいってのはだいたい3割ぐらいで、じつは2年前からゲノム解析のウェブサービス化とか生物学周辺のソフトウェア受託などの個人事業をやってて、そろそろそっちに集中すっかー、というのがマジな理由です。 tl;dr 自分を守るのは会社でも制度でもなく、自分。Noと言えなければ死ぬしかない。 自分に落ち度が無い

    ドイツの受託開発会社を退職しました - WETな備忘録
  • 老いた職業プログラマはその後どうなるのだろう?(ライフプラン的な意味で)

    自分が歳をとった結果、プログラマが老いるとどうなるのか、というのは割と身近にも見かける事や自分の事を考えたりする事で、リアルにイメージする事は出来るようになった。 そこで思うのは、引退生活的な物へのパスはどうなってるのだろうか?という事。 自分はまだ30代だが、そろそろ40歳である。 そして40代の前半が恐らくプログラマというものが普通に働いていける、という事は納得出来ている。 以前は30歳定年説とか35歳定年説とかあったが、今となっては、40の時点ではまだ定年は無かろう。 一方で55くらいからは厳しいかなぁ、という気もする。 その辺のプログラマもちょこちょこ見かけるようになったが、完全に戦力外になっている。 プログラマ上がりがなんだか良く分からないようなレポートみたいなのとかを書く仕事にありついている場合はちょこちょこあるが、どれもあまり需要が大きいようには見えない。我らがそのくらいの年

    老いた職業プログラマはその後どうなるのだろう?(ライフプラン的な意味で)
  • 流行のIT技術を追うのをやめたらプログラマとして成長した話

    私はもともと普通のプログラマとしてキャリアをスタートしましたが、2007年くらいから脱プログラマを目指してソフトウェア起業家として経営に軸足を移してきました。 それから8年くらいが経過して思うのは、経営者として大きな成功をおさめる前に、自分のプログラマとしての実力がめきめきとアップしてしまったということです。 8年前の私は、プログラマとしては基礎力はあるものの全般的には未熟であったように思います。コードも荒削りで、とにかくかろうじて動くものを作ることに四苦八苦していました。が、いまはプログラマとしてずっと良い仕事ができています。 この8年間は、自分でコードも書いていたので、経験が増えたことによって、良いコードを書けるようになったという面も多々あるとは思います。しかし、そのあいだ技術書を読むことはすっかりやめてしまい、流行の技術などは完全無視してきました。 経営層の一員として働くので、プロジ

  • プログラマ能力指標表 | POSTD

    2015年05月27日: 表が見にくいというご意見を頂いたため、原文著者に連絡のうえ体裁を修正しました。 上位のレベルには下位のレベルの知識も蓄積されているということに注意してください。つまり、レベル n であれば n より低いレベルの知識も全てあります。 コンピュータサイエンス データ構造

    プログラマ能力指標表 | POSTD
  • 1時間以内に解けなければプログラマ失格となってしまう5つの問題が話題に | ソフトアンテナ

    プログラマの素養を確認するための簡単な問題として有名な「FizzBuz」問題。ただしこれだけ有名になってしまうと、プログラムの能力を試験するための新たな問題が必要とされているかもしれません。 経験豊富なソフトウェア開発者、Santiago L. Valdarrama氏が、「ソフトウェアエンジニアならば1時間以内に解けなければいけない5つの問題」を出題し、Redditなどで話題となっています。 その5つの問題は以下の通りです。 問題1 forループ、whileループ、および再帰を使用して、リスト内の数字の合計を計算する3つの関数を記述せよ。 問題2 交互に要素を取ることで、2つのリストを結合する関数を記述せよ。例えば [a, b, c]と[1, 2, 3]という2つのリストを与えると、関数は [a, 1, b, 2, c, 3]を返す。 問題3 最初の100個のフィボナッチ数のリストを計算す

    1時間以内に解けなければプログラマ失格となってしまう5つの問題が話題に | ソフトアンテナ
  • CodeIQについてのお知らせ

    2018年4月25日をもちまして、 『CodeIQ』のプログラミング腕試しサービス、年収確約スカウトサービスは、 ITエンジニアのための年収確約スカウトサービス『moffers by CodeIQ』https://moffers.jp/ へ一化いたしました。 これまで多くのITエンジニアの方に『CodeIQ』をご利用いただきまして、 改めて心より深く御礼申し上げます。 また、エンジニアのためのWebマガジン「CodeIQ MAGAZINE」は、 リクナビNEXTジャーナル( https://next.rikunabi.com/journal/ )に一部の記事の移行を予定しております。 今後は『moffers by CodeIQ』にて、 ITエンジニアの皆様のより良い転職をサポートするために、より一層努めてまいりますので、 引き続きご愛顧のほど何卒よろしくお願い申し上げます。 また、Cod

    CodeIQについてのお知らせ
  • Akinator アキネータの仕組み : 研究開発

    総合研究大学院大学 複合科学研究科  情報学専攻 卒 博士(情報学) 自然言語処理や機械学習データ分析に関する研究内容とwebシステムの開発と運用について書いています。 シリコンバレーベンチャーみたいに深い技術の事業化をしたいと思っています。 ご興味ある方はご連絡ください。 あれはどうやってるのでしょうか? [iPhoneアプリ] Akinator(アキネイター)が答えを当てる仕組みを考えてみました プログラマがランプの魔人の中身を分析してみる という感じに考えた人はたくさんいますが.... これでも全然Akinatorの質には迫ってないと思います。 ○たった20〜40問の質問しかしない。 登録されてる質問の総数は、当然もっと多いのですが、そもそもAkinatorは質問を十分に選定してるのです。 この点に触れて考えている人が居ないようなのですが、おそらく、これこそがAkinatorの

    Akinator アキネータの仕組み : 研究開発
  • ゲームクリエイターが知るべき97のこと

    ゲームクリエイターが知るべき97のこと大人気の書籍『ゲームクリエイターが知るべき97のこと』のエッセイを無料で公開中!すべてのゲームクリエイターにおすすめのがウェブで読めるようになりました。 エッセイ一覧「勝手にテコ入れゲーム企画」を考えよう!誰でもできることから始めるプログラマの「ゲーム作り」への情熱ゲームクリエイターは何でもできた方がいい君は反省し続ける事ができるか?お宝と燃料を同時に手に入れよう!私たちは誰のためにゲームを作っているかピグライフをつくるときに考えたことムダなムダを徹底的に切り捨てる面白さには旬がある理論を軽視しないこと限られたリソースの中で~サーバ運用の現場から~神は細部に宿りたまう面白くならなくてもいいから、短時間で作ってみようゲーム創りを楽しむための3つのポイント多様化するアニメーターの役割明日を創るゲームテクノロジーへの挑戦運命のドアチケット駆動開発と自動化テ

    ゲームクリエイターが知るべき97のこと
  • 新卒ソフトウェアエンジニアのための技術書100冊 - クックパッド開発者ブログ

    こんにちは、技術部 高井です。 春といえば、フレッシュマンの季節ですね。このブログを読む方の中には、明日からエンジニアとして新社会人になるという方もいらっしゃるのではないでしょうか。クックパッドでも新しい仲間を迎えるための準備をしていたところで、その準備の一環として「新卒ソフトウェアエンジニアのための技術書100冊」というものを作成しました。 この100冊は、職業ソフトウェアエンジニアとしてキャリアを積むにあたって、読むべき技術書に悩んだら、まずはこのリストから選ぶとよいのではないでしょうかという提案です。 リストに多少の趣味や主張がはいっているのは、まあご愛嬌ということでお許しいただければとおもいますが、職業プログラマとして知っておくべき知識を網羅できるように心がけました。古典と呼ばれる名著についてはできるだけ取りいれ、独習が難しい難解なコンピュータサイエンスの教科書は避けています。これ

    新卒ソフトウェアエンジニアのための技術書100冊 - クックパッド開発者ブログ
  • プログラマは何を勉強するか

    LINE Fukuoka社内勉強会での資料 ※個人の見解で、会社や組織の見解ではありません。Read less

    プログラマは何を勉強するか
  • C言語分かってなかった (I Do Not Know C) - Qiita

    Dmitri Gribenko氏によるBlog記事 "I Do Not Know C" より訳出。原文および訳文のライセンスは CC BY-SA 3.0 に従う。 この記事の目的は、皆に(とくにCプログラマに)「C言語分かってなかった」と言わせることです。 C言語の死角は思っているよりも身近にあり、よくある単純なコードですら 未定義動作(undefined behavior) を含む可能性があると示したいと思います。 記事は質問に対する回答の形をとります。全ての例示コードは別々のファイルに分かれていると考えてください。 (訳注:Qiita/Markdown表現の制約から、読中ネタバレ防止のため文章順序を変更しています。前半には質問のみを、後半には質問と回答の対を訳出しました。) 質問編 1.

    C言語分かってなかった (I Do Not Know C) - Qiita
  • エッセイ一覧 | プログラマが知るべき97のこと

    [出典] プログラマが知るべき97のこと 当サイトはオライリー・ジャパンによる公式なサイトではありません。 個々のエッセイは「CC-by-3.0-US」によってライセンスされています。

    エッセイ一覧 | プログラマが知るべき97のこと
  • 「第1回 プログラマのための数学勉強会」開催しました!(動画&資料つき) - 34歳からの数学博士

    どうも、佐野です。 昨日「第1回 プログラマのための数学勉強会」を開催しました。朝からの大雪にも関わらず多くの方にお集り頂き、濃厚なセッションの数々をお送りすることができて大変嬉しく思っております。 以下、各セッションを動画・資料と共に、簡単に内容のご紹介をさせて頂きます。 1. 「プログラマのための線形代数再入門」 - 佐野岳人 [資料] トップバッターとして発表させて頂きました。線形代数は3Dプログラミングをはじめ、画像処理や機械学習など多くの分野で必要になる数学の分野です。「行列の積はなぜこんな複雑な形をしているのか?」から「行列は線形変換・アフィン変換の定量表現である」という話をしました。 次回は中編として「行列式・逆行列とその実装」、後編で「座標変換と固有値・固有ベクトル」を発表してみたいと思います。 2. 「明日話したくなる「素数」のお話」 - 辻順平 [資料] 日曜数学者 i

    「第1回 プログラマのための数学勉強会」開催しました!(動画&資料つき) - 34歳からの数学博士
  • プログラマのための線形代数再入門

    The document describes various probability distributions that can arise from combining Bernoulli random variables. It shows how a binomial distribution emerges from summing Bernoulli random variables, and how Poisson, normal, chi-squared, exponential, gamma, and inverse gamma distributions can approximate the binomial as the number of Bernoulli trials increases. Code examples in R are provided to

    プログラマのための線形代数再入門
  • プログラマを悩ませること Top 10 | POSTD

    10. 「何か」は分かるが「なぜ」が分からないコメント プログラミング入門コースでは、早い段階かつ頻繁にコメントを記述することを生徒に教えます。プログラムを書き始めた初期段階(ごく単純なコードであっても、時に理解し難いことがあります)では、これは実際に役立つことなのですが、習慣にとらわれてしまうプログラマが多くいます。 上記のコードが何をするのか分かりますか? 私は分かりません。 問題は、多くのコメントがそのコードが 何をする のかを説明していますが、 なぜ そのコードが書かれているかが説明されていません。では、異なるコメントが書かれた同じコードを見てみましょう。 こちらの方が分かりやすいですね。何が起きているのかを完全に理解できるとは言えませんが、最低でもなぜこのコードが必要なのかが文脈から判断することができます。 コメントは、構文を理解してもらうためにではなく、読み手がコードを理解しや

    プログラマを悩ませること Top 10 | POSTD
  • プログラマが知るべき97のこと

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

    プログラマが知るべき97のこと
  • ソフトウェアエンジニアがたどる成長過程と失敗の行きつく先 | POSTD

    これからご紹介する私の試みはなかなか難しい側面があり、物議をかもすかもしれません。また、お見せするのは初めてなので完璧とは言えないかもしれません。私はソフトウェアエンジニアのスキルとその影響力を評価するシステムを開発しようとしています。少なくとも、プログラマが成長していく理想的な成長過程を大まかに描いてみようと思います。評価スコアは0.0から3.0まであり、それぞれの数字は専門能力を開発していく際の出発点を表しています。 このシステムは主にビジネスの観点から見た、ソフトウェア業界が求めるものに基づく 実務的な スケールです。数学的な才能や高速アルゴリズムを書く能力、Linuxカーネルの内部構造に関するプログラマの理解の深さなどを評価するスケールではありません。もちろんこうした能力は重要ですし、通常、エンジニアのスキルとともに伸びていく能力ですが、私のシステムが焦点を当てたいのはそこではあり

    ソフトウェアエンジニアがたどる成長過程と失敗の行きつく先 | POSTD
  • 1