You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
レガシーコードをうまく手なずけて、もう一歩成熟させるにはどうすればいいのでしょう?この投稿では、大規模なレガシーウェブアプリケーションと格闘してきた私が学んだことを紹介します。レガシーコードをうまく手なずけて 、もう一歩成熟させるにはどうすればいいのでしょう?この投稿では、大規模なレガシーウェブアプリケーションと格闘してきた私が学んだことを紹介します。 レガシーコードはリファクタリングで救出可能 耳寄りなお知らせがあります! リスたちは毎年何千本もの木を植えてくれています 。まあ自分たちが隠したドングリのありかを忘れてしまった結果ですけどね。そしてもうひとつ。 あなたのプロジェクトも救出できる のです。 ボスから任されたプロジェクトが どんなに醜い泥まみれのレガシーコードだったとしても 、そこには 必ず 道があります。道は曲がりくねっていて、木陰にはモンスターが待ち構えていることでしょう。
VimおよびNeoVimに任意のコードの実行につながるセキュリティ脆弱性を修正するパッチが追加された。それぞれ「patch 8.0.0056|vim / vim」および「vim-patch:8.0.0056|neovim / neovim」で内容を確認できる。修正対象の脆弱性はfiletype、syntax、keymapの値のチェックが不適切というもので、結果として誤った設定状態で該当するファイルが開かれるとコードが実行される危険性がある。 今回、発見された脆弱性は、モードラインが有効になっている場合に悪意のあるファイルを開くと任意のシェルが実行されてしまう。パッチは debian stable、CentOS 6 向けにもバックポートされリリースされている。 なお、プラグインなどの形で脆弱性を悪用したマルウェアが登場する可能性も考えられるが、現在のところセキュリティファームからそういった情
プロジェクトが発展する際は、単純に新しいコードが古いコードの上に追加されているのでしょうか。もしくは、時間をかけて徐々に古いコードが新しいコードに置き換えられているのでしょうか。これを解明するために、手ごわい GitPython プロジェクトの助けを借りて、Gitプロジェクトを分析する 簡単なプログラム を構築してみました。履歴を年ごとに振り返り、 git blame を実行してみようと思ったのです(この処理を多少でも速くすることは簡単ではないと分かりました。しかし、ファイルのキャッシングを便宜的に含ませることや、変更された点を履歴から見つけること、 git diff を使って変更したファイルを無効にすることなどの詳細を、いつかお伝えします)。 頭がさえている時に、 テセウスの船 をダサくもじって、 “テセウスのGit” と名付けました。私は父親になって、ひどいダジャレを作れるようになった
あんまりこういう内容のポエム的なものは広まってほしくないなあ・・と思うのでこっちにひっそり書くことにする。 今年は僕にとってはGoの存在がとても大きい年だった。 5年前、僕が書くのはWebアプリケーションが中心で、PHPをメインで触っていた。それが気がつけばエンジニアリングのレイヤが広がったなあという所感があって、ここ最近Goがそれを加速してくれた。第二の言語としてのGoはとても良くできていて、小回りが聴くし、ミドルウェアをちょろっと書くにも心地よい。やっぱり最近の言語ならではの良さがある。たとえば、 * テストが標準ライブラリに組み込まれている * net/httpがとても良くできている。フレームワークを必要としない場面も多い。 * concurrencyを堅牢に扱える(うまい言葉が見当たらない) * そしてそれなりに速い というのがあげられる。特にgo toolの充実はすごい。Race
構築でつまづかないためのECS+ALB構成ベストプラクティス(2016年版) 本記事ではECS-optimized AMIを使った構築を前提とし、つまずきやすいポイントにフォーカスしてECS+ALB構成でのベストプラクティスをご紹介します。
皆さんこんにちは菊池です 今回はdigitsの二回目で 実際に学習をしてみましたという記事です テストデータなのですがMNISTという有名な手書き文字のデータセットを使います。 自分でデータセットを作るのはめんどくさいしね ちなみにこのチュートリアルはgithubに同じものが載っています Getting Started この記事では dockerでdigitsを立ち上げているという前提で話を進めています docker run --name digits -p "5000:5000" -v ./images/:/mnt/volumes/images kaixhin/digits はじめに手書きのデータをダウンロード docker exec -it <コンテナ名> /root/digits/tools/download_data/main.py mnist /mnt/volumes/image
実はガンダムを見たことがないので、時々社内のガンダムトークについていけないことがあります、中村です。今日は、 Jenkins のビルドを高速化し、リリースまでの時間を大幅に短縮した、改善策をご紹介します。全体で2~3倍程度、一部処理では何と10倍以上もビルドを高速化できました。 改善策1 : push 型デプロイから pull 型デプロイへ 改善策2 : テストケースを自動分割して、よりアグレッシブに並列実行 全体のリリース時間に対する改善結果 ビルド時間の可視化 改善策1 : push 型デプロイから pull 型デプロイへ まずはデプロイ時の方式を、push型デプロイからpull型デプロイに変更した改善策を説明します。ここで、push型デプロイは中央サーバからデプロイ用ファイルを転送する方式で、pull 型デプロイは各サーバがファイルを取得する方式とします。 各フェーズの構成は、下図の
フロントエンド開発において,かつてのようにスタイルとロジックがきれいに分離されていた時代は終焉を迎えました.React 時代においては,それらを独立して扱うことは難しくなってきており,デザイナーとエンジニアはお互いに寄り添って歩んでいかなければなりません. そこで今回は,エンジニアの視点から,デザイナーに寄り添うために具体的にできることを,5 つのポイントに分けて書いてみたいと思います. 1. 頻度の高い JS, JSX の記法を習得してもらう デザイナーが React で View を実装するにあたり,相性のよい JS 記法や JSX 記法をいくつか習得してもらうだけで,生産性は大きく向上します.頻度の高い記法は限られており,かつそれぞれのハードルも高くないので,習得コスト以上のリターンが得られると思います.以下のものあたりを習得してもらうと十分でしょう. map, 三項間演算子, Te
去年書いたスクリプト↓がだいたいそのまま動いたのでアドベントカレンダーのはてなブックマークの合計数のランキングと記事別のランキングを今年も出してみた sucrose.hatenablog.com 全件記事を見たわけではないので変なゴミが混じっているかも 今年はディープラーニングの記事がたくさんはてブを集めていて人気を感じる ↓最終結果も出した はてなブックマーク数が多い2016年のアドベントカレンダーの記事 - 唯物是真 @Scaled_Wurm カレンダーの合計ランキング 順位 カレンダー名 はてなブックマーク数 1 システムエンジニア 3070 2 DeepLearning 1593 3 LITALICO Engineers 1535 4 N高 1504 5 Shell Script 1433 6 Fujitsu 1398 7 転職(その2) 1354 8 トレタ 1222 9 UI
All good things must come to an end, including this podcast. This is the last episode we plan to release, and it doesn’t cover data science—it’s mostly reminiscing, thanking our wonderful audience (that’s you!), and marveling at how this thing that started out as a side project grew into a huge part of our lives for over 5 years. It’s been a ride, and a real pleasure and privilege to talk to you e
Over 25% of all websites use WordPress, and over 10% of all internet traffic flows through CloudFlare; WordPress + CloudFlare has always been a winning combination, and now with CloudFlare’s new WordPress plugin, it's easier than ever to make your site 60% faster. Install or upgrade to CloudFlare's new plugin to speed up your WordPress site. Our new plugin adds all of CloudFlare's performance and
逃げるは恥だが役に立つ 皆さんは逃げ恥観ましたか。 私は5日間で11話全部観ました。TBSオンデマンドで登録すると最初の2週間無料とききつけて登録(したのは妻だけど)。普段からTVは観ない二人なので、始めの2話を観た日は刺激が強すぎるのか二人して寝付けませんでした。 最終話はティーバで無料で観れました。 マンガも8巻まで買って(買ったの妻だけど)読みました。 なんかこう状況が自分たちに被る部分が多かったので大いに感情移入しちゃって「わかるー!」を連発しつつ、二人でみていたわけです。 私は風見さんが好きです。 ああいう風になりたい。「僕は性格が悪いんです」とか言ってみたい。「すいません。」って笑顔で言うの、ズルい。正直で率直かつ相手の気持を気遣える。そこにシビれるあこがれる。 「イケメン」という偏見によって傷ついてきたキャラというのもいい。「イケメン」っていう言葉はもはや褒め言葉ではないした
5. プロセス遅延 (Processing Delay) パケット 出⼒先決定 ヘッダ書き換え フィルタリング QoS 統計情報取得 カプセル化 筐体内転送 • 伝送装置 • メディアコンバータ • スイッチ • ルータ • NAT装置 • 仮想化装置, IPsec, etc • 通信機器の⼊⼒インターフェイスで受信して 出⼒インターフェイスのキューへ送るまでにかかる時間 出⼒ キュー パケット ルータの例 暗号化 6. キューイング遅延 (Queueing Delay) • 通信機器の出⼒インターフェイスキューに⼊ってから 出⼒処理を⾏なうまでにかかる時間 出⼒キュー • 出⼒処理より速いペースでパケットが届くとキュー待ちが増える • 広帯域回線から狭帯域回線への転送、⼀時的な輻輳 (バーストト ラフィック) などへの対応 優先制御 キューイング スケジューリング 7. シリアル化遅延
セキュリティは、DevOpsやアジャイル開発にブレーキをかけるのか――マネーフォワード流DevOps実践のポイント:DevOps時代のテスト自動化カンファレンス(中編)(1/2 ページ) 2016年12月6日に開催されたセミナー「DevOps時代のテスト自動化カンファレンス~はやく、いいものを届けよう~」のレポート第2弾では、マネーフォワードの担当者を招いてのランチセッションの模様をはじめ、DevOpsとセキュリティ、テスト自動化の関係を解説していく。 市場ニーズを素早く形にし、「ビジネスの成果を獲得するまでのリードタイムを短縮する」上で重要な手法となる「アジャイル開発」や「DevOps」だが、これらの取り組みにおいて「テスト」というプロセスをどう組み込むかが「いいもの」を作れるかどうかの大きな分かれ目となる。管理すべきコード、テストすべきコードが増加する中で必要十分なテストを実施し、開発
Mimizuku Advent Calendar 25日目の記事です。なんと Mimizuku Advent Calendar、予定していた前記事無事完走できました。僕以外誰の参加もなかったことが悔やまれますが、無理やりネタをひねりだしたわりにちゃんとできて良かったです。最後は WordPress テーマと Travi CI について書きます。 Travis CI とは CI(継続的インテグレーション)とは 主にプログラマーのアプリケーション作成時の品質改善や納期の短縮のための習慣のことである。 ー Wikipedia より引用 というもので、僕もそんなに良くわかってはいませんが「品質改善や効率化のために自動化できることは自動化して継続的に実行できるようにしようぜ」的なことだと理解しています。Travis CI はそんな CI(継続的インテグレーション)をオンラインで行うことができる We
11. 店舗発注業務の裏側 ローソン全業務で利⽤されるマスタデータを ⽇次バッチで最新化 1 最新化された全業務マスタデータの更新差分を 各店舗へファイル連携 店舗へ更新分データのファイル連携 2 本部センター ファイル 連携基盤 ストアコンピュータ データ反映 発注端末 商品を発注 しますね 更新データ 全業務マスタデータ ⽇次バッチ処理 最新化 1 2 3 4 全業務マスタデータの最新化処理 連携されたファイルデータを各店舗にある ストコン内のDBへ反映する。 3 最新化されたマスタデータをもとに発注業務を実施 発注時の商品データ参照4 更新分データのDB反映処理 12. 店舗発注業務の裏側 ローソン全業務で利⽤されるマスタデータを ⽇次バッチで最新化 1 最新化された全業務マスタデータの更新差分を 各店舗へファイル連携 店舗へ更新分データのファイル連携 2 本部センター ファイル 連
前回、chefからansibleへの移行記事をまとめたが、その際にさらっとgather_factsの高速化に時間を使ったと触れた。そもそも素でansibleを使うとデフォルトで処理前段にgather_factsの処理が入る。これが何をしているかというと、各ノードのOSやスペック、ネットワーク情報などの収集だ。ansibleはサーバサイド・プッシュな動きをするので、ansible-playbookを実行すると対象ノード全てに処理を行う。gather_factsの処理も同様で対象ノード数に比例して処理時間が伸びていく。1ノードならまだしも、10ノードを超えだすとその待ち時間は耐え難いものに。chefサーバの場合はサーバプロセスが存在したので、その中でこの手の情報をキャッシュしてくれていたのだろうが、ansibleにはサーバプロセスが存在しないため、毎回律儀に各ノードから取得する羽目になる。 g
はじめに こんにちは、中山です。 GitHub Enterprise(以下GHE) on AWSシリーズの第8弾です。以前のエントリではAmazon Kinesis Streams/Amazon Kinesis Firehoseを利用した方法をご紹介しましたが、今回はGHEのログをfluentdのS3アウトプットプラグインでアーカイブする方法をご紹介します。 GitHub EnterpriseをAWSで使おう - Amazon Kinesis Firehoseを利用したログのアーカイブ GitHub EnterpriseをAWSで使おう - Amazon Kinesis StreamsとLambda関数を利用したログのアーカイブ GHEは基本的に社内でのみ利用される場合がほとんどだと思います。つまり外部ユーザが利用する機会がほぼ無いはずです。そういった場合、ログは念のため保存しておきたいが
以下に移行しました。 kenzo0107.github.io
要約すると url.<base>.insteadOf や url.<base>.pushInsteadOf を使えば良いという話です。 github 以外でも使えます。 設定例 自分では今のところ、以下の設定にしています。 最初の [url "git@github.com:"] のセクションは URL の指定として https: や git: を使っていても git push のときには ssh 経由にする、 という意味になります。 次の [url "git://github.com/"] は、その他の git fetch や git pull の時は https: の代わりに git: を使うという意味になります。 [url "git@github.com:"] pushInsteadOf = git://github.com/ pushInsteadOf = https://githu
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く