Tech Lunch 2019/06/05
Tech Lunch 2019-06-05
@naotty
Facebookのクローラー
UAが facebookexternalhit/1.1
でログが吐かれる。
ただ、アクセス数が大量なのでもはやDos攻撃かと・・
バズるはずがないページにも来るし・・
ブロックしたい・・ したい・・
「Sign In with Apple」、サードパーティーログイン採用の全アプリに義務化へ - CNET Japan
Cognitoでの認証も引っかかるのか気になるところ。
その他
- GeoGuessr - Let's explore the world!
- Googleストビューで現在地を当てるゲーム
- https://twitter.com/yusai00/status/1126271825162358785?s=12
- プログラマーを退屈な作業から解き放つ:あるソフトウェア企業は、こうして根強いファンを増やした|WIRED.jp
@atomita
Sonicの紹介
高速、軽量を謳ったElasticsearchの代替softwareです
公式Libraryとしてphpのpackageがあるのも○
今後に注目
dot言語入門
先日、projectのpull requestにて図解で説明したほうが伝わりやすいと思って、dot言語をsvgに変換してくれるWeb Service(Gravizo)を使ったので、それを元に簡単にdot言語の書き方を紹介しました
が、tech lunch中にはrank
での並び替えが上手くいかずorz
digraph G {
graph [
rankdir = LR
];
left [shape = none, fontsize = 8];
right [shape = none, fontsize = 8];
left -> right [color = white];
job [shape=box, height=2.75, width=1];
emp [shape=box, height=1, width=1];
area [shape=box, height=1.5, width=1];
{rank = min; left; job;}
{rank = same; right; emp; area;}
}
↑はpull requestに残してたものを掘り出してきました
Kroki!の紹介
Gravizo同様にテキストのdiagramを画像にしてくれるWeb Serviceです
こちらはdiagramをbase64に変換してURLに含ませるのが少々面倒ですが、対応しているdiagramが多いのが魅力
@jhonyspicy
Laravelパッケージ開発のテスト
Laravelのパッケージ開発時のテストにOrchestral Testbenchが便利です。
こんな感じにパッケージ開発用の環境でLaravelの関数や機能を使ってテストができます。
<?php
/*
* 雰囲気だけ伝わればいい的なコードですので
* 実際は動作しません。
*/
class SomethingTest extends \Orchestra\Testbench\TestCase
{
use RefreshDatabase;
protected function setUp(): void
{
parent::setUp();
$this->withFactories(__DIR__ . '/path/to/factory');
}
/**
* @param \Illuminate\Foundation\Application $app
*
* @return array
*/
protected function getPackageProviders($app)
{
return [
// テスト用のプロバイダやパッケージで使うプロバイダも登録できます。
SomeProvider::class,
];
}
/**
* configの値を書き換える。
*
* @param \Illuminate\Foundation\Application $app
*/
protected function getEnvironmentSetUp($app)
{
// テストようにconfigの値をデフォルトから変更できます。
$app['config']->set('database.default', 'testdb');
$app['config']->set('database.connections.testdb', [
'driver' => 'sqlite',
'database' => ':memory:',
]);
...
...
...
}
/** @test */
public function someTest()
{
// factoryやモデルも使えます。
$user = factory(User::class)->create();
$this->assertTrue(true);
}
}