タグ

ブックマーク / dev.classmethod.jp (19)

  • Markdownでシーケンス図とかが書けるMermaid記法で業務フローを書いたら意外とイケたので自分なりのコツを紹介してみる | DevelopersIO

    こんにちは、臼田です。 みなさん、業務設計してますか?(挨拶 今回はMarkdownでシーケンス図やフローチャートなどの図を記述できるMermaidを使って業務フローを書いてみたら、意外と書けたので自分なりのTipsを紹介したいと思います。 その前に 注意点として、まだMermaidを使い始めたばかりなので、「もっとこうしたらいいぞ」とか「こっちのほうがいいぞ」とかあれば建設的なフィードバックとしてSNSとかでいただけるとありがたいです。 あと業務フローって表現しましたが、人によって思い描く業務フローが違うと思うので、業務フローの定義に関するツッコミはご容赦ください。私が今回Mermaidで書いたのは以下の図です。(内容はブログ用に簡素化しました) この図のコードは以下のとおりです。(後ほど解説します) sequenceDiagram autonumber actor お客様 partic

    Markdownでシーケンス図とかが書けるMermaid記法で業務フローを書いたら意外とイケたので自分なりのコツを紹介してみる | DevelopersIO
    hokorobi
    hokorobi 2022/05/01
  • 改めてAWSの「無料利用枠」を知ろう | DevelopersIO

    それぞれの無料利用枠については、次から詳しく解説していきます。 12ヶ月無料枠 冒頭で軽くお話しした、AWSアカウントを 新規作成した日から1年間 有効な無料枠です。 例えば、EC2インスタンスを 750時間/月 無料で利用できるといったものがあります。 ただし、使用できるリソースについては制限がある事があり、EC2インスタンスの場合ですと インスタンスタイプは t2.micro OSは Amazon Linux 1,2、Windows Server、Red Hat Enterprise Linux、SUSE Linux、Ubuntu Server を指定する必要があります。 ▲ コンソール上で対象のAMIを確認できます 「月に750時間」と言われると、「そもそも1ヶ月は何時間存在するんだ」という疑問が湧くので調べてみます。 1ヶ月が28日(最短): 24時間/日 × 28日 = 672時

    改めてAWSの「無料利用枠」を知ろう | DevelopersIO
    hokorobi
    hokorobi 2019/09/23
  • Oracle JDK8の今後のサポート状況について調べてみた | DevelopersIO

    はい、どーも。モバイルアプリサービス部の吉田です。 今回は、Oracle JDK8のサポート状況について、少し調べる必要があったのでこれについて調べてみました。 Oracle JDK8にはいつまでパッチが提供されるの? おそらく皆さんが使ってるJDK8は、Oracle JDK8が多いものと思います。 Oracle JDKに対する、バグ・セキュリティに関するパッチは、Oracleから無償で提供されています。 これが 2019年1月 までです。 ソースとしては こちらのページに オラクルは Java SE 8 の公式アップデートの提供と自動更新(auto update)を、個人ユーザーには2020年12月まで、商用ユーザーには2019年1月まで、引き続き提供します。 とあります。ですので、2019年1月末以降、Oracle JDK8に対するバグ・セキュリティパッチは提供されなくなります。 有償

    Oracle JDK8の今後のサポート状況について調べてみた | DevelopersIO
    hokorobi
    hokorobi 2018/11/23
  • git-bugでWebサービスに依存せず、Gitリポジトリだけでバグレポートを管理する | DevelopersIO

    git-bugはGitに直接組み込むバグレポートツールです。 レポートそのものをGitリポジトリで管理するところが最大の特徴です。 レポートの作成、編集、コメント、検索などが行えます。 また、インタラクティブなターミナルのインターフェースや、Web UI**[WIP]**が用意されています。 はじめに 記事で紹介させていただくgit-bugは、2018年9月30日時点でまだ ? This is for now a proof of concept. Expect dragons and unfinished business. ? です。が、仕組み&思想が面白いと思ったのと、今後の流れが楽しみなので記事にさせていただきました。 アプリケーションとタスク管理の関連について アプリケーションに関するタスクの管理にWebサービスを利用するのはかなり一般的になってきたように思います。 この時、パ

    git-bugでWebサービスに依存せず、Gitリポジトリだけでバグレポートを管理する | DevelopersIO
    hokorobi
    hokorobi 2018/10/02
  • Vimで変態テキスト処理!シェルコマンドを使い倒す | DevelopersIO

    Vimから外部のシェルコマンドを実行して出力結果を得たり、バッファ内のテキストの変換を行う方法を紹介しています。 はじめに こんにちは、データインテグレーション部の平野です。 私はテキストエディタにVimを使用しています。 Vimは敷居が高いと言われますが、ある程度慣れてくると普通のエディタとは明らかに異なる、Vimらしい編集方法がだんだんと身についてくるものです。 今回はVimから外部のシェルコマンドを実行してテキスト編集する手段についてご紹介します。 なお、Vimには色々なプラグインが公開されておりますが、ここで紹介する方法はあくまでもVimのオリジナル機能ですので、その場ですぐ試すことができます。 (lsコマンド等にはPATHが通っているという前提です) カレントディレクトリのファイル一覧を取得したい Vimでテキストを編集していて、カレントディレクトリのファイル一覧を挿入したい、と

    Vimで変態テキスト処理!シェルコマンドを使い倒す | DevelopersIO
    hokorobi
    hokorobi 2018/09/19
    知らんかったな~
  • Atom と PlantUML で快適シーケンス図駆動開発ライフ | DevelopersIO

    サーバーサイド開発担当のエンジニアが「設計と実装を進めようとしている」という背景で話を進めます。 PlantUMLは強い 「認識合わせ」という名目でホワイトボードに図を書いて会話することがよくあります。共通言語で会話してあいまいなところを少なくしたら、マネージャーも安心感がありますし、プログラマも自分がやるべきことに集中できますね。 …3日経ちました。あのとき描かれていたホワイトボードの図のとおりに、実装することになりました。認識の齟齬をなくしてくれた貴重な図です。写真に撮りました。どこに保存してたっけ。やっぱり変更したくなったらどうしましょう。またホワイトボードに書き起こす?DRYじゃないですねえ。 そこで、UML図 が登場します。表現したい図を電子データで作成、保存できて、あとで見るときも役に立ちますね。が、しかし、UML図はそれはそれでやや手間がかかるところもあります。作図を助けてく

    Atom と PlantUML で快適シーケンス図駆動開発ライフ | DevelopersIO
    hokorobi
    hokorobi 2018/03/15
  • オンプレからAWS環境にデータベース移行するのに役立つ情報まとめ | DevelopersIO

    西澤です。先日"AWS環境へのデータ移行"をテーマに社内で営業向け勉強会を行ったのですが、自分が1から資料を作るよりもずっと有用な公開資料がたくさんあったので、それらを使って説明をさせてもらいました。当日メンバーから出た質問等も補足しながら、今回はその情報をこちらにまとめておきたいと思います。 前提 タイトルではデータベース移行としていますが、こちらではRDBの移行のみを対象とします。AWSの各種サービスの詳しい説明は行いません。それらを組み合わせて利用する際に必要となる情報をまとめたいと思います。また、これからご紹介する資料の中には重複する部分も含まれるのですが、私が個人的によくまとまっているというところをピックアップしてご紹介して行こうと思います。 AWSへのデータ転送方法のまとめ まずは、データファイルの転送方法のまとめです。いつの間にかできていた下記ページが非常にわかりやすくまとま

    オンプレからAWS環境にデータベース移行するのに役立つ情報まとめ | DevelopersIO
    hokorobi
    hokorobi 2017/06/25
  • [SQL]データの縦持ち、横持ちを入れ替える | DevelopersIO

    はじめに 弊社のデータ分析案件において、RedshiftにてSQLを実行してデータを抽出することが増えてまいりました。SQLはデータの抽出には強力なのですが、JavaRubyなどのプログラミング言語と比べると独特であることも事実です。 例えば(PL/SQLなどは除いてですが) ループがない 変数に代入して次の処理に行くことができない メソッドやクラスに処理を分割できない などです。 これらの特徴からSQLでデータ抽出を行う為には、JavaRubyなどとは異なった手法を取る必要があります。そこで「JavaRubyとかでは・・・というやり方でやるのだけど、SQLではどうやるのだろう」というケースについて、シリーズ形式で何回かに分けて取り上げたいと思います。 尚、SQLの基的な構文(select、join、group byなど)については説明しません。またデータベースの種類に関わらず使用

    [SQL]データの縦持ち、横持ちを入れ替える | DevelopersIO
    hokorobi
    hokorobi 2016/06/26
  • Digdag + EmbulkによるTSVファイルのS3→Redshiftロード #digdag | DevelopersIO

    はじめに こんにちは、yokatsukiです。 先日6月18日、第五回ゲームサーバ勉強会に参加してきました。 そこで、トレジャーデータのサポートエンジニアマネージャー高橋様から、直前の6月15日にオープンソース化されたばかりのDigdagの説明がありました。その時の発表スライドは下記です。 Digdagは弊社でも何名かが既に触ってブログで公開(下記)しているので、名前と目的は知ってましたが、説明とデモを見るうちに自分でも試してみたくなりました。 Embulk界隈で話題になっている分散ワークフローエンジン「DigDag」について調べてみた #digdag Treasure Data社のOSSワークフローエンジン『Digdag』を試してみた #digdag|Developers.IO という訳で、簡単ではありますが共有します。 テーブル定義の無いTSVファイルをRedshiftへロードする 通

    Digdag + EmbulkによるTSVファイルのS3→Redshiftロード #digdag | DevelopersIO
    hokorobi
    hokorobi 2016/06/22
  • アジャイル・クラウド・DevOpsとエンジニアの採用と評価についてRyuzeeさんに聞いてみた(14,000文字インタビュー!) | DevelopersIO

    アジャイル・クラウド・DevOpsとエンジニアの採用と評価についてRyuzeeさんに聞いてみた(14,000文字インタビュー!) はじめに 2月某日、Ryuzee.com の Ryuzee さんこと吉羽龍太郎さんに、アジャイル・クラウド・DevOps についてのお話を伺う機会がありました。エントリーは、その時の様子を文章化したものです。 アジャイル・クラウド・DevOps は実際のところどんなものなのか? 上手くいく/上手くいかない取り組みの違いはどこなのか? そもそもそれは当にやるべきか? 組織とエンジニアの関係、評価はどのようにすれば良いのか? といった幅広いテーマについて語っていただきました。 このインタビュー記事は、 アジャイル・クラウド・DevOps などをやりたいけど、どこから手を付けていいのかわからない方 手を付けたけど、なんだか上手くいっていないことにお悩みの方 もしく

    アジャイル・クラウド・DevOpsとエンジニアの採用と評価についてRyuzeeさんに聞いてみた(14,000文字インタビュー!) | DevelopersIO
    hokorobi
    hokorobi 2016/03/12
  • ネットワークの状況を確認するコマンド色々 | DevelopersIO

    なんで相手に繋がらないの!? サーバ管理していてよく起こる問題は、「なんで繋がらないの!?」ですよね。そこで、今回は基的なネットワークをご紹介したいと思います。OSやツールのバージョンにより動作が異なりますので、それぞれ調べてみて頂ければと思います。今回は、Amazon Linux 2015.03を用いています。 ping 基はpingですね。ICMPのにあるエコー要求/応答のpingを使って接続確認を行います。 $ ping yahoo.co.jp PING yahoo.co.jp (182.22.59.229) 56(84) bytes of data. 64 bytes from f1.top.vip.ssk.yahoo.co.jp (182.22.59.229): icmp_seq=1 ttl=54 time=4.84 ms 64 bytes from f1.top.vip.s

    ネットワークの状況を確認するコマンド色々 | DevelopersIO
    hokorobi
    hokorobi 2015/05/14
  • 【セッションレポート】ZabbixによるAWS監視のコツ #cmdevio2015H | DevelopersIO

    はじめに 先日開催されたDevelopers.IO 2015で『Developers.IO 2015』というタイトルで発表いたしました。 利用した資料と当日いただいたアドバイスを紹介します。 スライド 概要 次のような内容を紹介しました。 Zabbixの用語説明 弊社でのZabbix利用例 Zabbixを使ったAWSリソースの監視 Zabbixへのホストの自動登録 Zabbixサーバ自身の監視方法 発表後、Zabbixへのホスト自動登録について2つアドバイスを頂きました。 1つは、ホスト登録時の通知についてです。 発表ではZabbixのアクティブエージェントを利用した自動登録を紹介したのですが、登録時に通知メールを飛ばしたほうが良いのではないかとアドバイスを頂きました。 これまで自動登録に失敗したことがなかったため、登録時の通知については検討していなかったのですが、言われてみれば監視対象が

    【セッションレポート】ZabbixによるAWS監視のコツ #cmdevio2015H | DevelopersIO
    hokorobi
    hokorobi 2015/04/04
    中間のテンプレートを作るのか! なるほど! しきい値の上書きはテンプレートを適用した後のホストでやってたわ。
  • AWSのアカウント開設後にすべき事をまとめてみた | DevelopersIO

    はじめに AWSチームのすずきです。 クラウドサービスのAWS、有効なクレジットカードと電話番号があれば、10分ほどでその利用が開始できます。 AWS アカウント作成の流れ この様に簡単に取得できるAWSのアカウントですが、その管理が不適切な場合、意図せぬ事故の原因となることがあります。 今回、AWSを安全に安心して利用するため、AWSアカウントを開設後に実施すべき設定についてまとめてみました。 AWS環境が、弊社クラスメソッドメンバーズを初めとする請求代行サービスを利用されている場合、一部当てはまらない項目もありますのでご注意ください。 目次 ルートアカウントの保護 MFA(多要素認証)の導入 アクセスキーとシークレットキーの確認 IAM(Identity and Access Management)設定 IAMグループ作成 IAMユーザ作成 IAMユーザの認証設定 IAMのパスワードポ

    AWSのアカウント開設後にすべき事をまとめてみた | DevelopersIO
    hokorobi
    hokorobi 2015/03/15
  • Go言語 + cli-init でコマンドラインツールを作る | DevelopersIO

    よく訓練されたアップル信者、都元です。最近社内のメンバーがみんなGo言語の世界で楽しそうなので、私も混ざってみることにしました。最初のセットアップや基礎文法等は、私も平行して急いで学ぶGo langシリーズで勉強中です。 コマンドラインツールが作りたい と思っています。ちょっとしたものを作るとしたらPythonなのかな、と思って友達Pythonistaにインタビューをしたところ、「ちょっとしたツール作るとかって用途の人は Golangに移行した(えっ」という衝撃的なコメントを貰い、もうこの際だからGo勉強すっかという空気になった次第。 具体的な環境構築 基的には急いで学ぶGo langシリーズを読めばいいのですが、一点迷ったのがディレクトリ構成です。 Go言語で幸せになれる10のテクニックでは「GOPATHは一つだけ (Use a single GOPATH)」という指針が紹介されてい

    Go言語 + cli-init でコマンドラインツールを作る | DevelopersIO
    hokorobi
    hokorobi 2015/02/11
  • 【AWS】非エンジニアのための初めてのAmazon Web Services 資料をまとめてみた | DevelopersIO

    はじめに こんにちは植木和樹です。2013年2月2日は私がAWSに初めて触れた日で、日が1周年となります。JAWS-UG北陸(金沢)の勉強会でアマゾンデータサービスジャパンの堀内さんによるハンズオン(実際に画面を操作しての体験会)が開かれ、そこでEC2やRDSを触れたのが初となります。 実際にはその3ヶ月ほど前から、ネットに流れてくるAWS関係のニュースをみたり、自分のクレジットカードを使ってアカウントを作ったりはしていたのですが、マネージメントコンソールを用いた操作をちゃんとしたのがこの日が初めてだったわけです。 さてAWSを始めた方の多くは、まずEC2にApache+PHPを起動しRDSでMySQLを用意して・・・というエンジニア向けなところから入ってくる場合が多いようです。上記の通り私もその口で、それまで10年程やっていたインフラ(サーバー)エンジニアの延長としてAWSと関わり始め

    【AWS】非エンジニアのための初めてのAmazon Web Services 資料をまとめてみた | DevelopersIO
    hokorobi
    hokorobi 2014/02/16
  • ユニットテスト改善ガイド | DevelopersIO

    先日、日Javaユーザグループ(JJUG)主催のJJUG CCC 2013 Fallで、「ユニットテスト改善ガイド」というタイトルで登壇してきました。自分の経験を元に、ユニットテストをチームや組織へ導入する時に起こりえる問題とその解決のヒントに関するセッションです。エントリーではそのセッションの内容を再構成して公開します。 はじめに 近年のシステム開発では、ユニットテストや継続的インテグレーション(以下、CI)の導入は必要不可欠と考えられています。とはいえ、どんな組織(チーム)でも簡単に導入できているわけではありません。特に、大きな組織や古くからの慣習を残している組織では導入したくとも中々進まないと感じているところが多いのではないでしょうか?。 私は、これまでに多くの開発現場でユニットテストやCIの導入について推進してきました。成功したケースもあれば失敗したケースもあります。そして、失

    ユニットテスト改善ガイド | DevelopersIO
    hokorobi
    hokorobi 2013/11/14
  • 【AWS】VPC環境の作成ノウハウをまとめた社内向け資料を公開してみる | DevelopersIO

    よく訓練されたアップル信者、都元です。今回のお題は久しぶりにVPCです。 この記事は、アップデート版が存在します。最新情報は【AWSVPC環境構築ノウハウ社内資料 2014年4月版を参照してください。 VPCを利用する理由 弊社で構築するAWSのサーバ環境は、一部の例外を除いて全てVPCを利用しています。 突然ですが、筆者はあまり大規模なシステムに携わった経験がありません。大規模なプロジェクトだと「数百数千台のサーバがラッキングされ、それが論理的なネットワークで区切られていて」「複数のデータセンターが冗長化された専用線で結ばれて」等、正直ちょっと想像つかない世界があるんだと思います。よくわかんないですが。 (c)John McStravick. (CC BY 2.0 Licensed) 逆に、小さなシステムであれば、月々数万円でレンタルサーバを借りて「1台のマシンの中にWebサーバとDB

    【AWS】VPC環境の作成ノウハウをまとめた社内向け資料を公開してみる | DevelopersIO
    hokorobi
    hokorobi 2013/10/26
  • 【AWS】JenkinsとserverspecでChefのテストを自動化する | DevelopersIO

    はじめに こんにちは植木和樹です。相変わらずCloudFormationとChefな毎日を送っています。そのおかげで、最近は実験用サーバを設定するときにも極力手作業はなくし、CloudFormationやChefを使って自動化・省力化する習慣がつきました。以前作ったCookbookを使用して、コマンド1つで新環境が構築されたときって気分いいですよね。 さてChefのCookbookが増えてきて徐々に再利用が進んではいるのですが、Cookbookを作成してから数週間もすると「当にこのクックブックはまだ動くのかな?」と不安になってきます。ここはやはり、Cookbookが正しく適用されることを継続して保証する仕組みがほしいところです。 日はChef Cookbookのテスト自動化の一例として、JenkinsからEC2を起動してからchef-soloを使ってCookbooksを適用し、その後s

  • ちょっと高度にJavaScript/クロージャの基礎 | DevelopersIO

    JavaScriptのクロージャを一言で言うと、「自身が定義されたスコープにおいて変数を解決する関数」となります。 少し複雑ですが、マスターすれば何かと便利な概念なので、解説したいと思います。 ちなみに、JavaScript未経験なFlex開発者にオススメしたいClosure ToolsのClosure Toolsとは別物です。まぎらわしくてすみません。 例 var f = function() { var i = 0; return function() { return i++; } }(); console.log(f());// 0を出力 console.log(f());// 1を出力 console.log(f());// 2を出力 変数iは、匿名関数のローカルスコープに定義されています。ローカルスコープの変数は、関数の処理が終わると無くなってしまうのが普通ですが、関数fの出力

  • 1