参加了GCPUG湘南联赛.GAE vol.3的笔记

简述

因为我住在东京都江东区的湘南地区,所以我参加了GCPUG Shonan fet.GAE vol.3活动。从茅ケ崎到这里大约有60公里的距离,乘火车需要大约90分钟的时间。因为平时我经常参加横滨的タネマキGAE活动,所以与GAE有一定的缘分。虽然GAE曾经被认为是超前的,反复受到人类的指责和批评,但我觉得最近人类终于跟上了GAE的步伐。

GAE很不错。

关于演讲内容

発表者(敬称略)タイトル使用GAEs0kam0PHP:ZendExpressive + SendGridでメール送信Standard (PHP)secondarykeyGAE/Goでブログを作ってみたStandard (Go)ryu22eGAEで社内向けドキュメント公開Standard (Go)souGAE デプロイボットを GAE で動かす話Flexiblejunya_debariGAEとBigQueryでジオコーディングの精度を調べたい話Standard (Py)nagai7「パフォーマンスを言語ごとで調べてみた」色々nuki_ponGAEからGCEinstanceを上げたり、落としたりStandard (Go)

使用PHP的ZendExpressive + SendGrid进行邮件发送。

“App Engine 最近改名为 ‘现代化的 PHP’。‘GAE/PHP 在谷歌公司可是被广泛使用的!’ ‘在 Qiita 上搜索了一下相关文章数量’ ‘GAE/PHP 的震撼结果’ 等等类似的讨论。虽然让人震惊的是,灵活环境下的 Ruby 文章数量比 GAE/PHP 多,但是和 NodeJS 相比,数量还是比较多的。
由于 GAE/PHP 无法进行文件缓存,建议多强调使用 memcache。我会特别强调一下。在 GAE/PHP 中不能使用文件缓存,所以要使用 memcache。”

说起来,我记得在ECCube(EC类的开放源代码系统)中文件缓存基本上是主要使用方式,不过在PHP中是普遍的吗?

我尝试使用GAE/Go创建了一个博客。

这是关于使用GAE/Go构建博客的话题。尽管我自己还在学习Go语言,但GAE的基本原理应该是不变的。我记得我们讨论过将渲染的HTML保存到数据存储中。我觉得在我用GAE/Python做某些项目时,我通常会将渲染的HTML放入缓存中。

一开始我们只是使用Cursor字符串来进行分页,但是我们发现搜索引擎会记住这些URL,所以现在我们通过指定页数,并将其设置在memcache中来访问。

我认为在GAE/Go中,通常可以指定LIMIT和OFFSET来访问数据存储,但有些许不同…?不管怎么努力,OFFSET最多只能达到1,000(虽然不会报错,但在返回值停在1,000的地方)时代已经存在,给人一种不太适合分页的印象。当要往前进时,设置游标是很正常的,但我记得要创建逆向游标相当复杂。或许不应该回溯超过1,000篇博客文章之类的。不行吗?

由于 memcache 的用途比较复杂,需要定期对其进行设置值,这样会导致实例运行时长增加,所以需要特别注意。

在GAE上公開公司内部文件。

这是关于在公司内部文档存放处使用GAE的讨论。很有益。我也希望自己能使用它。权限管理和一切都可以在Google上完成。通过将登录设置为required并与用户域结合起来,我认为问题可以解决。我记得在GAE的用户对象中,username会在使用Google Apps账户访问时附上域名。如果是gmail.com,只会显示@符号之前的部分。
只需将自动生成的文档等放入GAE即可。说实话,使用Wiki的话,由于使用的Wiki不同,记法也会有所不同,我觉得世界上只需要自动生成的文档和Markdown就足够了。因为Qiita全部都是用Markdown完成的,所以很方便。我想用Qiita:Team和ryu22e的这个工具来完成内部文档。

使用GAE在GAE上运行GAE部署机器人的讨论。

这是关于在GAE NodeJS(在Frexible环境下)上运行Slack机器人以便部署到GAE/Go的故事。尽管有时会意外掉线或多次启动,但在商业应用中使用并没有问题。

我认为 GAE 的优点在于它只在需要时启动,而且随时可以关闭。但是目前在 Flexible Environment 中似乎无法做到这一点。不过,考虑到引入机器人可以减少人力部署工作,成本效益还是足够高的。如果不用花钱的话,那当然更好了。但既然是 Slack 机器人,无论如何都可能需要启动,所以肯定会涉及费用。

我想在GAE和BigQuery中调查地理编码的准确性。

這是我的故事,準確來說,是關於反地理編碼的話題。

当你向Google Geocoding API发送纬度和经度时,它会将其转换为地址。然而,这个”地址”只是最接近的代表点的地址,并不是准确地传输的位置的地址。也就是说,在这里存在误差。因此,我们打算使用GAE收集这些误差,并在BigQuery中进行分析。

由于”BigQuery的案例相当丰富”,因此从中段开始变成了类似于”Google App Engine失败的老师”的讨论。简单来说,由于memcache的值会频繁消失,所以不应该将其用于流程控制。memcache只应该用于加快从数据存储中获取数据或保存渲染结果等方面。如果在memcache中进行互斥控制等操作,值将会消失并导致进程大量启动,从而导致实例小时数激增的原因。

“我用不同的语言对表演进行了调查”

在GAE的Standard和Flexible环境中,使用不同语言编写Hello, World,并通过Apache Bench进行压力测试。我对PHP的性能非常感兴趣,Flexible环境的实例数比Standard环境少。事实上,PHP通常需要放置Apache或者NGINX等Web服务器来使用,在Flexible环境中可能也是这样做的,而Standard环境则不会。我很想知道GAE/PHP是如何实现的,感觉实例数的增加类似于单进程。

还有,关于钱,那个考试你可以应付得了吗?

从 GAE 上升或下降 GCE 实例

标题就是这样,这是关于使用在GAE上创建的Web客户端来启动或关闭GCE实例的故事。在背后,似乎使用Compute Engine API操作实例。GCE的启动脚本可以存放在Google Cloud Storage之类的地方。说起Google Cloud Storage,gs://hogehoge这个是指Ghostscript的简写。真是令人惊讶。

順便提一下,在演示中沒有啟動的實例是如何處理的呢?

家庭聚会

GCPUG 是由 Google 提供资金支持的,但这个社群真的有这么奢华吗?聚会场合非常奢华,真是太厉害了。GCPUG湘南真棒。茅ヶ崎的Lonin也很厉害。听说茅ヶ崎还成立了Chigasaki-Guild.NET。

总结

    • GAEはいいぞ。

 

    GCPUG Shonan はいいぞ。