- 博客(31)
- 资源 (2)
- 收藏
- 关注
原创 Gitlab 利用Server端Hook来锁定文件不被修改
Gitlab 利用Server端Hook来锁定文件不被修改1、背景研发gitlab CI/CD时,需要编辑一个整个代码仓库统一的CI/CD流程,用于流程与权限的控制。众所周知,Gitlab的CI/CD流程是通过.gitlab-ci.yml文件配置的。通常,如果用户拉出自己的开发分支,那么该yaml文件也会被用户修改,也就是说用户可以完全不用当前的CI/CD流程而重新自定义自己的流程,越权部署代码,存在极大的安全风险。2、适用场景需要利用Gitlab的CI/CD功能,保护.gitlab-ci.yml不
2021-04-16 11:40:00
3686
原创 Airflow单机安装与配置
Airflow单机安装与配置1. 基础环境准备此处为避免Python环境相互影响, 利用Anaconda中的conda命令,做到环境隔离。首先安装Anaconda(具体安装步骤很多,此处不再赘述),附下载地址。Anaconda下载。Linux机器用wget即可获取。创建、激活虚拟环境conda create -n airflow python=3.7conda activate airflow2. 安装与配置Airflow这一步主要参考 Airflow 1.10.12 安装,具体命令如下:
2020-12-24 14:49:51
1108
原创 Hive SQL中文乱码 中文筛选条件
Hive SQL中文乱码 中文筛选条件我们编辑器环境的中文编码可能与Hive表中的中文编码不一致,但是我们有时候需要用到例如case when的语句,涉及中文的判断,例如:case when province='海外' then city else '中国'end as country此时,如果发现这个判断逻辑无效,或者结果字段中文乱码时,可能原因是我们编辑器的可能是GBK或者UTF-8。解决方案是转成Unicode编码,该语句变为:case when prov
2020-09-13 17:14:19
2532
原创 CDH6.2/6.3 集成安装Flink 简明教程
CDH6系列并不自带Flink,目前此类教程比较少,特此分享出来一个最简单的集成方式。第一步:下载需要的jar,parcel等文件wget https://archive.cloudera.com/csa/1.0.0.0/csd/FLINK-1.9.0-csa1.0.0.0-cdh6.3.0.jarwget https://archive.cloudera.com/csa/1.0.0.0/parcels/manifest.jsonwget https://archive.cloudera.co
2020-06-03 16:46:07
7167
14
原创 FastJSON在Scala中的应用
package online.daliang.learningimport com.alibaba.fastjson.JSON/** * @author daliang on 2018/9/17 */object fastJson { def main(args: Array[String]): Unit = { val jsonString = "{\"et\":\...
2018-09-18 10:44:46
6478
3
原创 Linux字符串切割的两个方法
利用shell自带功能OLD_IFS="$IFS" #用于备份默认的分隔符IFS="," #指定分隔符arr=($a) #将字符串切分成数组IFS="$OLD_IFS" #恢复默认分隔符,以免后续受到干扰经典的awk方式name=$(echo ${a} | awk -F '.' '{print $1}')
2017-08-03 11:09:16
3711
原创 python requests模块联合logging模块
Requests,是为人类准备的HTTP,以更pythonic的方式处理HTTP请求。比urllib2好用得多得多得多。自己拿来亲自用一下。 logging是企业开发常用模块,光看代码经常遇到,现在自己也用一下。 正好有一个小需求,因此故意使用新技术解决。#!/usr/bin/env python# -*- coding: utf-8 -*-#########################
2017-07-18 21:41:30
1824
原创 经济学原理——微观经济学
1.人们面临权衡取舍(People face trade-offs) 2.某种东西的成本是为了得到它而放弃的东西( The cost of something is what you give up to get it) 3.理性人考虑边际量(Rational people think at margin) 4.人们会对激励作出反应(People respond to incentives)
2017-05-04 19:55:18
757
原创 Hive中case when的两种语法
总结一下:两种表达方式是等效的 方法一:case when tb1.os = 'android' then 'android'when tb1.os = 'ios' then 'iPhone'else 'PC'end as os,方法二:case tb1.oswhen 'android' then 'android'when 'ios' then 'iPhone'else 'PC'
2017-05-03 22:52:45
140015
3
原创 python字典基本操作总结
经常用python,体会就是会用的就经常用,总是那么几个方法。其实很多方法有时候更方便,更直接可以达到目的,只是自己不清楚它的真实用法罢了。总是需要看看书,总结一下,才会有提高。 现将python字典的基本操作和方法总结如下,直接上代码亲测:# -*- coding: utf-8 -*-"""Created on Thu Feb 23 20:45:43 2017@author: daliang
2017-02-25 14:58:26
930
原创 关于MapReduce框架中Key-Value对象的重用
问题说明在写MapReduce的reduce程序时,有时会用到Java中Treemap容器对准备输出的treeMap.put(new LongWritable(count), key);//有意调换K,V以便排序但是输出时却发现key的值都是一个,而且都是最后一个put进入treeMap中的值!这是为什么? 请教了公司大牛wanglei2才知道其中的原因,在此感谢王老师并表达膜拜之情! 原因是
2016-08-30 21:58:18
1862
原创 Java中TreeMap和HashMap的应用和比较
**注意:**TreeMap的写法可用于Mapreduce中reduce程序中对K,V的排序输出,K,V在输出时互换。package cn.bjut.vlsi.TreeMap;import java.util.HashMap;import java.util.Map.Entry;import java.util.Set;import java.util.TreeMap;public class
2016-08-23 22:18:28
2475
原创 《机器学习实战》
书评: 本书侧重于代码实践,理论推导和公式差一些; 适合快速入门和上手,实例比较好; 豆瓣建议结合优快云和《统计学习方法》;前言说本书就是以实践为主的。
2016-06-19 20:02:13
561
原创 读书札记(关于C语言类的经典书籍)
关于C语言的书籍方面,我感觉国外作者写的更好一些,比如《C和指针》,大概在15年1月份,我全部读过,他是作者经验的总结,一步步分享给大家。遇到的疑惑,在下面的内容里马上就会找到答案,这是我读这本书的最大的感受。后来读了《C专家编程》写的有蛮有趣的,里边加入了很多小故事。关于指针,有两个章节的讲解完,可见指针是C语言的精华。《C陷阱与缺陷》这本用的是比较老版本的C语言,好像是C89,不过很多在现在依然
2016-06-18 12:04:18
2663
原创 GTest的环境搭建与导入dll测试
Google Test环境搭建参考了 DQing的博文windows下Google Test测试框架的环境搭建此处主要说明一下如何导入动态链接库以及对动态链接库的测试。 主要分为两步: 1. 引入dll的头文件放在项目下。 2. 指定dll的lib的路径 此处直接写了ALU.lib,可以找到是可能在VS默认的搜索路径中,如果只是写文件名不可以的话,那么在前边加上完整路径。之后编译一下。 C
2016-06-17 17:34:27
1659
原创 Windows下Cmake和VS联合使用dll
步骤分为两个部分Cmake部分和Visual Studio 部分首先也是用cmake和创建工程。建立Cmake的主目录,在主目录下建立子目录build,src和文本文件CmakeLists.txt,该文本文件内容如下: CmakeLists.txtPROJECT(NEWALU) #指定工程名ADD_SUBDIRECTORY(src) #包含的子目录在src下,创建本目
2016-06-17 16:54:02
4982
原创 Windows下Cmake与VS联合制作dll
接触大的项目,铺天盖地的代码总是会掩盖了开发环境和工具的本质,上手之前,跑跑小的历程有助于对项目的理解,提高效率。首先记录一下 dll(动态链接库)的生成过程: 建立文件夹 Execise_CmakeDLLgitGtest建立两个子文件夹和文本文件 build lib CmakeLists.txtCmakeLists.txt如下:PROJECT(ALULIB)ADD_SUBDI
2016-06-17 16:29:43
14026
6
原创 C语言栈内存的分配
由于函数栈内存分配顺序真是方向不同,容易出错,所以运行一下程序特意证明了一下。直接上程序,程序很简单。#include<stdio.h>int main(void){ int a; int b; char buf[4]; printf("&a:%p\n",&a); printf("&b:%p\n",&b); printf("buf的地址:%p\n",
2016-05-30 21:12:10
1246
原创 C语言字符串、数组与指针结合
C语言容易迷茫的地方,这哥仨一起组合出来,绝对容易蒙,现在遇到了总结出来,以后遇到再补充进来。sizeof与strlen#include<stdio.h>int main(){ char a[] = "hello"; char *p = a; printf("%d\n",sizeof(a)); printf("%d\n",sizeof(p)); pri
2016-05-27 21:42:03
536
原创 广度优先算法(BFS)
与博客中的深度优先对照起来看,此处不再赘述。void bfs(int begin){ int head = 0;//数组的起始位置 int tail = 0;//数组的起始位置 int i; int cur; que[tail] = begin;//起始点先加入队列,加入对尾 tail++; book[begin] = 1; whil
2016-05-25 12:06:34
400
原创 深度优先算法(DFS)
前言:英文缩写为DFS,可笑的是,我最早去HP公司面试做笔试题的时候, 竟然没看出来是什么意思,当然即使知道是这个算法,当时也不太会写。本科都是学过的,就是后来忘记了。思路说明:理解深度优先算法的关键在于解决“当下该如何做”。至于下一步应该如何做,和当下应该如何做是一样的,对!就是用递归!自己调用自己!递归函数模型:void dfs(int step){ 判断边界,如果到了边界当然直
2016-05-25 10:08:45
5440
原创 python读取串口、网络编程、文本处理与文件操作
前言:之所以把本文的名字起得这么长是为了突出文中包涵的每一部分。如题,文中程序正是包涵了读取串口、网络编程、文本处理与文件操作。这是我们项目的数据处理的一部分,因为项目也不涉及保密,也不是什么核心技术,所以写出来分享一下并没有什么不妥之处。这百行级别的代码都是亲手敲的,一边学习、查询然后再编程,实现了串口接收数据的处理和自动化录入文件,对提高了数据处理的效率。会的东西越多,做事就越简单。
2016-05-24 22:27:46
4985
原创 快速排序
快速排序思想:以一维数组为例,选择最左边的元素为基准点,先从右往左找小于基准点的数,再从左往右找大于基准点的数,然后交换他们。再继续……直到两个索引相等的时候相遇了,交换相遇这个点和基准点的值,再以此为中点分成两个部分(二分法),对这两部分再次重复上述操作……直到不能再分。#include <stdio.h>int array[100],num;void quicksort(int left,in
2016-05-24 19:42:17
396
原创 python操作MySQL数据库
感觉学过的东西,总结一下比较好,不然随着时间的流逝又都忘却了。当以后的时间里突然用到了,想起来这个东西曾经学过,然后还有总结可以看,这确实是有效率又令人舒服的事情。 最近学了一下python脚本对数据库的操作,记录的同时,也分享出来。# -*-encoding: utf-8 -*-import MySQLdb #首先是导入数据库的包try: #连接到数据库,获得连接数据库对象conn
2016-05-24 16:57:55
363
原创 堆排序
百度面试二轮游,就像CP3摸不到西决地板一样,两轮面试都问到堆排序,感觉这个排序既考查数据结构,又考察排序算法, 可是反应一个人的基础。第一面的时候还不会,用快速排序代替了,写的还可以;第二面又问到,但是之前我有看过了,可是写代码还是很费劲,最后的最后,终究被pass掉了。 回来怒写了一遍堆排序:#include<stdio.h>int h[101];//全局变量,用数组来存储堆,从h[1]开始
2016-05-24 16:14:47
329
原创 Hadoop框架下运行MapReduce程序
本文介绍了在Linux中Hadoop环境下,利用mapReduce框架写wordCount应用程序的主要方法,并且提供程序的解释说明。首先在工程中创建一个package:my.examples.hadoop.mr,在这个包下新建一个class:WCMapper;再新建一个class:WCReducer;最后新建一个class:WCRunner。WCMapper 主要说明:map 和 reduc
2016-04-14 23:01:22
723
原创 欢迎使用优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-04-12 21:47:58
259
Python2.7 Win32 matplotlib模块以及其依赖模块打包(不含numpy和scipy)
2016-06-19
Hadoop2.4.1的JAR包
2016-04-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人