RAKUS Developers Blog | ラクス エンジニアブログ

株式会社ラクスのITエンジニアによる技術ブログです。

イベント詳細についてはこちらをクリック

Goでconnpass APIを叩いて出力するまでやってみた

f:id:mako_makok:20191224160255p:plain

こんにちは、新卒のmako_makokです。 今回はGo未経験者が外部のAPIを叩いてみた話になります。

  • はじめに
  • この記事でやること
  • 型を作る
  • リクエス
  • connpass APIを叩いてみる
  • 実行結果
  • 最後に

はじめに

自分でカスタマイズしたクエリを使用して勉強会情報を取得したいと考えました。
普段はこういったツールは個人的にPythonで書くことが多いのですが、ある程度使い慣れた言語でリクエストを投げてパースするだけだとすぐに実装が終わってしまうので、
勉強がてら興味があったGoで実装してみました。
本日はGoで
1. connpass APIを叩き
2. レスポンスを構造体に詰め
3. 出力
するまでの手順や使用したツールについてお話ししようと思います。

この記事でやること

  • やること
    • レスポンスのjsonに対応した型の作成
    • httpクライアントの生成からGETリクエストを送る
    • Jsonを定義した型に変換する
続きを読む

PHP Conference Japan 2019 でレガシーシステムとの戦い方について話しました。

はじめまして。@penguin_no_045です。 東京で12/1に開催された PHP Conference Japan 2019でLT登壇してきました。 また、株式会社ラクスは PHP Conference Japan 2019 のブロンズスポンサーとして協賛しています。

イベント概要

登壇

社内最長老のシステムにPHPUnitで立ち向かう方法

speakerdeck.com

発表の要旨は、レガシーシステムPHPバージョンアップをPHPUnitでなんとかしたというものです。いわゆるレガシーネタですが、 少ないリソースでどうやって大きなコードをテストしていくのかということについてお話しました。内容は発表資料を参照いただくことにして実際に行ったことを振り返ると、それにしてもかなり極端な手法を採用したように思います。
なぜこんな手法をとれたのかというと、今回のPHPバージョンアップによって文法的に正しい状態が維持されているかどうかだけに責務を絞ったからです。それだけが目的だったので、モックでもなんでも使用してとにかくカバレッジを上げるという戦術を取ることができました。しかし品質担保の責務がもしあるならば、初めからこの手法は破綻しているでしょう。

お礼

発表準備に際してさまざまな方に資料のレビューや発表練習にお付き合いいただきました。
この場を借りてお礼を言いたいと思います。ありがとうございました!

続きを読む

実装の際に気を付けるべき汎用メソッドの落とし穴

こんにちは。新卒1年目エンジニアのrs_shoです。
投稿は3回目になります。
今回は実装の際に気を付けるべき汎用メソッドの落とし穴についてお話ししたいと思います。

  • はじめに
  • そもそも何に困ったのか
  • 解決するためにどういう案があるのか
  • おわりに
  • 参考資料

はじめに

皆さん、javaでコーディングする時によく使うUtilsの便利なメソッド、コーディングが楽ですよね。
実装する際によくStringUtilsやNumberUtilsなど、色々な汎用メソッドを多用して
楽にコーディングできるので、ついつい使ってしまいがち。。。

そういう僕も良く汎用メソッドを使って実装することが多々ありますが、今回はそのメソッドを使った際に
困ってしまったお話をしようと思います。

続きを読む

新人エンジニアの読めそうで読めなかったシェルの話

はじめに

はじめまして。新卒1年目のtuq376sです。
気付けば入社してから季節は4つ目。毎日新しい壁にぶつかりながら、それでも随分とわかることが増えたなぁと思うくらいには成長できている気がします。
今回はそんな壁の中から、初めてシェルスクリプトを業務で触った時のことをまとめてみようかと思います。

  • はじめに
  • 読めそうで読めなかったシェル
  • 学んだこと
    • 特殊パラメータ
    • if文の条件式
      • testコマンド
    • リダイレクト
  • さいごに
