SIerのSIerによるSIerのためのアドベントカレンダーです。 SIの現場でよくある課題・デザインパターンについて書きましょう。 今年は世界中のシステムエンジニアのみなさんで、カレンダーを完成させたいのでよろしくお願いします!! ランキング好調につき、Qiita記事として書いていただけると、より多くの方に見ていただけるようになるので、よろしくお願いします。 昨年のヤツはこちら

Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに SIerに勤めるエンジニアです。 プロジェクトでの学びを勉強会やブログなどで発信していたことを評価してもらい、最近広報エンジニアという役割をもって働くことになりました。 ただ、広報エンジニアという役割が会社・部門にはなく、ミッションや活動内容の検討から始めました。 まだ着任して2ヶ月ですが、ある程度活動内容がかたまり、成果も見えてきたので、自分のなかの整理も含めてまとめました。 漫然と過ごすと起こること 広報エンジニアという役割になる前は、プロジェクトやシステムをより良いものにするためにはどうしたら良いだろうと考えてはいました
一年半SEとして働いてきた中で、私自身が苦手だと思っており、他人からもそのように評価されていたのが「質問の仕方」でした。 それが先日、他人から「質問の仕方がうまいね」と褒められることがあり、ようやく一人前の質問の仕方ができるようになってきたので、どのようにして克服できたのか紹介したいと思います。 質問の基本形 私が入社したばかりの頃は、わからないことがあればすぐに先輩に質問していました。 そのときにしていた質問の内容はだいたいこんな感じです。 「環境構築を手順書通りにやったんですけど、○○のコマンドでエラーがでてしまいます!なんとかなりませんか?」 このような質問を受け取ったら、先輩は暇ならばエラーメッセージを見てくれ、エラーメッセージに書かれていることに対して調査してくれるかもしれませんが、忙しいときにはそんなことはしてもらえません。 こんな質問を繰り返しているうちに先輩からは「技術系メ
先日、マイクロサービスの呼び出し方として、オーケストレーションとコレオグラフィについて書きましたが、同じく4章では、どうHTMLを組み立てるかという問題が提起されています。 ここもやや難解なので、咀嚼を試みます。 課題設定 次のようなECサイトを考えることにします。そして、4つのマイクロサービスを合成して構成します。 商品カタログサービス ショッピングカートサービス ショップサービス リコメンドサービス API合成 無垢な気持ちで設計すると、各々のマイクロサービスがWeb APIのインタフェースをもち、XMLやJSONを返して、ECサイト側で、テンプレートエンジンなどを用いて、HTMLをレンダリングするという方式になるかと思います。 そして、この形式でマイクロサービスを利用するサイト(アプリケーション)が増えていくと次の図のようになります。 これには、次の3つの欠点があるとされています。
この記事はシステムエンジニア Advent Calendar 2015 - Qiitaの記事です。 弊社アーキ部で@kawasimaさんに教えてもらったさいきょうの二重サブミット対策について書いていきます! 二重サブミットが発生するケース 不正な更新リクエストが発生するケースとして、以下のものが考えられます。 サブミットボタンをダブルクリックする 戻るボタンで戻って、再度保存ボタンを押す 完了ページでブラウザリロードする CSRF攻撃による不正な更新リクエスト 1. サブミットボタンをダブルクリックする 確定ボタンをダブルクリックすることによって、ユーザが意図していないリクエストが発生してしまうケース。 2. 戻るボタンで戻って、再度保存ボタンを押す 処理完了画面から戻るボタンで前の画面に遷移し、再び確定ボタンを押すケース。 本来は入力➡︎確認➡︎完了の画面遷移が適切だが、その画面遷移にな
業務システムでは、入力の速さを求められます。一方で、本当かどうか分かりませんが、「システム利用者はリテラシーが低いこと」を前提に機能要求が積み上がることが多いです。 そんなIMEの辞書のカスタマイズによる入力速度の向上など期待しない中で、入力を速く行えるようにするには…と考えると、フォームごとに専用のキーパッドを用意するとよい場合があります。 また、タブレットで業務システムを使うケースも増えてきました。その入力のしにくさを考えると、やはり専用のキーパッドを用意するとよい場合があります。 keypad 色々、選択肢はあるのですが、カスタマイズしやすいものとなるとあまり見当たりません。jQuery keypadは割と老舗でカスタマイズに関してももよく考えられています。 http://keith-wood.name/keypad.html このjQuery keypadをベースに、キーパッドを設
元海岸沿い現西新宿SIerのまつい師匠(@nmatsui)の「良いコードとは」というスライド、お読みになられたでしょうか。まだの方は是非! http://www.slideshare.net/nbykmatsui/ss-55961899 さて、そのスライド中で出てくる「ロジックをシンプルに保つ」という話、以前まついさんと社内SNSでディスカッションしたことがある内容で、その結果をまとめておいたのが、以下になります。 http://www.slideshare.net/kawasima/ss-26968240 デシジョンテーブルを簡略化すると、プログラムの複雑度を減らすことができ、なにより仕様が単なる記号でなくて、顧客の要求が浮き出てきて理解しやすくなるよ、というものです。 ただ、この中では非常に単純な例しか挙げていないので、もう少し実践的な仕様で、ご説明したいと思います。 出力が多値のデシ
POIを使ったExcel帳票の出力は、システムエンジニアにとっては日常茶飯事、おちゃのこサイサイであります。 Excel方眼紙を支える技術 takezoen先生による2015年版はこちらになります。 [] (http://www.slideshare.net/takezoe/exceljava2015) ここで紹介されている、S式からExcel方眼紙を出力するライブラリaxebomber-cljは、こちらをご覧ください。 特筆すべきはaxebomber-cljでは、Excelにありがちな文字切れが起こらないというところです。そもそもExcel方眼紙は、入力文字列が自動改行されない制約を設けて、利用者が意図的な位置で改行をコントロールするために発明されたフォーマットであります。しかし、その特異な見た目が災いし、単に敬遠される存在にとどまっております。axebomber-cljは、文字幅とセル
システムエンジニアにとって頻出機能のひとつで、要件がモリッとしがちなファイルアップロードについてです。アップロードファイルもただの画像やPDFではなく、ExcelやCSVファイルをアップロードして、中身を読み取ってデータベースに格納する、あれを対象とします。 標準的なファイルアップロードでの設計ポイント ファイルのアップロード機能を実装しようとなると、以下のような点の設計を考える必要があります。 同期? 非同期? タイムアウトのリスクがあれば、非同期にする ブラウザのタイムアウト 通信経路(プロキシやファイヤウォール)でのタイムアウト Webサーバのタイムアウト ユーザがレスポンス返ってこないので、処理を中止するリスク 非同期の場合の実行方式 Webサーバ内でスレッドを新規に作る or 別プロセスへ処理をディスパッチする 流量制御のためリクエストをキューイングする Progress 長時間
RBACの基礎 業務システムの権限制御の基本形はロールベースアクセスコントロール(RBAC)です。簡単化すると、以下のようなモデルです。 Subject(システムユーザ)は、複数のRole(ロール)を持っている。 Role(ロール)は、Permission(権限)のセットからなる。 Permission(権限)は、オペレーション(許可される操作)のセットからなる 具体的に、Redmineでの例をみてみましょう。 ユーザにはデフォルトで「管理者」「開発者」「報告者」のロールが割当可能である。 「報告者」ロールは、「Add Issues」の権限をもつ。 「Add Issues」の権限をもつユーザは、「Issueの新規作成」ができる。 このモデルをRedmineでは、以下のように表現しています。 Redmineは1人のユーザを、複数のプロジェクトに異なるロールでアサインすることができるので、上記
話すたびに不平不満しか言わない人がいる。「そんな話は聞きたくない」「私が聞いてもどうにもならない」と思うと、そういう人を見るのも嫌になったり、話す前に疲労感を感じたりする。どう対応したらよいか。 一番重要なことは、アドバイスをしないことだ。不平不満を言う人は、頭の中で想定されるあらゆるアドバイスを論破しつくしているものなので、言うだけ無駄だ。もし想定されていないアドバイスがあっても、なぜか論破することに注力してしまう。結局、悪循環になる。 「そんなバカなことはないでしょ」「自分がその立場で正しいアドバイスを受けたら嬉しいはずです」。そう思うかもしれない。そこが間違いのもとだ。「仕事上で困ったことがあるのですが、何かアドバイスいただけませんか」と聞かれた場合でも、そのそのままアドバイスしたら、不平不満や愚痴を聞くという罠に陥ってしまうかもしれない。 まず、アドバイスが受け入れられる人なのか、
最近いくつかjQueryPluginを書く機会があったのでちょっとまとめてみようと思います。 (function($) { //このPluginの名前 var name_space = 'basePlugin'; $.fn[name_space] = function(options) { //いったん退避 var elements = this; //設定情報の構築 var settings = $.extend({ //optionの初期値を設定 'param' : 'value' }, options); //内部用method var inner_method = function () { //内部の共通処理の記述 }; //要素を一個ずつ処理 elements.each(function() { $(this) //イベント等の設定 .keyup(inner_method) ;
企業にとってオフィスデザインは重要な要素で、あらゆる部分に影響を及ぼします。適切なデザイン設計すれば、仕事効率をアップすることができます。 さらに家具を搬入するときも楽になるのでメリットは多いです。ただやみくもにデザインをしても、うまくいきません。また素材なども考慮しないといけないので、計画的にデザインを練る必要があります。 そこでどのようなデザインをすれば使いやすいオフィスになるのかを紹介しましょう。 オフィスデザインをすれば仕事効率をアップできます。例えば動線を確保することができるので、他のスタッフの通行の邪魔にならずスムーズな行き来をすることが可能です。 また家具を搬入するときも、すでに設置している家具の邪魔をせず置くことができるので便利です。オフィスデザインはやみくもにするのではなく、業態に合った設計をする必要があります。 例えば打ち合わせの多い会社なら、社員のデスクはつくらず自由
女変身しすぎじゃねwwwwwwwwwwwwwwww 1 :以下、名無しにかわりましてVIPがお送りします:2009/01/20(火) 08:55:35.55 ID:C0K7NGqM0 1 2 3 4 5 6 7 8 9 10 おれも化粧したいお(´・ω・`) 15 :以下、名無しにかわりましてVIPがお送りします:2009/01/20(火) 09:01:47.71 ID:l+WcOicYO もはや図工 10 :以下、名無しにかわりましてVIPがお送りします:2009/01/20(火) 09:00:15.53 ID:zO3qjhbSO これくらい普通 25 :以下、名無しにかわりましてVIPがお送りします:2009/01/20(火) 09:07:01.62 ID:FenMdod4O 詐欺だな 34 :以下、名無しにかわりましてVIPがお送りします:2009/01/20(火) 09:11:17
小泉総理時代民主党「バナナはおやつに入りますか」 小泉「あなたが入ると思えば入るし、入らないと思えば入らない」 民主党「総理は質問に答えていない。入るのか入らないのか」 小泉「あなたね、おやつかどうかは心の問題ですよ。あなたはどうなんですか」 安倍総理時代民主党「バナナはおやつに入りますか」 安倍「入るかどうかは大事な問題で、適切に判断しなければならない」 民主党「総理は質問に答えていない。入るのか入らないのか」 安倍「入るかどうかで八百屋と駄菓子屋のどちらかに迷惑がかかるので慎重にならざるを得ない」 福田総理時代民主党「バナナはおやつに入りますか」 福田「バナナですか?あれ黄色いですね」 民主党「総理は質問に答えていない。入るのか入らないのか」 福田「そんなこと知りませんよ。あなたが考えてください」 麻生総理時代民主党「バナナはおやつに入りますか」 麻生「なんで、そんなこときくの?」 民
大学時代、コンビニで夜勤をやってた頃。店長とは凄く仲がよかった。いつもバイト中はバカ話に花を咲かせてた。そんなある日の夜……。納品の時間。発注の通りにきちんと納品されているか、厳しく、ひとつひとつチェック……なんてことはしない。箱に入った商品を何となく眺めて、「うーん、よし。たぶん、全部ある」と脳内検品して、ハンディ(検品端末)のボタンをポチっとな。あーら不思議、これで一発完納。下っ端バイトは知らない、ベテランだけが使える禁断の秘技なのだ。わっはっは。今日も楽だぜ。次は品出し。インチキ検品した商品を棚に並べる。「けっ、こんなの買うやつアホだな」とか「おっ、これ美味そう。品落とし(廃棄)になんねえかな。そしたら、タダで食えるのに。よし、売れねえように、どこか隅っこに隠しとけ」なんてことをブツブツ言いながら品出しする。すると……。そこにあったのはホットドッグ。ソーセージが大きくて、パンの両端か
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く