首页 文章 精选 留言 我的

精选列表

搜索[磐石100],共10000篇文章
优秀的个人博客,低调大师

酷瓜云课堂(腾讯云版)v1.2.8 发布,100% 开源在线教育解决方案

v1.2.8(2021-03-08) 更新内容 数据库迁移脚本整理 数据表软删除字段整理 微信公众号路由整理 退款增加手续费逻辑 课程增加不支持退款逻辑 会员价格和期限可通过后台配置 修复IM通知中字段重命名导致的问题 修复购买会员会员标识未改变的问题 会员中心订单列表样式调整 项目介绍 酷瓜云课堂,依托腾讯云基础服务架构,采用C扩展框架Phalcon开发,GPL-2.0开源协议,致力开源网课系统,开源网校系统,开源在线教育系统。 系统功能 实现了点播、直播、专栏、会员、微聊等 托管仓库 gitee仓库 github仓库 意见反馈 在线反馈(推荐) 官方论坛(推荐) 开源助力 毫无保留的真开源不容易,如果对你有帮助,请给我们STAR!!!

优秀的个人博客,低调大师

我参与了两个接近100k+star的开源项目!聊聊开源项目贡献指南

给 SkyWalking 以及 JavaGuide 项目贡献后的总结 JavaGuide: https://github.com/Snailclimb/JavaGuide SkyWalking: https://github.com/apache/skywalking 1. 本地开发 以 SkyWalking 举例。在本地编译源码前,先查看相关的文档:https://github.com/apache/skywalking/blob/v8.0.1/docs/en/guides/How-to-build.md 。大致了解后,我们就可以开始操作了。 在 Github 上 fork 你想要贡献的项目 接着在本地拉取自己的项目: git clone --recurse-submodules https://github.com/$Name/skywalking.git 这是因为 SkyWalking 它包含了子仓库,因此加入了 --recurse-submodules 参数,它可以把主仓库和子仓库源码都同时拉取。 代码拉到本地后,接着我们使用 idea 打开该项目。但是可能我们网络不够给力或有“奇怪的力量”干扰,我们则需要改动一些配置以方便快速编译。对 maven 来说一般都是设置 maven 加速器,如果你拉的是 docker 相关,还需要配置 docker 容器阿里云地址加速。而我们这里主要是设置 maven 阿里云镜像以及 npm 设置淘宝镜像。 1.1 设置 maven 加速 当你执行 ./mvnw clean package -DskipTests 会发现以下很慢: 说明从 apache.snapshots 仓库拉的很慢,因此我们对它使用镜像仓库代理,其中 mirrorOf 指定对某个仓库镜像做镜像代理加速,建议 mirrorOf 做明确指定代码的镜像仓库,避免直接使用 * 代理所有镜像,导致你公司的私仓或其它仓库出现拉不到包的情况: <?xmlversion="1.0"encoding="UTF-8"?><settingsxmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0http://maven.apache.org/xsd/settings-1.0.0.xsd"><mirrors><mirror><id>aliyun-apache.snapshots</id><mirrorOf>apache.snapshots</mirrorOf><name>aliyun-for-apahce.snapshots</name><url>https://maven.aliyun.com/repository/apache-snapshots</url></mirror></mirrors></settings> 接着再执行 ./mvnw clean package -DskipTests,就发现开始使用我们代理仓库下载了: 同理对 center 仓库也做代理: <mirror><id>aliyun-center</id><mirrorOf>center</mirrorOf><name>aliyun-for-center</name><url>https://maven.aliyun.com/repository/public</url></mirror> 1.2 设置 npm 加速 因为有些项目里面包含前端项目(例如 Skywalking-ui),并且前端使用了 node 技术,则建议用淘宝镜像加速,在这个案例中,如下 skywalking/apm-webapp 模块中代码如下:它使用了插件来执行 npm 命令用于生成前端代码,但是 npm 拉依赖包会比较慢,因此这里修改为淘宝镜像地址:将 registry.npmjs.org 修改为:registry.npm.taobao.org。 1.3 编译 还有其它的设置,例如在 SkyWalking 中需要设置 gRPC 为源码包等,因为在官方的文档有详细步骤,就不做说明了。而 JavaGuide 项目不用编译,打开即可,都是 md 类型的文档。 2. 提 Issue 本地代码编译后,接着你可能会有两个操作: 你发现仓库中有个地方的代码写的不好,而且你正好对这块代码所涉及的技术深有研究,那么你先不用直接写代码,而是先去对应的仓库提 Issue,因为很多的仓库,不会莫名其妙的接收用户的 PR,需要先有对应的 Issue,便于作者了解需要改进的地方或知道你即将发起 PR 的缘由。 Issue 一般会有模板并用 markdown 语法,只需要清楚的表达自己的问题描述就可以了。 你发现仓库已有了某个 Issue,而且你知道怎么解决该问题,以 JavaGuide 举例,里面有时候会有些文字描述不当或文章有错别字等这些错误,这对大家来说改进比较容易,因此你可以直接在本地新建分支做对应的改动。 2.1 Issue 艺术 Issue 本质也类似于提问,因此需要清楚的表达你的疑惑并能让别人看得懂。假如你是作者,你看到你的仓库有如下两个 Issue,你更加中意哪个? 但是很多项目都是要求英语交流,我都是先通过谷歌翻译,接着看下翻译之后的地方哪里表述有问题,再自己手动调整,其实表述大家都看得懂,还能顺便学英语,例如我之前的 Issue: 2.2 Issue 的交流 一般 Issue 提出后,都会有相关的人做讨论和交流。以 JavaGuide 举例,里面有些 Issue 讨论也可以学到很多的东西的,如下: 上图可以看出作者对这类文章标记了 discuss 标签,这样你可以更加方便的搜索该标签查找有价值的 Issue 了。 2.3 本地基本操作 这时候我们可以撸起袖子敲代码了。定位你想要修改的代码块,你可以动手本地新建分支,修改,测试代码。注意:秉承一个分支改动一个功能点的理念。你改动代码时,建议只改动 Issue 提及的相关的代码,如果你想这个分支做多个改动,记得同步到 Issue 中。但是如果你发现了另一个改进点,但是这两个改进点无任何联系,建议再新建个 Issue,并再建个分支,在两个分支分别做改动。这样主要是如下理由: 假如你在改动点 1 的代码有问题,而在改动点 2 的代码没问题。但是由于它们是两个独立的分支,因此就不会互相影响,作者可以先 merge 你的分支 2(在公司也建议如下操作,一个分支一个改动点,方便出问题回滚)。 如果你本地做了多个提交,建议使用 git rebase 命令将多个提交合并为一个提交(仅建议)。 涉及到的基本命令: 本地新建分支: git checkout -b feature/word_typo 本地所有改动加入暂存区: git add . 将暂存区提交: git commit -m "commit message" 增加原仓库上游地址: git remote add upstream https://github.com/apache/skywalking.git 与远程 master 分支合并: git merge upstream/master 提交到自己的远程仓库: git push --set-upstream origin feature/word_typo 对第 4 步的解释:因为你本地仓库的远程地址默认为你自己的远程仓库,但是你需要实时和源仓库做同步更新,因此你额外需要保存源仓库的地址,用于与源 master 合并,同步来自源仓库的最新代码。 3. 准备 PR 3.1 PR 通过 当你 push 当你的远程仓库后,此时你打开源仓库,你会发现多了如下提示:我们点击 Compare & pull request 按钮,就会到 PR 界面了,如果作者配置了 PR 模板,我们跟着提示输入即可,PR 界面主要做两个事: 查看你本次提交代码与源仓库主干的改动点。 与作者讨论此时 PR 的代码,以及你此时 PR 的理由(在这里你可以使用 #111 来与你之前的 Issue 做关联)。 做对应的持续集成。 如果跟作者进行友好的交流讨论后,没什么问题,你的 PR 就会被合并接着在源仓库中就会显示当前的 PR 标题,以及你 PR 对应的 Issue。 3.2 PR 不通过 但是更多时候 PR 会不通过,一般大概有两种: 代码审核不通过:你提交的 PR 代码有问题,审核你代码的作者会在 PR 讨论跟你说哪里有问题,哪个地方需要改进,我们只需要跟着改动即可。 CI(持续集成) 有问题。这表明你的代码没问题,但是单元测试或持续集成验证没通过:在大型项目中,都会集成持续集成方案,如果你公司已经在使用了 CI,那就比较熟练了,跟着 Docker 报错日志仔细看看哪个地方有问题就行了。以 SkyWalking 举例,它有个持续集成的测试步骤是这样的:启动 Docker 模拟项目启动,模拟对应的请求,并与预期结果文件做对比,如果发现响应与预期结果文本对比异常,就会报错不通过。这种情况我们可以通过 Github 的 Action 日志做排查。 这里建议了解如下: Github Action:持续集成方案。公司一般会用 GitLab/ Jenkins 多点。大概是监听你的代码某个分支的提交/合并来做一系列的事,比如触发某个脚本等。 Codecov:测试覆盖率方案。公司一般会用 Sonar 比较多。 Checkstyle:如果你代码没问题,但是规则检查没通过,也会不允许合并。具体是注释不规范还是代码格式不规范查看具体的报错即可。 4. 跟踪项目进度 我们想实时跟进项目的进度或讨论的话,可以有以下方式(国外的讨论方式就不做列举了)分别以 JavaGuide 和 SkyWalking 举例: RSS 订阅 Issue 相关信息,例如: https://rsshub.app/github/issue/Snailclimb/JavaGuide 。最后两个为变量,可以自由修改,规则为:UserName/RepositoryName 加入群/关注 B 站,探(mo)讨(yu)技术 邮件订阅,具体参考 dubbo: http://dubbo.apache.org/zh-cn/docs/developers/contributor-guide/mailing-list-subscription-guide_dev.html。适用于任何 apahce 项目,记得把 dubbo 改为具体项目即可(这里改为 skywalking)。 参加线下活动:例如和某个社区伙伴面基、在活动行 APP 里面中关注项目线下宣传什么的(而且阿里云相关的线下活动都有抽奖和零食)。 5. 额外 实际上,我们需要额外的插件来提高我们的效率。 Github 插件推荐两个: Octotree用于可视化 Github 项目文件层级,你不用一个一个点进去就能看到全貌了。 GitZip 用于单独下载某个文件/文件夹,不用为了下载某个文件,要把整个项目下载下来。 idea 插件推荐一个:Maven Help:分析某个 maven 项目的依赖关系,以及查找某个包被哪几个依赖给同时依赖的,在复杂项目中,分析项目的依赖关系很方便。 其实关注 JavaGuide 微信公众号的都会了解 JavaGuide 项目,但是项目贡献的人很少,也有很多人很久没有再继续贡献和讨论了。这篇文章只是做抛砖引玉,希望大家能能了解 JavaGuide 原项目,当然能参与进来贡献那肯定是最好的。毕竟 JavaGuide 是我贡献的开源项目里坚持最久的~希望它能一直活力四射~ 最后 我整理的4本PDF文档,本公众号后台回复“面试突击”即可免费获取。 文章有帮助可以点个「在看」或「分享」,都是支持,我都喜欢! 我是Guide哥,Java后端开发,会一点前端知识,喜欢烹饪,自由的少年。一个三观比主角还正的技术人。我们下期再见! 往期推荐 大白话带你认识 ZooKeeper !重要概念一网打尽! 简单聊聊为什么有些大公司技术弱爆了? 入职外包3个月,我离职了... 为什么我要从 Windows 切换到 Linux? 以 B 站为例,聊聊站内消息系统的设计 来吧!手写一个 RPC 框架。毕设/项目经验稳了! 本文分享自微信公众号 - JavaGuide(JavaGuide)。如有侵权,请联系 support@oschina.cn 删除。本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

