Redash环境搭建(Ubuntu)

1、下载安装脚本

wget -O bootstrap.sh https://raw.githubusercontent.com/getredash/redash/master/setup/ubuntu/bootstrap.sh

2、运行脚本

chmod +x bootstrap.sh
sudo ./bootstrap.sh

3、脚本执行成功后,直接访问nginx就好了
http://ip:80
实际上是代理了这个网站
http://localhost:5000

4、常见问题
在执行过程中,遇到下载失败的情况,就直接把文件下载到本地,改一下路径,重新运行脚本就好了
我在运行脚本的过程中,遇到了缺少schema的提示,删除了数据库redash及用户redash,重新运行脚本就好了

Superset环境搭建(Ubuntu)

1、安装依赖包

sudo apt-get install build-essential libssl-dev libffi-dev python-dev python-pip libsasl2-dev libldap2-dev
pip install virtualenv

2、使用虚拟环境

#新建沙盒
virtualenv supersetenv
#进入沙盒
source bin/activate

3、安装

#升级安装工具,安装服务
pip install --upgrade setuptools pip
pip install superset
#新增管理员用户
fabmanager create-admin --app superset
#重置管理员密码
#fabmanager reset-password admin --app superset
#升级数据库
superset db upgrade
#加载测试数据
superset load_examples
#初始化
superset init
#运行Server
superset runserver

4、此时,只需要访问http://ip:8088就可以登陆了

5、安装驱动

#mysql
apt-get install libmysqlclient-dev
pip install mysqlclient
#oracle
#pip install cx_Oracle
#mssql
#pip install pymssql

6、关闭

#Ctrl+C关闭Server
#退出沙盒
deactivate
#删除沙盒
#rmvirtualenv supersetenv

7、升级

#进入沙盒
source bin/activate
#升级Server
pip install superset --upgrade
#升级DB
superset db upgrade
#初始化
superset init
#退出沙盒
deactivate

Win10删除不想要的APP

一、Win10删掉不想要的APP
Win10会自带一些你不想要的APP,比如联系人、XBox什么的,有些可以在开始菜单右键删除,有些不让删除。下面就来删除这些你不想要的APP。
1、用管理员权限打开PowerShell
2、查看已经安装的APP

Get-appxpackage -allusers > package.txt

3、用Vim进行处理,删除不要的行

vim package.txt
:g!/PackageFullName/d
:sort
#这样你就得到了一个排序好的程序清单

4、按要求删除程序

#命令格式
#remove-appxpackage PackageFullName
#示例:
remove-appxpackage Microsoft.BingWeather_4.25.20211.0_x64__8wekyb3d8bbwe
remove-appxpackage Microsoft.GetHelp_10.1706.13331.0_x64__8wekyb3d8bbwe
remove-appxpackage Microsoft.Messaging_4.1901.10241.0_x64__8wekyb3d8bbwe
remove-appxpackage Microsoft.Microsoft3DViewer_5.1902.20012.0_x64__8wekyb3d8bbwe
remove-appxpackage Microsoft.MicrosoftStickyNotes_3.1.53.0_x64__8wekyb3d8bbwe
remove-appxpackage Microsoft.Office.OneNote_16001.11126.20076.0_x64__8wekyb3d8bbwe
remove-appxpackage Microsoft.People_10.1812.10232.0_x64__8wekyb3d8bbwe
remove-appxpackage Microsoft.Print3D_3.3.311.0_x64__8wekyb3d8bbwe
remove-appxpackage Microsoft.Wallet_2.4.18324.0_x64__8wekyb3d8bbwe
remove-appxpackage Microsoft.WindowsAlarms_10.1812.10043.0_x64__8wekyb3d8bbwe
remove-appxpackage Microsoft.WindowsMaps_5.1812.10071.0_x64__8wekyb3d8bbwe
remove-appxpackage Microsoft.Xbox.TCUI_1.24.10001.0_x64__8wekyb3d8bbwe
remove-appxpackage Microsoft.XboxApp_48.48.7001.0_x64__8wekyb3d8bbwe
remove-appxpackage Microsoft.XboxGameCallableUI_1000.18362.449.0_neutral_neutral_cw5n1h2txyewy
remove-appxpackage Microsoft.XboxGameOverlay_1.32.17005.0_x64__8wekyb3d8bbwe
remove-appxpackage Microsoft.XboxGamingOverlay_2.26.14003.0_x64__8wekyb3d8bbwe
remove-appxpackage Microsoft.XboxIdentityProvider_12.50.6001.0_x64__8wekyb3d8bbwe
remove-appxpackage Microsoft.XboxSpeechToTextOverlay_1.21.13002.0_x64__8wekyb3d8bbwe
remove-appxpackage Microsoft.YourPhone_0.0.13313.0_x64__8wekyb3d8bbwe

二、Win10删掉不想要的库

