Giter Club home page Giter Club logo

kezhenxu94.github.io's People

Contributors

dependabot[bot] avatar kezhenxu94 avatar

Watchers

 avatar  avatar

kezhenxu94.github.io's Issues

使用 Checkstyle 检查代码风格

https://kezhenxu94.github.io/2018/10/20/Check-code-style-with-Checkstyle/

一千个读者眼中有一千个哈姆雷特.一千个开发者键盘之下, 可能有一千零一种代码风格. 背景 本文所有代码可以从 GitHub 获得. 每个开发者都会有自己喜欢的代码风格, 但当多个开发者需要协作开发一个项目的时候, 如何避免产生图中这样的”圣战”呢. Checkstyle 是一款能够帮助开发者编写遵循一定规范的 Java 代码的工具. 它默认支持 Google 的代码风格规范和 Sun 的代

[译] 关于你的编程生涯的一些告诫

https://kezhenxu94.github.io/2018/05/18/Warning-Your-programming-career/

如何避免迷失在编程的黑色森林中 在我的编程生涯刚刚开始的时候,主要困扰我的一件事情就是编程语言/编程技术的选择。我应该学什么,从哪里入门?要得到我的第一份编程工作我需要学会什么?回望过去(距今大概已经 10 年),那时还没有像 Coursera,Udemy 和 SoloLearn 这样的在线教育学习平台。那时的我也还无法全靠自己就能寻找到通往成功事业的正确方向和完整道路。对于程序员这个岗位,高回报

Java 中的写时复制 (Copy on Write, COW)

https://kezhenxu94.github.io/2018/04/22/Implementations-of-COW-in-Java/

Background写时复制 (Copy on Write, COW) 有时也叫 “隐式共享”, 顾名思义, 就是让所有需要使用资源 R 的使用者共享资源 R 的同一个副本, 当其中的某一个使用者要对资源 R 进行修改操作时, 先复制 R 的一个副本 R’ , 再进行修改操作; Problem在 Java 集合框架中, 像 ArrayList, HashSet 等基础集合类是非线程安全的, 在多线

使用 `curl` 和 `jq` 测试 RESTful API - 环境变量

https://kezhenxu94.github.io/2018/03/28/Testing-API-with-curl-jq-Env-Vars/

Problem 介绍了如何使用 curl 和 jq 进行简单地测试 RESTful 接口; 在实际情况中, 我们通常会有多个部署环境, 如开发环境, 测试环境, 用户验收测试环境 (UAT), 正式环境等; 这些不同的环境通常会使用不同的域名区分, 但接口的路径总是一样的; 使用 curl 进行测试的时候, 如果需要切换不同的环境就需要修改接口的地址, 非常不便;像 Postman 这样的工具提供

JMH - Java Micro-benchmark Harness

https://kezhenxu94.github.io/2020/01/18/JMH-Java-Microbenchmark-Harness/

如何使用 JMH 编写 Java 基准测试JMH 是 Java Micro-benchmark Harness (Java 微基准测试工具) 的简称; 它能够帮助我们正确实现 Java 微基准测试, 本教程会介绍如何使用 JMH 来编写和运行 Java 微基准测试; 为何 Java 微基准测试难编写基准测试来准确测量大型应用中的某一部分是很困难的; JVM 或底层硬件的很多优化可能会在基准测试单独

GitHub contribution best practice

https://kezhenxu94.github.io/2020/01/15/GitHub-contribution-best-practice/

本文是笔者在开源贡献中总结出来的一些关于 Git 操作的实践, 如果你有 “更佳” 的实践, 请在本文下方评论.本文以笔者自己的 Git 工作流开始, 然后以 Q/A 形式展开, 解释工作流中的各个步骤要解决的问题, 读完第一部分之后, 你可以随意选择你需要的部分进行阅读, 或在遇到问题时再来查阅. Git Flow0. Fork一般情况下我们并没有要贡献的项目的写入权限, 所以需要先创建自己

MySQL Master Slave

https://kezhenxu94.github.io/2016/03/26/MySQL-Master-Slave/

BackgroundMySQL 主从服务器的作用之一是备份, 配置为从服务器 (slave) 的 MySQL 服务器将主服务器 (master) 发生的修改动作同步过来, 当主服务器发生故障的时候, 从服务器可以迅速替代主服务器提供服务. 关于 MySQL 主从服务器的配置本来非常简单, 但网上的配置教程也让我眼花缭乱, 有的教程使用的服务器版本过旧, 而 MySQL 更新非常快, 以前旧版本的配

