自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

devilyouwei - 黄有为

Talking is cheap,show me the code!

  • 博客(74)
  • 资源 (4)
  • 收藏
  • 关注

原创 打造优雅高效的zsh终端

记录下如何配置我的终端:顺便推荐下我的vim配置:https://github.com/devilyouwei/NVimmer安装ZSH和oh-my-zshzshsudo apt install zshoh-my-zshsh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"一些配置zshchsh -s /bin/zsh修改~/.zshr

2021-01-01 15:39:17 48 2

原创 gitlab artifacts too large

gitlab在打包artifacts遇到:Uploading artifacts as “archive” to coordinator… too large archive 413 error网上看了很多方案,一般都是说在admin账户的setting下找到CI/CD,把Maximum artifacts size (MB)改大点当然这是其中一个点哈,但是除此以外还有两个地方也要注意下,不改的话,你会发现和我一开始一样,改了还是报这个错?让人匪夷所思。原来是gitlab自带了nginx反向代理,

2020-12-31 10:42:49 2

原创 gitlab-runner docker基于sftp实现项目CI/CD自动部署

最近在给单位组建了CI/CD,要求对开发人员git的代码进行build和deploy,第一次从头研究CI/CD,真的踩了不少坑,尤其是deploy部分,卡了我三天了。起因环境:ubuntu物理机专门做CI/CD工具机,已经使用了docker-compose同时安装了gitlab和gitlab-runnergitlab用于代码托管,gitlab-runner用于run gitlab-ci,实现自动编译,测试,部署一步到位一台远程的WEB服务器,生产环境问题:由于gitlab-runner是在do

2020-12-24 21:14:42 16

原创 Linux LVM逻辑卷未占满磁盘分区【扩充LVM逻辑卷】

以前,安装linux按照传统的分区方式,选择custom,可以给磁盘划分出sda1, sda2…这些在linux里称之为分区,partition,然后分别把/,/home,/var等挂载到各个分区但是随着LVM技术的推广,现在安装ubuntu如果采用默认的格式化整个磁盘的方式来安装,安装完成后发现磁盘空间没有占满,原本500多G的磁盘现在整个/挂载只占用了200多G。造成这种后果很大一部分原因是原本有系统,重装系统导致。(不确定,至少我是这么经历的)如下图所示:df -hlsblk如上图

2020-12-23 16:10:54 17

原创 Docker-compose安装gitlab-ce带gitlab-runner实现CI/CD

在网上看了很多docker-compose联合安装gitlab,gitlab-runner的文章,都多少有点欠缺,也许是因为版本更新了。自己爬了两天的坑,现在把docker安装gitlab-ce和runner的坑填上。docker-compose.yml 配置文件version: '2'services: gitlab: image: 'gitlab/gitlab-ce:latest' restart: unless-stopped container_name: 'git

2020-12-23 10:50:25 22

原创 Docker搭建gitlab-ce并还原数据库

场景:原来的gitlab是使用ubuntu自带的apt安装的,已经使用了半年多,最后在阿里云的轻量级服务器上终于有些抗不住了,一天死好多次,主要问题就是无法进入网站。决定将gitlab迁移到内网,在物理机上运行,这下物理机的性能总是够了吧。刚好,原来通过apt安装的方式不好作云部署,我们组未来可能要上k8s,所以这里直接用docker来接盘gitlab,也是为了学习实践docker,docker也更加方便管理。第一步:备份数据是最重要的,迁移一定要万分小心,不要弄丢了代码库!gitlab-rake

2020-12-21 21:34:57 10

原创 Gitlab CI/CD upload artifact fails: too large

自部署gitlab在进行CI/CD时,出现文件过大问题,三步解决:第一,admin area修改:Maximum artifacts size这一步需要gitlab的管理员账户,左上角admin area settings, 然后左下角settings->CI/CD settings修改 Maximum artifacts size第二,修改gitlab.rbsudo vi /etc/gitlab/gitlab.rb找到...

2020-12-17 19:08:50 8

原创 内网穿透:使用frp配置公网与内网服务器

单位的公网IP尚未申请,但项目需要上线进行测试。目前的状态是在研究院内部可以通过连接WIFI访问项目网站或接口,这称之为内网访问或局域网访问,开发者一回家就没办法访问了,为此,在开通公网IP之前我们先采用内网穿透允许外网访问我们的项目。内网穿透所谓内网穿透,就是将内网某些接口,服务暴露到外网访问。需要内网穿透的场景原因如下:这个世界的IPv4是有限的,现在已经严重不足,在没有普及v6之前,家用宽带,大部分企业宽带都是动态IP,就是电信预留一个IP池,当你宽带上线时分配一个公网IP,一旦宽带下线就回

