トップへ戻る
シン・ウルトラマン
labs.septeni.co.jp
こんにちは。菅野です。 今年も暗号資産界隈は話題に事欠かないですね! その仕組みを支えているのはブロックチェーンです。 最近もAmazonやGoogleが注力している分野の一つです。 そして2021年に最もホットで技術的に魅力なブロックチェーンといえばSolanaでしょう! Solanaって? solana.com 詳しくはググってほしいのですが、簡単に言うと トランザクションのスループットがとても高い ゆえにトランザクション手数料も安く済む Rustでスマートコントラクト(Solanaではプログラムと呼ぶ)が書ける のような技術的な特徴があります。 私はEthereumやEOSのスマートコントラクトを作って遊んだことがあります。 でも、EthereumはSolidityというあまり馴染みのない言語で書く必要があり、EOSはwasmにコンパイルすることでRustで書くことが出来ましたがRu
こんにちは!@kakeyangです! 久しぶりの投稿です。 なぜなら、、、沖縄の八重山諸島に旅行に行ってましたのです! 楽しかったなぁ(遠い目) 今回は、開発で経験した通信障害の原因とその対策を公開します。 原因がLinuxカーネルの設定だったので、結構苦労しました。。。 障害概要 異なるネットワーク内(片方は弊社ネットワーク)の物理サーバ間(弊社が受信側)でインターネット越しにソケット通信を行う。 毎回ではないが1割程度の割合で、送信側でconnection timeoutを観測。 受信側にはapacheのログが残っていなかったので、webサーバには届いていない。 送信側でtracerouteすると、確かに弊社ネットワーク内には入っている。 弊社ネットワーク内のF/Wから物理サーバの間のどこかで通信が途絶えているっぽい! というところまではすぐに判明しました。 調査内容 データセンターと
こんにちは、杉谷と申します。 GANMA!を開発しつつ、社内環境を整えたりとかしています。 この会社に入社してから3年(+1ヶ月)経ちました。あっという間! いろいろやってきた結果、組織がますます良い感じになってきたので、会社ぐるみで試みてきたことをご紹介します。 2013〜2014でやってみたこと 入社1〜2年目は以下のことを行いました Chatwork / Stash(現BitBucket) / Confluence / JIRAの導入 開発ポリシーの制定 TDD研修・スクラム研修 システムリーダー定例 裁量労働制の導入 評価制度の改善 会社標準PCをMacBookPro 15インチ(松)に ゲーム部を立ち上げてみた 詳しくは前回のエントリ 2014年。開発組織を作るためにやってみた事 をご参照ください。 Slackの導入 2013〜2014の段階ではChatworkを利用していました
はじめまして、新卒エンジニアの大久保です。 セプテーニ・オリジナルに配属されて技術研修や課題も一段落しようやく会社の業務にも慣れてきたといった感じです。 今回、プロジェクトで本番環境と同じ開発環境をチームで共有するために Vagrant を使ったのですが、 ネットワーク周りが曖昧だったので勉強も兼ねて本記事でまとめたいと思います。 はじめに本記事は以下の環境で動作確認を行っております。 Virtual Box : 4.3.12 Vagrant : 1.6.2 Vagrantのネットワークについて Vagrantのネットワークはシンプルに作られています。 物理的なネットワークを想像していただければわかるように、実際のネットワークはスイッチングハブやルータなどネットワークを構成するさまざまな機器を意識しなければいけません。 仮に仮想マシンでもそれらのネットワーク構成を意識しなければならないとし
こんにちは。河内です。 最近はデータ基盤の構築も取り組んでいたりします。 社内では他の DWH が使われている事例がありますが、今回の基盤ではデータソースとの親和性や価格面などを考慮し BigQuery で行くことにしました。 BigQuery 上で多くのデータを順次変換してデータを生成するために何らかのワークフローエンジンが必要でした。 社内の他のシステムではワークフローエンジンとして Digdag を採用している例が多いですが、このシステムでは Kubernetes 上でサービスを運用しているため、当初(2020年12月)は Argo Workflow 上でクエリを順次実行することを構想していました。構想中に Dataform が Google に買収され、無料で使えるようになったというニュースが飛び込んできたため、触って感触が良いことを確かめた後、Dataform を使っていくことに
こんにちは。 @kimutyam (木村)です。 先日は『Scala/Scrum/DDD 困ったこと50連発ガトリングトーク』という勉強会にて登壇させていただきました。 scala-scrum-ddd-gatlingtalk.connpass.com 登壇後はガトリングすぎたのであっという間に終わったという意見がありましたので、 勉強会で質問していただいた内容の回答をまとめるエントリとします。 勉強会内容について Scala/Scrum/DDD 困ったこと50連発ガトリングトーク!! from Yasuyuki Sugitani www.slideshare.net 50連発でもスライド数173枚到達しました。 元々は100連発にしようと目論んでいたけど辞めてよかった... 以下のカテゴリで困ったことを50連発して各社でどのように解決してきたかというのが、このイベントの趣旨です。 詳細はス
こんにちは。菅野です。 最近、AIとか機械学習とかが話題ですね。 AIに仕事を奪われる職業がどうとかの記事もよく見かけます。 このブログ記事もAIが書いてくれたら良いのにと思っている今日この頃です。 …でも思ってるだけでは仕事を奪ってくれないので、やっぱり何かしら自分で作るしか無さそう。 という訳で、今回はJavaでディープラーニングが出来るDeeplearning4jを使って機械学習を試します! プロジェクトD さて、何を作りましょう? 最終的には私の仕事を勝手にやってくれるAIを作りたいです。 でも、はじめは簡単なものから少しずつ作っていこうと思います。 よくディープラーニングでネタにされるのは手書き文字の識別ですが、正直面白くないので道路上を自動運転するAIを作ります! 嘘です。 いきなり作るのは無理があるので、画像の道路が左カーブなのか、右カーブなのか、あるいは直線なのかを分類し画
こんばんは、ゆあさです。 今日はgulp-webserverを使った開発用のWebサーバー立ち上げの方法と、Web APIサーバーへのプロキシを実現する方法を紹介したいと思います。 gulp-webserverとは gulp-webserver gulp-webserverとは簡単に開発用のWebサーバーを立ち上げることができるgulp用のプラグインです。 ファイルの変更があった際に自動でブラウザを再読み込みしてくれるライブリロード機能や、別で起動しているhttpサーバーへのプロキシ機能などをデフォルトで備えています。 gulp-webserverのインストール まずは下記コマンドgulp-webserverをインストールします(gulpはすでにインストール済みの前提) npm install --save-dev gulp-webserver gulpタスクの追加 gulpfile.js
あけましておめでとうございます。河内です。 数ヶ月前に aws-vault を使い始めて安全の高まりを感じるので紹介します。 AWSのサービス上では IAM Role をできるだけ使ってアクセスキーを使わないようにしていますが、ローカルでの開発時にIAMのアクセスキーを利用することはあります。 アクセスキーが漏れると困ったことになります。 本番環境で利用している AWS アカウントで漏れると、付与している権限次第では機密情報が漏洩したりサービスが壊される可能性があります。 また開発環境としてのみ利用しているAWSアカウントであっても、ビットコインのマイニングなどで容赦なくリソースを消費され高額な請求が来たりする可能性ががあります。 そのようなことが起きないようにアクセスキーは安全に管理する必要があります。 通常はAWS SDK のデフォルト参照先である ~/.aws/credentials
こんにちは、丸山です。 JavaScriptフレームワークのひとつVue.jsの主な機能のひとつに、コンポーネントがあります。 コンポーネントはUIの部品のようなもので、(最初から特定の機能のために使われることが想定されている場合以外は)なるべく独立して再利用可能な状態を保つべきです。 また、そういったコンポーネントは作った人以外が使用することも多々あるので、どのように使うか、どういう機能を提供しているかといった情報が簡単にわかれば、開発の手助けになるかと思います。 そこで今回は、そういった場面でVueコンポーネントの開発を助けるライブラリを紹介します。 サンプルコンポーネント 今回下記のようなコンポーネントを用意しました。内容は簡単なMarkdownエディタです。 <template> <div id="editor"> <textarea v-model="input"></texta
セプテーニ・オリジナルの池田です。 弊社でDockerが使用されることになり、最近Dockerについて調べました。 今回Dockerfileを使わずに、DockerをインストールしてからNginx動かし、 Dockerのコンテナ、イメージ、基礎的なコマンドなどを説明したいと思います。 目次 Dockerのインストール 公開レジストリからCentOS7のイメージを取得 コンテナ作成 コンテナ内にアプリケーションを入れる レポジトリを作成する コンテナ内部でwebサーバーの立ち上げ 参考サイト OS Amazon Linux AMI release 2015.09 Dockerのインストール まずDokcerの環境を作ります。 ◼︎ Dockerをインストール [ec2-user ~]$ sudo yum install -y docker ◼︎ Dockerを起動 [ec2-user ~]$
こんにちは!杉谷と申します。 セプテーニグループのセプテーニ・オリジナル社とコミックスマート社のCTOを務めています。 AndroidがKotlinを正式サポートというニュースが駆け巡っています。 同じJVM系のScalaはどうなの?Androidで使えるの?と思われた方もいらっしゃると思いますが、 実は GANMA!のAndroid版はScalaで作られています。 GANMA!はダウンロードも600万を超え、Google Play上でも高評価を頂戴しておりますので開発実績としては十分な物かと思われます。 本エントリではScala Matsuri 2017やScala将軍達の後の祭り2017で配布したプライズ同人誌 「セプテーニ技術読本(2017)」のPDFと、その中で掲載された「ScalaでAndroid開発」をお送りします。 本稿は2017年2月に配布されたプライズ同人誌 《セプテーニ
こんにちは、GANMA!の開発を行っているtakezawa(@to4iki)です。 今回は、fastlaneの紹介と導入方法・簡易的な使用例を紹介します。 また、ブログ内で使用しているサンプルコードは公開しているので良かったら参考にしてみて下さい。 Sandbox-iOS/FastlaneBox fastlaneとは fastlane/fastlane: The easiest way to automate building and releasing your iOS and Android apps fastlaneは主にiOS/Androidアプリのビルド、テスト、デプロイを行うためのRuby製のタスクランナーであり、 アプリ開発の様々なフローにおける自動化をサポートしてくれます。 Twitter傘下のFabricに取り込まれており、また幾つかのCIサービスにも標準搭載されるなど今
こんにちは@kimutyamです。 今週末はいよいよScalaMatsuri2017ですね。 弊社は、今年も将軍スポンサーとして参加させていただきます。 そして今年も同人誌を配布させていただきます。 同人誌については去年配布した話を杉谷がブログで紹介しております。 labs.septeni.co.jp 今年の同人誌目次は以下となります。 ScalaでAndroidアプリ開発 単一責任の原則(SRP)についての見解と方法論 末尾再帰の呼び出し最適化の有無によるScalaコンパイラの挙動について Akka HTTP で LINE bot を作ってみました 新卒scalaエンジニアが書くISUCONの歩き方 去年に比べて記事数は少なめですが、内容は濃くなっております。 ちなみに私は弊社の今泉と一緒に『単一責任の原則(SRP)についての見解と方法論』を執筆しました。 (Scala関係ないw) 代わ
こんにちは。菅野です。 Reactと静的型付け言語は最高ですよね!(唐突) 既に使いこなしてる人も、今最高だと理解した人もいると思います。 ただ、今現在の社内ではVue.jsとBabelを使ったES環境が主流でReact派は悲しい思いをしています。1 そこで私は社内向けの小物ツールをReactで自作してReact欲を発散していたりします。 どんなツールかというと、タスクの見積もりで行うプランニングポーカーをちょこっと省力化するもので コイツを社内にじんわり布教しています。フフフ… このポンコツツールで使用されているものは、 Scala.js + React + Akka HTTPでWebSocketという闇の技術で、 そんな物をちゃっかり開発用サーバで動かすという投げやりな運用をしています。 しかしScala.js + Reactがちょっと辛くなってきたのと、やっぱりエコシステムの大きなフ
こんにちは、10月入社した盛岡です。 とても快適な環境で開発できているので、紹介致します。 開発環境 1. PC・周辺機器 MacBookPro 15インチ(CPU:2.3GHz i7, メモリ:16GB, SSD:512GB) キーボード、マウス、追加モニター等業務に必要な物は会社負担で購入可能 ぼくのかんがえたさいきょうのPCまわり キーボード:REALFORCE108UG-HiPro マウス:SteelSeries Rival 300 モニター:DELL U2414H * 2 2. 開発ツール IDEはIntelliJ IDEA(入社した次の日にライセンスがもらえた!) コード管理はBitBucket ChatはSlack チケット管理はJIRA CIはBamboo 3. 裁量労働制 裁量労働についてはドワンゴさんでも話題になっていましたが、セプテーニ・オリジナル(以下、セプオリ)も
こんにちは。Scalaのプログラミングができる河内です。 共著という形で取り組んでいた実践Scala入門が、先日、技術評論社から発売されました。 なお、同僚の青山さん、技術顧問の麻植さんも共著者として名を連ねています。 gihyo.jp 私が執筆に関わろうと思ったのは、大げさな表現になりますが、幸せなエンジニア生活を送れる人が少しでも増えるように願っているからです。 書籍を通じてScalaの普及を手助けすることが、良い環境でプログラミングする人を増やし、幸せを増やすことにつながると思ったのです。 バグが少ないプログラムを書きやすい点、やりたいことが素早く実現できる点でScalaはバランスが取れていると思います。 式中心で合成しやすい構文や型チェックはバグの少なさに貢献しますし、Javaの各種ライブラリやJVM用ツールがそのまま使える点や優れたIDEの存在はやりたいことを素早く実現するのに役
こんにちは! 新卒の濱と申します。 弊社では、開発言語としてScalaを採用しています。 私はScalaを使い始めて半年以上経ちましたが、コードレビューでは指摘されることが多く、未だに勉強の日々です。 コードレビューでは先輩や同僚が悪いところを指摘してくれるため、なぜこの書き方がダメなのか理解することができますよね。 しかし、独学でやるとなると自分の書いたコードが良いのか悪いのか判断しにくかったりします。 今回は、自分のコードをより良くするためのツールについて紹介したいと思います。 コーディングルールをチェック 静的解析ツールを利用する Wikipediaによると、静的解析ツールとは以下を指すようです。 コンピュータのソフトウェアの解析手法の一種であり、実行ファイルを実行することなく解析を行うこと。 出典: Wikipedia 静的コード解析 静的解析ツールを用いることにより、Anyを使っ
大久保です。 最近、会社でElasticsearch+Kibana+Fluentdという定番の組み合わせを使ってログ解析する機会があったので、ついでにいろいろ勉強してみました。 触ってみておもしろかったのが、Elasticsearchがログ解析だけじゃなくてちょっとしたKVSのようにも振る舞えることです。 ElasticsearchはKibanaと組み合わせることで、もっといろいろおもしろいことできそう感あります!! 本記事では、その一例としてTwitterのトレンドワードをリアルタイムに集計するプログラムを組んでみました。 完成形:トレンドワードごとのツイート数をグラフ化 #開発環境と各種ミドルウェアのバージョン ローカルで確認できればよかったので開発環境はMacです。 Java ElasticsearchはJava製なのでJavaのバージョンを確認。 $ java -version j
広告ツールチームでスクラムマスターをやっています貫名です。 先日、odd-e Japanアジャイル・コーチの江端氏をお招きしチーム開発やScrumについての1日研修を実施しました。 学び多き時間だったのですが「透明性」について改めての気づきがあり、我々の現状について考え直してみようと思います。 そもそも「透明性」って 多くの人はスクラムガイドに出てくる3本柱で見たのではないでしょうか。 透明性 (英語:Transparency) 経験的プロセスで重要なのは、結果責任を持つ者に対して見える化されていることである。 透明性とは、こうしたことが標準化され、見ている人が共通理解を持つことである。 出展:「スクラムガイド」より 英語表記は異なりますが、CoreScrumに出てくるScrum Valuesでも触れられてますね。 Openness As we work together, we expr
初めまして。菅野と申します。 去年10月に入社し、広告運用ツールを開発するチームに所属しています。 私は普段の開発ではPlayとTypeScriptを使用しています。 PlayやTypeScriptにはそれほど不満は感じていないのですが、その他のツールやライブラリについても気になっているものがいろいろとあります。 特にAkka HTTP 2.0とScala.jsが気になっていて、それらを試すためにToDoアプリのようなものを作ってみました。 今回はその過程を紹介したいと思います。 Akka HTTP Akka HTTPとはAkkaを使用したHTTPサーバライブラリです。 Akka Streamsを使って実装されているため、処理はリアクティブでback-pressureにも対応できるのが特徴です。 libraryDependencies += "com.typesafe.akka" %% "
新卒2年目の大久保です。(´-`) IntelliJ IDEA使い始めて結構経つんですが、未だに機能を活用しきれてないなと感じます。。(´-`) 特にGit周りに関しては知ってると便利な機能いろいろあるので、学習も兼ねていくつかピックアップしてまとめてみました。(´-`) 例で使用しているコードの言語はScalaです。 Annotate機能 現在表示されてるファイルの各行の最終更新日と更新者を確認 ファイルの行番号とかの横にGitのコミット情報を表示できます。 git blameとほぼ同じですね。 <やり方> 行番号が表示されてるとこを右クリック -> [Annotate]選択 コミットの差分を表示 Annotateによって表示された行を選択することで、そのコミットにおける各ファイルの差分を表示できます。 <やり方> 行番号が表示されてるとこを右クリック -> [Annotate]選択 -
Septeni Originalの大久保です。 世間ではSPAが流行ってるかと思います。 ただHTMLのレンダリングはサーバー側で行うケースは以前多いのではないでしょうか? 現在自分が携わってる新規プロダクトでモダンなフロントエンドの技術(WebapackやES2015など)を使いつつ、HTMLレンダリングはサーバーに委ねるようなアーキテクチャ(Multi Page Application)の調査を行ったので、そこでの知識を備忘録的にまとめたいと思います。 今回作成したコードはGithubにあげているので、興味あればご参照ください。 Github URL:https://github.com/yoppe/webpack-es2015-base-for-play #やりたいこと バックとフロントのGitリポジトリを分けずに作る。 ⇒ リリース時などにバックとフロントを別々にリリースしたりデプ
こんにちは、杉谷と申します。 昨日6/17に、弊社にて「"Septeni×Scala"勉強会 #3」 を開催しました。 本勉強会は弊社の知名度アップを目標としつつ、社内教育を兼ねたもので 1~2ヶ月おきに定期的に実施しており、今回は3回目です。 回を重ねるにつれ、大変多くの方々にご参加戴けるようになってきました。 ありがとうございます。 今回の発表内容は以下の通りでした GANMA!でDDDをやってみてから1年くらい経った GANMA!でDDDをやってみてから1年くらい経った from Yasuyuki Sugitani 完全オリジナルのマンガを定期配信しているGANMA!はドメイン駆動設計を採用しています。 その具体的なモデリングや反省などをまとめ、発表させていただきました。 DDD × 新人が学んでみたレシピ共有 Ddd × 新人教育 from 侑亮 原田 弊社ではほとんどのプロジェク
こんにちは、門脇(@blac_k_ey)です。 Tetris99に進捗を奪われるのが趣味です。 … 最近、アプリケーションログ周りを整えるお仕事をしておりまして、 その中で logstash-logback-encoder というライブラリを触りました。 使い心地がとても良かったので、今回はScalaアプリケーションでこれを利用する方法をご紹介したいと思います。 logstash-logback-encoderとは JSONでログを出力することの嬉しさ 前置き logstash-logback-encoderを使うための設定 ライブラリ依存を追加する Logbackを設定する logstash-logback-encoder を使ってログを出力する Hello, Logging with JSON! JSONに静的なフィールドを追加する フィールドを動的に追加する StructuredAr
はじめまして。1年目の早瀬です。 2ヶ月ほど前からGoogleMusicが日本でも使用できるようになりましたね。 僕も使用しているのですが複数端末から曲をアップロードしようと思うとどうしても重複曲が出てきてしまいます。 GoogleMusicには重複曲を削除する機能がないので、今回はPythonを使用して重複曲を削除したいと思います。 外部パッケージのインストール&使用してみる 今回は gmusicapi という外部モジュールを使用します。 $ pip install gmusicapi 外部モジュールのインストールが終わったら試しにこちらのソースコードを動かしてみたいと思います。 from gmusicapi import Mobileclient api = Mobileclient() api.login('user@gmail.com', 'my-password', Mobile
2年目エンジニアの大北です。 今日は9/5に開催した弊社主催のエンジニア交流イベント、第2回新宿Geek Loungeのレポートをお送りします! 第2回目のゲストは、スターバックス社のJamie Allenさん。(※講演は通訳付きです) Jamieさんは、スターバックス社のバックエンド開発を牽引するDirector of Engineeringであり、過去にはLightbendでSenior Directorを務めていたそうです。 Scalaエンジニア歴は9年!Effective Akkaの著者、Reactive Design Patternsの共著者でもあります。 20:00〜 Jamieさんの講演(前半) 新宿Geek Loungeは乾杯からスタート。 ビールやワイン、ジュースなど思い思いのドリンクを取って席につきます。 Jamieさんの講演が始まります。 スターバックス社やLight
はじめに はじめまして、加藤と申します。 CUIでの作業が多いため普段から何かと使用するシェルですが、もっと便利に活用できたらなと。 そんな思いで以前から少し気になっていたzshと戯れてみようかなと思います。 0. zshとは? UNIXのコマンドシェル(よく使用されているのはbash) タブ補完が強力 柔軟性があり自在にカスタマイズが可能 1. 現在のシェルを確認 標準ではbashが設定されていることが多いようです。 $ echo $SHELL /bin/bash 2. 使用可能なシェルを確認 一覧にzshがあることを確認できます。 $ cat /etc/shells /bin/bash /bin/csh /bin/ksh /bin/sh /bin/tcsh /bin/zsh ついでにこれでzshのみに絞れます。 $ cat /etc/shells | grep zsh /bin/zsh
次のページ
このページを最初にブックマークしてみませんか?
『FLINTERS Engineer's Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く