Web 开发者


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

Encore's Blog

Web 开发者 | 专注于WEB应用程序的软件开发人员
URL Crawler - How to use BeautifulSoup to crawler the extra URLs
开发 2020-02-21 Encore Shao

Program: PythonPackage:  BeautifulSoupRecently, our client has requirements for collecting social ids from their public page. But, for me, I used Ruby as a default program a few years,  So I take some days to learned python and write a simple script to this. from bs4 import BeautifulSoup as soup  # HTML data structure from urllib.request import urlopen as uReq # Web client import re def ge...

Rails - Get "Unknown primary key for table" in PostgresSQL
开发 2020-02-20 Encore Shao

Error: ActiveRecord::UnknownPrimaryKey (Unknown primary key for table sources in model Source.)如何排查解决主键丢失问题问题的起因,是我们最近将生产服务器的数据导入本地数据库后,在Rails应用中做一些修改时得到的这个错误 (Unknown primary key for table)。个人猜测,主要是因为当在导入的时候,有人连接到数据库有所操作导致的。接下来,我们来看看如何排查和修复这个问题。1. 确认哪些表存在这样的情况,你可以使用下面的 SQL Query 得到丢失主键的表SELECT tab.table_schema,   tab.table_name FROM information_schema.tables tab   LEFT JOIN information_sche...

PostgreSQL - 在PSQL中友好的显示JSON原始数据
数据库 2020-02-07 邵壮

- PostgreSQL 11 - JSONB- Function: jsonb_pretty自从 PostgreSQL 9.4 开始,添加新的数据类型JSON Types. 对于传统的关系型数据库而言,可以支持以文档性存贮数据简直是太棒了。 这也就意味着我们不需要再借助其它文档行数据库来存贮这部分数据了。首先,让我来看看在PostgreSQL中jsonb类型的的数据是什么样子的。Table: bookscolumns: book_id: integer data: jsonb(encore@[local]:5432) [pg10] > select * from books;  book_id |                                                                       data ---------+---...

标签: PostgreSQL JSONB
Server - 在Ubuntu中将两个小的NVMe盘合并成一个盘
服务器 2020-01-24 邵壮

系统:Ubuntu 18.04数据库: PostgreSQL现状:生产服务数据大小为:1.9T本地数据库磁盘大小为:2T目标:可以将最新的备份数据导入本地数据库。然而我们有一个1T的NVMe的硬盘,所以,我们决定将两个硬盘然后合成一个盘。具体操作如下:Add DriveLVMrebootupgraderestore1. 关机插入硬盘, 开机后使用fdisk,可以查看硬盘分区,得到新插入硬盘的名称$ sudo fdisk -l /dev/nvme1n1 2. 卸载旧的数据盘sudo umonut /data3. 删除以前挂载的数据盘, 编辑: /etc/fstab- UUID=054333e6-c323-4faf-a54c-933d0cf83614 /data ext4 defaults 0 24. 删除分区 /dev/nvme0n1sudo fdisk /dev/nvme1n1...

标签: Linux Ubuntu
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 - 推荐一个不错的主题(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...

Nginx中阻止和拒绝IP地址或网络子网
服务器 2018-10-06 邵壮

前天发现我的个人网站很慢,很慢,有时都无法访问。最后连接到服务器,发现有人恶意攻击,在我的服务器留下很多很多恶意评论,同时生成20G的垃圾.  清除掉垃圾后,我的网站又重归线上。 接下来, 我们如何避免再次这些恶意之人的攻击. 一个简单的方案:通过nginx web服务器下客户端访问网站的主机名或IP地址阻止或拒绝访问? 如何配置Nginx阻止IPs? server { server_name xxx.xxx.xxx; location ^~ /comments/ { # 下面这些都是那些恶意ips deny 62.210.180.122; deny 62.210.202.176; deny 62.210.82.122; deny 62.210.202.55; deny 62.210.202.48; ...

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