Web 开发者


Hello,我是邵壮 (Encore Shao), 一个 Ruby 开发者.
我们使用 Ruby on Rails 来构建Web应用程序!

Encore's Blog

Web 开发者 | 专注于WEB应用程序的软件开发人员
PostgreSQL - 如何根据一组已知结果集进行排序
数据库 2019-01-12 邵壮

前提:  已知的一组结果集待解决问题:在公司列表页面,把一些特定公司的显示在最前面给定一批公司编号,需要按照给定编号进行排序经过 Google 和查看 PostgreSQL Document 后,找到一个比较好的解决方案,可以使用 array_position function 来轻松完成此项需求. 接下来,我们来看看具体如何使用 ARRAY_POSITION function 场景一: 将公司 (100,43,13,89) 排在列表最前面SELECT id, ARRAY_POSITION(ARRAY[100, 43, 13, 89], id::integer) AS position from companies ORDER BY position ASC NULLS LAST; ------------------------------------ | id | p...

Rails - 部署时关于Node的版本问题
服务器 2019-01-05 邵壮

部署时关于 Node 版本问题周末抽时间把个人项目的 Rails 版本从 5.2.1 升级到 5.2.2。更新 rails version in Gemfile,然后运行 bundle update升级结束后,本地一切正常。然后就打算部署到服务器上。当运行 bundle exec cap production deploy 时,结果无法部署.Tasks: TOP => deploy:assets:precompile (See full trace by running task with --trace) The deploy has failed with an error: Exception while executing on host xxxxx.com: rake exit status: 137 yarn install v1.10.1 warning ...

标签: Node Rails
PostgreSQL - 窗口函数 (OVER) 的使用介绍
数据库 2018-12-31 邵壮

