APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

ReactユーザーがSvelteを使ってみてよかったと思うところ

この記事は、エーピーコミュニケーションズ Advent Calendar 2019 の9日目のエントリです。 先進サービス開発事業部の高橋です。フロントエンドエンジニアを担当しています。 普段の業務ではReactJSを使っていますが、業務外でちょっとした画面作りにSvelte…

コーディング未経験者がPythonでCSV自動生成ツールを作りました

はじめに 先進サービス開発事業部の高橋です。 ブログ初投稿となります、よろしくお願いいたします。 今回はNEEDLEWORK-ScenarioWriterについて書きます。 NEEDLEWORK-ScenarioWriterとは 私が所属する部署はNEEDLEWORKというプロダクトを提供しています。 …

Ansible Lintの使い方について

この記事は、エーピーコミュニケーションズ Advent Calendar 2019 の2日目のエントリです。 こんにちは。技術開発部所属の伊藤です。 Playbookを人手で標準化するのはしんどいなと思ったときに 便利なAnsible Lintについて書きます。 Ansible Lintとは Lint…

「Ansible 実践ガイド第3版」のネットワーク的なおすすめポイント

■ はじめに こんにちは、技術開発部 自動化グループの横地(@akira6592)です。 本日 2019/10/18 に Ansible 実践ガイド 第3版が発売されました。Ansible 2.8 に対応し(第2版は2.4)、新たにネットワーク自動化や Azure の連携に関する内容が追加されました。…

AWS CloudWatch Metric Statistics を参考にしてRDSを止めてみる

はじめに 使うものとか前提 Lambdaコード 解説とか はじめに メトリクスを制する者はAWSを制する 特に意味はないです、それっぽいこと書いてみただけです... 改めまして、システム基盤開発室という部署に所属してる社員番号666です。 以前、検証用に準備した…

Goで重み付き乱択アルゴリズムを書く

はじめに 先進サービス開発事業部の山岡です。 重み付き乱択アルゴリズムとは結果に偏りのある抽選の事で、身近な例でいえばソシャゲのガチャでしょうか。ガチャはアイテムの抽選結果に偏りがあり、一般にそのアイテムの有用性が高いほど入手確率が低く設定…

ハンズオンセミナー「イチからはじめるAnsible」を開催しました

8/21にSB C&S x Red Hat x エーピーコミュニケーションズ合同で、初学者向けのAnsibleハンズオンセミナーを開催いたしました。 講師はレッドハット社 シニアソリューションアーキテクトの岡野氏と、当社 テクニカルエバンジェリストの横地氏が務めました。 …

NEEDLEWORKにネットワークテスト自動化機能を追加しました

先進サービス開発事業部の内藤です。 当社で開発・販売をしている、テスト自動化製品「NEEDLEWORK」がアップデートによりネットワークテストに対応いたしました。 今まではファイアウォールのセキュリティポリシー、ルータ・L3スイッチなどのアクセスリスト…

JANOG Meeting 44 in KOBE 参加レポート<後編>

SIS事業本部の長谷川です。 "イベントレポーター"に任命され、JANOG44に行ってきました。 参加したセッションの概要と所感を、前・後編に分けてご紹介します。 今回は後編(7/26)です。 07/26 参加プログラム ここから始めよう運用自動化 【主旨】 【内容】 …

JANOG Meeting 44 in KOBE 参加レポート<前編>

SIS事業本部の長谷川です。 "イベントレポーター"に任命され、JANOG44に行ってきました。 参加したセッションの概要と所感を、前・後編に分けてご紹介します。 今回は前編(7/25)です。 JANOGとは? JANOG Meeting 44 in KOBE 開催概要 会場の様子 07/25 参加…

kubernetesソースコードリーディング 第4回

今回はちょっと趣向を変えて、テーマはDockerです! kubernetesのソースコードからは少々離れてしまいますが、 コンテナランタイムもkubernetesの重要なコンポーネントの1つなので知っておいて損はないはず…! アジェンダは以下になります。 コンテナ仮想化…

GolangのgrpcwebでCORSエラーが出る時はOriginFuncを確認しよう

はじめに 先進サービス開発事業部の山岡です。 小ネタですがgrpcweb *1 の検証をしている時にCORSエラーでハマったので対処法をメモしておきます。 *1:https://github.com/improbable-eng/grpc-web/tree/master/go/grpcweb

GolangでgRPCを試してみる

はじめに 先進サービス開発事業部の山岡です。 仕事で使う機会がありそうなのでgRPC *1 に入門しました。まずは定番のHello, Worldからやってみたのでその内容を共有したいと思います。 *1:https://grpc.io/

async/await を使って連続する非同期処理の整合性を保つ

はじめに 先進サービス開発事業部の高橋です。 JavaScriptの非同期処理の終了タイミングを計るという行為は少し癖があって扱いにくい印象がありましたが、ES2017から追加されたasync/awaitを使うとかなり楽に実装できるようになりました。 そこで、複数の連…

GoPacketでネットワークと直接お喋りしよう

はじめに 先進サービス開発事業部の山岡です。 Go言語は標準でかなり強力なネットワーク用のライブラリーがありますが、GoPacket *1 を使うと更に細かいところをイジれるようになります。 仕事でパケットをごにょごにょしたところ結構面白かったのでここで紹…

LinuxのNetwork Namespaceで手元にネットワークテスト環境を作る

