保存勤学习的心,做好写代码这事
下文整理的几个问答,本人在实际应用中亲身经历或解决过的,主要涉及Elasticsearch地理坐标类型(Geo-point)在Java应用中的一些特殊使用场景,核心依赖如下: org.
开篇 服务部署是应用上线前的必需环节。大道至简,如何做到项目简单化、自动化甚至傻瓜式部署是考验DevOps的一大难题。从docker面世到k8s的脱颖而出,有越来越多的开源工具也在帮助开发和运维人员解决这些问题。
开篇 这次的目标网站也是本人一直以来有在关注的科技平台:Zealer,爬取的信息包括全部的科技资讯以及相应的评论。默认配置下运行,大概跑了半个多小时,最终抓取了5000+的资讯以及10几万的评论。
前言 Scrapy抓取慕课网免费以及实战课程信息,相关环境列举如下: scrapy v1.5.1 redis psycopg2 (操作并保存数据到PostgreSQL) 数据表 完整的爬虫流程大致是这样的:分析页面结构 -> 确定提取信息 -> 设计相应表结构 -> 编写爬虫脚本 -> 数据保存入库;入库可以选择mongo这样的文档数据库,也可以选择mysql这样的关系型数据库。
进阶前言 学Py和写爬虫都有很长一段时间了,虽然工作方面主要还是做Java开发,但事实上用python写东西真的很爽。之前都是用Requests+BeautifulSoup这样的第三方库爬一些简单的网站,好处简单上手快,坏处也明显,单线程速度慢,偶尔想要跑快点还得自己写多线程或者多进程。
项目背景 在描述和还原事故之前,简单说明下相关环境: spring boot v2.0.4.RELEASE spring-boot-starter-data-elasticsearch (以前做项目的时候,Spring Data ES跟ES服务存在版本匹配关系,但目前在spring boot v2.
前言 前端时间利用ES开发一个"附近地理位置+其它信息"查询搜索的功能(据了解,Redis和PostgreSQL也能实现同样的功能),实践中遇到了不少的问题,所以通过这篇文章记录下踩填坑过程。
背景说明 感觉微信公众号算得是比较难爬的平台之一,不过一番折腾之后还是小有收获的。没有用Scrapy(估计爬太快也有反爬限制),但后面会开始整理写一些实战出来。
前言 之前借助过Fiddler来抓取微信公众号的文章和留言(Https协议的,下一篇介绍),所以安装https证书又是必不可少的,这里简单还原下安装步骤。
写在前面 itchat基于python开发,封装了大量调取微信功能的接口,使得开发人员可以快速基于这个框架来完成一些微信操作,在这之前我们要做的就是扫码登录,实际上这相当于登录网页版的微信(新注册的账号似乎不支持)。
PS:本文适合有一点点Python基础的人阅读。 前言 干我们这行的,碰到搬轮子、写代码便能轻松解决的事情要尽早去做,个人认为日常生活中这样的事并不少,走点心或许就是一个学习或是发财机会ヾ(๑╹◡╹)ノ" 这里介绍的“羊毛”主是指京东平台的虚拟货币:京豆,其实钢镚完善一下代码也是可以搞的,说真的没多少行代码但作为辅助工具真的够用了,如果按每天能褥一波计算,少则有几十京豆,多则一两百也是有可能是。
UML类图 建造者模式 代码示例 Product /** * 表示具体的产品,由多个部件组成 */ public class Product { /** * 存放产品每个部件的集合 */ pr...
UML类图 原型模式 代码示例 实际应用中,原型模式可以简单理解为克隆操作。在大多数面向对象编程语言中,实现克隆操作并不复杂,对于Java,我们只需继承Cloneable接口,并重写Object的clone()即可(非必须)。
UML类图 单例模式 代码示例 饿汉式 /** * 单例模式:饿汉式 * * a.线程安全 * b.提前初始化(占用资源) * c.类加载慢但获取对象快 */ public class HungrySingleton { ...
UML类图 抽象工厂模式 代码示例 定义苹果类接口,包含一个描述方法 /** * 苹果抽象类 */ public interface IApple { /** * 具体描述 */ void de...
UML类图 工厂方法模式 代码示例 定义运算枚举 /** * 运算枚举 */ public enum TypeEnum { /** * 加 */ ADD, /** * 减 ...
UML类图 简单工厂模式 代码示例 定义运算枚举 /** * 运算枚举 */ public enum TypeEnum { /** * 加 */ ADD, /** * 减 ...
前言 俗话说,好记性也不如烂笔头,最近开始阅读设计模式这方面的书籍,算是借此开个好头,把一些理解的和不太理解的都写下来。本人工作时间不长,经验、资历各方面也还比较欠缺,但目前来说还是很有决心多看一点好书,做好一些事情的。
我工作时间不长,加上实习至今(2018.07)也就一年;我没进过大厂,也就意味着没有接受过正规的系统培训;这条路我走着普通的不能再平凡,没感受过优秀的工程师文化。
前言 本文介绍Spring Boot中读取配置属性的几种方式,项目示例中用到的application.yml和application.properties定义如下: application.yml application.properties @Value @Value是比较常见的注入方式,功能强大但一般可读性较差。
前言 之前介绍了用docker来搭建redis主从环境,但这只是对数据添加了从库备份(主从复制),当主库down掉的时候,从库是不会自动升级为主库的,也就是说,该redis主从集群并非是高可用的。
环境说明 Docker Ubuntu/CentOS Redis v4.0.10 redis.conf redis.conf是Redis的核心配置文件,默认docker运行的redis是不存在配置文件的,这里可以先从官网下载: wget http://download.redis.io/redis-stable/redis.conf 下面分别介绍是否指定redis.conf来搭建Redis主从。
is 和 == 先了解下官方文档中关于 is 和 == 的概念。is 表示的是对象标示符(object identity),而 == 表示的是相等(equality);is 的作用是用来检查对象的标示符是否一致,也就是比较两个对象在内存中的地址是否一样(相当于检查 id(a) == id(b)),而 == 是用来检查两个对象引用的值是否相等(相当于检查 a.eq(b));这点和Java有点类似,只不过Java中是用 == 来比较两个对象在内存中的地址,用 equals() 来检查两者之间的值是否相等。
文章背景 hexo生成的默认文章链接格式是这样的:https://blog.mariojd.cn/2013/07/14//,这个配置在hexo根目录下的_config.yml里面:permalink: :year/:month/:day/:title/,这种默认的配置缺点很明显,当文件名是中文的时候url链接里就有中文出现,看起来low的同时也非常不利于seo优化,下面介绍两种解决方案。
写在前面 先上两张图对比下: Google-site:blog.mariojd.cn Baidu-site:blog.mariojd.cn 由于GitHub Pages是拒绝百度爬虫爬取的,包括用Hexo或Jekyll搭建的博客,因此你的站点再怎么SEO优化,这在国内也是收录和搜索不到的。
环境说明 Docker Ubuntu/CentOS MySQL v8.0.11 1. 配置my.cnf my.cnf(部分老版本可能是my.ini)是MySQL核心配置文件。
环境说明 Docker Ubuntu/CentOS PostgreSQL v10.1 1. 运行PostgreSQL 1.1 主库 docker run --name pgsmaster -p 5500:5432 -e POSTGRES_P...
YApi YApi是由去哪儿网移动架构组(简称YMFE,一群由FE、iOS和Android工程师共同组成的最具想象力、创造力和影响力的大前端团队)开源的可视化接口管理工具,一个可本地部署的、打通前后端及QA的接口管理平台,YApi旨在为开发、产品和测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建、发布和维护不同项目,不同平台的API。
Swagger swagger Swagger号称是史上最流行的、最好用的API接口文档构建工具,它支持多种语言包括Java在内,本文仅关注如何使用Spring Boot来集成Swagger,更多关于Swagger的介绍可以查看以下几个链接。
作者:Sam哥哥聊技术 原文链接:https://blog.csdn.net/linsongbin1/article/details/80211919 概述 Intellij IDEA真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜。
写在前面 说来也巧,之前有一次无意间留意到简书好像没有做文章总阅读量的统计(准确的说法应该叫展示),刚好最近有时间,趁这个机会就用Python写了这么个功能,既是学习也是练手。
Python + Selenium 自动发布文章系列:Python + Selenium 自动发布文章(一):开源中国Python + Selenium 自动发布文章(二):简书Python + Selenium 自动发布文章(三):CSDNPython + Selenium 自动发布文章(四):加入 bat 脚本 写在前面 这是本系列的第四篇文章,同时也是最后一篇。
Python + Selenium 自动发布文章系列:Python + Selenium 自动发布文章(一):开源中国Python + Selenium 自动发布文章(二):简书Python + Selenium 自动发布文章(三):CSDNPython + Selenium 自动发布文章(四):加入 bat 脚本 写在开始 这是本系列的第三篇文章,主要介绍如何用Python+Selenium 自动发布CSDN博客,一些必要的条件在之前的文章里面已经提到过,这里也不再重复。
Python + Selenium 自动发布文章系列:Python + Selenium 自动发布文章(一):开源中国Python + Selenium 自动发布文章(二):简书Python + Selenium 自动发布文章(三):CSDNPython + Selenium 自动发布文章(四):加入 bat 脚本 写在开始 本篇介绍用Python+Selenium 自动发布简书文章,一些必要的前置准备说明在上篇文章里面有提到,这里就不再重复了。
Python + Selenium 自动发布文章系列:Python + Selenium 自动发布文章(一):开源中国Python + Selenium 自动发布文章(二):简书Python + Selenium 自动发布文章(三):CSDNPython + Selenium 自动发布文章(四):加入 bat 脚本 写在开始 还是说说出这个系列的起因吧。
写在前面 熟悉Hexo的朋友都知道,写好的Markdown文章应该放到hexo安装目录的source\_posts文件夹下,然后使用命令hexo g -d或者是hexo d -g进行部署。
关于Chocolatey Chocolatey(中文译:巧克力味)是Windows平台下的一款包管理工具,类似于Linux平台的apt-get和yum。
hexo搭建好后,默认的主题叫 landscape。可是,如果你不想自己的博客就这么干巴巴的,那就去Hexo Themes里面挑一个喜欢的吧,然后换掉它。
数数手指头,我这基于 Hexo + GitHub Page 搭起来的个人博客也有两个月时间了,之前就想过把 http 升级为 https,无奈因为各种原因也就被搁置下来了。
使用Spring Boot以来,遇到和解决过好几次不同的项目启动问题,大多数事故起于错误的配置和依赖。因此,本文用于汇总这些问题,以及提供相应的解决方案,帮助大家更快的定位和排除故障。
假设有这么一个需求,要求在项目启动过程中,完成线程池的初始化,加密证书加载等功能,你会怎么做?如果没想好答案,请接着往下看。今天介绍几种在Spring Boot中进行资源初始化的方式,帮助大家解决和回答这个问题。
上一篇Jmeter压测http(s)介绍了如何使用Jmeter压测常规的web服务接口。本文将继续演示如何使用Jmeter对ws(s)进行压力测试。 有过Socket相关开发经验的人应该都不会陌生,ws协议就是WebSocket协议,而wss对应就是在SSL上运行的WebSocket协议。
上一篇文章关于Jmeter介绍了Jmeter入门相关的知识。本文是实战篇,讲讲如何使用Jmeter对Http(s)进行压力测试。 Http测试 测试一 首先,添加 “线程组”,选择 “添加” -> "Sampler" -> "HTTP请求"。
Apache JMeter The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance.
写在前面 anoyi-blog,一款有趣的开源个人博客建站工具,简单梳理下分享给大家。该工具基于 Docker, 可快速搭建和一键生成个人博客,用于实时解析简书文章、作者信息,专为个性化而生! Docker命令 docker run -d --na...
一、下载、安装Fiddler 二、微信授权调试 案发现场: 某天,一名正儿八经的开发"猿",在疯狂一顿Coding之后,他完成了微信授权登录功能的编码。
今天是2018年04月21日。 过去的这一个多月里,我的工(开)作(发)任务转战回了游戏。短短的一个月里,催着输出两款h5游戏,再加上对接、联调,想想真是够辛(ku)苦(bi)的。
本文用于整理阿里开源出来的技术电子书,更多精彩请搜微信公众号:“阿里技术”。 Java 《阿里巴巴Java开发手册》(详尽版) 官方下载 备用下载 《阿里巴巴Java开发手册》(终极版) 官方下载 备用下载 《阿里巴巴Java开发规约》(扫...
3月5日,钉钉宣布启动 “ 酷公司运动季 ”,拿出88万元奖金鼓励上班族减肥,运动达标者不但可以成功减掉赘肉,还能一起来瓜分奖金。开启挑战可以选择7天、14天、21天赛程,只要在赛程内按照要求每天的钉钉运动步数达到10000步,即可获得奖励资格。
没错,这是IDEA快捷键拆解系列的最后一篇文章了,也是对应本系列前言的一篇。 对于绝大多数开发者而言,把一款编辑器用熟了之后,再突然切换到其它款的编辑器的话,这个适应阶段一般都比较艰辛和漫长。