关于: PostgreSQL的窗口函数OVER窗口函数窗口函数是基于结果进行计算,于聚合函数不同的是窗口函数不会将结果集进行分组计算并输出一行,而是将计算出的结果合并到输出的结果集上,并返回多行。使用窗口函数能大幅度简化SQL代码。使用说明OVER 表示窗口函数的关键字PARTITIOIN BY 属性对查询返回的结果进行分组,之后窗口函数处理分组的数据ORDER BY 属性设定结果集的分子数据排序- OVER()聚合函数后接OVER属性的窗口函数表示在一个查询结果集上应用聚合函数。接下来,我们将看看 avg() 聚合函数后接 OVER属性的窗口函数, 此窗口函数用来计算分组后数据的平均值.首先,我们创建新表score并插入对应数据, 如下所示:CREATE TABLE score (id serial primary key,                     subject...

标签: PostgreSQL
Sublime - 使用 Ruby Haml 语法高亮问题
工具 2018-12-08 邵壮

Sublime HAML 中 javascript 代码块语法高亮使用 command + shift + p 通过安装一个新的package ApplySyntax 接下来,我们需要添加基本设置来支持语法高亮, 请依次选择 Sublime Text -> Preferences -> Package Settings -> ApplySyntax -> Settings, 然后添加以下代码"syntaxes": [ { "name": "Haml/Syntaxes/Ruby Haml", "extensions": ["haml"], "rules": [ {"file_name": ".*\\.haml$"} ] } ]最后,你需要重新打...

Javascript - 使用Async Functions实现一个简单的计时器
编码 2018-12-01 邵壮

ASYNC FUNCTIONasync function 声明用于定义一个返回 AsyncFunction 对象的异步函数。异步函数是指通过事件循环异步执行的函数,它会通过一个隐式的 Promise 返回其结果。但是如果你的代码使用了异步函数,它的语法和结构会更像是标准的同步函数。接下来,我们使用 Javascript 来实现一个简单的计时器:// Your browser must support async/await and speech synthesis var countdown, say, sleep; sleep = function(ms) {   return new Promise(function(resolve) {     return window.setTimeout(resolve, ms);   }); }; output...

标签: Javascript Coffee
如何在Mac OS上使用VPN时绕过特定网站和IPs
生活 2018-11-30 邵壮

今天要说话题是 - 我们如在使用VPN的情况下,访问我们国内的网站或者IPs时,访问速度不会受到影响.有时候我们需要使用VPN来观看一些技术类的文章,视频,帖子。但您可能无法访问您所在国家/地区的网站,因为您的IP会显示您在其他国家。还有一些网站完全禁止他们服务在受限制国家播放。幸运的是,可以通过“静态路由”来解决这些问题,此时就无需关闭您的VPN。静态路由使用手动配置的选项,而不是动态路由协议的默认信息。设置静态路由要允许某些IP访问您的真实IP(绕过VPN),您必须创建一些特殊规则。为此,您将需要您的网关IP和网站IP。转到应用程序 -> 实用程序,然后打开终端我们需要找到我们想要绕过VPN的网站的IP地址。在终端中写入: ping baidu.com 接下来,您将收到该网站的IP PING baidu.com (123.125.115.110): 56 data byte...

标签: VPN MacOS
Sublime - 打开当前文件在文件夹侧栏中的位置
工具 2018-11-24 邵壮

如果你的开发工具是Sublime的话,请继续往下看.很多时候我们需要要查看当前文件在文件夹侧栏中的位置, 如果用手一个个查找会有点困难。所以,我们就会想Sublime中应该有一些快捷键可以帮我们做到这点.对的,你可以选择打开 Sublime Text -> Preferences -> Key Bindings 来添加自定义命令来实现[  { "keys": ["ctrl+s"], "command": "reveal_in_side_bar" }]在这里,如果你喜欢的话,可以任何组合键值,比如 ctrl+shift+r / ctrl+r

标签: Sublime
Sublime - 推荐一个不错的主题(Material Theme)
工具 2018-11-18 邵壮

从2012年开始一直使用Sublime进行Web开发,之前试过很多Theme主题包,比如: Soda, Sodarized,  Flatland, 但是总感觉不是特别好。最近,又搜了搜,无意间发现 Material Theme 然后试了试,感觉挺不错的.  所以想分享给大家.  下面是我自己的一个本地截图,仅供参考:接下来,我们看看如何安装和配置首先,确保你的Sublime已经安装了 Package Control接下来我们可以使用 Command + Shift + P, 打开 package control 控制台然后搜索 Material, 选择 Theme - Material修改 User 配置文件 (Sublime Text > Preferences > Settings){ "auto_complete": true, "auto_upgrade_...

标签: Sublime
Rails - 关于Hash的另外一种访问方式
开发 2018-11-12 邵壮

今天,想分享给大家一个关于Rails中Hash类的一个拓展方法 Hash#with_indifferent_access具体示例代码如下:rgb = { black: '#000000', white: '#FFFFFF' }.with_indifferent_access rgb[:black] => '#000000' rgb['block'] => '#000000'接下来,我们谈谈使用场景,在rspec中我们会写一些测试给对应的action, 去检测返回的json值是否正确.> xxx_controller.rb ... def panel_info   render { width: 100, height: 200 } end ... > xxx_controller_spec.rb ... it 'xxxx' do...

PostgreSQL - 在大数据表中进行随机数据抽样
数据库 2018-10-09 Encore Shao

PostgreSQL - 数据抽样 (RANDOM vs. TABLESAMPLE) 首先我们来看看数据总量: (共计 3百万 以上)(encore@localhost) [pg10] > select COUNT(*) from big_data_table; count --------- 3212557 (1 row) Time: 242.859 ms1. 使用 RANDOM() 函数,这也是我们最常用的方式随机查询函数(encore@localhost) [pg10] > EXPLAIN ANALYZE select * from big_data_table ORDER BY random() limit 1; QU...

This website uses cookies to ensure you get the best experience on our website.
Got it!