タグ

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

  • JSFuck - Write any JavaScript with 6 Characters: []()!+

    ()+ []! JSFuck is an esoteric and educational programming style based on the atomic parts of JavaScript. It uses only six different characters to write and execute code. It does not depend on a browser, so you can even run it on Node.js. Use the form below to convert your own script. Uncheck "eval source" to get back a plain string. Encode Links Share on Twitter View source on GitHub Follow @aemke

    JSFuck - Write any JavaScript with 6 Characters: []()!+
  • ニコニコ動画(く)リリース失敗に寄せて

    そういうわけなので今日は公開資料を中心にリリース失敗の技術的な要因を分析してみたいと思います。 Scalaにおける最適なDependency Injectionの方法を考察する 〜なぜドワンゴアカウントシステムの生産性は高いのか〜 - QiitaドワンゴアカウントシステムはScalaのコードだけで22万行を越え、ドワンゴ社内で最大のScalaリポジトリとして知られています。 ドワンゴのユーザーアカウント基盤は明らかに破綻しています。 10 年以上にわたり、ガラケー時代から今に至るまで多くの業務をコードに落としていくことは極めて難しい作業であったと思います。そうはいってもやってるうちに一回なんとか出来なかったのかとは思うわけです。やっている当人たちがテンションを上げているほどには開発効率が出ていない、むしろ足を引っ張っているという可能性はかなり高いと思います。 ニコニコ生放送におけるdock

    ニコニコ動画(く)リリース失敗に寄せて
  • 技術本を読む時にリポジトリを作る - 圧倒亭グランパのブログ

    @t_wadaさん翻訳の「新訳版 テスト駆動開発」の第Ⅰ部を終えました。 テスト駆動開発posted with ヨメレバKent Beck オーム社 2017-10-14 AmazonKindle このを読むにあたってgitリポジトリを作って読み進めたので、その方法を記しておきます。 読んで終わりにしたくない 読む前に、注意点として「読んで終わりにしないこと」「エンジニアリングに活かせるようにすること」を掲げました。以前、ピアソンから出版されている旧訳版を読んだのですが、今の自分に残っているのは「テストから書き始めること」くらいでした。あまりにも身についていないことに気付き、読み方を変えてみようと思いました。以前は「スキマ時間にさらっと読む」というスタイルだったので、それが原因かもしれません。 まずはリポジトリを作る そのため、今回はリポジトリを作って「開発」を行うようにしました。以下が

    技術本を読む時にリポジトリを作る - 圧倒亭グランパのブログ
  • お払い箱に、なりました。 | LAC WATCH

    システムアセスメント部の山崎です。 長い間お世話になりました。 今までありがとうございました。m(_ _)m ・・・といっても、私人が居なくなる話ではなく、私が作ったツールの1つがとうとうお払い箱になった!という話です。誰がこんな話を読んで喜ぶのかとも思いますが、書き始めてしまったので続けます。 この話のキッカケは、2ヶ月前、突然おそってきました。 後輩社員からの無慈悲なる一撃「お前はもう不要だ!」 後輩社員からの、山崎のツール「バナー取り君」は不安定なのでもう使いたくない!という告発です。動かないことがあったなら、その時に呼んでくれれば直せただろうに。私にとっては寝耳に水。コミュニケーション取れてない感がスゴい。そもそも壊れたらすぐ捨てるというあたり、最近の若いものは・・ぶつぶつ・・(←老害。だから言ってくれなくなるのだ) (注)Banapippi.pyは、ラックの独自診断ツールから「

    お払い箱に、なりました。 | LAC WATCH
  • IT関連技術を効率的に検索する - Qiita

    プログラミングやIT関連技術に関する情報を、以下のようなものを組み合わせて効率よく検索する検索方法を紹介します。 Stack Overflow Slideshare 画像検索 Githubのawesomeレポジトリ Github 背景 近年のOSSを積極的に活用した開発では、常に新しい技術や概念が登場します。全てを取り入れることはありませんが、顧客や社内の色々な事情により、こういった技術を調査して必要に応じて取り込んでいくことが以前よりも多くなっていると思います。このため開発者は以下のような状況に置かれることが多くなりました。 同じプログラミング言語、ライブラリを使い続けることができない 分かりやすい書籍、研修が存在しない 取り組むべき技術について詳しい人が回りにいない しかしこのような状況に陥ったとしても、新しく取り組む技術について素早く把握する必要がありますし、開発においても慣れいない

    IT関連技術を効率的に検索する - Qiita
  • 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
  • Go言語のメモリ管理

    ソフトウェアにとってメモリは不可欠です。 実行する命令も、メモリにロードしなければ実行できません。 ソースコードに書かれた定数値も、いったんメモリにロードしないと使えません。 関数を呼び出すにも、スタックと呼ばれるメモリ領域が必要です。 スタック以外に、ヒープと呼ばれるメモリ領域が必要なこともあります。 今回は、Go言語のプログラマーが作成するプログラムの下で、どのようにメモリが管理され利用されるかを探ります。 Go言語のメモリ管理というとガベージコレクターの話を思い起こすかもしれませんが、ガベージコレクターについては連載では取り上げません。 メモリ確保の旅 コンピューターに接続されている物理的なメモリチップが、どのような過程を経てプログラムで使われるのか、順番に見ていきましょう。 (1): カーネル 最近のオペレーティングシステムでは複数のプロセスを同時に実行できます。 それらのプロセ

    Go言語のメモリ管理
  • エンジニアとしてこの先生きのこるために

    2019年度リクルート新人ブートキャンプ エンジニアコースの講義資料です

    エンジニアとしてこの先生きのこるために
  • iPhone「82歳日本人開発者」は何がスゴイのか

    基調講演を翌日に控えた6月4日、サンノゼ市内ではスカラシップ(奨学金)によってWWDCに招待された開発者向けのオリエンテーションが開かれ、スカラシップを獲得した開発者のアプリを紹介するイベントが開かれた。 アップルは開発者の裾野を広げるため、1500ドルの参加費を免除するスカラシッププログラムを用意し、毎年100人以上の開発者を、WWDCに招いてきた。その多くは学生であり、今年は10歳のオーストラリアの開発者が最年少。日の高校生もアプリ開発の祭典の切符を手にした。 その中で世界中の注目を集めたのが、82歳の日人女性だった。 若宮正子氏は、2017年に入ってから、アップルのアプリ開発向け言語Swiftを学びはじめ、「hinadan」というパズルゲームを開発した。そして6月、WWDCのスカラシップとして、サンノゼにやってきた。 ”若者に勝てる”ゲームを開発しようと思った 「現在のゲームは、

    iPhone「82歳日本人開発者」は何がスゴイのか
  • プログラマが知るべき97のこと

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

    プログラマが知るべき97のこと
  • ソフトウェアアーキテクトが知るべき97のこと

    ソフトウェアアーキテクトが知るべき97のこと大人気の書籍『ソフトウェアアーキテクトが知るべき97のこと』のエッセイを無料で公開中!すべてのソフトウェアアーキテクトにおすすめのがウェブで読めるようになりました。 エッセイ一覧システムの要件よりも履歴書の見栄えを優先させてはならない質的な複雑さは単純に、 付随的な複雑さは取り除け最大の問題は、たぶん技術的なことではないまずコミュニケーション、そのための明快さとリーダーシップパフォーマンスの決め手はアーキテクチャー要求仕様の当の意味を探れ立ち上がろう!すべてのものは、かならずエラーを起こすそれは交渉だということに気付け定量化を求めよ500行の仕様書より1行のコードフリーサイズのソリューションを求めるなパフォーマンスの検討に早過ぎるということはないアーキテクチャーとはバランスをとること犯罪的なコミットエンドラン

    ソフトウェアアーキテクトが知るべき97のこと
  • xUnit Test PatternsのTest Doubleパターン(Mock、Stub、Fake、Dummy等の定義) - 千里霧中

    最近、昔作ったTest Doubleの解説資料を参照・引用してくれる方がちらほら出ていて恐縮しているのですが、見直してみると結構わかりにくい資料なので今回文章としてまとめたいと思います。内容は世間一般的に言われているMock、Stub、Fake、Dummyといった言葉の定義になります。 Test Doubleとは Test Doubleとは、テスト実行時に、テスト対象が依存しているコンポーネントと置き換わるものです。「テスト代役」と訳されることもあります。世の中でMock、Stub、Fake、Dummyなどと呼ばれているものの総称に位置づけられます。 簡単な例を以下に示します。このコードでは、テストメソッド「テストコード()」がメソッド「テスト対象()」をテストしています。また「テスト対象()」は、中でメソッド「外部メソッド()」を実行しています。なお「外部メソッド」はテスト対象でないとし

    xUnit Test PatternsのTest Doubleパターン(Mock、Stub、Fake、Dummy等の定義) - 千里霧中
  • Rustは何が新しいのか(基本的な言語機能の紹介) - いもす研

    Rust は、Firefox を開発する Mozilla が開発し、次世代ブラウザの開発に使っているプログラミング言語です。借用検査という概念を導入することによりメモリ安全およびデータ競合安全をコンパイラが保証する言語であり、2015年中頃の安定版のリリースあたりから次第に注目を集めるようになりました。 メモリ安全とは、メモリの範囲外アクセスや二重解放、ヌル参照、未初期化領域へのアクセスがない状態を表します。ただし、Rust の言うメモリ安全とは、メモリリークをしないことを保証するものではありません。 データ競合安全とは、あるひとつのオブジェクトに対しての読み込みおよび書き込みのが同時に起き結果が不定になる状態にならないことを表します。競合状態とは異なります。 無名関数という概念を様々な言語が次々と導入したように、プログラミング言語は相互に影響を及ぼし徐々に変化しています。Rust は「寿

  • 世界で通用するエンジニアになるための高度な技術記事(英語) - Qiita

    英語サイトでは、日語のサイトでは絶対に手に入らないレベルの記事がわんさか読めます。今日はCodeProjectよりシステム構築をする上で知っておくべき深い知識を解説した記事を3行要約と共にご紹介します。 C#と.NETの記事 C#や.NETのかなりディープな記事たちです。日語ではあまり見かけない深い部分まで知れます。 ■高パフォーマンスなクラスのデザイン方法 Performance Considerations of Class Design and General Coding in .NET - CodeProject ・クラスvs値型のメモリ使用の詳細 ・値型のGetHashCodeとEqualメソッドをオーバーライドする ・シールドクラスによりVirtualメソッドを避ける ・インターフェースのDispatchについて ・ボクシングを避ける ・for vs foreachはfo

    世界で通用するエンジニアになるための高度な技術記事(英語) - Qiita
  • なぜGo言語 (golang) はよい言語なのか・Goでプログラムを書くべき理由 | yunabe.jp

    結論としてはGo言語には以下のようないくつかの長所があり、現実路線で非常にバランスがとれた言語だと思います。 これらの長所のために失われたメリットも当然いくつもありますが、一定程度以上の規模のプロジェクトで利用する言語の選択肢としては現存するプログラミング言語の中では一番か二番目によいのではないかと思います。 コンパイルが速い (vs. C++) GCとメモリ安全性 (vs. C++) 妥当で現実的なレベルの型安全性 (vs. Python/Ruby) 実行時パフォーマンスが良さ (vs. Python/Ruby) 現実問題、ある程度の規模と期間のプロジェクトになると型検証があるとリファクタリングなどがだいぶ楽になるのでありがたい。 型があるので自然と実行時パフォーマンスも良い 標準ライブラリが整備されている (vs. C++) むしろ標準ライブラリにjsonのparserすら存在しないC

  • ハッカーと画家 Hackers and Paintersの翻訳公開

    ハッカーと画家 ---Hackers and Painters--- Paul Graham, May 2003 Copyright 2003 by Paul Graham. これは、Paul Graham:Hackers and Painters を、原著者の許可を得て翻訳・公開するものです。 <版権表示> 和訳テキストの複製、変更、再配布は、この版権表示を残す限り、自由に行って結構です。 (「この版権表示」には上の文も含まれます。すなわち、再配布を禁止してはいけません)。 Copyright 2003 by Paul Graham 原文: http://www.paulgraham.com/hp.html語訳:Shiro Kawai (shiro @ acm.org) <版権表示終り> Paul Graham氏のエッセイをまとめた『ハッカーと画家』の 邦訳版が出版されました。

    ハッカーと画家 Hackers and Paintersの翻訳公開
  • オープンソースの開発現場では限られたリソースで品質管理をどうしているのか。Twitter4J、GitBucket、Asakusa Framework、power-assertの作者が討論(後編)

    オープンソースの開発現場では限られたリソースで品質管理をどうしているのか。Twitter4J、GitBucket、Asakusa Framework、power-assertの作者が討論(後編) 2016年3月8日に都内で開催されたソフトウェアテストシンポジウム「JaSST'16 Tokyo」において、オープンソースソフトウェアの品質管理についてのパネルディスカッション「OSSにおける品質管理・テストと運営」が開催されました。 (記事は前編、中編、後編の3から構成されます。いまお読みの記事は後編です) そのプルリクエストはユーザーを代表しているのか? 和田氏 残り20分くらいなので、またツイッターでもらった質問に答えたいと思います。「ユーザーの5%程度からフィードバックが来るという話がありましたが、その5%からきたプルリクエストをユーザー全体の代表として受け取って大丈夫かどうか、どう考

    オープンソースの開発現場では限られたリソースで品質管理をどうしているのか。Twitter4J、GitBucket、Asakusa Framework、power-assertの作者が討論(後編)
  • JR東日本アプリが重すぎるので解析しようとした件 - Qiita

    動機 朝の山手線は、一遅らせただけで非常に空いてたり、 逆に一乗り過ごすと全然来なかったり、 遅延のアナウンス出ていないのに平気で5分以上到着が遅れたりしますね。 そういうとき、今山手線がどこにいるかとかどれ位混んでるかとかわかればいいのに…って思うわけですが、そういうアプリがあるんですよ。 JR東日アプリ - App Store やるじゃんJR東日…と言いたいところだけど、、まぁその、App Store評価1.5なだけはあって、 現在の内回り電車の列車位置を見つつ各電車の位置も確認したい、と思ったら、 起動→通信中 山手線トレインネットを選ぶ→通信中 山手線の駅がぱらぱらと画面に表示されだす 電車の位置が表示される 内回りを選ぶ 電車を選ぶ→通信中 該当の電車内の混雑状況が表示される 戻る→3に戻る という感じの操作になります。 とりあえず、1〜8全てのタイミングでエラーになって

    JR東日本アプリが重すぎるので解析しようとした件 - Qiita
  • null安全でない言語は、もはやレガシー言語だ - Qiita

    これらは、表中の「リプレース対象言語」に挙げたように、多くのメジャー言語に対する代替手段でもあります。 Java の代わりには Kotlin や Ceylon が、 JavaScript には TypeScript や Flow が、 Objective-C には Swift が、そして PHP には Hack があります。 Python は自身に null 安全 を取り込みました。 Crystal は直接 Ruby と連携して使えるわけではありませんが、 Ruby 風の null 安全 な言語です。 RustC++ の代替を目指して開発され、 Firefox の一部で C++ のコードを置き換えるのに使われています [^100] 。 null が引き起こしてきた数々の問題を考えると、僕は、 null 安全 は GC (やその他の安全なメモリ管理手法)に匹敵するプログラミング言語の進

    null安全でない言語は、もはやレガシー言語だ - Qiita
  • PHP7 で堅牢なコードを書く - 例外処理、表明プログラミング、契約による設計 / PHP Conference 2016

    2016/11/03 @ PHPカンファレンス2016 2016/12/15 @ PHPカンファレンス2016再演イベントにて改訂 2017/06/10 @ PHPカンファレンス福岡2017にて改訂 2017/06/10 @ PHPカンファレンス福岡2017講演録画 https://www.…

    PHP7 で堅牢なコードを書く - 例外処理、表明プログラミング、契約による設計 / PHP Conference 2016