タグ

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

  • 高専プロコンの問題がクソすぎるのでプログラミングを放り出して人力に走るのは最適解であり協賛企業はプログラミングを軽視する企業として唾棄されるべき

    高専プロコンの問題がクソすぎるのでプログラミングを放り出して人力に走るのは最適解であり協賛企業はプログラミングを軽視する企業として唾棄されるべき 第27回高等専門学校プログラミングコンテストが不評を買っている。プログラミングコンテストと名前が付いているのにもかかわらず、選の上位入賞者は、人力で問題を説いたという。特にコンピューターを持ち込んですらいないチームまでいたという噂まで流れている始末。 なぜそんな残念な結果になるのか、高専生のアルゴリズム力が低いからこうなったのだろうか。この謎を改名すべく、筆者は課題を確認した。 http://www.procon.gr.jp/uploads/procon27/1_Apply27.pdf 課題を要約すると、以下の通りだ。 問題 「一枚の木の板(中密度繊維板)を切り出して、50個以下のピース(凹多面体を含む多角形)に分割する。このピースを枠内で組み

  • "Write Code Every Day" 1年 - すぎゃーんメモ

    1年前のjava-ja.OSSで @t_wada さんの話を聴いた翌日から実践し始めた"Write Code Every Day"、どうにか1年間つづけることが出来た pic.twitter.com/scVbkZFZI9— すぎゃーん💯 (@sugyan) October 6, 2016 元記事 John Resig - Write Code Every Day 日語訳 毎日コードを書くこと - snowlongの日記 この記事を読んだときは「へー」くらいにしか感じていなかったのだけど、 1年前の10月5日のjava-ja.OSSでのid:t-wadaさんの発表を聴いて、実際に身近な知っている人たちが実践しているのを知って、「よし自分もやってみよう」と始めたのがきっかけ。 OSS についてあれこれ from Takuto Wada www.slideshare.net 元記事で ブログ

    "Write Code Every Day" 1年 - すぎゃーんメモ
  • Webプログラマと数学の接点、その入り口

    フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発

    Webプログラマと数学の接点、その入り口
  • 技術面接で出された問題 - ESM アジャイル事業部 開発者ブログ

    9月に中途で入社した@wat-aroです. 前職はプログミングと全く関係のない仕事でしたが,プログラムを書く仕事がしたくて退職しました. 退職してからはまず基礎を身につけようとSICPを読み,ほとんどの問題を解き終わったのでFjrodのリモートインターンに参加して勉強していました. 今日は永和システムマネジメントの技術面接で出されたアルゴリズムの問題を紹介しようと思います. 出された問題はアナグラムの判定です. アナグラムとは文字列の順番を入れかえて,別の文字列になっているものです. erosrose は文字の順番を入れ替えているだけなのでアナグラムです. eros と lose は文字を入れ替えただけでは一致しないのでアナグラムではありません. これを判定するコードを書きます. 面接ではRubyで書くのが難しければ疑似コードでもいいし,口頭でアルゴリズムを説明するだけでもいいと言わ

    技術面接で出された問題 - ESM アジャイル事業部 開発者ブログ
  • 一から自分でコードをバリバリ書くという幻想 #21

    友人からこんなコメントをもらった。「最近 bk ノートが、何か困ると同僚に聞きに行くキャラになりつつありますよ。もっと上から目線で書かないと。するとカコイイ! とか言ってくれる人が出てきますよ」 そんなことを言われても、困ったら助けてもらうというのは事実なんだからしょうがない。そもそも、自分の弱さを認めるが強さの始まりというものだ、うんぬん。こんなことを書けば上から目線っぽい?。。が、やっぱりやめておこう。 話を変える。既存のコードをちまちまリファクタリングして、少しだけ新しいコードを追加して、デバッグして、なんてことを年がら年中やっていると、一から自分でコードをバリバリ書けたらどんなに楽しいだろう、なんてことを考えることがある。大きなプロジェクトの中で何かをやっていると、そういう機会は滅多にない。ぶつぶつ言いながら既存のコードをいじくりまわしていることの方が多いのだ。 が、あるとき、ひと

  • プログラミングする時にイケてない関数・変数名をつけないために覚えておきたいネーミングルールの良記事+ツール8選|TechClips[テッククリップス]

    プログラミングをしていて関数や変数名をつけるときに、毎度のことのように考えるのが手間、とはいえ、適当なネーミングでも違和感あるし……。なにより他のエンジニアが見たときに「なんだこりゃ、分かりにくい。」というのは避けたいところ。 そういったプログラミングにおけるネーミング問題を解消できるツールや情報をまとめてみたので、是非、参考にしてみてください! 1. codic codic ネーミングと言えば、一度は使ってほしいド定番の「codic」。簡単に言うとネーミング辞典サービスで、日語の動詞で終わるように文章を入力するとプログラミングでよく使われるようなネーミングを提案してくれます。さらに単語のニュアンスも表示してくれるので、和英辞書のような使い勝手というのが分かりやすいでしょう。さらに、ユーザー登録をすれば、辞書として単語を追加していくといった活用も可能。考えずとも最適なネーミングが生成でき

    プログラミングする時にイケてない関数・変数名をつけないために覚えておきたいネーミングルールの良記事+ツール8選|TechClips[テッククリップス]
  • Bash Infinity Framework - シェルスクリプトの概念をはるかに超えるモダンなフレームワーク | ソフトアンテナ

    UNIXやMacを使用しているユーザーならば誰でも一度はシェルスクリプトを作成した経験があると思います。どんな環境でも使い回せるポータビリティの高さが魅力ですが、プログラミング言語としてみると独特な部分が多く、なんとなく苦手意識を持っている方も多いかもしれません。 日紹介する「Bash Infinity Framework」はそんなシェルスクリプトの概念を完全に変えてしまうBash用のフレームワークです。 モジュラーかつ軽量で、C#やJavaJavaScriptといった他の言語のコンセプトを取り入れ、プラグ&プレイで必要な機能だけを追加していける特徴を持っています。 主な特徴は以下の通りです: 自動エラーハンドリング 名前付きパラメータ($1、$2ではなくて) 配列とマップをパラメータとして引き渡せる try-catchの実装 独自例外のthrow キーワードのインポート 出力を改善す

    Bash Infinity Framework - シェルスクリプトの概念をはるかに超えるモダンなフレームワーク | ソフトアンテナ
  • 「有害なgoto」「時期尚早な最適化」、そしてプログラミングにまつわる神話は諸悪の根源である | POSTD

    以下のプレゼンテーションは、私がPapers We Love Madridの初会議で発表したものです。講演のテーマは、Donald Knuthの論文「Structured Programming with Go To Statements」(goto文を用いた構造化プログラミング)でした。 我々が人間として抱える最大の問題は、信念と現実を混同することである。 – Alan Kay それ(goto)を禁止するか、それとも使わない方向へ教育するかが問題だ。 – Donald Knuth この記事では、神話についてお話ししたいと思います。Googleで 神話(myth) の定義を検索してみると「広く信じられているが誤った信念や観念」とあり、dictionary.comを見ると「立証されていないか誤った共通的信念であり、社会制度を正当化するために用いられる」と説明されています。ここで問いたいのは、

    「有害なgoto」「時期尚早な最適化」、そしてプログラミングにまつわる神話は諸悪の根源である | POSTD
  • ひどいコードをメンテしてきたからこそ実感する、良いコードや良い設計の大切さ - give IT a try

    はじめに 先日、社内で「良いコードの書き方やお作法、プログラミングの原則って、どうやったら身に付くんだろうねえ?」という話になりました。 もちろん、「を読んで勉強する」っていのも勉強法のひとつなんですが、そもそも、もっと強烈なモチベーションがないと、必死になって良いコードの書き方やプログラミングの原則って勉強できないのでは?なんて思ったりします。 強烈なモチベーションというのは、たとえば、 いったい何なん!?このスパゲティコードは!!! なんでこんなコードを俺がメンテしなきゃあかんの!!?? あ~、もう最悪や!!俺はこんなコード、絶対に書かへんぞ!!!! っていうぐらいのモチベーションです。 というか、これは単純に僕のケースですね、はい。 幸い、ソニックガーデンに入ってからは、周りのプログラマがみんなちゃんとしているので、そんな思いをすることはほぼなくなりましたが、前職、前々職ではそんな

    ひどいコードをメンテしてきたからこそ実感する、良いコードや良い設計の大切さ - give IT a try
  • HTTPパーサにおけるSSE4.2最適化の威力と注意点 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、サイボウズ・ラボの光成です。 PicoHTTPParserは@kazuhoさんたちが開発している高速なHTTPパーサです。 同じ作者によるHTTPサーバH2Oにも使われています。 11月4日の開発ブログによると、その時点でNode.jsなどに使われているhttp-parserの10倍程度の速度を誇るそうです(現在はhttp-parserも速度向上しその差は縮まりました。それでも4倍以上の差があるようです)。 該当ブログにはその高速化のためのノウハウが書かれていて大変興味深いです。ただIntel系CPUに搭載されているSIMD命令は用いられていませんでした。今回、@kazuhoさんと一緒に文字列処理専用のSSE4.2を用いることで1.7~1.9倍の高速化を達成しました(Improving Parser Performance using SSE Instructions (in

    HTTPパーサにおけるSSE4.2最適化の威力と注意点 - Cybozu Inside Out | サイボウズエンジニアのブログ
  • いつ突然会社をやめても問題ないという基準でコードやドキュメントを書く - $shibayu36->blog;

    先に前提を話しておくと、会社は全く辞めるつもりはないし、むしろどんどん会社を良くしていこうと思っている。今回はそういう基準で自分がコードやドキュメントを書いていますよという話。 コードやドキュメントを書く時に、どのくらいきれいにしておくかとか、どのくらいわかりやすくしておくかとかを考えることがある。こんなとき僕は、いつ突然自分が会社をやめて連絡がつかなくなったとしても他の人がある程度理解できるか、を基準にしている。そのためにはあまりいい方法が思いつかなくて仕方なく書いている部分にはちゃんと経緯のコメントを書く。他にも例えば作ったサービスであるイベントを開催する方法のドキュメントを書くなら、全く何もやったことがない人がそのドキュメントを読んだらとりあえず開催できるよう、ドキュメントを書く。当然コードもかっこよさよりも、説明しなくても分かりやすくなるようなシンプルさを追求する。 また、このよう

    いつ突然会社をやめても問題ないという基準でコードやドキュメントを書く - $shibayu36->blog;
  • 【月額980円で読み放題】KindleUnlimitedで読みたい技術書まとめ - ニートの言葉

    980円で読み放題 月額980円でが読み放題になるサービス「Kindle Unlimited」が始まりましたね。 ラインナップを見たところ、意外なことに技術書も豊富でしたので早速契約してしまいました。 しかし、amazonではコンピューター/ITとざっくりしたカテゴライズでしたので、なかなか全てのを見るのは大変です。 そこで、今回はジャンル別に良さそうなをまとめました。 の選定の基準 まとめた基準としては ・評価が良い ・新しい ・値段が高い このいずれかの条件を満たすものをまとめました。 注意 「読んだ」ではなく、「良さそう・読みたい」ですので、それぞれのの良し悪しはわかりません。 8/3時点の情報です。kindle Unlimitedの対象ではなくなる可能性もありますのでご了承ください。 980円で読み放題 の選定の基準 注意 プログラミング全般 Web開発 Web制作

    【月額980円で読み放題】KindleUnlimitedで読みたい技術書まとめ - ニートの言葉
  • 「ポッキー」や「ビスコ」使ってプログラミング学べる「GLICODE」 グリコが公開

    江崎グリコは8月4日、ポッキーやビスコなどのお菓子を使ってプログラミングの考え方を学べる子供向けスマートフォンアプリ「GLICODE」のAndroid版を公開した。iOSにも対応する予定だ。 ポッキーを縦に置くと「上に動く」、ビスコを縦に置くと「のぼる」など、お菓子にプログラミングコードを持たせた。ルールに従ってお菓子を並べ、アプリのカメラで撮影すると、お菓子で“プログラミング”した通りにキャラクターが動く。シークエンスやループなど、プログラミングの基礎的なロジックが学べるという。 同アプリは、総務省が推進する「若年層に対するプログラミング教育の普及推進」事業の実証事業に選ばれた。今後は小学校教育への導入なども視野に入れながら、アプリの体験イベントなども展開していく予定だ。 関連記事 ゲーム感覚でプログラミングを学べるWebサービス「MOZER」 「進撃の巨人」とコラボも ゲーム開発でプロ

    「ポッキー」や「ビスコ」使ってプログラミング学べる「GLICODE」 グリコが公開
  • 自分でプログラム言語を書いてみたい人は「Create Your Own Programming Language」がおすすめ - おんがえしの blog

    読み終わった。たった100Pにプログラム言語を作るための基礎(字句解析、構文解析、ランタイム、インタプリタ、仮想マシン、ネイティブコンパイルまで!)が一通り学べ、さらに書で作った実際に動くプログラミング言語がついてくる。 $39.99 とちょっと高いがプログラム言語を作る勉強代だと考えれば最も安くそして早く(ドラゴンブックは1090P)学べるのではないだろうか。洋書なのが難点だが半分くらいはソースコードなので苦労しながらなんとかなりました。(日語訳出てほしいなぁ) 書籍内で作る言語は2種類で Awesome Rubyの構文にPythonのインデントブロックを混ぜ合わせたようなオブジェクト型 Mio Ioを参考にしたメッセージ型 言語自体はどちらもRubyで書かれているが紹介される概念は特に言語の制約を受けないものが多い。 よかったところ yaccやbison, JVM系の構文解析ツール

    自分でプログラム言語を書いてみたい人は「Create Your Own Programming Language」がおすすめ - おんがえしの blog
  • コードレビューの高まった言葉 - 職質アンチパターン

    ブログ間違った,普段こういう事はこっちに書いてます. http://moznion.hatenadiary.com 最近自分がコードレビューで使いがち,あるいは表立って使ってないんだけど内心評す時に使う言葉が色々とあり,まとめてみることとした.参考にしない方が良いと思う. 左は言葉,右は説明. 屈強 - コードが力強い時に使う.例えば長い一枚スクリプトとか,コメントが一切ないバッチ処理とか.やや批判的な意味合いで使うことが多い. マッチョ - 屈強と同じ文脈で使いがち 屈強だけどしなやか - 屈強だけどしなやかな時に使う.好意的な屈強さと言える. モノリス - 長大なトランザクションスクリプト見た時とかに使う.やや批判的. 言い訳ないですか - 後で直していくぞ! というメンタルの時に書かれたコードのコメントが案外少ない時に使う言葉.言い訳は無いよりあった方が良い.実際には「もうちょっと言

    コードレビューの高まった言葉 - 職質アンチパターン
  • クソコードにならない為に、これだけは守って欲しい7つのこと - Qiita

    まえがき 今回書く内容は、ある程度経験あるエンジニアでも、陥りがちなものに絞って書いてみたつもりですので、[重複コードは書かない]などの超あたりまえの事は書いていません。 2017/03/16 最近よく見られてそうなので1つ追記[そもそも継承するな!!!] そもそも継承するな!!! 継承するのは、どうしようもない場合のみにしてください。 その前に、strategyパターンや、compositeパターンなどの他のやり方を考慮してもなお、継承するのが妥当である場合のみにしてください。 基的に継承しないほうが、スケーラブルだし、テストコードも容易にかけます。 継承はis-a関係 「あー、継承ね。はいはい」で飛ばしてんじゃねーよ。 いやマジで!!! ほぼ全てのエンジニアは[is-a]が何か知っています。 というのも全てのオブジェクト思考の書籍には出てくる概念だからです。 しかし、私の経験上この概

    クソコードにならない為に、これだけは守って欲しい7つのこと - Qiita
  • エラーメッセージは 2W1H がいいんじゃないか

    良くあるダメなエラーメッセージ エラーが起きたときは、以下のようにエラーメッセージをどこかしらに出力すると思います。 $c->log->error('something wrong!'); ただ、このエラーメッセージって、実際に発生したときには意味がわからないことが多いのです。 $c->log->error('error!'); 気でこういう「error!」とだけ吐くメッセージだと、エラーが起きたことしか伝わってきません。程度の差はあれ意味のわからないエラーメッセージはこの世にあふれているかと思います。 機械的なエラー情報 そういうわけで、たいていは Exception クラスや Logger クラスで多くの補助が受けられるようになっていると思います。 発生時刻 発生場所 stack trace 変数の状態 ただ、このような機械的な情報だけだと、結局、運用上は対応が難しい場面ってのが多か

    エラーメッセージは 2W1H がいいんじゃないか
  • ソースコードって実際のところどういうふうに書いていますか?|Rui Ueyama

    私はプログラミングは結構自信があるんですが、他の人の作業をつぶさに観察したことがあるわけでもないので、自分で当たり前だと思っているコーディングの方法が他の人にとってはそうではないこともあると思ってます。上手い人がどういうふうにしてプログラムを書いているのか知りたいんですよね。 逆に私はどういうふうに書いているかちょっとまとめてみました。自分はこうしている、というのがあったらぜひ教えてください。 まず私の場合、ゼロからコードを書くよりも現在のプロジェクトのためのコードを書くことのほうが多いので、コードを書くというのは既存のコードに変更を加えることがほとんどです。既存のコードに手を加えるときは、新機能追加か、リファクタリング(動作は変えずにコードをきれいにすること)のどちらかになるわけですが、まず前者をどうしているかどうかをできるだけ説明してみます。 まず必要なのは考えることです。よく知ってい

    ソースコードって実際のところどういうふうに書いていますか?|Rui Ueyama
    Watson
    Watson 2016/07/15
    わかる。私も同じだな
  • Linus Torvaldsが許せないコメントスタイルとは? | スラド デベロッパー

    Linus Torvalds氏がLinuxカーネルのネットワークスタックで使われているコメントスタイルについて、「脳が損傷したバカみたいなコメントスタイルだ」として修正を求めている(メーリングリストでのコメント、Register)。 Torvalds氏はバランスのとれた対称的なコメントスタイルに統一すべきだと考えているようで、以下の(a)~(c)をよいコメントスタイルだとしている。また、Linuxカーネルのスタイルではないとしつつ、許容可能なコメントスタイルとして(d)を挙げている。

    Watson
    Watson 2016/07/13
    分かる( ˘ω˘)
  • アジャイルはなぜアジアで普及しないか

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    アジャイルはなぜアジアで普及しないか