続きを読む

ドメイン駆動設計を支えるアーキテクチャテスト

@kawanamiyuu です。この記事は「ドメイン駆動設計#1 Advent Calendar 2019」の 6 日目の記事です。

1. はじめに

最近、技術イベントやまた社内でも「ドメイン駆動設計」や「クリーンアーキテクチャ」についての話題をこれまでにも増してよく耳にするようになりました。

私も楽楽労務という実際のプロダクト開発で 1 年以上、ドメイン駆動設計に取り組んできました。ドメイン駆動設計 チョットデキル ような気がしてきたころ、このように思いました。

ドメイン駆動設計って、『オブジェクト指向設計をちゃんとやる』ってことだよね?」

ドメイン駆動設計もクリーンアーキテクチャも、オブジェクト指向設計原則のうえに成り立つ設計プラクティスであり、ただ、重要な視点として、オブジェクト指向設計原則の適用を検討する対象がクラスだけではありません。もう少し大きな単位、パッケージ・モジュール・レイヤー、まで視野を広げます。

  • 依存関係が注意深く設計され、単一の責任を持ったモジュールやパッケージが、ドメインをかたちづくります
  • レイヤーやパッケージの依存関係の逆転により、ドメインは自身の関心や責務を逸脱することなくビジネスロジックの実現に集中できます

ドメイン駆動設計がオブジェクト指向プログラミングによって実現されるということは、そのアーキテクチャも、私たちが慣れたいつもの方法 ─ ユニットテスト ─ で、テストすることができます。ソースコードアーキテクチャも、一度つくって終わりではありません。プロダクト開発が続くかぎり、常に見直され改善されるべき対象です。

......

前置きが長くなりましたが、この記事では依存関係という切り口から、アーキテクチャの品質を継続的に維持・改善していくための手法として、ArchUnit (Java) によるアーキテクチャテストを紹介します。

github.com

ArchUnit って何?については昨年のアドベントカレンダーに投稿しています。

qiita.com

続きを読む

JSConf JPで登壇してきました

こんにちは、@whiteFox_73です。東京で11/30~12/1に開催されたJSConf JPに登壇してきました。
また、株式会社ラクスはJSConf JPの BRONZE スポンサーとしてイベントに協賛いたしました。

イベント概要

  • 日時:2019年11月30日(土)~ 2019年12月1日(日)
  • 会場:アーツ千代田 3331
  • 公式 HP:https://jsconf.jp/2019/

jsconf.jp

登壇

正攻法はあるのか!?泥臭く戦ったNode.jsバージョンアップ一部始終(30分セッション)

speakerdeck.com

続きを読む

Linuxのパーミッション -不本意なファイル削除を防ぐための設定-

はじめに

はじめまして、新卒1年目エンジニアのthree_yagiです。

入社から早くも8か月が過ぎ、ようやく業務にも慣れてきました。業務においてLinuxを操作することが度々あり、はじめは何か操作しようとする度にコマンドなどを調べていましたが、最近は基本的な操作なら検索サイトを頼らなくても出来るようになってきました。

Linuxパーミッションについては入社後の研修でLinuxのマニュアルを読んで基礎から学習しました。最近、そのパーミッションを意識する機会があったので、自身の復習も兼ねて基本をまとめてみました。また、意外と見落としがちなファイル削除時のパーミッションの注意点について紹介します。

目次

パーミッションとは

Linuxではファイルとディレクトリに対して、誰がどういった操作ができるかの権限を設定することができます。この設定をパーミッションといいます。
パーミッションは、「ファイルの所有者」「所有グループ」「その他ユーザー」という3種のユーザータイプに対してそれぞれ「読み取り」「書き込み」「実行」の権限を割り当てることができます。

続きを読む
Copyright © RAKUS Co., Ltd. All rights reserved.