#1、Regedit打开注册表
#2、定位到这个路径
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace

#3、根据你想屏蔽的内容,在键值最后添加一个字符,比如X
下载{088e3905-0323-4b02-9826-5b99428e115f}
3D{0DB7E03F-FC29-4DC6-9020-FF41B59E513A}X
未知{1CF1260C-4DD0-4ebb-811F-33C572699FDE}
图片{24ad3ad4-a569-4530-98e1-ab02f9417aa8}X
未知{374DE290-123F-4565-9164-39C4925E467B}
未知{3ADD1653-EB32-4cb0-BBD7-DFA0ABB5ACCA}
音乐{3dfdf396-dbec-4fb4-81d1-6a3438bcf4de}X
未知{A0953C92-50DC-43bf-BE83-3742FED03C9C}
未知{A8CDFF1C-4878-43be-B5FD-F8091C1C60D0}
桌面{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}
文档{d3162b92-9365-467a-956b-92703aca08af}
视频{f86fa3ab-70d2-4fc7-9c99-fcbf05467f3a}X

#4、按上面操作后,Explorer中就只有三个库了:
下载、桌面、文档

三、Win10删掉不想要的开始菜单

C:\Users\neohope\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\

安装GitBook环境

1、安装

# npm install gitbook
# npm install ebook-convert
npm install gitbook-cli -g 
gitbook install

2、设置国内源

npm config set registry https://registry.npmjs.org/
npm config set registry https://registry.npm.taobao.org

3、增加转PDF支持

# windows
https://calibre-ebook.com/download_windows64

#linux
sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
sudo apt-get install libfontconfig1 libxcomposite1 libxdamage1 libxfixes3 libgl1

#linux字体安装
#将需要的字体拷贝到这个文件夹
#/usr/share/fonts/truetype/winfonts
#刷新
sudo fc-cache -fv
#确保ubuntu认到字体
fc-list :lang=zh-cn

4、基本操作

# 新建一本书的目录结构
gitbook init

# 开启网站查看书的内容
gitbook serve .

# 图书生成pdf
gitbook pdf .

Win10无法启动VirtualBox

在Win10上遇到了一个问题:

Failed to open a session for the virtual machine ubuntu.

Raw-mode is unavailable courtesy of Hyper-V. (VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT).

Result Code: E_FAIL (0x80004005)
Component: ConsoleWrap
Interface: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

最后发现是前几天安装了Win10的Hyper-V模块,卸载后就好了。

Win10隐私设置

1、隐藏explorer的快速访问功能

#1.1、打开注册表编辑器
regedit
#1.2、定位到下面的路径
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer
#1.3、新建一个DWORD (32-bit) Value的键值对
HubMode=1

2、关闭Cortana

#2.1、打开组策略编辑器
gepedit.msc
#2.2、定位路径
计算机配置/管理模板/Windows组件/搜索
#2.3、禁用Cortana
允许使用Cortana=已禁用

3、关闭搜索历史记录

开始/设置/Search/Permissions&History
My device history = off

4、关闭TaskView历史记录

开始/设置/Privacy/Activity history
去掉Store my activity history on this device
去掉Send my activity to Microsoft
点击Clear activity history

几种常见的微服务编排模式

随着需要管理服务的增多,如何编排服务,成了一个很迫切的问题。本文就介绍几种常见的微服务编排方式:

1、Orchestration
这种方式,和BPM、ESB的思想很相似,实现方案多是同步的。
首先要有一个流程控制服务,该服务接收请求,依照业务逻辑规则,依次调用各个微服务,并最终完成处理逻辑。
这种方法的好处是,流程控制服务时时刻刻都知道每一笔业务究竟进行到了什么地步,监控业务成了相对简单的事情。
这种方法的坏处是,流程控制服务很容易控制了太多的业务逻辑,耦合度过高,变得臃肿,而各个微服务退化为单纯的增删改查,容易失去自身价值。

为了便于理解,您可以把控制服务看作BPM、ESB引擎,微服务为BPM、ESB的各种组件。

2、Choreography
这种方式,可以看作一种消息驱动模式,或者说是订阅发布模式,实现方案多是异步的。
每笔业务到来后,各个监听改事件的服务,会主动获取消息,处理,并可以按需发布自己的消息。
这种方法的好处是,耦合度低,每个服务都可以各司其职。
这种方法的坏处是,业务流程是通过订阅的方式来体现的,很难直接监控每笔业务的处理,因此需要增加相应的监控系统,来保证业务顺畅进行。

为了便于理解,您可以把不同队列看作不同种类的消息,微服务看作消息处理函数。

3、API网关
API网关,可以看作一种简单的接口聚合/拆分的方式。
每笔业务到来后,先到达网关,网关调用各微服务,并最终聚合/拆分需反馈的结果。
这种方法的好处是,对外接口相对稳定,可以利用LAN的带宽,弥补因特网的不足。
这种方法的坏处是,只适合业务逻辑较为简单的场景,业务逻辑过于复杂时,网关接口耦合度及复杂度会急剧升高,变得臃肿。

