自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 收藏
  • 关注

原创 gunicorn+flask+PaddleOCR

由于公司是2G,所以一些收费的公网api不能用(同时也不安全),以至于内部尝试了多种开源ocr框架。首先是使用golang封装的一个ocr模块gosseract,使用英文模型多数字字母识别准确率高一点,不过也只有80%多的准确率。普通的验证码之类的识别1s 10张 想要更高的性能那你就在生产镜像里面吧worker加到更大,不过消耗的cpu内存也就更多(PaddleOCR其实支持gpu 这里默认是cpu)然后自己根基上述打一个基础镜像,自己的golang代码基于这个基础镜像来生成生产镜像。

2023-10-09 11:43:40 590

原创 golang使用泛型实现mapreduce操作

缺点:golang有点挫的在于不能在方法里面返回新的泛型类型,比如从student返回一个int类型。虽然能通过在struct定义俩个类型 但是万一要生成第三种类型就无能为力了,不可能一直往后加类型吧(这会导致定义类型超级长 写起来超级丑)。优缺点:这种方式能搞将一种容器类型转化为另一种。缺点就是写过java的会吐血。2.通过函数的方式实现(简单举个例子)1.使用面向对象的方式写。

2023-07-31 20:34:47 1136

转载 CMake快速制作RPM包

简介关于CMake介绍有很多,这里就不再CV一遍了。这里说的是CMake中包含的三个工具(cmake cpack ctest)中的cpack工具。他可以帮助快速的打包发布你的程序。Linux下可以用tar.gz、rpm、zip等格式。公司tlinux使用rpm。所以本文主要给出一个制作RPM的模板,当然也就支持了tar.gz和zip的发布方式,经过修改后可以用于项目当中。也可以用于自己的依赖环...

2019-05-14 14:20:28 5431

转载 go web框架gin

Gin 是一个 go 写的 web 框架,具有高性能的优点。官方地址:https://github.com/gin-gonic/gin带目录请移步 http://xf.shuangdeyu.com/movie/content.html?mid=25,简书markdown不支持目录生成目录[TOC]安装要安装Gin包,首先需要安装Go并设置Go工作区1、下载并安装$ g...

2019-05-10 16:12:59 1029

转载 kafka数据丢失总结

数据丢失是一件非常严重的事情事,针对数据丢失的问题我们需要有明确的思路来确定问题所在,针对这段时间的总结,我个人面对kafka 数据丢失问题的解决思路如下: 是否真正的存在数据丢失问题,比如有很多时候可能是其他同事操作了测试环境,所以首先确保数据没有第三方干扰。 理清你的业务流程,数据流向,数据到底是在什么地方丢失的数据,在kafka 之前的环节或者kafka之后的流程丢失?比如k...

2019-03-13 16:14:40 8323 1

转载 Kafka集群Leader均衡(Balancing leadership)

当一个broker停止或者crashes时,所有本来将它作为leader的分区将会把leader转移到其它broker上去。这意味着当这个broker重启时,它将不再担任何分区的leader,kafka的client也不会从这个broker来读取消息,从而导致资源的浪费。比如下面的broker 7是挂掉重启的,我们可以发现Partition 1虽然在broker 7上有数据,但是由于它挂了,所以K...

2019-03-13 14:40:17 2947

转载 Kafka Consumer Rebalance

0.8.2.2之前版本版本:  Kafka的Consumer Rebalance方案是基于Zookeeper的Watcher来实现的。每个consumer group(cg)在zk下都维护一个”/consumers/[group_name]/ids”路径,在此路径下,使用临时节点记录属于此cg的消费者的Id,该Id信息由对应的consumer在启动时创建。还有两个与ids同一级别的节点,他们分...

2019-03-13 14:08:14 1022

转载 blink编译及使用

阿里巴巴在2019年1月27日左右开源了Blink,Blink目前的版本是基于Flink1.5.1修改的,然后增加了一些比较好的特性。github地址为:https://github.com/apache/flink/tree/blink下面记录一下编译和使用的过程:详细记录参见:http://fetching118.com/article/5.html-----------------...