优秀的个人博客,低调大师

Python爬虫入门教程 40-100 博客园Python相关40W博客抓取 scrapy

爬前叨叨 第40篇博客吹响号角,爬取博客园博客~本文最终抓取到了从2010年1月1日到2019年1月7日的37W+文章,后面可以分析好多东西了呢 经常看博客的同志知道,博客园每个栏目下面有200页,多了的数据他就不显示了,最多显示4000篇博客如何尽可能多的得到博客数据,是这篇文章研究的一点点核心内容,能√get到多少就看你的了~ 单纯的从每个栏目去爬取是不显示的,转换一下思路,看到搜索页面,有时间~,有时间! 注意看URL链接 https://zzk.cnblogs.com/s/blogpost?Keywords=python&datetimerange=Customer&from=2019-01-01&to=2019-01-01 这个链接得到之后,其实用一个比较简单的思路就可以获取到所有python相关的文章

优秀的个人博客,低调大师

Python爬虫入门教程 39-100 天津市科技计划项目成果库数据抓取 scrapy

爬前叨叨 缘由 今天本来没有打算抓取这个网站的,无意中看到某个微信群有人问了一嘴这个网站,想看一下有什么特别复杂的地方,一顿操作下来,发现这个网站除了卡慢,经常自己宕机以外,好像还真没有什么特殊的.... 爬取网址 http://cgk.kxjs.tj.gov.cn/navigation.do 有很明显的分页表示 列表如下 Request URL: http://cgk.kxjs.tj.gov.cn/navigation.do Request Method: POST 参数说明,里面两个比较重要的 pageNum 页码,numPerPage 每页显示的数据 trades: fields: enterprise_type: archive_year: hsql: searchKey: pageNum: 2 numPerPage: 25