其实就是一个适配网关,比如对于Web端,可以一个页面同时发起几十个请求,而对于移动端,最好是一个页面就几个请求
。而采用API网关,后面的微服务可以是相同的。

致新人,差距是如何产生的(02)


致新人,差距是如何产生的(02)
Hansen

先从一个故事讲起:

一个师傅带两个学汽修的徒弟,都从喷漆开始。一年后,师弟都会调悬架了,师兄连轮胎都不会换。师兄问师傅,为只教师弟不教自己。师傅说,为了把漆喷好,你师弟请教了几个老师傅,查了不少资料,每天晚上都自己花时间尝试各种想法,半个月就可以自己做好了。你呢,每天看似很努力,但一个问题出了几次还不知道为什么,三个月后还是只能处理最简单的刮擦,怎么教你新东西?换轮胎不是我教的,我带你俩出去修车,都遇到过爆胎。你师弟看过一次,第二次就主动要求试试看。你呢?我换车胎的时候,你在抽烟玩手机吧?。。。

总结一下也就是: 性痴则其志凝。故书痴者文必工,艺痴者技必良。世之落拓而无成者,皆自谓不痴者也。

以下内容节选自《平台组动员会议2017.ppt》:
自主学习
2016年你学到了什么?读了几本书?看了多少教程?读了谁的博客?在StackOverflow上回答了几个问题?GitHub上贡献了几行代码?LeetCode上通解决了几个问题?是否接触过新的语言?
考个证?拿个学历?参加个会议?参加个培训?
2017年,你的学习计划是什么?是不是要重复2016年做的事情?你的2016年是不是在重复2015年做的事情?
Google还是百度?英文还是中文?

什么是高原反应?
什么是努力,知道迈特凯、洛克李、迈特戴吗?
如何提升自己?请用5%的休息时间来提升自己。

主动思考
支付宝有几种支付方式?微信有几种支付方式?为啥需要这些支付方式?
全家移动支付的时候,需要收银员做什么操作吗?为什么?
滴滴打车,司机抢单算法是如何计算的,你知道什么是滴米吗?
手机定位有几种方式,必须要GPS才能定位吗?手机计算你走了几步,是怎么实现的?
什么是Java?Java常用框架的原理是什么?Tomcat是怎么工作的?JVM究竟是做什么的?Dubbo怎么实现RPC的?
软件哪里可以优化,哪里应该改进?我的代码哪些地方有些问题?

Stay hungry, Stay foolish。

做喜欢的事情,还是应该做的事情?
随着一个人的成长,这是一个人必然会遇到的问题。(你父母希望你先写作业,还是先看电视?你希望自己的孩子怎么做?)
任务分配的时候,是应该把业务流程讲解清楚,还是让他、她自己去看去理解?
代码注释应该怎么写?
单元测试应该怎么写?
SVN代码提交的时候,注释应该怎么写?
代码提交之前是否应该通过单元测试?流程是否应该跑一遍?
程序发布之前,是不是应该自己先测试一下?还是直接扔给测试或实施?

如何提高员工的归属感


如何提高员工的归属感
Hansen

1、物质奖励(除了薪水,还要有适时的激励和奖惩)
员工工作,就是为了更好的生活。一切只谈理想而不谈待遇的企业,都是在耍流氓。
但要知道,物质奖励可以留着员工的人,但很难留住员工的心。
这和追女朋友是一个道理的。

2、让员工知道自己的职业道路,以及上升空间
一个没有进步空间的岗位,是留不住人的。

3、让员工提升对自己工作的认可,其实就是提升对自己的认可,从而增加员工的自信
人对自己做的事情认可了,才能坚持下去

4、管理层应该去了解你的员工,去关心你的员工,增加团队粘性
团队关系良好,是很强的粘合剂
有些员工带有自来熟的属性,也是很合适的粘合剂。
可以参考海底捞。

5、良好的企业文化
重视每一个员工,和谐的人际关系
重视员工的权利,明确员工的义务
增强员工话语权,让员工一同参与出谋划策,增强员工的使命感及荣誉感

6、管理层的示范作用
要起到带头做用,勇于担当
让别人喜欢你,让别人认可你,让别人信服你

7、公平考核制度及竞争环境
you can you up. no can no bb.

8、要对员工进步,并提供相应帮助
让程序员永远在同一层次上,重复同样的工作,是留不住人的
要求员工自学、积累、创新,并给与教育、培训的机会
看看很多从外包企业出来的哥们,在外包做了十年,重复了十年,最后把自己荒废了。

9、培养并激发员工的兴趣
包括工作相关和工作无关的兴趣。