[初码文章推荐] 程序员的自我修养 Azure系列文章 阿里云系列文章 爬虫系列文章 [初码产品推荐] AlphaMS开发模式 闪送达城市中央厨房 今天带来一个有意思的东西-分布式B站爬虫任务系统 这个小玩意源于上周在研究Azure的时候,发现云服务厂商都在推荐轻量级的存储队列服务,用来取代原有的比较重的消息队列服务,具体来说,比如阿里云就推荐使用消息服务替代消息队列,在Azure中,就有一个轻量级的存储队列(Storage Queue)可以替代服务总线(Service Bus),简单试用了一下…
在学习和工作的过程中,发现很多同事.朋友,在做.NET Web应用发布的时候,依然在走 生成-复制到服务器 这样的方式,稍微高级一点的,就是先发布到本地,再上传到服务器 这种方式不仅效率低下,而且不易进行版本控制,程序稍微复杂一些,加上团队协作,发布就会出现各种不可预料的版本问题. 正好这两天在玩Azure和Windows Server 2016,详见<[初码干货][Azure系列]1.再次感受Azure,体验Windows Server 2016并部署BlogEngine.NET>,而我在实…
提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OSS(https://www.aliyun.com/product/oss) 4.HTTPS(http://baike.baidu.com/view/14121.htm) 阅读目录结构 引: 一.准备工作 二.整体功能结构 三.具体实现步骤 四.关键点和问题处理 五.延伸与扩展 六.总结与思考 引:…
这几天在微信群里又聊到.NET可以救中国但是案例太少不深的问题,我说.NET玩爬虫简直就是宇宙第一,于是大神朱永光说,你为何不来写一篇总结一下? 那么今天就全面的来总结一下,在.NET生态下,如何玩爬虫 关于爬虫 从搜索引擎开始,爬虫应该就出现了,爬的对象当然也就是网页URL,在很长一段时间内,爬虫所做的事情就是分析URL.下载WebServer返回的HTML.分析HTML内容.构建HTTP请求的模拟.在爬虫过程中存储有用的信息等等,而伴随着App的发展以及CS系统通讯方式的HTTP化,对服务接…
这几天在微信群里又聊到.NET可以救中国但是案例太少不深的问题,我说.NET玩爬虫简直就是宇宙第一,于是大神朱永光说,你为何不来写一篇总结一下? 那么今天就全面的来总结一下,在.NET生态下,如何玩爬虫 关于爬虫 从搜索引擎开始,爬虫应该就出现了,爬的对象当然也就是网页URL,在很长一段时间内,爬虫所做的事情就是分析URL.下载WebServer返回的HTML.分析HTML内容.构建HTTP请求的模拟.在爬虫过程中存储有用的信息等等,而伴随着App的发展以及CS系统通讯方式的HTTP化,对服务接…
上个月末,在某人的建议下,重新注册了一个1元试用账户(包含1个月期限的1500元订阅),并充值了1000元转为了正式账户,相当于1000元得到了2500的订阅,于是又一次开启了Azure之旅. 在这不得不说一说上一次的Azure故事,大约在1年前,注册了Azure账号并进行了为期3个月的试用与测试,期待能够将公司以及客户的业务都从阿里云迁移到Azure,但结果事与愿违,最终的评估是放弃Azure,当时有如下一些总结: 1.虚拟机价格.虽然Azure SQL在Azure上的性价比非常高,几乎可以完…
系统迁移 初码-Azure系列-记一次MySQL数据库向Azure的迁移 初码-Azure系列-迁移PHP应用至Azure的一些实践记录和思考 初码-Azure系列-记一次从阿里云到Azure的迁移和部署 功能与开发 [初码干货][Azure系列]1.再次感受Azure,体验Windows Server 2016并部署BlogEngine.NET 初码-Azure系列-如何在控制面板中选择中文版操作系统 [初码干货]在Window Server 2016中使用Web Deploy方式发布.NET…
初码Azure系列文章目录 还在继续给客户迁移不同的系统到Azure,这一次是一个系统的MySQL数据库要迁移,将迁移过程记录一下 原系统环境 数据库版本:MySQL Community Edition 5.7 服务器环境:自建机房虚拟化环境,E7 4820 分配8核32G,主节点+非热备灾备节点 运维方式:每日夜间停止服务,ETL程序备份全库至灾备环境 数据规模:用户与业务表相关表,记录数据量在500万级别以内:日志表,记录数据量在5000万条以内,总数据存储量在50G Azure环境选择 考…
最近客户在逐步迁移应用从阿里云到Azure,这次又轮到一个PHP+MySQL应用了,顺便也记一下流水账. 需求:迁移部署在阿里云上的ECS服务器(系列2,IO优化+2核4G+50G的SSD云盘+10M带宽+Server 2012 R2+安装在操作系统上的MySQL数据库[版本不详])到Azure上 最终的方案简易描述如下: 1.使用Azure虚拟机替代ECS服务器,使用MySQL Database on Azure替代本地MySQL 2.从Server 2012 R2操作系统升级到Windows…
之前在文章<初码-Azure系列-记一次从阿里云到Azure的迁移和部署>中说到,默认的Windows Server 2016操作系统是英文版,后来摸索出中文版的方法,如下:…
初页CTO丁乐:分布式以后还能敏捷吗? - 极客头条 - CSDN.NET…
初码Azure系列文章目录 将消息队列技术模型简化,并打造成更适合互联网+与敏捷开发的云服务模式,好像已经是行业趋势,阿里云也在推荐使用消息服务(HTTP协议为主)而来替代消息队列(TCP协议.MQTT协议为主),并且将消息服务纳入到了存储体系内(Azure也是,有人知道为什么吗,是因为数据持久化在了磁盘上?) 更搞笑的是,阿里云还在帮助中心贴了一个表格 真是扎心了老铁,这不是自己怼自己,逼人用消息服务吗.. 回到本文主题上来,这几天用了Azure的存储服务里面的存储队列,感觉还是非常好用的,大…
分布式发布订阅消息系统 Kafka 架构设计 转自:http://www.oschina.net/translate/kafka-design 我们为什么要搭建该系统 Kafka是一个消息系统,原本开发自LinkedIn,用作LinkedIn的活动流(activity stream)和运营数据处理管道(pipeline)的基础.现在它已为多家不同类型的公司 作为多种类型的数据管道(data pipeline)和消息系统使用. 活动流数据是所有站点在对其网站使用情况做报表时要用到的数据中最常规的部…
干货 | 高耦合场景下,Trip.com如何做支付设计与落地 https://mp.weixin.qq.com/s/VR9NTR3RpKVfmUPcwgMABg 原创 Ryann Liu 携程技术 2020-09-17   作者简介 Ryann Liu,携程高级软件工程师,负责中文版.国际版支付Android端的开发及维护工作. 一.业务背景 在电商平台进行在线支付时,通常我们直接使用银行卡或第三方商户直接进行付款,就结束了一个完整的购物流程.但是实际上,支付页面上涵盖的支付业务内容广泛,在开发…
软件版本: redis-2.4.6-setup-64-bit.exe — Redis 2.4.6 Windows Setup (64-bit) 系统: win7 64bit 本篇的内容是为了给分布式下的爬虫做好预热的环境准备,我们知道单机的爬虫始终会有一个性能瓶颈,特别是对于是否爬过的URL来说,存在本地关系型的数据库始终会有一个性能上的考究,这里引入redis,可以很方便的通过集群来解决这个问题,在任何大的问题解决方案上,终究都是采取化整为零,分而治之的思想.如果你对于windows下的配置已…
原文:[原创].NET 分布式架构开发实战之二 草稿设计 .NET 分布式架构开发实战之二 草稿设计 前言:本篇之所以称为草稿设计,是因为设计的都是在纸上完成的.反映了一个思考的过程. 本篇的议题如下: 1. 第一个数据层草图的提出 2. 对数据访问层的思考 3. 第二个数据层草图的提出 系列文章链接: [原创].NET 分布式架构开发实战之一 故事起源 [原创].NET 分布式架构开发实战之二 草稿设计 [原创].NET 分布式架构开发实战之三 数据访问深入一点的思考 [原创].NET 分布式…
有个客户在阿里云上,这次要迁移到Azure去,手工记一下流水账 原系统信息: 阿里云ECS单Web节点(8核16G,10000IOPS SSD云盘)+阿里云ECS单数据库节点(16核32G,15000IOPS,SQL Server 2016)+阿里云CDN 根据评估和分析,简单迁移方案如下: 1.CDN暂时不动.因为阿里云CDN的配置较为简单,且对HTTPS支持也很傻瓜,同时与阿里云OSS是联动使用的,迁移到Azure  CDN+回源Azure存储的代价太大,且需要重写CDN业余中间层SDK,所…
这一章想讲一下Spark的缓存是如何实现的.这个persist方法是在RDD里面的,所以我们直接打开RDD这个类. def persist(newLevel: StorageLevel): this.type = { // StorageLevel不能随意更改 if (storageLevel != StorageLevel.NONE && newLevel != storageLevel) { throw new UnsupportedOperationException("C…
Discuz 开源项目仅保留了 UTF8 编码版本,要从GBK版本升级,须进行编码转换. 转换主要执行以下步骤: 关闭网站,做好源文件备份: 导出数据库,在MySQL中生成Self-Contained Dump文件: 使用文本编辑器编辑数据库Dump文件,替换字符串“gbk”为“utf8": 移除原数据库并导入修改后的Dump文件: 使用新源码覆盖旧代码(但保留配置文件): 修改配置文件 config_global.php,将数据库编码设置为”utf8“,页面输出编码设置为”utf-8“,注意短…
package com.mall.common; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import redis.clients.jedis.ShardedJedis; import redis.clients.jedis.Sh…
问题导读:spark缓存是如何实现的?BlockManager与BlockManagerMaster的关系是什么? 这个persist方法是在RDD里面的,所以我们直接打开RDD这个类. def persist(newLevel: StorageLevel): this.type = {   // StorageLevel不能随意更改   if (storageLevel != StorageLevel.NONE && newLevel != storageLevel) {     thr…
楔子 说起读开源项目源码,很多朋友觉得高大上.大佬牛逼,云云~ 挡在很多人面前的不是源码怎么读,而是不知道如何导入源码到开发工具以及如何调试源码. 本文将以 spring-cloud-gateway 源码导入一个简单的 SpringBoot 项目中举例,目的就是给读者一个导入开源项目源码并调试的简单方法. 看文过程中感觉有不明白的地方欢迎评论留言,如果本文帮到了你,本人不胜荣幸的同时,也欢迎为本文点个大拇哥 准备工作 1.默认大家本地有装 IDEA.Maven.Git,Java 程序员通识就不再…
前言 上一节咱们讲了LocalEventBus,本节来讲本地事件总线(DistributedEventBus),采用的RabbitMQ进行实现. Volo.Abp.EventBus.RabbitMQ模块内部代码并不多,RabbitMQ的操作都集中在Volo.Abp.RabbitMQ这个包中. 正文 我们从模块定义开始看,项目启动的时候分别读取了appsetting.json的配置参数和调用了RabbitMqDistributedEventBus的Initialize函数. public clas…
记录并分享一下本人学习spring源码的过程,有什么问题或者补充会持续更新.欢迎大家指正! 环境: spring5.X + idea 建议:学习过程中要开着源码一步一步过 Spring中对象的创建宏观流程: 创建对象需要的基础数据:beanDefinition 在BeanFactory中getBean时做一下三步处理完成对象的创建 创建对象:AbstractAutowireCapableBeanFactory中doCreateBean createBeanInstance(beanName, m…
记录并分享一下本人学习spring源码的过程,有什么问题或者补充会持续更新.欢迎大家指正! 环境: spring5.X + idea 建议:学习过程中要开着源码一步一步过 Spring根据BeanDefinition创建单例对象 DefaultSingletonBeanRegister中getSingleton((String beanName, ObjectFactory<?> singletonFactory)) public Object getSingleton(String bean…
jointJs使用随记 1.下载与安装 前提:一个健康良好且干净的vue脚手架项目. 还是普遍的安装方式 yarn:yarn add jointjs npm:npm install jointjs 还建议安装这几个其他的插件(dagre.graphlib) 这里建议jointjs的版本不要太高.(PS:最新版本可能会报变量undefined的问题,目前仍未解决...) 2.引入 在main.js里面全局引入:import joint from 'jointjs/dist/joint.js' vu…
整理如下,用于以后查找: Opcode Mnemonics Note Constants 0x00 nop 无动作 0x01 aconst_null 把 null 推到操作数栈 0x02 iconst_m1 把 int 常量 –1 推到操作数栈 0x03 iconst_0 把 int 常量 0 推到操作数栈 0x04 iconst_1 把 int 常量 1 推到操作数栈 0x05 iconst_2 把 int 常量 2 推到操作数栈 0x06 iconst_3 把 int 常量 3 推到操作数栈…
本来返回的json 3个true 7个false的 结果显示10个true 因为本来是好的 结果判断的问题 给全部赋值true了…
第一次用python写代码,有一些不习惯,比如if.else.for.def后要加:.假设换一个编译工具可能会好点,否则仅仅能每次执行的时候查看错误信息.它的优点也正是这里不须要每条语句输入;.不须要输入{},靠缩进理解语义(缩进本来就是语义) 在遍历文件夹的时候功能也非常强大for root,dirs,files in os.walk(path),当须要单独的文件名称的时候能够直接从files取到,须要全路径时用foot join一就就OK了,不须要自己写递归遍历文件夹,不须要从全路径分离文件…
反编译指令 javap -c xxxx.class JVM参数设置 -xx:+<option>                  开启option -xx: -<option>                     关闭option选项 -xx:<option>=<value>        设置选项的值 0xB2                getstatic                 获取指定的静态域,并将其值压入栈顶 0xB3       …