优秀的个人博客,低调大师

这里有一个提速100倍的方案(附代码)

“当遇到一个文本处理问题时,如果你在第一时间想到了正则表达式,那么恭喜你,你的问题从一个变成了俩!“ 如果你曾参与过文本数据分析,正则表达式(Regex)对你来说一定不陌生。词库索引、关键词替换……正则表达式的强大功能使其成为了文本处理的必备工具。然而, 在处理大文本的情境下,正则表达式的低效率却常常让人抓耳挠腮。今天,文摘菌将为你介绍一款比正则表达式快数百倍的Python库——FlashText。 让人抓狂的数据清洗工作 即便是最简单的文本分析,我们在进入正式分析之前也需要对文本作出数据清洗。清洗的工作往往涉及到搜索和替换关键词。例如,查询文本中是否出现““Python”这一关键词,或是将所有“python“都替换成”“Python”。如果仅有数百个被搜索和被替换的关键词,正则表达式处理起来会很快。但在自然语言处理任务中,有数万关键词

优秀的个人博客,低调大师

100%移植阿里云移动测试技术,竟仅需1周?!——移动测试专有云(3)——内容详解

一、自动化测试服务 Android兼容性测试 Android兼容性测试旨在帮助解决Android应用在不同真机机型上的各类兼容性问题,包括 Crash/ANR分析、6项性能分析、UI检测、3个版本的覆盖安装检测等。Android兼容性测试使用非常简单,客户只需要提交被检测的APK文件(如需登录再提供测试账号/密码),最快经过10分钟全面测试(其他平台在1-3分钟测试时长)之后,将收到测试完成通知,就可以来MQC上查看测试报告。测试报告非常丰富和全面,包括“测试概况”、“终端详情”、“错误日志”、“全部截图”、“性能报告”。 通过机器学习的方式对以往大量的应用进行测试总结,通过深度机器学习,对测试Robot进行智能化训练,能够更加高效准确的检测到应用更多问题。换句话说就是,让测试更有针对性。同时,MQC的测试Robot具备非常多的复杂手势

优秀的个人博客,低调大师

100%移植阿里云移动测试技术,竟仅需1周?!——移动测试专有云(2)——架构详解

移动测试的应用架构 作为一整个庞大的移动测试解决方案,MQC专有云系统内部包含了非常多的软硬件模块,整个系统紧密高效的互相连接稳定配合。从模块划分上来看,主要包括:用户交互平台、任务调度平台、移动终端控制系统、无线机房管理平台、自动化测试能力、中间件(数据库、缓存、文件存储)、无线机房硬件方案、专家支持服务。除了自动化测试能力,其他应用模块构成专有云基础服务。 专有云基础服务是专有云解决方案必须包含的一整套软硬件方案,是整个专有云系统的软硬件基础。基础服务里包含几个重要平台:用户交互平台、任务调度平台、移动终端控制系统、无线机房管理平台、中间件、无线机房硬件方案。 为了满足潜在的支撑容量需求(比如支持的机型数量需要增加、使用的用户增加、使用频度增加),基础服务所包含的平台都可以支持横向热扩展,并且扩展期间不会影响到原先整体服务的

资源下载

更多资源
Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册