IP,操作系统OS,国家,浏览器信息GIF展示图 发布于 三月 24, 2021 图片URL:https://www.wieistmeineip.de/ip-address/ 图片URL:https://www.mzwu.com/pic/20070121/ipimg/ipimg.asp 评论
搞懂OpenLDAP 发布于 五月 11, 2022 轻型目录访问协议 (英文: Lightweight Directory Access Protocol ,缩写: LDAP )是一个开放的,中立的,工业标准的应用协议,通过IP协议提供访问控制和维护分布式信息的目录信息。 OpenLDAP 是轻型目录访问协议( Lightweight Directory Access Protocol , LDAP )的自由和开源的实现,在其 OpenLDAP 许可证下发行,并已经被包含在众多流行的 Linux 发行版中。 可以这样讲:市面上只要你能够想像得到的所有工具软件,全部都支持 LDAP 协议。比如说你公司要安装一个项目管理工具,那么这个工具几乎必然支持 LDAP 协议,你公司要安装一个 bug 管理工具,这工具必然也支持 LDAP 协议,你公司要安装一套软件版本管理工具,这工具也必然支持 LDAP 协议。 LDAP 协议的好处就是你公司的所有员工在所有这些工具里共享同一套用户名和密码,来人的时候新增一个用户就能自动访问所有系统,走人的时候一键删除就取消了他对所有系统的访问权限,这就是 LDAP 。 有些领域并不像前端世界那么潮那么性感,但是缺了这个环节又总觉得很别扭。如果深入到运维的世界,你会发现大部分工具还活在上个世纪,产品设计完全反人类,比如 cn , dc , dn , ou 这样的命名方式,如果不钻研个一天两天,鬼知道它在说什么,比如说 dns , dns 是什么鬼?域名吗?不是,它只是某个懒惰的工程师起了 dn 这么一个缩写,再加一个复数,就成了 dns ,和域名服务器没有任何关系; cn 是什么?中国的缩写?你想多了,这和中国没有任何关系。经过一系列这样疯狂的洗脑之后,你才能逐渐明白 LDAP 到底想干什么。抛弃你所有的认知,把自己当成一个什么都不懂的幼儿园孩子,然后我们从头学起 LDAP 。 如果你搜索 OpenLDAP 的安装指南,很不幸地告诉你,网上不管中文的英文的, 90% 都是错的,它们都还活在上个世纪,它们会告诉你要去修改一个叫做 slapd.conf 的文件,基本上看到这里,你就不用往下看了,这个文件早就被抛弃,新版的 OpenLDAP 里根本就没有这个文件!取而代之的是 slapd.d 的文件夹,然后另一部分教程会告诉你,让你修改这个文件夹下的某一个 ldif 文件,看到这里,你也不用... 阅读全文
Matomo API 官方接口详情 发布于 六月 24, 2021 API接口 你可以通过调用Matomo的分析接口将数据集成到其他应用中去。这些数据包括访问数,页面网址、网页标题、用户设置、搜索引擎、关键词、推荐网站、用户浏览器 其中的请求参数和返回值需要对照官方手册来 未定义 ## API `未定义` ## Annotations `未定义` ## Contents `未定义` ## CoreAdminHome `未定义` ## CustomDimensions `未定义` ## CustomJsTracker `未定义` ## CustomVariables `未定义` ## DBStats `未定义` ## Dashboard `未定义` ## Events `未定义` ## Feedback `未定义` ## Goals `未定义` ## ImageGraph `未定义` ## LanguagesManager `未定义` ## Login `未定义` ## Marketplace `未定义` ## MobileMessaging `未定义` ## PagePerformance `未定义` ## Provider `未定义` ## SEO `未定义` ## SitesManager `未定义` ## TagManager `未定义` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Actions 动作(行为) Actions.get 访客分析-概述-访客概览(右边一列) Actions.getPageUrls 行为-页面 Actions.getPageUrlsFollowingSiteSearch Actions.getPageTitlesFollowingSiteSearch Actions.getEntryPageUrls 行为-进入页面 Actions.getExitPageUrls 行为-退出页面 Actions.getPageUrl 行为-通过页面的PageUrl查看详情(获取单条记录) Actions.getPageTitles 行为-页面标题 Actions.getEntryPageTitles 行为-页面标题-进入页面标题 Actions.getExitPageTitles 行为-页... 阅读全文
Base:一种Acid的替代方案 发布于 九月 17, 2019 本文是Ebay的架构师在2008年发表给ACM的文章,是一篇解释BASE原则,或者说最终一致性的经典文章. 文中Dan讨论了BASE与ACID原则的基本差异, 以及如何设计大型网站以满足不断增长的可伸缩性需求,期间如何对业务做调整与折衷. 以及一些具体的折衷技术的介绍. 在数据库分区中,以一致性换取可用性会显著提高系统伸缩性。 在过去的十年里,网络应用越来越普及。不管你正在为终端用户还是应用程序开发人员构建应用程序(即服务),您都希望您的应用程序得到广泛的采用,而广泛采用将会带来交易增长。如果您的应用程序依赖于持久化,那么数据存储可能会成为您的瓶颈。 有两种方法可用于扩展任何应用程序。第一个,也是最简单的,是垂直扩展:将应用程序移动到更大的计算机上。垂直扩展不影响数据的合理性,但是有几个限制。最明显的限制是超过系统的最大可用容量。垂直扩展也很昂贵,因为增加交易容量通常需要购买下一个更大的系统。垂直扩展通常会带来供应商依赖,从而进一步增加成本 水平扩展提供了更多的灵活性,但也相当复杂。水平数据扩展可以沿着两个维度进行。功能扩展,包括按功能分组数据,还有将不同的功能组分布到不同数据库。第二个维度是在功能区域内分割数据,分布到不同数据库,这也叫分片。图1说明了横向数据扩展策略。 如图1所示,水平扩展的两种方法都可以同时应用。用户、产品和事务可以在不同的数据库中。此外,每个功能区域都可以根据交易量跨多个数据库分割。如图所示,功能区域可以相互独立扩展。 功能分区 功能分区对于获得高的可伸缩性非常重要。任何优秀的数据库架构都会将schema分解为按功能分组的表。用户、产品、交易和通信都是功能的例子。利用诸如外键之类的数据库概念是保持这些功能区域一致性的常见方法。 依赖于数据库约束来确保跨功能组的一致性,会导致数据库在部署策略上的高耦合。为了使约束生效,表必须驻留在单个数据库服务器上,从而不能在交易数量增长时水平伸缩。在许多情况下,最简单的扩展方案是将功能组数据移动到相互独立数据库服务器上。 当交易量非常高的时候,不同的功能数据将在不同的数据库服务器。这需要将数据约束从数据库移出并在应用程序解决。这就带来了本文后面将讨论的几个挑战。 CAP原理 加州大学伯克利分校(University of California, Berkeley)教授、Ink... 阅读全文
Tailscale 开源版中文部署指南(支持无限设备数、自定义多网段 、自建中继等高级特性) 发布于 六月 15, 2022 目前国家工信部在大力推动三大运营商发展 IPv6,对家用宽带而言,可以使用的 IPv4 公网 IP 会越来越少。有部分地区即使拿到了公网 IPv4 地址,也是个大内网地址,根本不是真正的公网 IP,访问家庭内网的资源将会变得越来越困难。 部分小伙伴可能会选择使用 frp 等针对特定协议和端口的内网穿透方案,但这种方案还是不够酸爽,无法访问家庭内网任意设备的任意端口。更佳的选择还是通过 VPN 来组建大内网。至于该选择哪种 VPN,毫无疑问肯定是 WireGuard,WireGuard 就是 VPN 的未来。 我已经不止一次向大家推荐使用 WireGuard 了,我累了,不想再讲了,你爱 JB 用辣鸡 OpenVPN 之类的就用吧,你开心就好。 WireGuard 相比于传统 VPN 的核心优势是没有 VPN 网关,所有节点之间都可以点对点(P2P)连接,也就是我之前提到的 全互联模式(full mesh) ,效率更高,速度更快,成本更低。 WireGuard 目前最大的痛点就是上层应用的功能不够健全,因为 WireGuard 推崇的是 Unix 的哲学,WireGuard 本身只是一个内核级别的模块,只是一个数据平面,至于上层的更高级的功能(比如秘钥交换机制,UDP 打洞,ACL 等),需要通过用户空间的应用来实现。 所以为了基于 WireGuard 实现更完美的 VPN 工具,现在已经涌现出了很多项目在互相厮杀。笔者前段时间一直在推崇 Netmaker ,它通过可视化界面来配置 WireGuard 的全互联模式,它支持 UDP 打洞、多租户等各种高端功能,几乎适配所有平台,非常强大。然而现实世界是复杂的,无法保证所有的 NAT 都能打洞成功,且 Netmaker 目前还没有 fallback 机制,如果打洞失败,无法 fallback 改成走中继节点。Tailscale 在这一点上比 Netmaker 高明许多,它支持 fallback 机制,可以尽最大努力实现全互联模式,部分节点即使打洞不成功,也能通过中继节点在这个虚拟网络中畅通无阻。 没错,我移情别恋了,从 Netmaker 阵营转向了 Tailscale,是渣男没错了。 Tailscale 是什么 Tailscale 是一种基于 WireGuard 的虚拟组网工具,和 Netmaker... 阅读全文
个人文件管理和备份策略 发布于 七月 14, 2021 一、按重要程度分类 1、一级(特级) :绝对不能丢的,丢了会是巨大的损失,甚至是灾难性的 特点1: 1)一定会用到的、非常重要的资料,比如合同、报销单, 2)丢了会带来巨大的麻烦,或者间接造成很大的时间或金钱的损失; 特点2: 1)很可能会用到的资料, 2)是花了很多时间和精力才获得的(自己制作或收集)资料, 3)或者(从某处获得的)稀有珍贵的资料, 4)丢了就无法重新获得,或者需要巨大的代价才能重新获得; 特点3: 1)非常珍贵的珍藏版纪念文件,独一份的或稀有的,代表一种珍贵的记忆,十分舍不得丢; 特点4: 1)金钱角度看:这个资料很重要,以至于当它丢了时,宁愿花100元以上甚至1000元也要把它找回来。 2、二级 :可以丢,但是丢了会有一定影响,或造成小的麻烦 特点1:这个资料有一定利用价值,只是不太明显,可能会用得上,但也可能永远都不会用,即使丢了,大不了不用嘛。 特点2:有一定的纪念价值,但不很重要,即使忘记这一段也没啥。 特点3:金钱角度看:这个资料丢了时,可以不用,大多数时候不太愿意花钱去把它找回来,偶尔确实要用到,也只愿意花几十百把块钱找回。 时间就是金钱,如果花二三十块钱就能搞定的,就不愿意花两三个小时去折腾。目前我的时间的最高价值是一小时=100元,最低价值是20元。 3、三级 :丢了无所谓,可要可不要的 这个资料只是冗余备份,或临时保存,谈不上什么重要性 如果这个资料丢了,OK,想不出来有任何重要的影响,丢了就丢了,不愿意为它花1元钱去找回! 二、其他分类方式 1、按 使用频率 分类 1)常用,2)不常用(罕用) 2、按 文件大小 分类 1)小文件——单个在50Mb以内; 2)较小文件——单个不超过100Mb / 200Mb / 300Mb 3)较大文件——单个文件通常在100Mb以上,甚至1Gb 4)大文件——单个文件达到1G甚至50G 3、按 文件类型 分类 比如 软件、音乐、电影、代码、文档、图片、照片等 三、文件管理的指导思想 1、保证重... 阅读全文
电信家庭云路由器插件免费提速宽带至500M,上行50M 发布于 六月 02, 2019 宽带免费提速至500M,上行50M方法 原理是通过天翼云实现,声明免费,不用开通天翼云会员并且没有时间限制。 1、获取token。(获取方法:登录账号,启动提速。应用根目录下有一个文件,文本打开) 2、以K2**子固件为例。用winscp登录路由器,导入speedup代码 导入目录:etc/storage/script下。文件名命名为:Sh27_speedup.sh 3、重启路由器,然后再登录路由器。进入扩展功能-搭建web环境-家庭云提速 再填入第一步获取的token。保存应用。 4、再重启路由进日志查看,提速成功有显示。理论永久可提速,第一小时自动运行一次代码。 另友情提示,电信官网有360一年的纯宽带(20M,上行4M)。可以免费提速到500M下,50M上行。 这第便宜的宽带,然后再搞台配置高点软路由开小鸡。 Sh27_speedup.sh: https://paste.ubuntu.com/p/Q5cXdhmTB8/ 提速工具: 电信上下行提速_随缘.zip 阅读全文
Java 认证考试 OCAJP 经验总结 发布于 十一月 01, 2021 1. 考证、认证是否有用含金量的话题 关于认证考试(无论什么认证)是否有用?这个话题无论是在哪里都有人问。这个问题就好比上大学是否有用吗一样,有的人没上过大学一样年薪百万。 认证这种东西需要的时候即有用,不需要的时候就没用。有,并没有什么坏处。说实话个人感觉这证件没什么大用。 而自己想考的理由完全是想自我check下,逼自己复习学习基础。如果你是刚毕业的GH或者在校的,手里有些零花钱的可以考虑下,有这个证/或许/可以证明你Java基础还不错。 2. 关于OCAJP、什么是OCAJP? OCAJP全称为:Oracle Certified Associate Java SE 8 Programmer Certification 也叫OCA。改版前认证为 OCJP,在Sun公司没有被Oracle收购前叫 SCJP。 这里要提一下,之前的OCJP已经Retire(停考/退休)。Java 7的认证也即将停考。所以如果想考试建议直接考Java SE 8的也就是 Java SE 8 Programmer I 认证,考试编号为1Z0-808,下一个考试为:Java SE 8 Programmer II | 1Z0-809。 3. 关于各考试种类认证科目 ? ? ? 上图的考试科目链接: https://education.oracle.com/oracle-certification-exams-list 在上图中前两个1Z0-803和804是之前获取 Java 7的认证考试; 1Z0-805 是已经获取过Java6认证(也就是OCJP/SCJP)的升级成为Java7的认证 1Z0-808和809 是Java 8 I和II的认证,也就是OCAJP和OCPJP认证。 其他不建议,会在2019年底随着Java 7的认证考试取消,而随着均会停考。 另外在官网中可以查看到后缀带有JPN的考试科目,该考试为日语认证,考试等同于英语的1Z0-808和809,只是考试语言为日语。有日语要求的可以考虑该版本考试。考试内容一样。 4. 考试费用,考试时长 及 合格标准 SE考试费用均为 1,077 RMB,我是在VUE网站报名,使用的VISA信用卡支付的美元,下... 阅读全文
Yaf framework 相关项目骨架 发布于 八月 06, 2019 在 yaf 的源码目录,附带了一个工具 tools 目录, 下面有个 cg/yaf_cg 工具,是通过模版生成 yaf 项目骨架的工具。 Usage: ./yaf_cg ApplicationName [ApplicationPath] 项目目录 ├── application │ ├── Bootstrap .php │ ├── controllers │ ├── library │ ├── models │ ├── plugins │ └── views ├── conf │ └── application .ini └── index .php index.php 程序的入口文件 application 主要的应用程序代码目录。 2.1 可以通过 application.directory 这个配置来修改。 2.2 application 目录下的目录(controllers、models、plugins、views)是默认的代码结构目录,yaf 会根据相关的类名称,去相关目录下加载相关的文件,例如 IndexController extends Yaf\Controller_Abstract 这个文件,yaf 就会到 controllers 目录下查找 Index.php、类 UserModel 就会到 models 目录下查找 User.php(可以定制文件后缀或前缀模式,如 ModelUser 就是前缀模式)。 2.3 除了 library 目录以外,其它目录都是在框架编译的时候确定的,library 目录主要是存放一些本地库文件例如我有个 Helper_Html (名称空间模式 Helper\Html) 类,通过注册本地类名称空间 Yaf_Loader::registerLocalNamespace("Helper") 来加载,文件的存储结构是 library/helper/Html.php 需要注意的就是要开启名称空间,使用 namespace 的类名称和不使用 namespace 的 classname 有些差异。 2.4 Bootstrap.php 是框架的引导类 (可以没有),继承自 Yaf\Bootst... 阅读全文
我的NAS入坑之旅(小米-DIY-群晖-威联通-蜗牛星际) 发布于 七月 14, 2021 何为NAS Hi,各位好,我是晓飞影,关于NAS的全名是Network Attached Storage:网络附属存储。其实NAS不用想的特别复杂,定义也不用那么狭窄,说白了就是在网络环境中能存储资料的一个设备,小到玩客云都可以算是一台NAS,每个人对于NAS的需求不一样,从我个人的角度来说,NAS最大的优点就是不用接显示器,通过B端访问,功耗低,数据存储共享方式多样,家庭影音下载,可以跑许多有意思的服务。我从很久以前就开始关注这个领域,应该算是比较早期的一批玩家了,下面说说我的NAS入坑之旅。 小米路由器R1D(2014-2015)★★★ 在2014年的时候,知道NAS的人并不多,群晖和威联通的玩家更是小众中的小众了。当时我也只是看看,觉得价格太贵了。那个时候小米就出了一款很独特的路由器,小米路由器R1D,全网也是抢不到,价格不算便宜,但是内置了一个2.5寸的1T希捷硬盘,如果让我从现在的角度来回顾,那真的是超值的一款产品,因为那是我的第一台NAS设备。我的个人资料,下载视频,照片都从那会在NAS里集中积累。 小米路由器R2D(2015-至今)★★★★★ 在2015年7月的时候,小米路由器R2D正式取代了R1D的位置,R1D的所有缺点也改掉了。之前我也分享过R2D的文章,这真的是小米路由器为数不多的良心产品之一,服役了5年多用到现在,放在现在也不算过时的产品。我一拿到手就果断买了一块东芝的3T硬盘,替换到R2D内部,里面的租户终于变多了。 至于上图那个网件WNDR4700路由器其实也可以算个NAS,可以内置3.5T硬盘,不过固件和读写都不太令人满意,所以很早就出掉了,有意思的是官方包装还写着All in one的宣传语。 杂牌DIY黑群晖(2016-2017)★★★ 2016年看了许多黑群晖的文章,终于忍不住下单了一台DIY NAS,在当时似乎是卖的最火的一台了,不过只有2G的 RAM,CPU型号都不知道,好在跑群晖5.1还是很给力的,当时只玩了群晖自己的套件,最多的还是用来存电影和照片。 可惜1年半左右这个NAS就开不了机了,大概率原因是电源坏了。其实任何玩DIY的都要做好这个风险准备,成品机,电商还是有售后的保证,好在硬盘数据没丢。尽管这个NAS给我带来了很多便利,我对这个机箱还不是很满意,这个机箱非常薄,所以我懒得换电源复活了,尸体还留到了现在。 打开里面... 阅读全文
使用 GitOps 在无服务器时代构建现代 CI/CD 管道 发布于 九月 27, 2019 本文是 Datree.io 首席技术官兼联合创始人、AWS 社区精英 Shimon Tolts 所写的一篇客座文章。他专门从事开发人员工具和基础设施研究,所经营的公司完全没有服务器。 近年来,软件构建和发布方式发生了重大转变。这些工作主要围绕微服务、将代码拆分成小组件、使用基础设施即代码,以及将 Git 用作粘合一切的单一事实来源展开。 在本文中,我们将讨论现代软件开发的转变过程和不同环节,以展示无服务器领域可行的解决方案。此外,我还列出了适用于当今时代的实用工具。 什么是无服务器? 在深入探讨无服务器开发和工具构建这一奇妙领域之前,我先介绍一下什么是无服务器。AWS 网站谈到了四大主要优势: 无需管理服务器。 可灵活扩展。 付出与价值成正比。 自动实现高可用性。 对我而言,无服务器是指无需自己管理和扩展的所有基础设施。 在我的公司 Datree.io ,95% 的工作负载是在 AWS Fargate 上运行的,而其余 5% 则在 AWS Lambda 上运行。我们是一家无服务器公司;我们的 AWS 账户中没有 Amazon EC2 实例。有关更多信息,请参阅以下内容: io 案例研究 在生产环境中迁移到 AWS ECS Fargate CON320: Operational Excellence w/ Containerized Workloads Using AWS Fargate (re:Invent 2018) 什么是 GitOps? Git 是 免费的开源 分布式版本控制系统,旨在快速高效地处理包括小型项目和超大型项目在内的所有内容。 CI/CD 顾问 Luis Faceira 认为,GitOps 是一种工作方式。您可以将其视为一种一切均以 Git 开始和结束的方法。以下是一些重要概念: Git 是系统的 单一 事实来源 Git 是我们操作(创建、更改和销毁)所有环境的 单一 场所 所有更改都是可观察/可验证的。 在云出现之前,您是如何构建软件的 回首瀑布式云前时代,大家曾经有单独的团队负责开发、测试、安全性、运营和监控等工作。 现在,大多数组织正在向开发... 阅读全文
评论