Jenkins 从入门到放弃

https://kezhenxu94.github.io/2018/05/20/Jenkins-Getting-Started/

Jenkins 是什么Jenkins 是一个自动化服务器, 他可以用来将与构建, 测试, 交付和发布等相关的各种各样任务自动化. 根据经验, 一项任务要想能够自动化, 其操作步骤应该是相对固定的, 可重复的. 例如, 如果你想对代码进行单元测试, 其步骤通常都是更新最新代码, 运行单元测试脚本/命令, 对于使用 git 作为代码版本控制系统, maven 作为构建工具的项目来说, 步骤通常是:

设计模式 - ASM 中的访问者模式

https://kezhenxu94.github.io/2018/10/28/Design-Patterns-Visitor-in-ASM/

ASM 是一个 Java 字节码操作和分析框架, 可直接用二进制的方式(无需编译/反编译)修改已存在的类或动态生成新的类. 问题要开发像 ASM 这样的框架, 主要面临以下几个问题: 动态添加操作方法既然是一个字节码的操作和分析框架, 那么就要提供对字节码进行各种各样的操作, 且允许用户自定义操作类型. 如在 ASM 中, 除了内置对字节码进行输出和转换等默认实现之外, 还要允许用户对字节码

使用 `curl` 和 `jq` 测试 RESTful API - 入门

https://kezhenxu94.github.io/2018/03/17/Testing-API-with-curl-jq-Start/

Problem目前用于测试 RESTful 接口的工具多种多样, 从像 Postman, Cocoa Rest Client 这样的独立运行的应用程序, 到像 Postman 这样的浏览器插件, 以及像 Editor-based Rest Client 这样的 IDE 插件, 功能都非常专业和强大; 但对于非重度测试人员可能并不想在电脑上安装太多不常用的软件, 或者对于已经熟悉了命令行操作和 Sh

GitHub Idioms

https://kezhenxu94.github.io/2020/01/15/GitHub-Idioms/

本文不定期更新, 添加更多常用语 在开源社区, 特别是 GitHub 上, 经常会有很多惯用语和缩写词, 如果不了解这些惯用语的话, 是很难跟别人顺畅沟通的, 本文总结了在 GitHub 上常用的一些惯用语,希望读者下次在 GitHub 上看到这些惯用语时不要觉得是天书/黑话, 更重要的是希望大家使用比较地道的惯用语和缩写, 类似于 3Q 这种就尽量只在国人社交软件上使用吧 :) 惯用语

False sharing and optimization

https://kezhenxu94.github.io/2020/01/22/False-sharing-and-optimization/

Background我们知道, 在计算机运行的过程中, CPU 主要工作就是处理数据, 而存放这些数据的媒介一般分为几个层次, 离 CPU 从”近”到”远”依次是一级缓存(L1), 二级缓存(L2), 三级缓存(L3), (可能还有四级缓存(L4)等等), 内存, 硬盘. 距离 CPU 越近的媒介读写速度越快, 但是价格越昂贵, 因此容量越小; 要想程序运行速度最快, 理想情况下就是把我们所有需要

Caching with Nginx

https://kezhenxu94.github.io/2018/03/17/Caching-with-Nginx/

Problem过去几周, 随着公司产品的用户量不断增加, 每当高峰期 API 服务器(只有 1 个)总会因为用户请求数量过多导致响应时间过长, 客户端等待超时主动断开链接, 最终大部分用户的请求都没有得到正常响应. 经过分析发现 API 服务器响应时间过长的原因在于每次客户端请求接口时 API 程序都要向数据库发送查询语句, 且查询返回的数据量相当大, 因此第一反应是优化数据库查询 SQL 和给

使用 Scrapy 扒取数据 - CrawlSpider

https://kezhenxu94.github.io/2018/03/30/Scraping-Data-with-Scrapy-CrawlSpider/

Problem上一篇文章总结了使用 Scrapy 中的 scrapy.Spider 类扒取静态页面网站的方法; 文章末尾成功扒取到目标网站的数据, 下载了图片到本地文件, 但也发现了一些可以优化的地方: 待扒取的网页地址需要人工寻找: 我们需要使用选择器选择相册列表的 html 标签, 需要使用选择器选择翻页的 html 标签, 提取 url 链接; 下载的图片文件全部存放在一层目录下, 没有

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.