AI 摘要：本文讨论了中文搜索引擎的选择，作者对百度的搜索体验表示不满，推荐了谷歌搜索、必应搜索、多吉搜索和秘迹搜索等其他搜索引擎。同时，作者强调了搜索引擎对我们认知世界的重要性，鼓励大家多了解和发现新奇的网站、工具和思想。文章还推荐了虫部落聚合搜索、TinEye以图搜图和WiKiHow生活百科等实用网站。展开Powered by AISummary and MoonShot KimiChat.这篇文章其实蓄谋已久——甚至可以追溯到博客刚刚建立的前年。在建站之后自己简单琢磨过一点 SEO 相关的东西，知道了需要主动提交一个叫做 sitemap 的东西告诉搜索引擎如何多快好省地爬取自己的网站。于是自己安装了相关插件，配置好账号之后满心欢喜地向 Google Bing 百度三家提交了自己的 sitemap，期盼着什么时候可以搜索到自己的文章。结果呢？这么说吧。大概一周左右，谷歌就已经收录了我的首页和一些文章页；Bing 大概用了一个月左右；而百度就比较神奇了：时至今日，它仍然仅仅收录了我网站中的两个页面：首页和某个已经废掉的死链。从百度久久不回复之后，我就告别百度了。搜索引擎这个东西吧，就像耳机，像屏幕的分辨率——从品质差一点的转到品质高一点的过程，往往感觉不那么强烈，但一旦转回来，一下子就会觉得不一样了。而仅有的两次被迫需要使用百度的时候，我往往是以难受的要死为告终。所以我才会在这里写下这篇文章，劝大家尽早摆脱百度，以及推荐一些我看到的搜索引擎。为什么要和百度说再见虽然前面的话已经说得很过分了，但对于这个话题，请容许我再多唠叨两句。可能在屏幕前的你看来有点奇怪的是，明明是一个破站，没有被收录，收录的不及时为什么会这么令我“阴阳怪气”。可是问题就在于，互联网的出现本就是带着其原初的目的——希望能让小众的那些信息得以出现，让长尾的需求得到满足。如果脱离了这些千千万万的尾端小网站，仅剩头部玩家的垄断的互联网本就已不再是互联网。而搜索引擎则正是这张网的枢纽与地图。如果地图导航中没有足够的小路，我又怎么能到达偏远的目的地呢？而另一个方面，由于百度自身也希望发力内容端，并已经布局了百家号等，所以其搜索中，很多百度自身的产品例如百度百科、百度知道、百家号等，往往被顶到了很高的位置——很多时候知乎等内容平台的结果要退居第二页或更后。对于搜索引擎来说，这其实是一种又当又立的行为，如果球员作为裁判员，搜索结果只向着自家的产品，那百度搜索又和知乎，淘宝等 APP 内的搜索有什么区别？哦对了，百度确实还想尽办法吸引你下 APP 来着。更进一步的，搜索引擎则直接关乎到我们对这世界知识的输入——虽然没有算法推荐来的更加直接，但搜索引擎也是我们所认知世界的一大方式。在之前的一篇文章中我曾提到，我们对知识的认识与提炼是一个从 data 到 information 到 knowledge 到 wisdom 的层层递进的过程。而我们从搜索引擎中所获得的信息，则直接关乎到我们 data 的获取。一旦这部分出问题，之后的所有环节则均会受影响。相关文章：如何更好地构建“知识体系” - 聊聊 DIKW 模型说实话，可能真的是互联网的免费思维把用户惯坏了。很多东西，例如从源头的信息获取，其实是需要，也值得付出代价的——无论是时间代价，还是金钱代价。例如我很感激我校免费的财新会员——从信息获取上为我带来了很大的补充。那么我们正式进入正题w搜索引擎推荐谷歌搜索https://google.com有能力的同学我真心建议谷歌搜索不光是由于相较于百度等一众搜索引擎，Google 对站点对收录更快更好，在广告上相对克制（可是这和谷歌 80% 的营收都来自广告又有什么关系呢 2333）更重要的一点是，正是由于搜索业务退出中国，使得其本身中文区的广告需求变少，尤其不会出现xx医院这种偏线下的广告，就会使得搜索体验进一步变好。以及对于隐私比较看重的同学也可以尝试 duckduckgo 这是一款以用户隐私著称的搜索引擎，只追求最纯粹的搜索结果。甚至它还有暗网搜索——虽然可能是因为我技术力低姿势不对，并没有搜出什么东西来。必应搜索https://cn.bing.com/墙内可能首推的就是 Bing 了。在之前自己也有一段时间使用的是 Bing。一个是因为搜索质量还算不错，另外也是因为 Bing 颜值蛮高的每日壁纸。但是 emmm 事实上分成国内版和国际版反而降低了我的搜索体验。因为大多时候中英文结果我可能都会看一看，尤其对于计算机相关的内容，就会导致往往国内版搜不到想搜的东西，还要现转国际版。但是从政策上讲，这似乎也是进入中国所必须的...算了算了。多吉搜索https://www.dogedoge.comhttps://doz.cnGoogle Bing 之外，想向大家首推的是这个多吉搜索。从图标上来看就很有 duckduckgo 内味，也是主打用户隐私的搜索产品。看起来应该还在烧钱状态中，暂时没什么广告。而且大致上，多吉搜索相比百度，在相同关键词的情况下，多吉的搜索结果更偏向于严肃/权威的来源，百度更倾向于第三方的讨论或知识；多吉搜索结果中知乎等严肃问答网站的结果权重很高，而百度能看见知乎的概率低很多。秘迹搜索https://mijisou.com/除了刚刚提到的多吉搜索，其他的一些搜索网站与聚合页大都是直接使用 Google/Bing API 的套壳搜索引擎。于是挑了其中感觉做的还不错的秘迹搜索来说。秘迹也是偏重隐私安全，保证不会保留用户的 cookie，而综合各个搜索引擎的搜索结果则采用了开源的元搜索引擎 Searx。至于例如搜狗搜索，360 搜索则直接排除——就结果与体验来看，甚至还没有百度做得好。可能搜狗搜索唯一的优势是由于和微信打通，可以搜索微信生态中的相关内容。而像比如鳄鱼系俄语系同学常用的 yandex，由于对中文的搜索支持并不理想，也就同样不推荐大家了。彩蛋：其他关于搜索的网站推荐聚合搜索：虫部落https://search.chongbuluo.com/关于聚合搜索的姿势，虫部落我觉得无论如何都是国内最活跃的，知识最深入的社群没有之一。这个聚合页中包括了搜索引擎，音乐，书籍，图片，资源等各个门类的搜索方式，基本想搜什么都能在其中找到对应的搜索方式。唯一的缺点就是由于聚合的太多了且采用的是 iframe，所以对移动端的支持不算友好。我曾经一度把它设置成了我的浏览器首页。以图搜图：TinEyehttps://tineye.com/如果需要识别图片之类的，或者找原图找更高分辨率的图片，TinEye 作为老牌的以图搜图数据库，个人使用起来感觉还是相当靠谱的。尤其相比较谷歌图片，对于微博图片的支持会更好些。生活百科：WiKiHowhttps://zh.wikihow.com/这是一个平常不怎么在搜索引擎中出现的网站。所以在搜索这一主题之前我并没有接触过。但是了解了之后就停不下来了...在里面你几乎可以搜索一切“How to”的主题——无论是「如何睡得更香」这样的日常问题，还是「如何找到人生的意义」这样的哲学问题。如果不会做什么事情的话，尤其是日常事务方面，在上面搜一搜往往就会有惊喜。甚至当作茶余饭后随便网上冲浪的选择也是不错的。总结总之，希望这一番劝说与安利，可以让大家明白搜索引擎的选择，搜索这个行为本身对我们的重要性，另外能更高效客观地认知我们所处的这个世界。另外就是，互联网其实赋予了我们无限可能——无论是搜索知识，查询信息，抑或是认识世界来说，不要被日常的认知困住，多去了解，发现新奇的网站，工具，思想。退一万步讲，哪怕只是将搜索当作现代人在互联网时代所必须掌握的一项技能来训练也总不是什么坏事。当然，如果你有其他的想法，也欢迎一起交流w参考链接如何评价新国产搜索引擎【DogeDoge】多吉搜索? - 欢颜的回答 - 知乎看了那么多人对百度的抱怨，希望「DogeDoge 搜索」能给你一点不同的选择 - V2EX关于 - 秘迹搜索有什么不错的搜索引擎推荐？ - 知乎
AI 摘要：本文介绍了如何在不同设备之间同步写作进度的问题，推荐使用Leanote作为解决方案。Leanote支持跨平台写作，具有Markdown和数学公式支持、历史记录回放、内容搜索、博客导出和代码高亮等功能。通过Docker进行私有部署，占用内存较小。文章详细介绍了在VPS和NAS上部署Leanote的方法。展开Powered by AISummary and MoonShot KimiChat.傻翠的设备一直不少：大电脑，小电脑，平板，手机，还有新购入的 MacBook，iPhone SE（这个之后再讲 2333），横跨了 Windows，Linux，OSX，iOS，Android 多个平台和系统。于是在傻翠码字的时候，一个头疼的问题就出现了：往往在设备 A 上写了一半，下次打算接着写的时候就不记得在哪台设备上写的了，很难继续下去。那么，如何在我不同的设备之间同步我的写作进度呢？市面上有一些可以进行云同步的工具，比如印象笔记，为知笔记。但是他们或者需要会员，或者不支持 Markdown，多少都用得有点不爽。索性傻翠自己有一台服务器，于是在上面搭建了 Leanote 这个支持跨平台写作的后台。用了这些时间感觉异常舒服，几乎离不开了，于是分享给大家。Leanote 的官网在 这里，它主要有这样的优点：支持各平台桌面端，网页端与两大手机端天生支持 Markdown 与数学公式支持历史记录回放与内容搜索可以导出为博客支持代码高亮另外可以通过 docker 进行私有部署而且占用内存并不是很大（相比之下，为知笔记的 docker 光是内存就要占用 4G+，根本没有那么大的资源），用我 2G 的阿里云学生主机就绰绰有余了。那么我们正式开始部署吧 ww部署首先我们需要有一台有 docker 的 VPS 或者 NAS。为了方便进行 docker 安装我做了一个 docker 镜像并且发布在了 docker hub 上如果类似 VPS 的话，需要安装 docker，安装好后可以直接 pull 镜像，我使用的命令如下：docker create \-v ~/leanote/conf:/usr/local/bin/leanote/conf \-v ~/leanote/public:/usr/local/bin/leanote/public \-v ~/leanote/mongo:/usr/local/bin/leanote/db_data \-p 9000:9000 \--name leanote \idealclover/leanote其中几个 -v 是为了将配置文件，公共文件与数据库文件映射出来，方便进行备份与再部署，-p 是为了 docker 内外端口的映射，--name 是为该容器的命名。之后运行 docker start leanote 就可以启动容器了 w 访问之前设置好的端口名就 OK 啦如果是类似群晖的 NAS（我只有群晖 2333）的话，在 docker 的注册表中搜索 leanote，找到 idealclover/leanote 并下载之后在映像中新增该映像的实例：点击启动，在高级设置中配置卷配置端口之后启动，访问自己 VPS 的对应端口，就可以看到页面了 w用的还是挺舒服的~
AI 摘要：本文讨论了作者对数据掌控的偏执，以及对互联网公司数据删除的担忧。作者提到，即使账号被删除，网友仍能找到蛛丝马迹，因此选择为互联网公司提供最少的数据。作者倾向于自建功能，如笔记、个人心情墙等，或选择遵循欧盟GDPR的服务。作者关闭了Web Archive爬虫，以确保没有可靠的“我一定在这个网站上说过些什么”的痕迹。作者强调，在自己的天地里，数据由自己掌控，喜欢这种掌控感。展开Powered by AISummary and MoonShot KimiChat.我应该是不太会发微博了，自己的牢骚都会偷偷发在自己的网站上，各个平台中的痕迹包括点赞也会定期尽可能删除。我发现我已经陷入到一种对数据近乎偏执的掌控感。一些公众人物会被网友扒出几年前的帖子，言论甚至是点赞，被拿着显微镜的网友曝出各种不太“正确”的言论。而更可怕的是，在某起网友曝某知名朋友贴吧言论的过程中，即使是账号被删除，网友依旧能找到其在多年前的蛛丝马迹。一个显而易见的真相是，互联网公司永远不会把你的信息彻底删除，尤其是中国的互联网公司。而其中一些好的会让别人访问不到被删除的信息，而一些坏的甚至会拿这些信息卖钱。所以我宁愿为这些互联网公司提供最少的数据，也不希望我丧失对自己某些过去的删除的权力，对，删除权。能够自建的功能，比如笔记，个人心情墙，密码库，自己都会选择自建；如果无法自建的，也会尽可能选择遵循欧盟 GDPR 的网站或公司所提供的服务。当然，这样也并不意味着我所删除的数据就真的被删除了。至少我的云服务提供商那里会有一份我的数据；但自建意味着如果想要提取我的资料，需要额外付出更高的代价，而非在公司的数据库中检索一下就可以批量地找到。因为我的网站关闭了 Web Archive 的爬虫，Web Archive 也不会对我的网站进行存档。这也就意味着并不会有可靠的“我一定在这个网站上说过些什么”的痕迹，我也不应当为漫长时间前幼稚的自己所付出代价，如果有，也应当是我可以 delete 掉的。在自己的天地里，数据都是由自己掌控的，而我喜欢这种掌控感。
AI 摘要：本文介绍了如何在 Typecho 博客中支持 emoji 显示。主要原因是 Typecho 使用的 UTF-8 字符集在 MySQL 中只支持最多 3 个字节，而 emoji 是 4 个字节。解决方法是将数据库 charset 修改为 utf8mb4，并在 Typecho 配置文件中修改数据库定义参数的 charset 为 utf8mb4。修改后，emoji 可以在 Typecho 中正常显示。展开Powered by AISummary and MoonShot KimiChat.前两天写文章写到兴头上，想加一个🤣这个表情，结果 Typecho 并不想支持我这么做并且把我之前写的东西全删了🤣，虽然不爽但还是先发出来要紧，于是也就没计较太多。不过思来想去傻翠这么可爱一个孩子，没有 emoji 简直不爽。于是在网上搜了搜，找到了让 Typecho 支持 emoji 的方法。具体来说 Typecho 不支持 emoji 的主要原因是字符集的锅。之前用的是 UTF-8 的编码，在 MySQL 中，UTF-8 只支持最多 3 个字节，而 emoji 是 4 个字节，所以就出现了这种惨绝人寰的问题。估计当时 Typecho 的人也没想到 emoji 现在会这么流行，MySQL 的估计更没想到吧🤣知道问题也就好修改了。修改的关键就是要把文字的数据类型从 utf 换位 utf8mb4，具体操作方法如下：修改数据库 charset 为 utf8mb4：alter table typecho_comments convert to character set utf8mb4 collate utf8mb4_unicode_ci; alter table typecho_contents convert to character set utf8mb4 collate utf8mb4_unicode_ci; alter table typecho_fields convert to character set utf8mb4 collate utf8mb4_unicode_ci; alter table typecho_metas convert to character set utf8mb4 collate utf8mb4_unicode_ci; alter table typecho_options convert to character set utf8mb4 collate utf8mb4_unicode_ci; alter table typecho_relationships convert to character set utf8mb4 collate utf8mb4_unicode_ci; alter table typecho_users convert to character set utf8mb4 collate utf8mb4_unicode_ci;修改 Typecho 配置文件中数据库定义参数中的 charset 为 utf8mb4：$db->addServer(array ( 'host' => localhost, 'user' => 'me', 'password' => 'my_password', 'charset' => 'utf8mb4', //修改这一行 'port' => 3306, 'database' => 'typecho' ), Typecho_Db::READ | Typecho_Db::WRITE);啊，当然了，如果电脑或者浏览器原本就不支持 emoji，也就自然没有办法显示辽，这也是没有办法的事情嘛 //摊手就是可惜自己现在的笔记本 leanote 还不支持 emoji 🤣，如果博客中需要添加 emoji 还需要写好之后再现添加，有点麻烦 嘤 不过能显示就很好啦ww大家也可以试试在下面用 emoji 评论鸭 🙈！表情功能之后也会加的！参考链接使 Typecho 支持 emoji 的显示
AI 摘要：本文介绍了 Piwik（现更名为 Matomo）作为 Google Analytics 的替代品，以及如何获取和设置 Piwik。Piwik 是一套基于 PHP + MySQL 的开源网站访问统计系统，具有实时更新数据、可定制仪表盘、电商数据分析等功能。获取 Piwik 后，需要检查环境、修改配置文件、设置数据库和网站等步骤。最后，将相应的 js 代码放在网站最后即可开始使用。使用 Piwik 后，网站的访问速度有所提升。展开Powered by AISummary and MoonShot KimiChat.网站统计工具是帮助站长了解网站并进行改进的重要工具，不过进来统计工具被劫持的事件不断，有些网站因为引入了被劫持后的统计工具而导致广告弹窗等安全事件会让浏览器误判为垃圾网站。之前自己一直在用 google analytics 进行统计，但是近期发现虽然 google analytics 没有被墙，但在国内网站进行访问的时候似乎有一些问题，有些拖累网站访问速度，于是决定寻找 google analytics 的替代品，于是顺藤摸瓜找到了 Piwik 。Piwik 现在已经更名为 Matomo ，并且提供了自己的服务，但同时也有自己搭建的选项。Piwik 是一套基于 PHP + MySQL 技术构建的开源网站访问统计系统，其前身是 phpMyVisites 。其主要功能有以下方面：数据实时更新：实时观看到网站的访问流量。可定制仪表盘：根据需要创建窗口小部件，建立新的仪表盘。显示所有网站数据：全局预览监控的所有的网站的信息。电商数据分析：可以根据一定的统计信息，计算大概收益。目标转换跟踪：跟踪以及分析网站中的某些内容是否符合访问者的需求。内容跟踪：跟踪网页中的标题、文本等其他的元素。网站搜索跟踪：跟踪用户访问网站的搜索引擎等信息。自定义变量：跟踪代码中添加自定义的键值对变量，piwik统计这些变量的被访问信息，并将信息可视化。地理定位：piwik可以定位访问者所在的国家、地区、城市，并将这些信息在地图中展现。页面转换信息统计：统计访问者在访问该页面之前以及访问该页面之后动作信息。用户交互跟踪：文件下载、网站内链接点击以及404页面跟踪。电子邮件报告：在你的网站或者是APP中可以嵌入piwik报告，或者是嵌入生成的图片，同时也可以将pdf、HTML格式的报告以邮件的形式发送。注释：生成的图表中添加一定的注释，用于记录重要的事件。无数据限制：没有存储的限制，可以保存所有的数据。可以看出， piwik 是很完美的 google analytics 替代品，几乎拥有全部其功能。而对于本来就使用 PHP + MySQL 架构的傻翠来讲，部署就更加简单。获取 PiwikPiwik 官网：https://matomo.org/下载地址：https://builds.piwik.org/piwik.zip如果已经搭建了 LAMP 或 LNMP 环境，则解压缩并配置好相应路由之后可以直接访问啦。比如傻翠的搭建地址就在 这里 。而且当然了，由于统计的服务器可以和网站服务器不一致，于是就把它放在了自己国内的阿里云服务器上，还是很舒服的。设置 Piwik首先系统会自动检查环境是否符合要求，傻翠使用的是 LNMP 环境，系统提示了一个 always_populate_raw_post_data = 1 的错误，于是需要进行相应修正之后再向下进行。解决方案是修改 php.ini 文件，其位置在 /usr/local/php/etc/php.ini ，使用vim打开后搜索always_populate_raw_post_data 将该行注释取消。保存退出后重启 LNMP lnmp restart 再次进入即可。之后是数据库设置和网站设置，相信能把站点搭起来的老油条们都会的。之后类似于 google analytics ，将相应的 js 代码放在网站最后，就可以开始测试和工作啦。效果图等过几天再贴吧 ~之后还有一些邮箱推送哇短信推送哇的拓展功能，不过没什么必要，也就不再折腾啦。不得不说不需要 google analytics 后，网站的访问速度快了不少，开心 ww
To B的产品经理和To C的产品经理，差别在哪里
AI 摘要：To B和To C产品经理的主要区别在于他们所服务的对象和产品定位。To B产品面向企业，提供平台支撑和数据管理功能，而To C产品面向普通用户，提供直接体验的服务。这导致两者在盈利方式、产品侧重点、考核指标和运营方式上有所不同。To B产品经理需要关注商业模式和公司战略，而To C产品经理需要关注用户体验和交互设计。因此，两者在职责和技能要求上也有所区别。展开Powered by AISummary and MoonShot KimiChat.这是面试的时候二叔问的一个问题~觉得还蛮重要的于是花了点时间调查一下也不知道说的对不对XD大家随便看个乐叭To B的产品与To C的产品有什么不同从定义上将，ToB产品即面向企业的产品，ToC产品即为面向普通用户的产品。具体而言二者有以下的不同：首先二者的定位有所差异：ToB产品一般有两类，一类是面向外部的，为其他企业与商家所提供的平台类产品，例如云计算后台，例如微信公众平台，再或者域名管理平台（如dnspod），云存储平台（如七牛），内容管理平台；另一类则是公司自己内部所使用的平台，例如我曾经所实习的Amazon内部的数据库管理与检索平台，内部的Troble Ticket提交平台，内部的内容管理平台等等。ToB的产品一般是为内外部提供类似平台的支撑，提供数据的管理与操作功能。而ToC的产品的目标客户则为消费者，为消费者提供直接的，可体验的服务。大到社交工具小到日常使用的小工具，都是面向客户的ToC产品。这也就决定了二者间的盈利方式不同对于ToB产品，由于其提供的为平台类产品，其更强调服务的稳定性与健壮性，并且由于服务企业，往往一开始就会有明码标价；而ToC的产品，由于其面向的是消费者，其上线初期往往为了构建相关生态或吸引客户，会采取免费使用的方式，等到用户累计到一定程度后才会进行商业化。另外，由于定位的差异，二者的产品侧重点也有所不同ToB的产品更侧重与商业模式，其产品所构建的模式，其所适合的市场环境，其所注重的应用场景等等方面；而ToC的产品则更侧重本身的用户体验，交互设计相关的，涉及到用户心里的研究。所以，二者的考核指标也各不相同ToB的产品由于目的是节约成本，提高效率，所以考核相对难以量化，对外的产品可能与产品的绩效有关，对内的产品可能与进度，好评率有关；ToC的产品常见的考核指标有活跃率指标，有营销指标，有转化留存等等指标，都非常容易定量。最后值得指出的一点是，二者的运营方式也有所不同，ToB产品往往采取招标的形式，而ToC的产品往往不会有招标的过程。To B的产品经理又与To C的产品经理有什么不同由于To B的产品和To C的产品上的差异，二者的产品经理指责也自然不同类似知乎高票回答所说的：To B产品是根据公司战略或工作需要，构建生态体系，或者推动将流程系统化，提高效率To C产品是发现用户需求，定位用户价值，并准确的推动项目组达成这一目标具体到工作中，To B产品需要产品经理能梳理业务流程，理解公司的战略，To C产品需要产品经理又用户嗅觉，能提炼用户的需求。那么再次说回曾经二叔问过我的那个问题，为什么我想当To B端的产品经理。其实调查一圈后发现，自己也并非没有做过ToB的产品。记得在亚马逊的半年，觉最有成就感的小项目却是那个帮隔壁组做的自动获取ASINID的小脚本。现在回想起来，也算是一个小到不能再小的To B的产品了。傻翠其实个性上是很不能忍受枯燥和重复的工作了，所以一旦需要面对这种工作，便会想方设法地将其中的流程提炼出来，用自动化的方法去完成。零碎的时候在组里也写过一点小脚本，改过一点SQL。节约了别人的效率和时间吗，于我而言大概是一件再开心不过的事情了。我享受这个提高生产力提高效率的过程，正如一直以来最喜欢的还是微软的missionto empower every person and every organization on the planet to achieve more所以微软你什么时候下面试通知啊嘤嘤嘤我想如果可以的话，我还是想做ToB的产品经理的。参考资料TOB 与TOC 产品五大区别to B 的产品经理和 to C 的产品经理有什么差别？ to B 的产品经理的价值如何体现？About Microsoft
AI 摘要：本文分享了作者在实习期间使用Amazon AWS搭建小程序后端时遇到的一些问题和解决方案。作者首先介绍了在后端数据库选择上，从RDS转向Dynamodb的过程，以及Dynamodb作为键值型NoSQL数据库的局限性。接着，作者讨论了后端Handler的选择，包括Elastic Beanstalk、Api-Gateway和Lambda等服务的优缺点。最后，作者总结了最终采用的Api-Gateway + Lambda + Dynamodb架构，并表示AWS是一套强大的云管理工具，适应后会越用越顺手。展开Powered by AISummary and MoonShot KimiChat.之前在Amazon实习XD也算是免费体验了Amazon AWS的全套产品XD应该也算是很宝贵的经验了噗哈哈哈~毕竟AWS还不是我这种学生消费得起的趁着刚刚离职还热乎着的时候，把所遇到的一些坑都先记录下来把ww万一有人要用到AWS呢~任务描述当时的任务是借助AWS搭起来一个小程序的后端，很简单对不对ww但是AWS就是在其中创造了数不胜数的坑接下来我们从后端管理的源头——数据库开始，一点一点梳理我在这几个月来遇到的坑后端数据库RDS在后端数据库的选择上，最开始还是希望能按照传统的SQL数据库的方式进行后端数据的操作（毕竟是迁移，省一点事是一点事）AWS的RDS也确实比较给力，基本完成了自己想要的功能，相关的访问权限什么的也比较容易管理但是！就是！太他妈贵了啊！一看费用账单全是RDS的费用惊即使是最小的数据库配置也死贵的 家里没矿不要用鸭哭QAQDynamodb这个时候Amazon自研的Dynamodb就要华丽出场啦wwDynamodb是“一个键/值和文档数据库，可以在任何规模的环境中提供个位数的毫秒级性能。它是一个完全托管的多区域多主数据库，具有适用于 Internet 规模的应用程序的内置安全性、备份和恢复和内存缓存。DynamoDB 每天可处理超过 10 万亿个请求，并支持每秒超过 2000 万个请求的峰值。”——来自官网的xjb吹我来翻译一下，就是这是一个NoSQL的，键值存储的分布式数据库（而且价格还可以）但是！注意！这货是键-值型NoSQL数据库！键值数据库不支持JOIN和两键以上多键查询！键值数据库不支持JOIN和两键以上多键查询！键值数据库不支持JOIN和两键以上多键查询！给我他娘的记住咯QAQ即使是两键或非主键查询，也是要通过新建子查询的方式（也就是另交钱）来进行。而且因为是键值型，很多相关的前端业务逻辑和接口都需要重新定义（或者你也可以靠一副好肝在后端重写）后端HandlerElastic Beanstalk最开始所想到的是AWS的Elastic Beanstalk服务，因为这是一个直接封装了应用程式和运行环境的工具，只要上传代码就可以访问到相关服务，听起来相当便捷了。但是在我国，这套服务的最大痛点是：无法提供HTTPS+备案的环境，而微信接口要求接口域名必须要HTTPS+备案的环境才可以使用和AWS再三确认过了，Elastic Beanstalk暂时（2018年12月）无法提供443端口的开放orz于是这套计划也成功破产，当然迁移当时也因为这个pending了两个月Api-Gateway + Lambda先说Lambda，这个服务的功能还是蛮强大的，提供多种编程语言的直接运行诸如Nodejs, Python的环境（但是没有世界上最好的语言PHP），只要上传代码就可以进行相关操作（这样听起来有点像EB，当然事实上在分类的时候他们也是被Amazon分在同一类的）但是重点是：Lambda似乎不支持操作RDS，在技术选型的时候需要谨慎考察一下我所实验过的是至少Lambda支持Dynamodb和S3，但是RDS似乎没有找到再说Api-Gateway，这个服务提供了统一的对外API接口，通过这个接口连接到Lambda，就可以对用户的请求进行响应。Api-Gateway由于是网关层，重点依旧是在备案上，Amazon内部是可以通过直接进行备案Exception的申请来实现备案的，其他公司接入的如何进行备案就不是很了解了。总之备案过了之后Api-Gateway才会开放，之前不要怪人家总返回502（在这里试了很久直到问了AWS的人）至于怎么将两者连接，可以直接在Lambda中选择蓝图（blueprint）进行模板式的创建，这样会自动生成一个相连接的Api-Gateway，还是比较便利的最终最终还是在离职之前完成了这个任务，总体的后端架构就是 Api-Gateway + Lambda + Dynamodb，和团队预算也比较相合，另外也可以成功跑起来并减少了层与层之间的耦合，还是比较舒服的。总体来说最开始虽然吐槽AWS吐槽的很厉害，但后期其实觉得AWS还是一套比较强大的云管理工具，方案其实也比自己想想的要成熟的多，也无愧其现在市场占有率第一的位置，适应了之后就会越用越顺手。至于更多的，关于云到底能做写什么，我想换一篇文章再说，在这里说就扯多了ww科技改变生活ww