详解MapReduce(Spark和MapReduce对比铺垫篇)

MapReduce是Hadoop核心三剑客之一,设计思想来源于谷歌三篇论文之一的《分布式计算模型》。作为一个分布式运算程序编程框架,需要用户实现业务逻辑代码并和它自带的默认组件整合成完整的分布式运算程序,并发运行在Hadoop集群上 ... »

linux系统软件启动sh脚本

在系统维护中,编写脚本会帮助运维提高效率,现记录一个通用的软件启动脚本。脚本内容如下: #!/bin/bash # 软件启动程序包名称 APP_NAME=datadog-4.2.0.jar # 软件名称 APP_NAME2=Datadog usage() { echo "Usage: sh 执行脚本 ... »

打造跨平台.NET Core后台服务

续之前讲的在TopShelf上部署ASP.NET Core程序,作为后台服务运行,自从.NET Core 3.0出现以后,出现了自带的Generic Host,使得自托管服务变为可能。这种方式和TopShelf方式一样,可以直接F5进行服务的调试,也为跨平台后台服务编写提供了一种新的方案。 创建服务 ... »

记一次发卡网代码审计

前言 好胸弟柠枫昨天dd了我一下,这不,叫我一起审计发卡的cms 君无戏言,最近也在整二进制,当然要跟我的好胸弟一起组队py一下,不知道我都多久没审了,吐 咱语文也不是很好,各位看官就将就着看看就好,水文勿喷 0x01. 首页功能点审计 打开一看,发现不是mvc框架了,那就感觉没啥好看头了,对于发卡 ... »

JDK---00Linux上编译openjdk8

Centos 7 编译自定义jdk8 1. 安装所需的依赖 yum install alsa-lib-devel cups-devel libX* gcc gcc-c++ freetype-devel libstdc++-static ant make yum install clang -yyum ... »

byte数据按位反转

例如:一个Byte数据为12,反转之后的数据为3 Byte data = 12; //二进制为1100 char[] reverseDataArray = Convert.ToString(data, 2).Reverse().ToArray(); string reverseDataString ... »

Tensorflow学习笔记No.9

模型的保存与恢复 介绍一些常见的模型保存与恢复方法,以及如何使用回调函数保存模型。 1.保存完整模型 model.save()方法可以保存完整的模型,包括模型的架构、模型的权重以及优化器。 model.save()的参数为保存路径以及文件名。 首先我们构建一个简单的Sequential模型,使用fi ... »

图论之最短路

1.Floyd(弗洛伊德) $Floyd$算法可以求出任意两点的最短路径,相当于求解$n$次单源最短路径问题,并且十分简单,时间复杂度为$O(n^3)$。 思想 Floyd算法是动态规划。我们设 $f [ k ][ i ][ j ]$表示“经过若干个标号不超过$k$的节点”从$i$到$j$的最短路长 ... »

原来工作几年了,只用了数据校验的皮毛~

前言 不知不觉Spring Boot专栏文章已经写到第十四章了,无论写的好与不好,作者都在尽力写的详细,写的与其它的文章不同,每一章都不是浅尝辄止。如果前面的文章没有看过的朋友,点击这里前往。 今天介绍一下 Spring Boot 如何优雅的整合JSR-303进行参数校验,说到参数校验可能都用过,但 ... »

Java安全之Commons Collections5分析

Java安全之Commons Collections5分析 文章首发:Java安全之Commons Collections5分析 0x00 前言 在后面的几条CC链中,如果和前面的链构造都是基本一样的话,就不细讲了,参考一下前面的几篇文。 在CC5链中ysoserial给出的提示是需要JDK1.8并 ... »

SQL Server的两种数据分页方式简析

在 Sql Server 2012及以上版本里面,分页方法中,Offset and Fetch 同 ROW_NUMBER() 比较起来,无论是性能还是语法,都是有优势的。但是性能方面,优势并不是太大,两者的IO 消耗完全相同,只是在CPU 方面,Offset and Fetch 方面要好一些,但是不... ... »

基于gin的golang web开发:模型绑定

在前两篇文章介绍路由的时候,我们了解到gin可用通过类似DefaultQuery或DefaultPostForm等方法获取到前端提交过来的参数。参数不多的情况下也很好用,但是想想看,如果接口有很多个参数的时候再用这种方法就要调用很多次获取参数的方法,本文将介绍一种新的接收参数的方法来解决这个问题:模 ... »

redis client原理分析

代码库地址:https://github.com/garyburd/redigo 1:连接池 2:发送命令 3:解析结果 1:连接池 连接池结构体如下: type Pool struct { // Dial is an application supplied function for creati ... »

Java8新特性探索之Stream接口

一、为什么引入Stream流 流是一系列与特定存储机制无关的元素——实际上,流并没有“存储”之说。使用流,无需迭代集合中的元素,就可以从管道提取和操作元素。这些管道通常被组合在一起,形成一系列对流进行操作的管道。 在大多数情况下,将对象存储在集合中是为了处理他们,因此你将会发现你将编程的主要焦点从集 ... »

对开发流程优化的建议

从事软件开发多年的老兵都知道,在一个软件项目的生命周期里,不可避免地会生产很多变化,让开发陷入困局,本文试分析并给出一些方法来缓解困局,希望大家给予建议和批评 ... »

服务器配置Node

1. 安装Node包 wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz 2. 解压 tar xvJf node-v10.15.3-linux-x64.tar.xz 3. 重命名并移动到/usr/local下 mv ... »

BAT大佬推荐使用的HTML5的十个功能

HTML5不是新事物。自从最初发布(2008年1月)以来,我们一直在使用它的一些功能。后来,我再次仔细查看了HTML5功能列表。看到我发现了什么?到目前为止,我还没有真正使用过它! 在本文中,我列出了十个HTML5我过去没用过但现在发现有用的功能。我还创建了一个工作示例流程并托管在Netlify。希 ... »

想买保时捷的运维李先生学Java性能之 生存与毁灭

一、判断对象是否存活 1、引用计数算法 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器就加1;当引用失效时,计数器的值就减1;任何时刻计数器为0的对象是不可能再被使用的。引用计数算法(Reference Counting)的实现简单,判断效率也很高,在大部分情况下是一个不错的算法,但是主 ... »