2019-03-11 14:29:47 3377

转载 将Golang程序 在windows下编译成Linux下可执行的二进制文件并且执行

首先请确认已经安装golang,并且已经配置好了GOROOT,GOPATH,GOBIN在xx.go所在的的文件夹下按sheet+鼠标右键在dos下打开,执行下面的命令set GOARCH=amd64set GOOS=linux //darwinwindowsgo build xx.go会生成一个没有后缀的xx二进制文件将该文件放入linux系统某个文件夹下赋予权限...

2019-03-08 15:55:43 1986

原创 查看端口被哪个进程占用

lsof -i :22 知道22端口被哪个进程占用netstat -lnp|grep 7000 查看7000端口被哪个进程占用

2019-03-08 10:46:22 116

转载 golang面向并发的内存模型

在早期,CPU都是以单核的形式顺序执行机器指令。Go语言的祖先C语言正是这种顺序编程语言的代表。顺序编程语言中的顺序是指:所有的指令都是以串行的方式执行,在相同的时刻有且仅有一个CPU在顺序执行程序的指令。随着处理器技术的发展,单核时代以提升处理器频率来提高运行效率的方式遇到了瓶颈,目前各种主流的CPU频率基本被锁定在了3GHZ附近。单核CPU的发展的停滞,给多核CPU的发展带来了机遇。相应地...

2019-03-07 15:36:34 859

转载 进程、线程、协程与goruntine

相信作为服务端开发尤其是高性能服务开发的猿们,曾经面试都曾经被问到进程,线程之类的问题,作为操作系统最核心的概念,这些X程就像我们的一个个工具,是我们在开发过程中经常接触的概念,对于这些概念的不清晰我们便发现写的代码功能是对的,代码是渣的,将直接体现在我们代码的低效率,高bug率并附带问题出现都不知到问题出在哪里,作为新时代的猿我们原不需要那么多时间去解bug,我们需要更多时间陪女票,不是吗?不...

2019-03-06 18:05:59 211

转载 Golang面向对象编程之继承&虚基类【组合&接口】

相关说明Golang里面没有像C++一样有继承相关的概念,但是我们却可以实现继承相关的用法,这就要用到struct、interface这两个结构。Golang里面有组合的概念,也就是一个struct 里面可以包含一个或者多个struct,struct可以近似理解为面向对象编程中的class,但是不能等同,有很多区别。如果一个struct实现了某个接口的所有方法,那么只要是包含这个struc...

2019-03-06 15:21:06 2314

转载 从go语言中找&和*区别

