resource
🎑

resource

技术
Cloud Native
软件工程技术
爬虫
Sass服务
旋转代理服务
框架
工具
jhao104/proxy_pool
git clone git@github.com:jhao104/proxy_pool.git 或者直接到https://github.com/jhao104/proxy_pool/releases 下载zip文件 pip install -r requirements.txt # 如果你的依赖已经安装完成并且具备运行条件,可以在cli目录下通过ProxyPool.py启。动 # 程序分为: schedule 调度程序 和 webserver Api服务 >>>python proxyPool.py schedule # 然后启动webApi服务 >>>python proxyPool.py webserver docker pull jhao104/proxy_pool docker run --env db_type=REDIS --env db_host=x.x.x.x --env db_port=6379 --env db_password=pwd_str -p 5010:5010 jhao104/proxy_pool docker run --env db_type=REDIS --env db_host=host.docker.internal --env db_port=6379 --env db_password=pwd_str -p 5010:5010 jhao104/proxy_pool   启动过几分钟后就能看到抓取到的代理IP,你可以直接到数据库中查看,推荐一个 SSDB可视化工具 。   也可以通过api访问 http://127.0.0.1:5010 查看。   如果要在爬虫代码中使用的话, 可以将此api封装成函数直接使用,例如:   项目默认包含几个免费的代理获取方法,但是免费的毕竟质量不好,所以如果直接运行可能拿到的代理质量不理想。所以,提供了代理获取的扩展方法。   添加一个新的代理获取方法如下: 1、首先在GetFreeProxy类中添加你的获取代理的静态方法, 该方法需要以生成器(yield)形式返回host:ip格式的代理,例如: 2、添加好方法后,修改Config/setting.py文件中的PROXY_GETTER项:   在 PROXY_GETTER 下添加自定义的方法的名字:    ProxySchedule 会每隔一段时间抓取一次代理,下次抓取时会自动识别调用你定义的方法。 目前实现的采集免费代理网站有(排名不分先后, 下面仅是对其发布的免费代理情况, 付费代理测评可以参考 这里): 如果还有其他好的免费代理网站, 可以在提交在 issues, 下次更新时会考虑在项目中支持。   任何问题欢迎在 Issues 中反馈,如果没有账号可以去 我的 博客 中留言。   你的反馈会让此项目变得更加完美。   本项目仅作为基本的通用的代理池架构,不接收特有功能(当然,不限于特别好的idea)。   本项目依然不够完善,如果发现bug或有新的功能添加,请在 Issues 中提交bug(或新功能)描述,在确认后提交你的代码。   这里感谢以下contributor的无私奉献: release notes
jhao104/proxy_pool
垂直类
数据
资料
AI/NLP/机器学习/自动化/可视化
GitHub
https://github.com/doocs/technical-books#database
Clojure
安全
博客
优秀设计
技术
DDD
后端开发实践系列--简单可用的CQRS编码实践 - ThoughtWorks洞见
本文只讲了一件事情:软件模型中存在读模型和写模型之分,CQRS便为此而生。 20多年前, Bertrand Meyer在他的《 Object-Oriented Software Construction 》一书中提出了CQS(Command Query Seperation,命令查询分离)的概念,指出: Every method should either be a command that performs an action, or a query that returns data to the caller, but never both. (一个方法要么作为一个"命令"执行一个操作,要么作为一次"查询"向调用方返回数据,但两者不能共存。) 这里的"命令"可以理解为更新软件状态的写操作,Martin Fowler将此称为" Modifier ";而"查询"即为读操作,是无副作用的。这种分离的好处在于使程序变得更容易推理与维护,由于查询操作不会更新软件状态,在编码时我们将更加有信心。试想,如果程序中出了一个bug,如果这个bug出现在查询过程中,那么我们至少可以消除这个bug可能给软件带来脏数据的恐惧。 后来, Greg Young 在此基础上提出了CQRS(Command Query Resposibility Segregation,命令查询职责分离),将CQS的概念从方法层面提升到了模型层面,即"命令"和"查询"分别使用不同的对象模型来表示。 采用CQRS的驱动力除了从CQS那里继承来的好处之外,还旨在解决软件中日益复杂的查询问题,比如有时我们希望从不同的维度查询数据,或者需要将各种数据进行组合后返回给调用方。此时,将查询逻辑与业务逻辑糅合在一起会使软件迅速腐化,诸如逻辑混乱、可读性变差以及可扩展性降低等等一些列问题。 设想电商系统中的订单(Order)对象,一开始其对应的OrderRepository类可以简单到只包含2个方法: public interface OrderRepository { void save(Order order); Order byId(String id); } 在项目的演进中,你可能需要依次实现以下需求: 查询某个Order详情,详情中不用包含Order的某些字段; 查询Order列表,列表中所展示的数据比Order详情更少; 根据时间、类别和金额等多种筛选条件查询Order列表; 展示Order中的产品(Product)概要信息,而Product属于另一个业务实体; 展示Order下单人的昵称,下单人信息属于另一个单独的账户系统,用户修改昵称之后,Order下单人昵称也需要相应更新; ......
后端开发实践系列--简单可用的CQRS编码实践 - ThoughtWorks洞见
数据库
文档/手册
CS专业课程
社区
idea破解
学习资料
docsify文档构建
Grokking system design,再配合国内几个大的常见系统设计题,比如抢红包,秒杀等等
MIT6.s081
Best Courses to Learn Microservices
  1. Building Microservices - bit.ly/3MaP7GS
  1. Microservice with Java - bit.ly/2FNlleF
  1. Microservice Architecture - bit.ly/3w1zGva 👉 - bit.ly/38q5UVP
  1. Microservice Principles - bit.ly/3ruSCR7
 
 
