タグ

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

  • Hello, Worldに潜むバグ | スラド IT

    ストーリー by nagazou 2022年03月24日 16時05分 Hello,-World 部門より プログラミングの第一歩としてお馴染みの課題であるHello, Worldであるが、これをANSI-Cに基づいてmainの戻り値をEXIT_SUCCESSマクロで記述し、出力をENOSPCエラーを返す疑似デバイスファイルである/dev/nullへリダイレクトさせるよう実行すると正常終了するというバグがあるようだ。 (https://blog.sunfishcode.online/bugs-in-hello-world/) C言語以外でもJava、Haskell、Node.js、Ruby、およびPython 2では同様の動作であるが、Python 3、Perl、およびBashでは正しくエラーとなるとのことである。 Linuxでは/dev/fullの存在はお馴染みとなっているがBSD系では

  • Bugs in Hello World

    Posted on March 08, 2022 Hello World might be the most frequently written computer program. For decades, it's been the first program many people write, when getting started in a new programming language. Surely, this humble starting-point program should be bug free, right? After all, hello world programs only do one thing. How could there be a bug? Hello world in C There are a lot of different way

  • アプリケーション・エンジニア職位ガイドライン

    2021/9/23プロジェクトリードにおける考察について取り入れた2021/10/11職種の人数が多い、アプリケーションエンジニアを対象として、まずは内容を詳細化してアップデート2021/12/10プロフェッショナルの年収を520~550万を520~570万に変更チーフプロフェッショナルの年収を550~600万を570~620万に変更マルチリードエンジニア、チーフテックリード、リード・アーキテクト、チーフマイスターエンジニア年収上限を950万から1000万に変更アーキテクト、リードアーキテクトの職位ガイドラインの詳細(暫定)を追加2022/4/11リードエンジニア年収レンジを650-700万についてを、650-720万に変更チーフリードエンジニア年収レンジを超える700-800万から、720-800万に変更2023/3/13 プロフェッショナルのチームコラボレーション(主体性)に追加

    アプリケーション・エンジニア職位ガイドライン
  • なぜループカウンタ変数のほとんどに “i”が使用されるのか? - Qiita

    索引であるインデックス(Index)の「i」でしょ?と思った方、それが正解だと思います。 確かに、i, j,など1文字変数をインデックス参照などに使われるループカウンタとして使う慣習は最初の高級言語であるFORTRANに由来します。 当時のFORTRANではデフォルトで変数の型宣言が不要であり、アルファベットI~Nの1文字目の変数名が整数型、それ以外は実数型という言語仕様になっていました。(変数名は6文字までOK) FORTRANはもともと理工系向きの言語として設計されており、数学の式の習慣に則って整数にI,J,Kが採用されていたとしても不思議ではありません。 現に数学の総和(シグマ)はiを添字として使ってますし(最近のΣの公式ではkが採用されてますね、iは虚数[imaginary number]と混同されるからかな)、デカルト座標にはI,J,Kが使われます。 FORTRANの作者であるB

    なぜループカウンタ変数のほとんどに “i”が使用されるのか? - Qiita
  • フロントエンドの慣習のまとめ - Qiita

    1. はじめに フロントエンドを始めたばかりの頃、参考書や参考サイトで当然のように使われているものの、特に說明がないような**「慣習」や「テクニック」**に困惑したり、その理由が気になった経験を思い出したので、その一部を簡単にまとめてみました。 2. HTML 2-1. iタグでアイコン HTML の興味深いテキスト要素 (<i>)は、何らかの理由で他のテキストと区別されるテキストの範囲を表します。例えば、技術用語、外国語のフレーズ、架空の人物の思考などです。英文においてはよく斜体で表示されるものです。 <i>: 興味深いテキスト要素 - HTML: HyperText Markup Language | MDN 仕様上は適切な使用方法ではなさそうですが、「Bootstrap Icons」や「Font Awesome」などでも採用されているように、普及している印象があります。 ちなみにHT

    フロントエンドの慣習のまとめ - Qiita
  • 40代で競プロができるのかという話 - 競プロ始めました-kaede2020-

    0.はじめに 1.簡単な自己紹介 2.年をとるにつれて衰える能力 3.低下した記憶力で競プロに取り組む 4.AtCoderのレベル感 5.競プロ上達への道のり 6.競プロとの向き合い方 7.競プロの依存性 8.競プロのコミュニティ 7.これから 8.終わりに 9.<番外編>もし後悔があるとすれば 0.はじめに こんにちは。競技プログラミング歴一年半のかえでです。 私はAtCoder Problems でLongest Streak にチャレンジしています。Longest Streakは、これまで解いたことのない問題から一日一問以上解いた連続日数を競うものです。今日、この記録が500日に到達しました。私は解説ACもするので、純粋に自分の力で解いた問題ばかりではありません。それでも、こつこつと続けてきた自分を、ほめてもよいのではないかという気持ちになりました。 ここまで長く続けられたのは、At

    40代で競プロができるのかという話 - 競プロ始めました-kaede2020-
  • 大多数のプログラマは…

    IT業界に努めてもうそろそろ二桁年。 そこそこの企業の特にWeb系で渡り歩いた経験から、真実を書こう。 一般的なプログラマと呼ばれる人たちははっきり言う、ほとんどのプログラマと自称する人間の 9 割はコーダーである。 言われたものを作る事はできるが、それ以外何も出来ないと言って過言ではなく、何もしない。 そんな驚きの生体をここに晒していく。 一般的なコーダー(自称プログラマ)は、アプリケーションの基盤が作れない標準化と呼ばれるプロセスで、プログラマが環境の設計、組み合わせ、開発プラットフォームのセットアップ、開発環境の構築手順作成、開発手順の作成、必要な技術の考察を行う。 なぜそうなったのかは知らないが、一般的にそうなっている。 その環境に浸っているせいか、彼らはゼロベースでものを作ることが出来ない。 彼らにできるのは HelloWorld をコマンドプロンプトで表示するプログラム程度の事

    大多数のプログラマは…
  • コードが読めるソフトウェア開発者 - As a Futurist...

    僕はコードを読むのは得意な方だけど、それが過ぎてコードを書かなくてもシニアソフトウェア開発者になってしまった。実はコードをちゃんと読めるソフトウェア開発者って希少価値が高いのではないか、と思ったので自分がどんな感じでシニアになったのかをまとめてみた。似た様な人の参考になれば幸いだ。 同意。僕は未だ書く方はほとんど機会なく成果もないけど、コードを読み尽くして、負荷試験や番で挙動を把握し続け、メトリクスでとことん確かめていった結果、Sr. Engineer になれた。 https://t.co/KXtMdEaRr8 — Ryosuke Iwanaga (@riywo) April 16, 2021 コードを書かなくてもシニアソフトウェア開発者になれた 僕は今 Amazon の Sr. Systems Development Engineer という職種で働いている。いわゆるソフトウェア開発職

    コードが読めるソフトウェア開発者 - As a Futurist...
  • ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習

    最近、あまりプログラミングが得意でない人のサポートをする形で、長い時間にわたってペアプログラミングを行っている。そのなかで、気がついた悪い習慣と成長するための良い習慣というものをまとめてみる。 この記事のバックグラウンドとなる体系的知識がになりました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング あわせて読みたい 経営者マインドが足りない!vs. 現場に任せてくれない!の対立をなくすカードゲームをつくった話 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 心理的安全性ガイドライン(あるいは権威勾配に関する一

    ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習
  • 「将棋プログラムをどう作ればいいですか?」という質問への返答|山本一成🚗TURING

    Twitterのダイレクトメッセージで「将棋プログラムをどう作ればいいですか?」という質問をいただいた。色々考えさせられる質問だったのでnoteにも共有してみたいと思う。 Alpha Zeroのお話はこちらから読めます。私個人の予想としてはDeep Learningを駆使したプログラムが今後どんどん強くなると思っています。 職業柄、若い人達にしばしば、どうやって将棋プログラムを勉強すればいいですかと聞かれます。私の20代はすべて将棋プログラムに費やしてきたし、その過程はとてつもなく知的好奇心に満ちた素晴らしい旅路でした。ただ、すでに将棋プログラムは十分成熟した段階を迎えています。 時代の変化は確実にあります。以前、熱かった分野が今後も熱い分野になるとは限りません。将棋プログラミングも題材としては相変わらずとても面白いものですが、2018年現在では、多くの人にお勧めできる研究テーマとはなりに

    「将棋プログラムをどう作ればいいですか?」という質問への返答|山本一成🚗TURING
    tzccinct
    tzccinct 2018/03/07
    「確かにレッドオーシャンだからね」という感想をいくつか見たけど、…。若い人に考えて欲しいのは海の色じゃなくて、未来でのテーマの価値そのものです。
  • オーバーシー・パブリッシング - GNU開発ツール

    GNU Development Tools 著者:西田 亙 ※PDFでのダウンロード販売は終了しました。 C言語の入門書でお馴染みのhello.cは、gcc hello.c という簡単なコマンドで実行可能ファイル a.out に生まれ変わります。多くの教科書はここで立ち止まることなく、次のページへと進んでしまうのですが、皆さんは「a.outはどこからやってきたのか」、「#include にはどういう意味が隠されているのか」、疑問に思われたことはないでしょうか。書は、これらの疑問に真正面から取り組み、自らの力で答えを見つけ出そうとする方々のための指南役として誕生しました。 プログラムが誕生するまでには、4つのビルド工程が必要ですが、普段はgccコマンドが裏方でこっそりと処理しているため、私達の目に触れることはありません。その挙動は、-vオプションを与えることで明らかになります。 gcc -

  • 日本の競技プログラミングを世界水準に引き上げる レッドコーダー 秋葉拓哉 | 三年予測 | dodaエンジニア IT

    レッドコーダー 秋葉拓哉 1988年生まれ。25歳。高校2年生のときにプログラミングコンテスト「SuperCon」で準優勝、 「日情報オリンピック」にて優勝を達成。それ以降プログラミングコンテストに精力的に参加し、 2012年に「ACM-ICPC」世界大会にて銅メダルを獲得。 プログラミングコンテスト向けアルゴリズム書『プログラミングコンテストチャレンジブック(第二版)』(マイナビ)が発売中。 秋葉拓哉は、最初は自分がレッドコーダーになれるとは思っていなかったそうだ。 レッドコーダーとは、約60万人がオンラインで参加するプログラミングコンテスト「TopCoder」での成績を示す数字「レーティング」が2200以上の挑戦者のことだ。プログラマの中でも一目置かれる存在である。 2007年に秋葉が大学に入りTopCoderの存在を知った頃、レッドコーダーは日で4人しかいなかった。レッドコーダー

    日本の競技プログラミングを世界水準に引き上げる レッドコーダー 秋葉拓哉 | 三年予測 | dodaエンジニア IT
  • SIerの下請け開発者ってレベル低すぎない? - UXエンジニアになりたい人のブログ

    ネット上ではSIer批判=技術のことをわかっておらずプログラムも書けずPMも出来ない非効率でダメダメな上流工程と、 人月単位での労働力提供という業界の慣習に縛られ、持ち前の優秀な技術力・知識を生かせず非効率な作業を強いられているかわいそうな下請け開発者、という構図が確立されているように思います。 自分が関わるまでは、まあそうなんだろうなと思っていましたが、しかし実際にそういう立場のひとと関わりをもつにつれて、どうもそうではないのではないかと思うようになりました。このあたりの実情を書いていこうと思います。 なお、先に言っておきますが記事で書くことは、上流工程がどうのとか、業界の多重請け負い構造がどうのとか、給料が安くてとか労働条件が過酷でとか、そういう話とは全く関係がなく、純粋にプログラミングのスキルの話だけです。 対象はおもに詳細設計、実装UTだと思ってもらえれば。外部仕様が決まった状態

    SIerの下請け開発者ってレベル低すぎない? - UXエンジニアになりたい人のブログ
  • Reactive Programmingの波がPerlにもやってきた? – Wyton

    どーも、わいとんです。 遅まきながら、新年おめでとうございます。 さて。近頃、個人的に気になっているCPANモジュールの一つにMoobXというものがあります。 今回は実際にMoobXを使って、PerlでのReactive Programmingを試してみましたので、ご紹介したいと思います。 MoobXについて MoobXはReactive programming frameworkを標榜しており、JavascriptのMobXにインスパイアされたものであるようです。 エントリ執筆時点での最新バージョンは0.1.0ですが、作者のYanick Champoux氏によって精力的に開発が継続されており、現在も3つのissueがopenとなっています。 なお、最初のリリースである0.0.1が今年の1/13にリリースされたばかりであり、0.1.0のリリース日も1/14であることから、今後まだまだ仕様

  • DateTime.pmにうるう秒の修正が入った話

    こんにちは、DateTime.pm Watcherのいっちーです。 日面白いパッチがDateTime.pmに取り込まれたので、ご紹介したいと思います。 そのpullreqがこちらです。Closedになっていますが、該当コミットはmasterに取り込まれています。 The leap second in 2012 was on 2012-07-01 not 2012-06-01. #48 per https://confluence.qps.nl/display/KBE/UTC+to+GPS+Time+Correction the leap second in 2012 was on 2012-07-01 not 2012-06-01. It’s is well known that leap seconds only occur directly before Jan 1st or Jul

  • "プロのプログラマ"を目指す初心者が最初に読むべきたった一冊の本

    WPD-Week 2016で発表したスライドです。HTML+JS+CSSが多少書けるなら、次にNodeJS覚えると捗るぞという内容です。 基デモばっかなので、スライドはあんまり参考にならないかもしれません。

    "プロのプログラマ"を目指す初心者が最初に読むべきたった一冊の本
    tzccinct
    tzccinct 2016/03/17
    「文法より先にプログラミングの思考法を覚えよう」
  • 【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方

    SQLインジェクションを・・・駆逐してやる!! この世から・・・一匹残らず!! (PHPカンファレンス2015) Read less

    【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
  • 使用OSからエディタ、収入まで--開発者動向をStack Overflowが調査

    開発者向けのQ&Aウェブサイト「Stack Overflow」は年次調査「Developer Survey」を実施し、157カ国にまたがる2万6086人の開発者から回答を得た。今回その結果が公表され、開発者がどのような人々なのかや、どういったものを好んでいるのかが明らかになった。「『Vim』か『Emacs』か」、また「タブかスペースか」など、議論の的となる問いについても答えを導き出している。統計学的に見た場合、標には明らかな偏りがあり、これら回答者がどの程度正確に業界の全体像を表現できているのかは知りようもない。しかし、「かつてないほど広範囲の開発者を対象とした調査」として、結果は興味深いものがある。 まず、開発者の平均年齢は28.9歳であり、20歳台の開発者が全体の53%を占めている。40歳以上は10%にすぎない。しかし、米国の開発者の平均年齢は31.6歳であり、これはロシア(26.6

    使用OSからエディタ、収入まで--開発者動向をStack Overflowが調査
  • 日付フォーマット yyyy と YYYY の違い - 強火で進め

    結論 まず最初に急いでる人向けに結論を先に書いておきます。2つの違いは以下の様に成っています。 yyyy 年(西暦)を出力 YYYY ある年における「最初の木曜日を含む週が、その年の第1週である」というルールで年(西暦)を出力。 例えば 2015/1/1 は木曜日なのでその週の日は日曜日〜土曜日まで全て2015年の第1週という解釈になります。この場合には2014年で有る、 2014/12/28(日曜)〜2014/12/31(水曜) の時でも YYYY では 2015 を返します。 きっかけ Podcast で Rebuild の第73回を聴いていたら日付フォーマットで yyyy ではなく、YYYY を使った為に TwitterAndroid クライアントで不具合が出たという話が出てきました。 ※根的な原因はこのルールでサーバ側が実装されていた為、 Android クライアントで正し

    日付フォーマット yyyy と YYYY の違い - 強火で進め
  • 第3回 宮川達彦―最先端のWebエンジニアのキャリア | gihyo.jp

    先を歩むエンジニアへのインタビューを通してエンジニアのキャリアについて考える連載、今回は古くからPerlコミュニティで活躍し、最近ではWebテクノロジ情報発信のポッドキャスト「Rebuild」が話題の宮川達彦さんにお話を伺いました。宮川さんは、筆者のクックパッドの同僚でもあります。 [撮影:平野正樹] プログラミングに興味を持ったきっかけ ─⁠─最初にプログラミングやエンジニアリングに興味を持ったのはいつでしょうか? 宮川:父親がプログラマだったので、コンピュータは小さいころから家にあったんですけど、プログラミングはしておらず、純粋にPCユーザとしてゲームとかで遊んでいました。プログラミングのきっかけは、東京大学に通い始めて、趣味でホームページや掲示板を作っておもしろいと思ったことですね。そのあと3年次に、理学部情報科学科を選択し学びました。それと前後して、大学の友達から「オライリー・ジ

    第3回 宮川達彦―最先端のWebエンジニアのキャリア | gihyo.jp