*和&的区别 :& 是取地址符号 , 即取得某个变量的地址 , 如 ; &a *是指针运算符 , 可以表示一个变量是指针类型 , 也可以表示一个指针变量所指向的存储单元 , 也就是这个地址所存储的值 .从代码中验证 :先构建一个Rect类型 :1. &是取地址符号, 取到Rect类型对象的地址2. *可以表示一个变量是指针类型(r是一个指针变...

2019-03-06 14:12:14 359

转载 【Flask】 利用uWSGI和Nginx发布Flask应用

因为Flask比较容易上手,之前也拿flask写过几个小项目,不过当时天真地以为只要在服务器上nohup跑一个python脚本就算是成功发布了这个flask项目。实际上这还面临很多问题,比如并发性不好,不支持异步(虽然也可以在run里面加上threaded之类的参数来解决,但终究不是正途)等等。真正通用的做法应该是用某些web容器来启动项目。接下来说明做法,整个过程主要参考了这篇文章(https:...

2019-03-05 16:09:44 277

转载 网关协议学习:CGI、FastCGI、WSGI

CGICGI即通用网关接口(Common Gateway Interface),是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的规程。CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。通俗的讲CGI就像是一座桥,把网页和WEB服务器中的执行程序连接起...

2019-03-05 15:59:34 177

转载 Python的WSGI协议

问题: Python的Web应用和开发框架与底层的Web服务器之间缺乏通用的通信协议,增加了Web应用开发过程的复杂度。思路:参考Java的Servlet,所有基于Servlet开发的Web应用,可以运行在所有支持Servlet的Web服务器上。大大降低了开发和部署Web应用过程的复杂度。解决方案:PEP333提出了Python的WSGI协议。WSGI是Web Server G...

2019-03-05 15:05:44 197

原创 python flask demo

#coding=utf-8from flask import Flask,request,Response,jsonify,session,url_forimport osimport configimport new_system_apiimport interface_encrptyimport json#是否使用老系统报表(是走两种方式,否的话只走新系统api)if_us...

2019-03-05 14:38:25 633

原创 golang学习链接

《Effective Go》中英双语版 Go语言圣经(中文版) Go Web 编程 Golang concepts from an OOP point of view

2019-03-04 15:28:34 127

转载 YARN 设计理念与基本架构

YARN 的基本组成结构一. ResourceManagerResourceManager 是一个全局的资源管理器,负责整个集群的资源管理和分配。它主要由两个组件构成:调度器(Scheduler)和应用程序管理器(Applications Master,ASM)。①调度器该调度器是一个 "纯调度器",不再参与任何与具体应用程序逻辑相关的工作,而仅根据各个应用程序的资源需求进行分配,资...

2019-02-18 16:11:34 299

转载 ERROR 1227 (42000): Access denied; you need (at least one of) the PROCESS privilege(s) for this oper

1  用以往的mysql登陆模式登陆[mysql@eanintmydbc002db1 mysqllog]$ mysql Enter password: Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 3157186Server version: 5.5.25a-l...

2019-02-15 11:19:19 20224

转载 Linux恢复删除的文件

linux恢复删除的文件先介绍下一些文件的基本概念: ·         文件实际上是一个指向inode的链接, inode链接包含了文件的所有属性, 比如权限和所有者, 数据块地址(文件存储在磁盘的这些数据块中). 当你删除(rm)一个文件, 实际删除了指向inode的链接, 并没有删除inode的内容. 进程可能还在使用. 只有当inode的所有链接完全移去, 然后这些数据块将可以...

2019-02-13 16:31:02 4136 1

转载 vue+webpack环境搭建

一 安装node    vue项目搭建依赖node的npm包管理器,所以我们先得安装node,此处就不详细讲解其安装过程。二 安装vue-clinpm install -g vue-cli安装成功后可以输入vue查看相关命令的使用,输入vue list可以查看vue可以用的模板:我们这里选择webpack模板:vue init webpack projectName...

2019-01-29 16:00:03 329

转载 webpack入门

2018年8月25日更新,目前 webpack 已经更新值 4.17.1 ,本文所用到的各种库或多或少有些过时,跟着代码操作下来可能会遇到各种问题,不过 webpack 的主体思想没变,所以还是希望本文对新学 webpack 的你,有所帮助。此外用基于 webpack 4.17.1 写了一个简单的demo,如果遇到啥问题,可以参考,之后应该会逐步来完善这个demo,如果有啥通用的想实现的功能,也...

2019-01-29 14:09:51 140

转载 实现前后端分离的心得

对目前的web来说,前后端分离已经变得越来越流行了,越来越多的企业/网站都开始往这个方向靠拢。那么,为什么要选择前后端分离呢?前后端分离对实际开发有什么好处呢?为什么选择前后端分离在以前传统的网站开发中,前端一般扮演的只是切图的工作,只是简单地将UI设计师提供的原型图实现成静态的HTML页面,而具体的页面交互逻辑,比如与后台的数据交互工作等,可能都是由后台的开发人员来实现的,或者是前端是紧...

2019-01-23 15:55:41 288

原创 获取Java运行时增强类的class内容

1.dumpclassdumpclass这个小工具做了一些增强,更加方便地使用。支持? *的匹配支持多个ClassLoader加载了同名类的情况。比如多个classloader加载了多份的logger,如果不做区分,则dump出来时会被覆盖掉,也分析不出问题。dumpclass可以在maven仓库里下载到: http://search.maven.org/#search%7Cga%...

2019-01-23 14:45:03 870

原创 jvm大神链接

https://rednaxelafx.iteye.com/blog

2019-01-17 12:00:53 639

转载 java8 lambda

作者:RednaxelaFX链接:https://zhuanlan.zhihu.com/p/27159693来源:知乎首先我知道Oracle JDK 8 / OpenJDK 8对lambda表达式在运行时的实现方式是动态生成跟匿名内部类相似形式的类,而负责生成代码的类位于java.lang.invoke.InnerClassLambdaMetafactory。可以看到,这个类里有一个调试用...

2019-01-14 18:03:44 429

原创 通过jobclient监控远程集群任务

pom:<dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.6.0&

2019-01-14 16:16:29 380

原创 yarn通过客户端提交application

pom:<dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.6.0&

2019-01-04 17:45:23 2779 1

原创 curator使用自增长znode生成id

public class CuratorTest { static Object ob = new Object(); private static CuratorFramework curatorFrameworkClient; private static RetryPolicy retryPolicy; private ...

2019-01-04 16:00:29 537

原创 zookeeper实现分布式锁(代码)

public class zkDemo implements Watcher { private static final Logger LOG; static { //Keep these two lines together to keep the initialization order explicit LOG = LoggerFactor...

2019-01-03 17:33:36 366

原创 zookeeper client源码解析

1.首先是创建zookeeper实例zk = new ZooKeeper("192.168.0.170:2181", 5000, new zkDemo());下面是zk的构造函数public ZooKeeper(String connectString, int sessionTimeout, Watcher watcher, boolean canBeReadOn...

2018-12-29 16:56:03 854

原创 zookeeper学习

ZNodesEvery node in a ZooKeeper tree is referred to as aznode. Znodes maintain a stat structure that includes version numbers for data changes, acl changes. The stat structure also has timestamps. ...

2018-12-29 11:40:40 384

原创 图形数据库neo4j的安装使用

1.安装ubutun:wget -O - https://debian.neo4j.org/neotechnology.gpg.key | sudo apt-key add -echo 'deb https://debian.neo4j.org/repo stable/' | sudo tee /etc/apt/sources.list.d/neo4j.listsudo apt-g...

2018-12-28 18:45:25 451

原创 flink pojo流和tuple报错

报错:org.apache.flink.table.api.TableException: Only the first field can reference an atomic type. //流执行环境 StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment...

2018-12-26 17:29:17 3354 2

转载 centos crontab坑爹问题

手动在CentOS中执行sh脚本,调用java程序,一切正常;将该sh加入crontab中定时调度之后,挂了,完全没有执行到的感觉啊!!!查看crontab执行日志:cat /var/log/cron有执行记录,擦擦擦~~~难道用crontab调用执行会报错,打印日志先:crontab -e40 10 * * * /home/job.sh 2>>/home/...

2018-12-25 17:10:32 737

原创 python通过反射执行代码

场景:python2.7没有@注解 用于实现适配器模式,不能再方法执行前后维护一些全局变量。所以用反射的思路来统一调用一个方法来执行其他的函数。比如以下例子是为了维护一个长期使用的mysql连接,以此减少mysql的访问压力。在每次执行其他方法的时候调用self.conn = conn_app_db.check_conn(self.conn),以此来维护连接,或者产生新连接(通过conn....

2018-12-17 15:43:47 1344

原创 structuredstreaming需要注意的地方

 structuredstreaming在版本1上增加了流式的dataset和df,但有很多原来的操作现在不能使用import org.apache.hadoop.util.ShutdownHookManagerimport org.apache.spark.sql.{ForeachWriter, Row, SparkSession}import org.apache.spark.sq...

2018-12-14 16:27:23 1832

转载 Structured Streaming 编程指南

概述Structured Streaming 是一个基于 Spark SQL 引擎的、可扩展的且支持容错的流处理引擎。你可以像表达静态数据上的批处理计算一样表达流计算。Spark SQL 引擎将随着流式数据的持续到达而持续运行,并不断更新结果。你可以在Scala,Java,Python或R中使用 Dataset/DataFrame API 来表示流聚合,事件时间窗口(event-time wi...

2018-12-13 16:15:39 1608 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除