第1回Database Lounge Tokyoで発表したスライドです。ゆるふわにMySQLのアーキテクチャを解説しました。
サイトのメンテナンスにおいてしばしばネックになるのは、どんなネーミング・構成で制御しているのか分からなくなってしまうことです。しっかりと基準に則った、誰がいつ見てもわかりやすいネーミングでコーディングしていくことは、非常に重要なことです。 今回は、プログラマーがネーミングを考える際に参考にしたいサイトを選んでご紹介いたします。 1. codic - プログラマーのためのネーミング辞書 https://codic.jp/ 様々なサイトに紹介され、「ネーミング」で検索しても上位に表示される素晴らしいツールです。例えば、Webサイトの背景に動画を設置する際に、class名をどうしようか悩んだとします。そこでcodicに「背景動画」と入力すれば「background_videos」と提案してくれます。提案されたネーミング以外にも、その他の候補も出てきます。 考える労力を省くことができるという点で優
morimorihoge@Webチーム部長です。ご無沙汰しています。ゴ魔乙はギルド戦が実装されてから拘束時間が多くなり、そろそろ見切りを付けようかとも思い始めた今日この頃です。とりあえずポケモンGOは始めました。 しばらくTechRachoに投稿できていなかったわけですが、別に遊んでいたわけではなく、むしろ開発会社としての本業の方で一杯一杯でなかなか記事を書く気合を充填できていませんでした。 今回は、最近社内で(というか主に僕のいるWebチームで)取り組んでいる社内エンジニアのスキルアップへの取り組みについて、これまでの経過と近況を書こうと思います。長いです。 ※今年に入ってから弊社は事業拡大を目指して採用活動を強化しており、現在進行形でメンバの増強を行っています。新しい人が入ってくる中で古くからの人もいるという当たり前のことではありますが、過去にこういう取り組みをしていたんだよという記録
Rubyのリファクタリングでオブジェクト指向設計に沿った美しいコードになるまでの方法を書いた。 元ネタはこちらのBen Orenstein氏のリファクタリングで、そこに私なりの解説とコードを加えた。かなり追加したのでOrenstein氏の原型とはだいぶ違う箇所もあるがオブジェクト指向設計とリファクタリングに対する考え方は同じなはず。 github.com 全3回に渡ってリファクタリングする。 「イケてない」から「マシ」にするためのリファクタリング 「マシ」から「いいね」にするためのリファクタリング 「いいね」から「スゲーいいね」にするためのリファクタリング 今回は1.の「イケてない」から「マシ」にするためのリファクタリング。 イケてないコード 以下にあるのがなんかイケてないコード。一応動くし、テストもパスしている。でもそのコード品質は平均よりちょっと下。 範囲を指定してその間の売上の総合計
I’ve been programming in Object Oriented languages for decades. The first OO language I used was C++ and then Smalltalk and finally .NET and Java. I was gung-ho to leverage the benefits of Inheritance, Encapsulation, and Polymorphism. The Three Pillars of the Paradigm. I was eager to gain the promise of Reuse and leverage the wisdom gained by those who came before me in this new and exciting lands
エンジニアや開発者たちにとって、IoTは全く新しいプラットフォームだが、新しい分野に移っても変わらないことがある。それはプログラミング言語だ。聞くところによると、IoTプロジェクトをそれぞれチェックして回る時間が限られていることから、開発者たちはプロジェクトで同じ言語を利用しているようである。 IoTに最適な言語はなんだろう?IoTデバイスやシステムに関わっていた人々との話では、C、C++、Javaが一般的なプロジェクトで最も好まれている言語だという。Cは、最古の言語の1つでハードウェアに近いことを行うプロジェクトではポピュラーだ。C++は、Cを拡張したものになる。C#は、MicrosoftによるCの高次元バージョンだが、あまり多くの開発者たちに使われていない。これら三種のC言語の比較はこちら、こちら、そしてこちらで述べられている。 現在は、処理能力を多く必要としないことから、「C」がIo
現役ITエンジニアの方の中には、SQLに対して苦手意識を持っている方もいらっしゃるのではないでしょうか。 SQL自体は、ANSI(米国国家規格協会)や、ISO(国際標準化機構)で言語仕様の標準化が行われているので、一度マスターしてしまえば、製品によって多少の違いはあれど、基本的にどのDBでも同じように利用することが可能です。 つまり、実はエンジニアにとって非常に嬉しい言語なのです。 今回は、苦手意識を持たれている方も気軽に始めることができて、かつ必要な情報を網羅できるオススメのサイトを9つご紹介します。 このニュースを読んだあなたにオススメ ノンプログラマーがWebサービスやツールを作るまでの備忘録20選 無料で学べる人気プログラミング学習サイト21選 プログラミングするならこれ!無料で使えるおすすめのテキストエディタ6選 SQLが学べるサービス9選 1.ドットインストール http://
Ask questions, find answers and collaborate at work with Stack Overflow for Teams. Explore Teams Collectives™ on Stack Overflow Find centralized, trusted content and collaborate around the technologies you use most. Learn more about Collectives We have shut down Stack Overflow Documentation. Documentation was our attempt at improving existing reference materials by focusing on examples. The beta r
現在、Twitter は1秒間あたり3,000枚の画像(約200GB)を作成し持続している。 しかしながら、2015年に Twitter はこれら画像ファイル等メディアファイルの保存方法を改善したために、600万ドルを節約することができた。 以前からそうだったわけではない。Twitter は2012年には主にテキストベースだった。 これはまるで、ホグワーツ魔法魔術学校であのかっこいい動く絵が壁にかかってないようなものだ。 2016年の今では Twitter はメディアを駆使した方向へと移行している。 Twitter は、プレビュー、マルチフォト、gif、vine、埋め込みビデオなどで写真をサポートできる新たなメディア・プラットフォームの開発を経て変化したのだ。 Twitter社のソフトウェア開発エンジニアであるHenna Kermani氏が、Mobile @Scale Londonでの興味
An empirical study of working speed differences between software engineers for various kinds of task プログラマーの作業速度には差がある。作業速度が早いことだけをもって優秀なプログラマーとは限らない。そのソフトウェアの保守性が悪いかもしれないからだ。しかし、やはり作業速度の早いプログラマーは優秀と見られがちだ。特に、転職界隈では、優秀なプログラマーは、その作業速度の速さを形容して、「ニンジャ」とか「10倍プログラマー」などというタイトルで喧伝されている。さて実際には、プログラマーの作業速度は、全体としてどの程度違うのか。 プログラマーの作業速度が早いものと遅いものの比は、従来、28:1であると言われてきた。この数字には根拠となる研究がある。1967年にGrantとSackmanが公開した論文
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
要するに、データベースにnullが1つでも含まれていれば、クエリから正しくない結果が返される可能性がある。しかも、一般的には、どのクエリから正しくない結果が返されるのかを知る方法はないので、すべての結果があやしく見えてくる。nullが含まれたデータベースから正しい結果が得られることは確信できない。筆者に言わせれば、この状況はまさにお手上げである。 ――――C.J.デイト はじめに 多くのプログラミング言語が、真理値型(BOOL型、BOOLEAN型)というデータ型を持っています。もちろん、SQLにも真理値型が存在します。ユーザーが直接扱えるデータ型として定義されたのはSQL-99ですが、WHERE句などの条件の評価時にも真理値の演算が行なわれています。 ところで、普通のプログラミング言語の真理値型とSQLの真理値型の違いをご存知でしょうか? それは、普通の言語の真理値型が、true、fals
このほど、「antirez / kilo|GitHub」において、Salvatore Sanfilippo氏によってC言語を使い1000行以下のソースコードで開発されたエディタ「Kilo」が公開された。2条項BSDライセンスの下でオープンソース・ソフトウェアとして公開されている。ほかのライブラリに依存することなく開発されており、作業を始めてから数時間ほどで開発されたと説明がある。C言語による学習素材やエディタ開発のベースソースコードとして利用できる。 Kiloはclocを使ったカウントでコメントや空行を除いた行数が956行とされており、1000行を下回っている。開発にはcursesライブラリといった基本的なライブラリも使われておらず、VT100の基本的なエスケープシーケンスを使って開発されている。エディタにおける保存や終了といった操作には次のキーが割り当てられている。 Ctrl-S 保存
ここで論じているのは、オーディオアプリの開発者が陥りがちな 4つの間違い 、 より良く開発する方法 、 問題個所の発見方法 です。主に開発者向けの内容ですが、開発者以外の方にも知っておいてもらいたいと思います。ここでは、開発者向けの診断ツールである Realtime Watchdog を紹介し、 人気のあるオーディオライブラリの調査結果 を提示します。 オーディオアプリの開発はとてつもなく楽しいです。やりがいを感じるし、創造力を発揮できる範囲が大きく広がり、ひとたび開発が終われば、 誰かがクリエイティブなツールとして使ってくれるのです! こんな分野は多くないし、この領域で働けるなんて非常に幸運だと自分でも思っています。 しかし、仕事でオーディオアプリを扱う時には深く考えなければならない部分もあります。オーディオアプリの開発者としてユーザに対する責任があるのです。大前提として、ユーザを公共の
こんにちは、Cygames Research の多胡です。これまで10年以上コンソールゲーム開発を行ってきていて、最近ではハイエンドゲームエンジンを制作しておりました。Cygames でもハイエンドゲームエンジンの開発に携わることになりました。 ゲームエンジン開発を行う上で重要な考え方にデータ指向設計 (Data Oriented Design) というものがあります。今回はこのデータ指向設計を例を交えながら紹介させていただきます。 背景 データ指向設計の考え方は 2009年頃から有名になりました。 この 30年で CPU の性能は1万倍以上になりましたが、メモリの転送速度は10倍にもなっていません。そのため、プログラムのボトルネックはメモリ帯域となることが多くなりました。ゲームにおいても CPU はほとんどの時間がメモリからのデータの転送待ちになっています。CPU の性能を引き出すために
プロ生から、プログラミング言語マスコット の LINE クリエイターズスタンプがついに登場! Gopher、Lisp エイリアン、D言語くん(D-man)のスタンプです。 LINE での購入は「プログラミング言語マスコット」で検索してください。 プログラミング言語マスコット LINE スタンプ プログラミング言語のマスコットから今回採用したのは次の3キャラクターです。 Gopher は、Go 言語のマスコット。ホリネズミです。 Lisp エイリアン は、正確には言語のマスコットではなく、Lisp プログラマー以外から見た Lisp プログラマーみたいです。 D言語くんは、D言語 のマスコット。英語では D-man と呼ばれています。 イラストは、タキヲさん(@taxiwon)に依頼しました。スタンプが売れるとタキヲさんにもインセンティブが入るよう契約していますので、どんどん買ってくださいね
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く