2020-12-08 18:53:46 50

原创 WebViewJSBridge更换x5引擎

为了使不同手机在hybrid开发中保证相同的前端效果,对项目中使用的webview内核统一使用腾讯的x5引擎,本文记录如何将github上的JSBridge项目修改为基于x5引擎的webiew。准备第一步,clone原webview项目git clone https://github.com/wendux/WebViewJavascriptBridge.git也可以直接去上述网址下载下来。第二步,下载腾讯的x5引擎地址:https://x5.tencent.com/tbs/sdk.html建

2020-11-18 10:28:13 41

原创 ubuntu 20+的Android Studio 4.0卡死现象

条件描述:使用snap安装了Android StudioAndroid Studio自动更新到4.0+过程描述:一直都在用Android Studio写android应用,忽然某一天进入就卡死了,反复重启,logout都无法解决,重新安装,去官网下载压缩包,删除了配置文件,修改studio内存,甚至安装了KDE等桌面,依旧无果,折腾了3天,准备重装系统了。灵光一闪,切换了下输入法,欸,突然就不卡了,再切换回来又卡了,原来是sogou输入法惹得祸,进而推算跟fcitx可能也有关系,于是卸载了so

2020-11-12 13:47:29 137

原创 Nginx反向代理作负载均衡的高压测试,一些错误

背景计算所里给大家配发了多台工作机,我给他们都按上了ubuntu linux,拿来做了一个web集群。我自己的电脑作为主反向代理服务器,将请求转发到同事的web服务器上,从而实现分布式的web请求,提高请求命中率,减少但个服务器压力。在进行高压测试的时候,以每秒大约10000次请求的JS脚本进行for循环请求,持续10000次,也就是1秒内发送10000次请求左右。测试的业务逻辑每一次请求的业务逻辑要实现两次数据库insert操作,一次O(n^2),n小于i等于8的循环,一次数据库update运算

2020-07-14 15:26:46 53

原创 自部署gitlab-ce与Nginx反向代理——基于宝塔BT

自部署gitlab-ce与Nginx反向代理最近单位需要配置自有的git仓库和平台,于是采用了gitlab ce版,并且用Nginx反向代理到了宝塔安装的gitlab上。这期间出现了很多配置上导致的问题,在此记录下,方便他人参考和自己再配置。第一,配置文件有哪些vi /etc/gitlab/gitlab.rbvi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml宝塔的配置文件,nginx第二,代理方案方案一:由于git

2020-06-18 14:53:48 227

原创 Android踩坑之解决蓝牙无法回调问题-Kotlin示例

