2015年2月5日 Web業界なんでも勉強会(第2回)にてプレゼンさせていただいた、「Webデザイナーが使うバージョン管理ツール」セッションの内容です。
かるび(@karub_imalive)です。 寒くなってきましたね。冬のボーナスがもう早い会社だと今週末あたりに出た人もいるかもしれません。 さて、Sier、特にかるびの所属しているような中小Sier(概ね300人以下位)に勤務していると、この時期あたりから翌年3月位まで、エンジニアの退職者が目立つようになります。かるびは採用担当という立場なので、何よりもつらいのが退職者を送り出すことなのです。大手Sierと違い、中小Sierの泣き所は退職率の高さ。 今日は、そんな中小Sierの退職について少し考えてみたいと思います。 中小Sierの平均退職率はどんなものなのか 退職理由は意外にもお金ではない 1番の退職理由はマネジメントの拙さだった 具体的な退職理由としては・・・ 1) プロジェクト現場のマネジメントが悪い 2) 経営的なマネジメントが悪い お金の問題は副次的に発生する まとめ 中小Si
例えばWordPressのプラグインなんかを作っていて、CSSで変数を使いたいなんて時があります。 読み込みをPHPファイルにする。 まずはCSSファイルの拡張子を.phpにして、CSSを読み込ませていた部分をPHPのファイルに変更します。 HTMLならこんな感じ。 <link rel="stylesheet" type="text/css" href="sample.php" /> WordPressのwp_enqueue_styleでCSSファイルを読み込ませている場合も拡張子を変えるだけです。 <?php wp_enqueue_style( 'sample-css', PLUGIN_URL . '/css/sample.php' ); このままでは、text/htmlとかで読み込まれてしまうためCSSとして動作しません。 PHP化したCSSをCSSとして読み込んでもらう PHP化した
この記事は第2のドワンゴ Advent Calendar 2015の5日目です。 ちなみに前日は@deflisさんでした。 先日の記事で分かる通りドワンゴ社員()なのですが、まぁ@mesoさんが「厳格な管理とかめんどくさいので、元社員も参加すればいいんじゃないかな。」とか言ってるしお目こぼし頂きたく… 去年のアドベントカレンダー記事は「関数型プログラミングとは結局なんなのか」というタイトルで、関数型プログラミングという語が何を指していて何を指していないのか、みたいなことをなるべく平易にまとめました。 なので今年は「オブジェクト指向プログラミング(以下OOP)とは結局なんなのか」という記事にしてみた…のですが、なにぶん語の指す範囲が広く、また自分も理解しきっているわけではないので、多少不正確な点があるかもしれません。 「関数型は流行りだけど、今更OOPかよ」とか思われるかもしれませんが、お付
こちらはピクシブ株式会社 Advent Calendar 2015の2日目の記事です。 こんにちは。Vimエンジニアの kana です。 さて、皆さんもご存知の通り、WebサービスのpixivにはPHPが使用されています: PHPについては様々な噂を聞き及んでいた為、 これまでPHPとは関わらないように注意して過ごしてきましたが、 pixiv.netの開発ではPHPを避けて通ることは出来ません。 仕方なくPHPを使うことになる訳ですが、 実際に使ってみると……これが予想していた以上に様々な方向から毎日新鮮な驚きを届けてくれます。 今回は実際に遭遇したPHP初心者が躓くポイントを幾つか紹介しようと思います。 switch の中で continue したら switch の直後に飛ぶ 大量のデータをループでぶん回して処理するのはよくある話です。 その中で特定の種類のデータについては処理をスキッ
この記事は、アムステルダムで2015年に開かれたFronteersのカンファレンスで私が行った講演、「デバッグの技術」に対応するものです。 要約:利用可能なあらゆるツールの使い方を学び、必要なときにそれを使うことで、バグの撃退を楽しみましょう。そのほうが、キーボードを無暗に叩いて6か月も費やしてしまうより、ずっと楽しいものです。 本題に入る前に… この記事を終わりまでスキップしたければ…… Don’t. Write. Bugs. とはいえ…… おそらくこれを読んでいるあなたはロボットではないでしょうから、1個や2個のバグぐらいは書いてしまったことがあるでしょう。「銀の弾丸」は存在しないのです。 実際、先ほどジョークで申し上げた『バグを書くな』というのは、デバッグの仕方を学ぶことの対極にあるものです。必要なのは経験です。バグに対するアプローチを見つけられるようになるためにはバグに遭遇しなけれ
Electron (エレクトロン)はウェブの技術でデスクトップアプリケーションを開発できる人気のフレームワーク。HTML5とCSS3とJavaScriptで開発できるため、ウェブ開発者であれば手軽に導入できます。それもクロスプラットフォームなので、ワンソースでWindowsとmacOS向けのソフトウェアが作れることが利点です。 GitHub社の「Atom」やMicrosoft社の「Visual Studio Code」もこのElectronを使って開発されているなど、大手企業が採用していることでも人気の高さがうかがえます。この入門サイトでは、開発環境のセットアップからサンプル・アプリケーションの作り方を解説します。 Electron入門編 最新版で学ぶElectron入門 - ウェブ技術でPCアプリを開発しよう Electronの導入手順を解説。ゼロからアプリケーションのビルドまでの手順を
Dependency Injectionとはコンポーネント間の依存関係をプログラムのソースコードから排除し、外部の設定ファイルなどで注入できるようにするソフトウェアパターンである ってwikipedia先生が言ってました。 Scalaにおける最適なDependency Injectionの方法を考察する 〜なぜドワンゴアカウントシステムの生産性は高いのか〜 - Qiita を読んでいろいろ考えたので、なんで今さらって感じのことを書きます。 ScalaでDIというとDIコンテナとかCake PatternとかReader Monadとかって話になっちゃうんですが、これらはいかにかっこよくDIするかの話であって、別にこういった道具やパターンを使わなくてもDIは可能という話です。 Constructor Injection 簡単な例で考えます。今ここにUserRepositoryにべったり依存し
DIを使わない状態ではUserRepositoryというインターフェースが定義されているのにもかかわらず、UserServiceはUserRepositoryImplの参照も持っていました。 これではせっかくインターフェースを分離した意味がありません。 UserServiceがUserRepositoryインターフェースだけを参照(依存)するようにすれば、具体的な実装であるUserRepositoryImplの変更に影響されることはありません。 この問題を解決するのがDIの目的です。 それではDIのインジェクタを加えて、上記のクラス図を修正しましょう。 謎のインジェクタの登場によりUserServiceからUserRepositoryImplへの参照がなくなりました。 おそらくインジェクタは何らかの手段でサービスであるUserRepositoryImpl(Dependency)をクライアン
埋め込み(embedded)に要注意というお話です。あるいは、GolangもC++のようなゼロオーバーヘッドを目指していると考えれば腑に落ちるよね、的な。 Goはオブジェクト指向言語っぽく使うことができます。次のような機能を提供しています。 interfaceを使ったコーディング 埋め込み(embedded)を使った実装継承 インタフェースは次のような感じです。 // ポニーは歩ける type Pony interface { Walk() } // アースポニーも歩けるので、Ponyインタフェースに渡せる type EarthPony struct { } func (ep *EarthPony) Walk() { fmt.Println("歩くよ") } インタフェースはメソッド宣言しかかけません。実装は書けません。でも、定義されたメソッドを持てば、それはすべて「これの仲間だ」という感
こんにちは。 アグリゲーション開発担当の中川です。 今回は、みんなが大好きな構成管理ツール「Git」について話したいと思います。 私は Git を使い始めてから、バグの発生数が激減しました。 Git を使ったとある手法によってレビューが充実し、バグの少ないコードを書くようになったと考えています。 では、今回はその手法について紹介したいと思います。 ※ 本稿は Git 以外の第三世代構成管理ツール(Hg、Bzr など)にも適用するかと思いますが、Git の用語とコマンドを使って紹介していくため Git の基本知識が必要となります。ご了承ください。 レビューしやすいコミット履歴と、開発の流れで自然にできるコミット履歴の乖離 以下のようなコミット履歴があるとします。 1. wip: 仕様変更○○を行い始めた 2. wip: 仕様変更○○の続き 3. wip: ちょっと設計を変更、それと過去のバグ
一人でプログラムを書いてたりすると、環境によってはあまりコードの書き方には指摘を受けなくて困りますよね。プロになっても、曲がりなりにもちゃんと動くコードを書けてしまうとあまりに当たり前のことなんかは指摘されることも稀で、そのままある程度偉くなっちゃった日には、もはや自分で気付くしかなくなってしまいます。 FindBugsとか、Effective Javaなら使ったり読んでみたり読ませたりすることはできますが、それ以前のところって難しいんですよね。よいコードと言うよりそれが当たり前だと思われているので、指摘するにしても「こうすればいいよ」(アドバイス)じゃなくて「なんでこうしてないの?」(詰問)になってしまいがちです。 そこで、最近そういうJavaニュービーに指摘している(したい)ことの多い、Javaの基礎的な事柄をまとめてみました。ワタシJavaチョットデキルって人は、これ以外にもやりがち
元々はロシア語の掲示板に出ていた、職場での小さなことをなんでも自動化していたハッカーの話が英語に翻訳され、Hacker News等で話題になっています。 xxx(ハンドル名): オーケー、ビルド担当エンジニアが転職で辞め […] 元々はロシア語の掲示板に出ていた、職場での小さなことをなんでも自動化していたハッカーの話が英語に翻訳され、Hacker News等で話題になっています。 xxx(ハンドル名): オーケー、ビルド担当エンジニアが転職で辞めちまった。本当にターミナルに住んでるようなやつだった。わかるだろ、Vimが大好きで、.dotファイルで図を描いて、Markdownでwikiに投稿するようなタイプさ… もし何か、そう何でも、90秒以上掛かるようなことがあったら、スクリプトで自動化しちゃうんだ。 xxx: そういうわけで我々はここにいて、彼の、そう、「遺産」を見てるところだ。 xxx
他のフレームワークやライブラリから React に乗り換える人たちは、「ReactはUIのレンダリングに関する問題しか解決しておらず、状態管理とアプリケーションアーキテクチャの選択は開発者に委ねられているのだから、どうやってアプリケーションの状態を管理したらいいのか?」 と疑問に思う傾向があります。FacebookはReactのレンダリングモデルに適している、 Flux と呼ばれるアーキテクチャを勧めています。 この記事では、UIレイヤとしてReactを用いてJavaScriptのアプリケーションの状態を管理する方法を探り、 Om のような ClojureScript ライブラリのアイデアを用いてFacebookのFluxの抽象的なフレームワークを作り変えてみたいと思います。 Fluxの核となる考えは、 データは一方通行で流れるべき というものです。これによってアプリケーションの論証が簡単
こんにちは!クックパッド編集室メディア開発グループ長の @yoshiori です。 たまにネットやイベントなどで「たかがレシピサイトになんでこんな技術力が必要なのか」と言われることがあるので今日はそれに真正面から答えてみようと思います。 例えばどういうところで技術使ってるか 他の人の話はこのブログの他のエントリを見てもらえればわかると思うので、僕の所属しているクックパッド編集室での取り組みの中から今回は料理動画を例に説明します。 Adaptive bitrate streaming での配信 クックパッドで配信している動画は基本的に「料理動画を支える技術」でも触れられている配信プラットフォームを利用しています。 ここでは裏で動画を「低画質」「普通」「高画質」の 3 パターンでエンコードして、回線状況に応じて最適な画質の動画を HTTP Live Streaming (HLS) で配信してい
弊社のスタッフはフロントエンドの開発にとどまらず、デザインを制作する機会も少なくありません。弊社に限らず、近年職種を問わずデザインを扱う機会が増えているように思います。しかし、コンテンツ要素が整理整列されていなかったりテキストのカーニングがされていなかったりと、基礎的なことができていないようなケースも多く見られます。基礎的な部分が押さえられていないと、野暮ったさや素人感が出てしまいイマイチな仕上がりになってしまいます。 今回はそういった方に是非読んでもらいたい記事を、すぐにでも実践できる内容を中心にピックアップしました。Webサイトやアプリケーションのデザインだけでなく、企画書やプレゼンテーション資料の作成などでも応用できるものなので、どなたでも覚えておいて損はないと思います。 フォント選び フォントの基本的な選び方 | Arch ▲フォントの系統から書体、ウェイトの選定方法まで、ユーザー
ジャポルノレディーズであいまい検索が最も役だったのが名寄せでした。 ジャポルノレディーズでは基本的に動画は全て他のエロサイトへのリンクで提供しているので明日花キララさんの動画を探す上で他のエロサイトから明日花キララさんの動画を探す作業が必須です。 しかし問題は ・エロサイト毎に明日花キララさんのアルファベット表記がバラバラ という事でした。 エロサイトAではasuka_kirara エロサイトBではasuka_kilala エロサイトCではashitaka_kirara ・ ・ ・ という感じ。うちではasuka_kiraraでデータを持っているので、当然asuka_kilalaと名前のついている動画もasuka_kiraraの動画としてデータを保存したい!という訳です。 そこであいまい検索が役立ちます。 まずは普通のmatchクエリでasuka_kilalaを検索します。 # codin
本稿は、ソニックガーデンの創業者で代表取締役社長の倉貫義人氏のブログに掲載された記事です。モットーは、「心はプログラマ、仕事は経営者」。IT業界の、とりわけソフトウェア開発の業界で〝常識〟とされているビジネスモデルを変えてしまう試みについて解説する著書「「納品」をなくせば うまくいく」を執筆。同社が開発した社内ツール「Remotty」は、本媒体でも紹介しています。 今、プログラミングの仕事をしている人たちにとって、技術の変遷の激しいこのIT業界の中にいて、あと10年後20年後の近い未来において、どういった仕事が残されているのか、自分は生き残っていけるのか、気になる人は多いと思います。 この記事では、私の考えているソフトウェア開発のエンジニア、とりわけプログラマが生き残っていくために残された4つの将来像の可能性について考えてみました。 未来に残されるのは2種類の仕事 プログラマの未来を考える
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く