程序员的思路

1. 不要毫无计划地写代码,思考、调研、计划、编码、测试、修改,一个都不能少;

2. 不要写代码前过度计划,在一头钻进代码前做点计划是好事,但是即便是好事,也可能物极必反。喝太多的水都会使你中毒呢;

3. 请勿低估代码质量的重要性,如果你只能够关注你所写的代码的一个方面,那么肯定是可读性。表意不明的代码就是垃圾,甚至是不可回收的垃圾;

继续阅读“程序员的思路”

Oracle数据库自增主键

create table TEAM_MAJOR_WORK
(
  pkid                NUMBER(7) not null,
  team_no            VARCHAR2(16) not null,
  ymonth              VARCHAR2(6) not null,
  iwork_plan             CLOB,
  iwork_desc             CLOB,
  iwork_result        CLOB,
  teamld_evluate      CLOB,
  depld_evluate      CLOB,
  cr_date             DATE default sysdate not null
);



--创建seq
create sequence TWORK_ID_SEQ start with 100000 increment by 1 maxvalue 999999;



--创建触发器
create or replace trigger TR_MAJOR_WORK
  before insert on TEAM_MAJOR_WORK
  for each row
  when (new.pkid is null)
begin
  select TWORK_ID_SEQ.NEXTVAL into:new.pkid from dual;
end;

--查询触发器
select * from all_triggers tr where tr.TRIGGER_NAME='TR_MAJOR_WORK';

WIN10子系统开启SSH

Win10的Linux子系统是真的不错的一个功能,默认不开启SSH服务,本篇打开SSH服务。

1)安装SSH

apt-get install openssh-server

2) 备份sshd配置文件

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

修改内容

Port 23 # 端口改为23,22端口已被占用
ListenAddress 0.0.0.0 # 取消注释
#StrictModes yes # 注释
PasswordAuthentication yes # 允许密码登录

3)启动SSH

service ssh start

如果提示sshd error: could not load host key,则用下面的命令重新生成

sudo rm /etc/ssh/ssh*key
dpkg-reconfigure openssh-server

Mysql修改默认root密码

1)、use mysql;                   #连接到mysql数据库
2)、update mysql.user set authentication_string=password('123456') where user='root' and Host ='localhost';    #修改密码123456是密码
3)、update user set  plugin="mysql_native_password";     
4)、flush privileges;
5)、quit;

Ubuntu安装RDP桌面

1) 安装相关软件包

sudo apt install tightvncserver xrdp
sudo apt install xubuntu-desktop
echo xfce4-session >~/.xsession

2) sudo vim /etc/xrdp/startwm.sh

在 test -x /etc/X11/Xsession && exec /etc/X11/Xsession 上方添加

xfce4-session

3) sudo vim /etc/X11/Xsession

同样添加

xfce4-session

4) 最后,重启服务

sudo systemctl restart xrdp.service 

Ubuntu安装Mate桌面 并开启X2GO

0) 首先安装Mate桌面,这里就偷个懒,把所有的包都装上。

sudo apt-get install ubuntu-mate-*

1) 漫长的等待之后,重启一下

sudo add-apt-repository ppa:x2go/stable
sudo apt-get update
sudo apt-get install x2goserver x2goserver-xsession

到此为止就已经安装好MATE桌面并开启X2GO了,直接连接就可以了

node.js 安装 npm 并管理 npm 版本

更新npm到最新版本

npm install npm@latest -g.

查看当前npm版本

npm -v

在卸载gitlab然后再次安装执行sudo gitlab-ctl reconfigure的时候往往会出现:ruby_block[supervise_redis_sleep] action run,会一直卡无法往下进行!

解决方案:

1、按住CTRL+C强制结束;
2、运行:sudo systemctl restart gitlab-runsvdir;
3、再次执行:sudo gitlab-ctl reconfigure

nginx配置动态域名解析

resolver 114.114.114.114;
 
server {
    location / {
        set $servers github.com;
        proxy_pass http://$servers;
    }
}

Nginx对其中配置的代理域名,仅在程序启动的时候解析一次,把IP缓存下来,导致IP变化时,出现502 Bad Gateway的报错。此写法可以指定解析时使用的DNS,但是当IP动态变化之后,依然无法正常解析,故实际测试之后,我使用的是这个方法:

增加一条crontab,定时重载NGINX,重新获取IP地址

*/10 *  * * * /usr/sbin/nginx -s reload