Android 6.0之后,蓝牙扫描回调需要获取模糊定位查询,Android 10之后更严格,需要获取精确定位。这些年Google对安卓的控制可谓是越来越严谨了,安全性也是越来越高。现在的问题是,当你的targetSDK>22的时候,扫描蓝牙就不不会有回调了,而且即使是在Manifest中添加了permission也依然无法获取回调,解决办法如下:TargetSdk降级到22——降级法android { compileSdkVersion 29 buildToolsVersio

2020-06-11 17:56:33 385

原创 JsBridge踩坑之WebViewJavascriptBridge is undefined,找不到Bridge对象

最近在给单位搞一个android的hybrid开发外壳,使用kotlin语言。由于之前一直都只做hybrid的前端部分,基本只是调用原生壳里的android方法,Android方面开发经验不足,遇到一个webview中找不到bridge对象的问题,下面描述以下问题:在Hybrid开发中,一般使用第三方的bridge通信库,这种库可以使原生和前端webview进行信息传递和方法互调,我采用的JsBridge这个库,https://github.com/lzyzsd/JsBridge由于之前做过hybrid

2020-05-25 19:22:41 790

原创 Android踩坑之 couldnt find libClingSDK.so

Android踩坑之couldn’t find “libClingSDK.so”在android开发中一些涉及到硬件级的API需要引入第三方的sdk,通常都是一个jar包搭配一个.so文件,.so文件用于处理底层交互,这是C/C++超原生级别的,而不是JVM级别的。最近在作Cling手环的app开发,踩到一个巨坑这里要点名批评Cling的公司,SDK老不说,给出的官方文档和demo没有任何的更新,害我为了这个破.so文件耗费了一天多。错误提示如下:2020-05-19 14:01:38.344 1

2020-05-19 14:20:31 225

原创 GDM, KDM, LightDM, SDDM的区别和安装配置

gdm3,kdm 和 lightdm 都是显示管理器。 它们提供图形化登录并处理用户身份验证。从维基文章中:显示管理器向用户显示登录屏幕。 当用户成功输入用户名和密码的有效组合时,会话开始。GDM,gnome系列的图形管理器sudo apt-get install gdm3sudo apt-get remove gdm3KDM,SDDM是KDE系列的图形管理器kdm 是kde管理...

2020-04-17 08:59:39 2874

原创 安装完ubuntu需要做得事

安装完ubuntu需要做得事今天刚升级了ubuntu20.04,需要做的系统环境配置挺多,这里把我的配置记录下。镜像和源为了科学的上网和学习,建议把所有环境的源换成国内的。ubuntu的apt源sudo vi /etc/apt/source.list请把所有ubuntu的地址替换为mirrors.aliyun.com,批量替换即可,注意:其他地方都不要动。以下是一个example,...

2020-04-12 17:31:22 209

原创 snap vs apt

snap安装和管理软件包,snap vs apt笔者用了十年的ubuntu,很喜欢用apt-get来安装软件。apt所采用的包是deb包,deb包最初是Debian Linux推出的,由于ubuntu基于debian,ubuntu将其集成到了apt包管理器中,apt可以自动解决软件之间依赖问题,对于当时的软件市场来说,是一个巨大的进步,ubuntu还造了一个类似apple store的软件商店出...

2020-04-10 11:25:24 1462

原创 E576: Failed to parse ShaDa file: extra bytes

E576: Failed to parse ShaDa file: extra bytes某天,当我打开neovim编辑时,突然下方跳出这么一行报错。查了百度并未查到合适解决方案,自己琢磨出了方法:移除用户目录local下share下的nvim目录,然后重新安装nvim即可!rm -rf ~/.local/share/nvim...

2020-04-07 13:32:42 142

原创 umi 模板依赖国际化(i18n)

umi 模板依赖国际化(i18n),请安装 umi-plugin-react 插件并开启 locale 。npm install umi-plugin-react --save-dev

2020-02-21 12:23:49 568

原创 在shell下执行命令的方法

在shell下执行命令的方法1. #!/bin/sh语法:在shell.sh的开头写入#!/bin/sh一般的shell脚本就是这种用法。这种方法调用脚本开头的shell执行命令,子shell执行的时候, 父shell暂停运行,等待子shell运行完后返回父shell。子shell从父shell继承环境变量.但是子shell中的环境变量不会带回父 shell2. exec语法:exe...

2020-02-14 09:50:54 156

原创 Ruby爬虫header发送cookie,nokogiri解析html数据

之前用php写过一个爬虫,同样是获取局域网的网站数据,这次我使用相同的网络环境,更低的电脑配置,使用ruby来再次爬虫,惊人的发现ruby使用自带的类库net/http爬取速度要远远超过php的curl_*函数。在循环爬取网页时,ruby的cpu占用率上达到了40-70%,而php仅仅使用了可怜的5-10%,目前还不知这其中的奥秘,理论上都是使用的单线程,差距这么大是解释器还是类库的差距呢?不管了,

2020-02-14 09:38:01 1950

原创 Ubuntu gnome安装Monaco字体,FontForge module is probably not installed

首先下载原始Monaco字体,注意我只找到了这一款在ubuntu的gnome下可见,其他的各种monaco即使安装了也看不到。https://gist.github.com/epegzz/1634235为了可以使得终端可以显示丰富多彩的nerd,我决定自己来为monaco patch上nerd字体在使用nerd-font自定义一套monaco字体的时候,ubuntu18.04报了这个错误,官...

2020-02-05 03:35:45 289

原创 Ubuntu全方位美化,定制教程

Ubuntu全方位美化,定制教程上一篇随笔聊了聊Linux图形界面的各种名词及其关系,解释了何为xserver,何为xclient,linux的图形界面是如何工作的,Linux图形软件的多样性。因此,linux的图形界面是高度可定制的,从启动界面到按钮图标,任何一样东西都是可以自定义的,因为他们只是模块化的软件,你可以安装甚至是自己写一套,针对KDE和gnome环境,网上提供了很多自定义教程,同...

2020-02-04 12:37:51 273

原创 Linux那些事——GTK+, Qt, Gnome, KDE, xWindow, xOrg区别

Linux那些事——GTK+, Qt, Gnome, KDE, xWindow, xOrg区别Linux不仅内核开源,系统配置也是高度可定制化的,其中就包括我们所熟知的图形界面,从桌面环境,主题,字体,Icon我们都可以通过修改Linux的配置文件来修改。这就是为什么我选择Linux的理由,高度的个性化。用了8年多的Linux桌面发行版,一直没有好好研究一下xWindow这个东东,今天拿出来好...

2020-02-01 10:44:16 348

原创 一个类似ThinkPHP的Node.js框架——QuickNode

QuickNodeNode.js从QuickNode开始,让restful接口开发更简单!PHP的MVC作为一名曾经的PHP开发者,我也有过三年多的thinkphp使用经验,那是我学习PHP接触的第一个MVC框架。ThinkPHP目前也算是国内最流行的PHP框架了吧,于我说来,该框架给我留下的最深的印象就是在创建新控制器和新方法时候的简单便捷,以及她经典的/Controller/Action...

2019-11-28 06:41:50 114

原创 关于ecshop Strict,notice,deprecated报错无法关闭问题

如果使用5.3以上版本的php按照ecshop很容易遇到如下一些报错问题:preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in这些问题按经验说可以通过修改php.ini中的error_reporting来屏蔽,例如:error_reporting =E_ALL & ~E_...

2019-05-04 14:17:53 140

原创 tfjs-node初体验:训练模型的存储

JS,一门从浏览器兴起,却不止于浏览器的脚本,个人一直认为其是最有潜力的脚本语言。不只是因为ES6优雅的语法,更重要的是其易上手,跨平台的优点。Node将JS从browser带去了client是革命性的,使得常常被冠以“浏览器脚本”的JS成为一门足以和PHP,PY匹敌的通用性脚本。关于tensorflow,这里就不多做介绍,简而言之就是一个深度学习的框架,而为众人所知的是他对python的支持...

2019-03-31 17:13:08 680 2

原创 windows下的tfjs-node安装异常总结

大约有半年没有写博客了,奔波于上海这座魔都之中。险些忘了自己是个有梦想的全栈工程师书接上回,由于个人非常厌恶python的语法,半年前发现了tensorflow.js这个宝贝(下简称tfjs),喜出望外,从18年4月Google发布的0.0.1版本至今,都没有一个完好的node版本,之前我就有吐槽过这个问题,深度学习居然只能在browser中跑,而即使在node中引入tfjs也无法保存训练模型,...

2019-03-29 11:58:24 1316

原创 module 'tensorflow' has no attribute 'get_default_graph'

module ‘tensorflow’ has no attribute ‘get_default_graph’当我使用keras和tensorflow做深度学习的时候,python3.6报了这个错误,这个问题源自于keras和TensorFlow的版本过高导致模块不存在或者已经更改不再兼容解决办法,降级TensorFlow和keraspip uninstall tensorflow # ...

2019-03-28 20:24:03 23812 17

原创 微信小游戏广告位iphonex底部适配问题

最近在公司开发游戏,使用cocos creator做微信小游戏,遇到一个很恶心的问题,如图:如图所示,微信的广告位被iphonex的底部bar给弹出了一点位置,没有靠在底部。在这里不得不吐槽一下微信的小程序接口还有个恶心的地方,那就是他的广告style没有bottom,right属性,使得置底部必须使用算法计算。也就是winsize.height-广告高度(realheight),居中...

2018-07-18 16:22:08 5808 3

原创 JS做深度学习3——数据结构

最近在上海上班了,很久没有写博客了,闲下来继续关注和研究Tensorflow.js关于深度学习的文章我也已经写了不少,有些作品比较早可能包含了不少错误的认识,在后面的博文中会改进或重新审视。今天聊聊神经网络的入门知识,tensor!本章的题目就是“数据结构”,之所以把名字的含义取这么广,是因为,今天从tensor这种数据结构开始,但远不止于tensor!基础何为tensor?让...

2018-07-03 16:42:44 736

原创 Vimmer一套全语言支持的完美Vim配置——附Monaco字体

本配置轻量,强大,支持react,jsx,vue,pug(jade)高亮和indent,支持大部分js自动补全,同时也支持像php,c等等后端语言的补全高亮等,vimrc配置如下:"Vundle配置set nocompatiblefiletype offset rtp+=~/.vim/bundle/Vundle.vimcall vundle#begin()Plugin 'Vundle...

2018-06-07 21:04:37 4973 1

原创 windows在右击菜单中添加打开程序

注:以非安装版本的gvim为例打开regedit(开始键+R,输入“regedit”) 这里需要注意,icon图标的文件位置也是这个exe文件,这样显示的图标就一致了效果右击一个文本文件:...

2018-06-07 19:14:04 199

原创 JS做深度学习2——导入训练模型

JS做深度学习2——导入训练模型改进项目前段时间,我做了个RNN预测金融数据的毕业设计(华尔街),当时TensorFlow.js还没有发布,我不得已使用了keras对数据进行了训练,并且拟合好了不同期货的模型,因为当时毕设的网站是用node.js写的,为了可以在网站中预测,我采取的方案是:用python进行训练和预测,然后使用node.js运行python命令,最终在浏览器上可视化出来...

2018-06-02 21:47:38 1430

原创 ASP.NET MVC4网站搭建与发布【最新】

ASP.NET MVC4网站搭建与发布一些往事2015年,仅仅大二的我怀着一颗创业之心,加入了常熟派英特,成为阳光职场平台的创始之一,并肩负了公司技术部的大梁,当时阳光职场正在从线下服务向互联网化升级过渡。距我离开自己公司已经快1.5年了,如今的我也面临着毕业,就业的难题,这期间我跑过大中小型各种公司,值得一提的是,其中包括一家全球知名的bios生产商,American Megatre...

2018-06-01 16:54:39 1265

原创 JS做深度学习1——偶然发现与入门

JS做深度学习1——偶然发现与入门不久前,我初次涉猎了Node.js,并且使用它开发了毕业设计的WEB模块,然后通过在Node中调用系统命令执行Python文件方式实现了深度学习功能模块的对接,Python代码的介入,让JS代码显得很累赘,我说过我很爱ES6以后的JS并且很讨厌Python的代码风格,无奈,我在写毕设那会Google还没有正式发布基于JS的深度学习框架,好吧,其实我对这事已经抱...

2018-05-20 16:14:05 554

原创 聊聊H5与JS近几年的黑科技

聊聊H5与JS近几年的黑科技自ajax技术的诞生,编程界兴起了一股WEB开发热,facebook,Twitter等众多大佬级企业都在网页应用上大放异彩,这十年我们见证了前端技术的崛起。这期间产生了众多脱离了浏览器的JS和H5开发的黑科技。移动端的react native,cordova,native.js;PC端的Node.js,NW.js;当然还有前端本身的众多框架,vue.js,jquer...

2018-05-05 16:33:59 4471

原创 ES7中的async和await

ES7中的async和await在上一章中,使用Promise将原本的回调方式转换为链式操作,这就将一个个异步执行的操作串在一条同步线上了。下一次的操作必须等待当前操作的结束。使用Promise的最后,遇到了一个问题,就是如果要对已经获得数据数组进行遍历,并在遍历中继续对每一条数据做异步请求操作,这就构成了一个树状查询。蠢办法对于上述问题,我们完全可以用上一章中的垃圾代码来构建...

2018-04-25 15:48:54 325

原创 ES6中的Promise

ES6中的Promise使用体悟

2018-04-23 18:45:59 153

英汉大辞典mysql数据库

导入好的英汉词典sql文件,方便中英对照,80000+词库

2017-04-30

《第一行代码》酷欧天气(kotlin版)

使用Kotlin对《第一行代码:Android》——郭霖,重写了最后的实践”酷欧天气“

2017-05-24

大神项目完整代码

“大神”项目为个人开发项目,包含了登陆注册,文件资源上传,地图导航等功能,仅供参考,请勿用于商业用途 之前版本犹豫后端服务器未缴费停止了服务,导致前端无用了,现在已经恢复正常,请自行注册和登陆测试! 随时跟进代码github:https://github.com/devilyouwei/dashen

2018-06-07

node.js登陆注册案例

node.js结合mangodb建立登录注册示例项目,包括express,模块化架站,express-session使用等

2018-02-14

空空如也

空空如也

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

TA关注的人 TA的粉丝

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