在线工具/服务
 
笔记系统
截图软件
PicPIck
面试/刷题
绘图神器
https://designstripe.com/
https://www.tldraw.com/
在线工具
手机号在线验证
https://lanjing.jd.com/
https://icredit.jd.com/
电子书
投资交易
notion插件
科学上网
haoel/haoel.github.io
作者:左耳朵 http://coolshell.cn 更新时间:2020-08-01 这篇文章可以写的更好,欢迎到 https://github.com/haoel/haoel.github.io 更新 首先,我们先明确一下,我科学上网的目的主要是为了学习、工作、交友、查资料、和丰富自己的眼界,不是为了看黄片,或是干一些非法、政治或是见不得人的事。 对我来说,科学上网很重要,下面罗列一下需要科学上网,我才能真正学习工作和生活的网站: Youtube 和 Vimeo 上的各种大会和教学视频,除了我自己要学,我的孩子也要学。 Wikipedia 维基百科是我目前唯一信得过的百科全书,我在上面可以比较系统地翻阅各种词条。 Slideshare 上有很多的技术文档和资料的PPT,是我的知识学习的地方。 Quora 问答网站,在上面有很多有趣的问答。 博客和论文,很多博客和论文站点都被墙了,比如:Blogspot 和 Medium。 Google 的各种服务,比如:Gmail, Map, Docs,Driver,照片,图片搜索,Voices,论文搜索......包括Google官方的各种技术文档...... 一些云服务,比如:Dropbox,IFTTT,Imgur,archive.org...... Twitter 上 Follow 一些牛人和一些官方账号,比如:AWS、Docker...... 社交 Facebook, Telegram, Whatsapp,Slack...... 有一些我在国外的亲戚和朋友...... Reddit 是一个聚合网站,一个新闻和文章的集散地,你可以认为是各种频道的今日头条...... Pinterest 和 Instagram 上面有很多不错的图片和视频新闻,是我减压力的地方...... 新闻,如BBC。 BBC是全球比较出众的媒体,有太多的有价值资源和内容了,比如纪录片、学英文...... 编程,有很多编程的场景需要翻墙,比如,Go语言编程时的 go get 中的很多库是放在 Google的服务器上, 然而Google是全部被墙,包括 Android 和其它一些文档和资源也是一样。包括 SourceForge 的某些项目也需要科学上网,Docker Registry也有部分被墙,还有偶尔抽疯的Github,以及不能访问的gist......
haoel/haoel.github.io
鸟枪换炮之软路由
随着家庭宽带带宽不断提高,对路由器的要求也越来越高。以前30M宽带的时候,用Netgear R6300v2就跑得很欢了,后来升级到100M宽带,6300v2有点力不从心,就换成了R7000。但是经测试,把shadowsocks-libev放在路由器上跑,即使使用chacha20这种轻量级的加密方式,经常CPU 100%了还跑不满带宽。最近改用更耗CPU的v2ray以后,问题愈加严重,于是动起了软路由的主意。注意:玩软路由需要有一定的Linux基础,电脑小白就别折腾了。 (ARM架构的CPU还是太弱,R7000路由,v2ray跑到9MB/s就已经这样了) 软路由其实就是台配备了多网卡的小电脑,因为使用了J1900、3215U甚至i3、i5级别的CPU,运算能力比普通的硬路由强了至少一个数量级。现在普遍使用的方式是软路由+硬路由无线AP,耗CPU的应用跑在软路由上,比如各种梯子、NAS、去广告插件等等。凭借软路由强劲的CPU,使用梯子+去广告插件以后跑满几百上千兆带宽也毫无问题。 经过比较,我选择了一款CPU是赛扬3205U的软路由。J1900虽然很有名,但被奸商炒得价格虚高,而且翻墙这种应用更加看重CPU的单核能力,所以单核更强的3205u胜出。它的兄弟3215u更有名,但似乎停产了全网无货,只好用3205u代替。其实前者只多出0.2GHz频率,GPU稍强,这些差异在软路由应用上基本可以忽略不计。 主要看上了这款软路由扎实的做工,HDMI接口和没有VGA接口。主板的兼容性不错,虽说要求1.35V低电压DDR3L笔记本内存,但实测1.5V电压的DDR3 1067内存都能用。还有Mini PCIE插槽可以插msata ssd,不过我这里直接用了一块旧的笔记本机械硬盘。 因为之前R7000路由器用了Koolshare论坛的改版梅林固件,这次自然地选择了同样出处的Koolshare LEDE固件。首先去他们官网 下载最新固件 ,选择文件名为openwrt-koolshare-mod-xxxxx-x86-64-combined-squashfs.img.gz的这种即可。将其中的img文件解压出来备用。 接着下载 physdiskwrite工具,用来写盘。记得要下载那个"physdiskwrite 0.5.3 + PhysGUI"。把给软路由准备的硬盘装在硬盘盒里,连接电脑后,运行PhysGUI.exe。这个软件是德文的,但界面简单,使用起来问题不大。 如上图,右键点击目标硬盘(千万不要选错盘符,否则后果不堪设想),然后一路选择"Image laden" -> "Offnen",弹出文件选择框后选择之前的img文件。然后跳出来一个确认框,把其中的"remove 2gb restriction"选项勾上,就可以进行写盘了。完成后拔下硬盘,装到软路由上去。 下面开始配置软路由的网卡。 vim /etc/config/network 主要修改了下面这些项目的配置。把eth3(第4个网口)作为WAN口接光猫,剩下的eth0/1/2三个网口作为LAN口。软路由IP改为192.168.50.1,主要是为了防止和光猫的192.168.1.1网段冲突。MTU根据实际设置,一般1492或者不设都没问题。 config interface 'lan' option type 'bridge' option ifname 'eth0 eth1 eth2' option proto 'static' option ipaddr '192.168.50.1' option netmask '255.255.255.0' option ip6assign '60' option mtu '1492' config interface 'wan' option ifname 'eth3' option proto 'dhcp' config interface 'wan6' option ifname 'eth3' option proto 'dhcpv6' 保存后,使用下面命令应用新的网络配置: /etc/init.d/network ...
鸟枪换炮之软路由
2020 生活手册系列:家用网络配置与选购指南
最近有好多朋友找我咨询该买什么路由,每次都需要花很长的时间去解释原理和了解需求,于是便写了这篇文章。本文将从基本原理层面带你去理解,该怎样去选购和部署家用网络设备。 首先我们需要了解,在 2020 年,搭起一个可以上网的家庭无线网络最少需要哪些「元器件」。 光电转换信号调制器:即猫 Modem,现在都是光纤入户所以都是光猫,如果还是网线入户则不需要。 拨号器:即 PPPoE 或 DHCP 客户端,通常网络运营商需要使用用户名和密码进行 PPPoE 虚拟拨号,其核心作用是用户鉴权。 NAT 网关:运营商只会给每个用户提供一个外网 IP,而我们现在早已不止一个设备需要联网,所以需要通过 NAT 的方式建立一个新的子网,让子网中的所有设备共享这个外网 IP。 DHCP 服务器:让子网中的设备能够自动获取到 IP、子网掩码、路由地址、DNS 地址等信息,免去手动配置的麻烦。 交换机:让多个有线设备可以接入到子网中。 Access Point (AP):无线热点,让 Wi-Fi 设备能够接入到该子网中。 以上就是所需要的最少的 6 个基础元件,然而事实上,每个元件不一定都是一个独立的硬件。通常大众所说的「无线路由」,是包含了上述 2-6 五个组件的结合体,而现在运营商配置的光猫,为了简化用户配置,则是包含了全部六个组件的巨无霸。(后文中所提到的路由均指一般大众所说的无线路由,非真正意义上的路由) 注:路由通常提供四个 LAN 口,其实就是一个集成的五口交换机,其中一口直连了内部芯片。 对于企业级设备,一方面是为了稳定性,另一方面为了灵活扩展和配置, 当然也可能是为了坑更多钱 ,这些元件大都是由不同硬件分开承载的。以 Ubiquiti 家的 UniFi 产品线为例: UniFi Security Gateway 提供元器件 2、3、4。 各种型号的
2020 生活手册系列:家用网络配置与选购指南
N1安装Docker版openwrt做主路由、并结合Pihole配置smartdns做主DNS - 斐讯无线路由器以及其它斐迅网络设备 - 恩山无线论坛 - Powered by Discuz!
本帖最后由 861078848 于 2020-1-1 21:21 编辑 N1安装Docker版openwrt做主路由、并结合Pihole配置smartdns做主DNS 本地环境 一、N1安装armbian5.9.1 1.先把USB对公线链接到电脑USB口与N1的第二个口(靠HDMI口),N1不要通电。 2.打开USB_Burning_Tool,导入固件WEBPAD大的2.2的线刷包,验证通过后,出现开始字样 3.勾选擦除FLASH,不要勾选擦除bootloader,USB_Burning_Tool点击开始运行刷机,3秒钟内速度让N1通电。 4.USB_Burning_Tool开始正常识别N1线刷模式,刷机开始。 5.烧录完成后,拔电重启,N1恢复了原来的样子,可以正常ADB连接,进入线刷,重新安装ARMBIAN。 1.用Win32DiskImager.exe工具先刷入Armbian_5.91_Aml-s905_Debian_buster_default_5.1.15_20190710.img到U盘。 2.将meson-gxl-s905d-phicomm-n1-k510-snail.dtb放入u盘中dtb文件夹呢 3.修改uEnv.ini: dtb_name=/dtb/meson-gxl-s905d-phicomm-n1-k510-snail.dtb 1.路由器中找到类似:FC:7C:02:EA:33:32的MAC对应的ip地址。 2.然后进入线刷模式,成功进入线刷马上插入U盘,等待系统开机。 进入armbian系统:帐号:root,密码:1234 执行:/root/install.sh reboot,断电重启 二、安装docker nano /etc/apt/sources.list deb http://mirrors.ustc.edu.cn/debian stretch main contrib non-freedeb http://mirrors.ustc.edu.cn/debian stretch-updates main contrib non-freedeb http://mirrors.ustc.edu.cn/debian stretch-backports main contrib non-freedeb http://mirrors.ustc.edu.cn/debian-security/ stretch/updates main contrib non-free 三、docker下安装Pihole容器、openwrt容器 1.设置宿主机网络 vi
N1安装Docker版openwrt做主路由、并结合Pihole配置smartdns做主DNS - 斐讯无线路由器以及其它斐迅网络设备 - 恩山无线论坛 - Powered by Discuz!
搭建 Pi-Hole 为网上冲浪保驾护航
曾经我觉得有 uBlock Origin 之类的浏览器插件,不需要在网关上做广告和追踪器的过滤。但随着手机使用量的增加,我逐渐意识到在网关上做集中化管理还是有好处的。正好 Raspberry Pi 4 已经闲置了两个月,那就来试试 Pi-Hole 吧。 本文介绍如何使用 Pi-Hole 过滤广告、追踪器和恶意软件的域名,并使用 DoH / DoT 对 DNS 请求加密。最后,Android 设备可以通过 Private DNS 功能,即使不在家,也可以享受 Pi-Hole 的好处。 在使用浏览器网上冲浪的过程中, DNS 的作用是把域名翻译成 IP 地址,以供浏览器连接。网页上有各种广告和追踪器,这些东西往往是专营此业的第三方服务提供的(如 Google AdSense 和 Google Analytics ),与用户浏览的网站并不属于同一域名。那么,将这些域名在 DNS 层面上屏蔽掉,就达到了过滤广告和追踪器的效果。上了年纪的中国网民一定很熟悉十几年前流行的使用 hosts 文件屏蔽广告域名,或是绕过 GFW 的 DNS 污染的套路,其原理是类似的。只是随着个人电脑和手机等移动设备的增多,在多设备之间维护一份屏蔽列表是一件非常费劲(如果不是不可能)的事情。这种时候,在网关上部署一个集中化管理的屏蔽列表便是一种省力的方式。Pi-Hole 便是这样一套广告、追踪器与恶意软件域名过滤及管理的方案。 正如其名字所暗示的,Pi-Hole 最早是为 Raspberry Pi 设计的。Pi-Hole
搭建 Pi-Hole 为网上冲浪保驾护航
Video preview
上网节点
图标网站
PPT插画网站
PDF文件转换
NeatConverter
 
播客