はじめに 先進サービス開発事業部の山岡です。 最近Raw Socketで通信するプログラムを書いているのですが、試しにパケットを送って他所と上手く通信できるか確認したい時に実機を使うのは大変面倒です。こういった場合にLinuxのNetwork Namespaceを使えば手…

kubernetesソースコードリーディング 第3回

前回、前々回に引き続き、社内kubernetes勉強会が開催されました。 今回のテーマはkube-scheduler! アジェンダはこちらです。 kube-schedulerの概要 kube-schedulerの実装 Predicateの実装 Prioritizeの実装 Scheduler Extender 「要件に合った自分好みのSc…

AWS IoT Greengrassを使ってみる(その2)

はじめに Lambdaコードの準備 AWS Lambdaへの登録 AWS IoT GreengrassへのLambda登録 IoT デバイスへのデプロイ サブスクリプションの登録 テスト はじめに どうも、システム基盤開発室という部署に所属してる社員番号666です。 前回は AWS IoT Greengrassを…

AWS IoT Greengrassを使ってみる(その1)

はじめに 今回やろうとしていること 用意するもの AWS IoT Greengrass って何? AWS IoT Greengrass の利用開始 Greeengrass ソフトウェアの準備 Greeengrass 起動 はじめに どうも、システム基盤開発室という部署に所属してる社員番号666です。 前回はラズ…

社内でkubernetes勉強会を始めて、kubernetesのソースコードリーディングに入門しました

はじめに 第1回のざっくりまとめ 第2回のまとめ client goでCLIツールを作ろう kube-budilerでCustomController入門 リファレンス実装で学ぶInformer Framework 聞いた感想 はじめに コンテナグループの安藤 @chataro0です。 5月から隔週で有志とコンテナ/Ku…

Certified Kubernetes Administrator(CKA)を取得しました ~その2

はじめに システム基盤サービス事業本部 技術開発部 コンテナGの安藤です。 先日、記事を書いた松崎に続き、 私もCertified Kubernetes Administrator (CKA)を取得しました。 二番煎じになってしまいますが、いくつか状況が違ったところもあったのでその辺り…

ラズベリーパイを使ってセンサーで遊んでみる

Raspberry Pi 3 Model B+ 自己紹介 はじめに ラズベリーパイのセットアップ Wi-Fi SSHD sshd_config ラズパイとGrovePi+の接続(物理的) GrovePi+接続のセットアップ GrovePi+にLED 取り付け GrovePi+にデジタル温度・湿度センサー 取り付け GrovePi+に水分セ…

EC2でインスタンスを再起動せずディスク領域を拡張する(Amazon Linux)

AWS

はじめに 先進サービス開発事業部の山岡です。 1年半ほど前に趣味でソリューションアーキテクト・プロフェッショナルを取得したものの最近とんとAWSと戯れていなかったのですが、再起動無しでEC2の拡張ができることをClassmethodさんの記事 *1 で知り興味を…

goenvとdirenvでGo Modules有無両対応な開発環境を作る

はじめに 先進サービス開発事業部の山岡です。 Go ModulesはGo1.11から実験的にサポートされ1.13から正式ツール(デフォルトで有効)となる予定である依存関係管理機能です *1 。これは export GO111MODULE=on することで使えるようになり、詳細は省きますが…

JavaScriptで配列の初期値に空の配列をセットする際に気をつけるべき点

先進サービス開発事業部の高橋です。主にフロントエンドの開発を担当しています。今回はちょっとした小ネタを。 タイトルは意味が伝わりにくいですが、要は以下のような2次元配列をあらかじめ作りたかったということです。 [[], [], [], ...] // 配列の中に…

Certified Kubernetes Administrator(CKA)を取得しました

はじめに システム基盤サービス事業本部 技術開発部 コンテナGの松崎です。 Certified Kubernetes Administrator (CKA)を取得しました。 これから受験される方向けに受験記録を残そうと思います。 自分のバックグラウンド インフラエンジニア5年目 主な経験…

[Ansible] EX407 (Red Hat Certificate of Expertise in Ansible Automation) 受験体験記

■ はじめに はじめまして みなさん、はじめまして。システム基盤サービス事業本部 技術開発部 自動化グループの横地(@akira6592)です。 普段は、主にネットワーク自動化に関する業務を行っています。 その他、個人ブログ「てくなべ」を書いたり、Ansible ユ…

Google App Engineの2nd Generationとは?

はじめに 先進サービス開発事業部の山岡です。 Google App Engine(GAE)は所謂PaaSでサーバーやネットワークの管理を気にせずアプリの開発に集中することができます。 最近これに関するホットな話題として2nd Generationへの移行がありますが、色々と情報が飛…

GAE/Go1.9から1.11にマイグレーションしようとして躓いたところ

はじめに 先進サービス開発事業部の山岡です。 GAE/Goは1.6, 1,8, 1.9, 1.11, 1.12(beta)と随時新しいGolangバージョンに対応してきていますが、1.11からはGAEのバックエンドがgVisorベースの2nd Generationとなり大きな変更点が複数ありました。 *1 1.11で…

Cloud Native Days Fukuoka 2019 イベントレポート (1/2)

はじめに Conference KeyNote Welcome Talk from Fukuoka 飛び込もう、Cloud Nativeの世界 CacooのKubernetesによるマイクロサービスアーキテクチャ Kubernetesはキャズムを超えるのか Kubernetes を利用したコンテナ開発のススメ セッション CircleCI 2.0を…