原文转载于刘同大师微博,转载此文仅用于刺激本人,无作他用

这些年,能一开始就让我从心底产生敬意的人都是有自律性的人。 他们每天都在不声不响坚持着自己认定的那些事,有人每天坚持运动,有人每天坚持阅读,有人一天一部电影,一天3000字的文章,每周外出摄影……

慢慢的,他们就是和周围的人不一样了,那种不一样便是自律性带来的独有的味道。

不过我想说的不是自律。而是另一句话:“你能对自己再狠一点吗?”

以前我们说这句话时,是觉得一个人无法给自己下一个结论。是啊,连决定都无法下的人怎么会有未来。

而现在,能对自己“狠”一点,已然不是下决心那么简单,而是看你愿意给自己多长一段时间去做完一件事情。

花五年去学一个专业?觉得生命太短,浪费不了时间。
那花三年去学一门手艺?也不行,那时同龄人早就把自己甩很远了。
那就一年踏踏实实沉浸在一份工作里,别抱怨别退缩?恐怕也不行,我要对得起自己的情绪啊。

用半年坚持学英文做不到,一个月坚持运动做不到,就连一周坚持早起都没办法,但往往这样的人却每天都在说:我很着急,我该怎么办,我的未来在哪里?谁能帮帮我。

你那么丧,和你聊天只能拖垮别人,没人能帮得了你。 真正能帮你的只有时间,但请你给你自己多一点时间。

我28岁的时候存款1万7,还有两年就30岁了,我特别焦虑,觉得男人到了30岁,不功成名存款没有50万就这辈子俨然就失败了。
响哥有次聊天就跟我说:30而立是古人说的,因为古代大家活得都没那么长,很多人40、50就没了。而我们现在动辄就是七八十岁,就算你40岁才走到一半,你着急什么。

那一刻,我突然意识到我离40岁还有12年,12年够我做好多好多事了。

这么一想,觉得自己又回到了刚上大一时的心情,觉得自己离30岁还有12年!这12年我可以安排自己做好多事了。 哪怕这些事情当下都没有结果也无所谓,就当是尝试,等我到了四十岁那年,人生应该会和28岁很不一样吧。

上一篇关于职场候鸟的文章收到了很多读者的回复,其中有读者一直在说“自己已经二十好几了,每天都很着急,也没有一技之长,不知道自己该干什么。” 能干什么,什么好干都是因人而异。

但决定去干一件事情之前,最重要的是先放缓焦虑,想一想自己的人生还长的很,给自己五年?三年?哪怕一年时间认认真真去干一件事,别退缩,别放弃,只要每天都要比前一天学到一些新东西,别说三年了,也许半年之后你就会意识到自己的不同。

希望你能成为一个能对自己真正狠下心的人,不是那种咬牙切齿想干一件惊天动地的事,而是下定决心给自己一段时间,沉到时间里,安安静静的去学习一件事。

当你浮上水面的时候,无论是这个世界,还是你都会变得很不一样。

比如现在的我,尽量每天去学习多一点东西,因为我很想知道自己42岁是什么鬼样子:)

原文地址http://www.wrjfpv.com/teach/7496.html
先说一下实景建模的原理吧,它实际上是通过一个区域内(一个主体)的大量的照片来进行三维化的处理,分为前期拍摄和后期的三维模型生成。

 

前期拍摄主要是要按照一定的顺序和间隔来拍摄,保证被拍摄的物体清晰可见就好,难度基本是没有的,更何况现在有那么多辅助飞行的软件,像最基础的DJI GO ,Litchi, Altizure等,还有最近大疆刚出不久的地面站GS PRO,都能够很轻松的帮助大家完成建模目标的实景采集工作。
后期实景建模阶段,可用的软件也很多,像3DSM PRO, Autodesk Photo Scene Editor,David等,其实原理都是一样的,在这里就为大家介绍一款比较好用的软件:Agisofa photo scan。这个软件流程什么的都比较简单,就是太吃电脑了,我在后面会为大家进行详细的介绍。
长话短说,现在我们开始航拍实景建模的第一步:进行实景扫描。

 

就像上面说的,可以用来做实景建模的软件实在是太多了,比如之前就看到有人用dji go来进行环视的单个物体实景建模,还有人用专门为实景建模做的软件Altizure来进行实景扫描的(不过用过这么多,我还真是觉得Altizure是最好用的,精度高且他是用的四方斜视拍摄外加一块主扫描区的俯视拍摄来建模的,效果会好很多,不会有拍不到的地方)。之前也都有各个大神做过相关软件的详细讲解,我在这就不献丑了,就来用下大疆新出的GS pro吧,也算是做个小的评测。
实景拍摄建模我也分为两个部分:
1. 利用飞行器实飞选点规划拍摄区域
2. 利用离线地图绘制拍摄区域和任务
大家如果用过litchi的都知道,他有个很实用的功能是离线的航点规划设置,能够在不起飞无人机的情况下就预先做好飞行规划和任务设置,大大节省了航拍所需的时间。
GS PRO也有这个功能,但至于好不好用呢,还需等我慢慢道来。

模式一:利用飞行器实飞选点规划拍摄区域

 

打开GS PRO.
能够看到跟打开dji go 还是有区别的,其主屏不是视频源了,而是加载的地图,右下方变成了视频源,在上方能够看到相应的设备信息。
例行检查无误后,开始起飞。
飞到需要定位的点时,点击右边的“定点”以记录第一个点。
以此类推的选取你认为需要的点的位置和区域。

在最后一个点选择完成后,点击“完成”按钮,系统会自动链接最后一个点和第一个点,以形成一个封闭的区域,并自动的生成一个航拍线路的规划,如下图所示:
如上图,能够看到生成的航拍扫描飞行线路,基本的任务信息和飞机的基本设置,可以根据实际的拍摄需要来进行调整
其中
“拍照模式”一般选择“等距离间隔拍照”更加准确一点。
“航线生成模型”选择“区内模式”
“飞行速度”默认9km/h,不宜过快,但可适当调高
“飞行高度”可自由设定,并且后方会根据每个飞行高度来算出照片的分辨率,一般来说越高分辨率越低。
在高级设置中,我们可以调整所生成航线的各个参数
“主航线间图像重复率”表示在这个区域中航线的密集程度,数值越高越密集,所拍摄的照片越多,飞行时长也会更长。
“主航线角度”可以调整扫描这个区域的飞行器角度,可以选择是横向扫描还是成一定角度扫描。
“边距”表示航线在选定区域飞行时所靠近选取边缘的距离,这个距离也可以理解为安全距离,防止飞机在选取边缘与其他物体碰撞。
“云台俯仰角度”可以调节拍照的角度,以获得更佳的建模效果,一般来说对一个区域进行建模,垂直向下-90度就可。

 

“任务完成动作”一般选择悬停以等待下一步指令。
点击“保存任务”,然后点击右上方的“执行任务”

 

点击后会弹出一个“准备飞行任务”清单,上面有相关的数据信息,包括飞机型号,卫星颗数,指南针状态等。等最后一项航点上传完成,只有都是显示绿色既自检通过后,才可点击“开始飞行”,此时飞机会自动按照之前的预设来进行飞行和拍摄,只需要飞手监视就好。

 

在飞行途中,若需要返航或者终止任务,点击右上方的暂停按钮,飞机会终止任务,并切回飞手控制状态。
因为很多飞行辅助app都会有“断点再续”功能,所以我也测试了GS PRO的“断点再续”功能,让其飞回更换电池,看其是否能够准确的找的上次的断点。

 

更换电池后,点击“从中断点开始”,飞机会自动找的上次飞行记录的中断点,从此开始继续之前的任务。
等待所有航点都飞行完成后,系统会自动弹出“任务完成”提示,同时结束任务悬停等待。

模式二:利用离线地图绘制拍摄区域和任务。
通过刚刚的讲解我们也能看到,这样的效率其实很低,而且更重要的一点是很费电,对于本就不多的无人机电池续航时间来说更是致命的。所以我们可以选择一种更加高效的方法,采用离线地图绘制拍摄区域和任务。
这种方法虽然高效,但我个人就目前而言还是不推荐使用这种方法的,一个很重要的原因就是地图的精度问题
GS PRO使用的是高德地图,或许平时我们用手机的高德地图时还会觉得是很准的,但是无人机航拍实景选点,尤其是在地图上选点,需要相当高的地图精度,才能够保证所选的区域与目标区域一致,不发生错位。
看似就是一个错位问题,但问题可大可小。轻则可能导致你建模区域选择偏移,重则可能会撞到周边的建筑物导致炸鸡。
高德地图在GS PRO中精度真的是差强人意,我试了好几次都不是特别精准,有一两次感觉选点都能差到10m以上,这对于在周围有突出物体建筑物旁进行区域建模是十分危险的。而且你仔细看就会发现,地图感觉还是好几年以前的数据,好多都没更新。

 

但介于GS PRO 有这个功能,还是在这里捎带的讲一下

 

点击“地图选点”
跟之前的步骤都一样,从“基础设置”的参数到“高级设置”的参数。

 

要特别注意的是“飞行高度”,要事先知道周围物体的大致高度。

WX20170221-224716@2x.jpg (1.61 MB, 下载次数: 0)

下载附件  保存到相册

2 天前 上传

设置好各个参数后,点击左上方的“保存任务”按钮
之后连接飞行器,找的之前保存的任务就可以直接进行任务

转自http://www.cnblogs.com/kevingrace/p/8343060.html

同时参考:https://blog.csdn.net/qq_36731677/article/details/79501993

搭建个人云存储一般会想到ownCloud,堪称是自建云存储服务的经典。而Nextcloud是ownCloud原开发团队打造的号称是“下一代”存储。初一看觉得“口气”不小,刚推出来就重新“定义”了Cloud,真正试用过后就由衷地赞同这个Nextcloud:它是个人云存储服务的绝佳选择。可以说Nextcloud 是一款自由 (开源) 的类 Dropbox 软件,由 ownCloud 分支演化形成。它使用 PHP 和 JavaScript 编写,支持多种数据库系统,比如 MySQL/MariaDB、PostgreSQL、Oracle 数据库和 SQLite。它可以使你的桌面系统和云服务器中的文件保持同步,Nextcloud 为 Windows、Linux、Mac、安卓以及苹果手机都提供了客户端支持。同时,Nextcloud 也并非只是 Dropbox 的克隆,它还提供了很多附加特性,如日历、联系人、计划任务以及流媒体 Ampache。

与ownCloud相比,Nextcloud的功能丝毫没有减弱,甚至由于可以安装云存储服务应用,自制性更强,也更符合用户的需求。Nextcloud官网的帮助文档写得相当地详细,几乎任何关于Nextcloud的问题都可以找到答案,这说明Nextcloud开发团队确实比ownCloud更加优秀。

一开始以为Nextcloud只是一个网盘云存储,后来看到Nextcloud内置了Office文档、图片相册、日历联系人、两步验证、文件管理、RSS阅读等丰富的应用,我发现Nextcloud已经仅仅可以用作个人或者团队存储与共享,还可以打造成为一个个人办公平台,几乎相当于一个个人的Dropbox了。

以下内容将介绍如何在 CentOS 7 服务器中安装和配置最新版本的 Nextcloud 12,并且会通过 Nginx 和 PHP7-FPM 来运行 Nextcloud,同时使用 MariaDB 做为数据库系统。Nextcloud云盘环境部署后,可以实现web网页端、手机移动端和桌面客户端三者数据同步,其中桌面客户端可以在本地设置一个文件夹,用于同步数据,这样也就相当于在本地备份了数据。同时客户端只要设置开机启动,即只要是启动状态中,它和网页端的数据就是自动同步的。废话不多说了,直接看部署笔记:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
部署机器的系统是Centos7.4版本
[root@nextcloud-server ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
   
一、安装并配置Nginx和php-fpm
================================================================
将自带的epel、nginx、php全部卸载(rpm -e ... --nodeps)
[root@nextcloud-server ~]# rpm -qa|grep php
[root@nextcloud-server ~]# rpm -qa|grep php-common
[root@nextcloud-server ~]# rpm -qa|grep nginx
===============================================================
CentOS默认的yum源中并不包含Nginx和php-fpm,首先要为CentOS添加epel源:
[root@nextcloud-server ~]# yum -y install epel-release
[root@nextcloud-server ~]# yum -y install nginx
   
需要再添加一个yum源来安装php-fpm,可以使用webtatic(这个yum源对国内网络来说恐怕有些慢,当然你也可以选择其它的yum源)
[root@nextcloud-server ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
 
安装php7-fpm和一些其它的必要的组件
[root@nextcloud-server ~]# yum -y install php70w-fpm php70w-cli php70w-gd php70w-mcrypt php70w-mysql php70w-pear php70w-xml php70w-mbstring php70w-pdo php70w-json php70w-pecl-apcu php70w-pecl-apcu-devel
 
完成后,检查一下php-fpm是否已正常安装
[root@nextcloud-server ~]# php -v
PHP 7.0.25 (cli) (built: Oct 29 2017 13:43:03) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
   
配置php-fpm
[root@nextcloud-server ~]# vim /etc/php-fpm.d/www.conf
.....
user = nginx                                   //将用户和组都改为nginx
group = nginx
.....
listen = 127.0.0.1:9000                        //php-fpm所监听的端口为9000
......
env[HOSTNAME] = $HOSTNAME                     //去掉下面几行注释
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
   
/var/lib目录下为session路径创建一个新的文件夹,并将用户名和组设为nginx
[root@nextcloud-server ~]# mkdir -p /var/lib/php/session
[root@nextcloud-server ~]# chown nginx:nginx -R /var/lib/php/session/
[root@nextcloud-server ~]# ll -d /var/lib/php/session/
drwxr-xr-x. 2 nginx nginx 4096 1月  25 09:47 /var/lib/php/session/
   
启动Nginx和php-fpm服务,并添加开机启动
[root@nextcloud-server ~]# systemctl start php-fpm
[root@nextcloud-server ~]# systemctl start nginx
[root@nextcloud-server ~]# systemctl enable php-fpm
[root@nextcloud-server ~]# systemctl enable nginx
   
二、安装并配置MariaDB
使用MaraiDB作为Nextcloud数据库。yum安装MaraiDB服务
[root@nextcloud-server ~]# yum -y install mariadb mariadb-server
   
启动MariaDB服务并添加开机启动
[root@nextcloud-server ~]# systemctl start mariadb
[root@nextcloud-server ~]# systemctl enable mariadb
   
接下来设置MariaDB的root密码
[root@nextcloud-server ~]# mysql_secure_installation        //按照提示设置密码,首先会询问当前密码,密码默认为空,直接回车即可
Enter current password for root (enter for none):          //直接回车
Set root password? [Y/n] Y
New password:                                              //输入新密码
Re-enter new password:                                     //再次输入新密码
    
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
==============================================================================================
或者采用另一种修改密码的方式:跳过授权表
1)在/etc/my.cnf文件里添加"skip-grant-tables"
2)重启mariadb服务
3)无密码登陆mariadb,然后重置mysql密码
MariaDB [(none)]> update mysql.user set password=password("kevin@123") where user="root";
4)去掉/etc/my.cnf文件里的"skip-grant-tables"内容
5)重启mariadb服务
6)这样就可以使用上面重置的新密码kevin@123登陆mariadb了
==============================================================================================
   
设置完MariaDB的密码后,使用命令行登录MariaDB,并为Nextcloud创建相应的用户和数据库。
例如数据库为nextcloud_db,用户为nextclouduser,密码为nextcloudpasswd:
[root@nextcloud-server ~]# mysql -p
......
MariaDB [(none)]> create database nextcloud_db;          
MariaDB [(none)]> create user nextclouduser@localhost identified by 'nextcloudpasswd';
MariaDB [(none)]> grant all privileges on nextcloud_db.* to nextclouduser@localhost identified by 'nextcloudpasswd';
MariaDB [(none)]> flush privileges;
   
三、为Nextcloud生成自签名SSL证书
为SSL证书创建一个新的文件夹:
[root@nextcloud-server ~]# cd /etc/nginx/cert/
[root@nextcloud-server cert]# openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/nextcloud.crt -keyout /etc/nginx/cert/nextcloud.key
.....
Country Name (2 letter code) [XX]:cn                                           //国家
State or Province Name (full name) []:beijing                                  //省份
Locality Name (eg, city) [Default City]:beijing                                //地区名字
Organization Name (eg, company) [Default Company Ltd]:kevin                    //公司名
Organizational Unit Name (eg, section) []:Technology                           //部门
Common Name (eg, your name or your server's hostname) []:kevin                 //CA主机名
Email Address []:kevin@wangshibo.cn                                                 
   
然后将证书文件的权限设置为660
[root@nextcloud-server cert]# chmod 700 /etc/nginx/cert
[root@nextcloud-server cert]# chmod 600 /etc/nginx/cert/*
   
四、下载并安装Nextcloud
[root@nextcloud-server ~]# yum -y install wget unzip
[root@nextcloud-server ~]# cd /usr/local/src/
[root@nextcloud-server src]# wget https://download.nextcloud.com/server/releases/nextcloud-12.0.4.zip
[root@nextcloud-server src]# unzip nextcloud-12.0.4.zip
[root@nextcloud-server src]# ls
nextcloud nextcloud-12.0.4.zip
[root@nextcloud-server src]# mv nextcloud /usr/share/nginx/html/
   
进入Nginx的root目录,并为Nextcloud创建data目录,将Nextcloud的用户和组修改为nginx
[root@nextcloud-server src]# cd /usr/share/nginx/html/
[root@nextcloud-server html]# mkdir -p nextcloud/data/
[root@nextcloud-server html]# chown nginx:nginx -R nextcloud/
[root@nextcloud-server html]# ll -d nextcloud
drwxr-xr-x. 15 nginx nginx 4096 1月  24 17:04 nextcloud
   
五、设置Nginx虚拟主机
进入Nginx的虚拟主机配置文件所在目录并创建一个新的虚拟主机配置(记得修改两个server_name为自己的域名):
[root@nextcloud-server ~]# cd /etc/nginx/conf.d/
[root@nextcloud-server conf.d]# vim nextcloud.conf
upstream php-handler {
    server 127.0.0.1:9000;
    #server unix:/var/run/php5-fpm.sock;
}
    
server {
    listen 80;
    server_name nextcloud.kevin-inc.com;
    # enforce https
    return 301 https://$server_name$request_uri;
}
    
server {
    listen 443 ssl;
    server_name nextcloud.kevin-inc.com;
    
    ssl_certificate /etc/nginx/cert/nextcloud.crt;
    ssl_certificate_key /etc/nginx/cert/nextcloud.key;
    
    # Add headers to serve security related headers
    # Before enabling Strict-Transport-Security headers please read into this
    # topic first.
    add_header Strict-Transport-Security "max-age=15768000;
    includeSubDomains; preload;";
    add_header X-Content-Type-Options nosniff;
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Robots-Tag none;
    add_header X-Download-Options noopen;
    add_header X-Permitted-Cross-Domain-Policies none;
    
    # Path to the root of your installation
    root /usr/share/nginx/html/nextcloud/;
    
    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }
    
    # The following 2 rules are only needed for the user_webfinger app.
    # Uncomment it if you're planning to use this app.
    #rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
    #rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json
    # last;
    
    location = /.well-known/carddav {
      return 301 $scheme://$host/remote.php/dav;
    }
    location = /.well-known/caldav {
      return 301 $scheme://$host/remote.php/dav;
    }
    
    # set max upload size
    client_max_body_size 512M;
    fastcgi_buffers 64 4K;
    
    # Disable gzip to avoid the removal of the ETag header
    gzip off;
    
    # Uncomment if your server is build with the ngx_pagespeed module
    # This module is currently not supported.
    #pagespeed off;
    
    error_page 403 /core/templates/403.php;
    error_page 404 /core/templates/404.php;
    
    location / {
        rewrite ^ /index.php$uri;
    }
    
    location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
        deny all;
    }
    location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
        deny all;
    }
    
    location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/) {
        include fastcgi_params;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param HTTPS on;
        #Avoid sending the security headers twice
        fastcgi_param modHeadersAvailable true;
        fastcgi_param front_controller_active true;
        fastcgi_pass php-handler;
        fastcgi_intercept_errors on;
        fastcgi_request_buffering off;
    }
    
    location ~ ^/(?:updater|ocs-provider)(?:$|/) {
        try_files $uri/ =404;
        index index.php;
    }
    
    # Adding the cache control header for js and css files
    # Make sure it is BELOW the PHP block
    location ~* \.(?:css|js)$ {
        try_files $uri /index.php$uri$is_args$args;
        add_header Cache-Control "public, max-age=7200";
        # Add headers to serve security related headers (It is intended to
        # have those duplicated to the ones above)
        # Before enabling Strict-Transport-Security headers please read into
        # this topic first.
        add_header Strict-Transport-Security "max-age=15768000;includeSubDomains; preload;";
        add_header X-Content-Type-Options nosniff;
        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Robots-Tag none;
        add_header X-Download-Options noopen;
        add_header X-Permitted-Cross-Domain-Policies none;
        # Optional: Don't log access to assets
        access_log off;
    }
    
    location ~* \.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ {
        try_files $uri /index.php$uri$is_args$args;
        # Optional: Don't log access to other assets
        access_log off;
    }
}
   
接下来测试以下配置文件是否有错误,确保没有问题后重启Nginx服务。
[root@nextcloud-server conf.d]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@nextcloud-server conf.d]# systemctl restart nginx
   
六、为Nextcloud设置Firewalld防火墙和SELinux
可以选择关闭Firewalld和SELinux
[root@nextcloud-server ~]# systemctl stop firewalld
[root@nextcloud-server ~]# systemctl disable firewalld
[root@nextcloud-server ~]# setenforce 0
[root@nextcloud-server ~]# getenforce
disable
[root@nextcloud-server ~]# cat /etc/sysconfig/selinux
......
SELINUX=disabled
   
如果打开了防火墙,则需要设置Firewalld和SELinux
首先需要安装SElinux管理工具policycoreutils-python
[root@nextcloud-server ~]# yum -y install policycoreutils-python
   
接着设置SELinux
[root@nextcloud-server ~]# semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/data(/.*)?'
[root@nextcloud-server ~]# semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/config(/.*)?'
[root@nextcloud-server ~]# semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/apps(/.*)?'
[root@nextcloud-server ~]# semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/assets(/.*)?'
[root@nextcloud-server ~]# semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/.htaccess'
[root@nextcloud-server ~]# semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/.user.ini'
[root@nextcloud-server ~]# restorecon -Rv '/usr/share/nginx/html/nextcloud/'
   
接下来设置Firewlld防火墙,为Nextcloud开放http和https两个端口
[root@nextcloud-server ~]# systemctl start firewalld
[root@nextcloud-server ~]# systemctl enable firewalld
[root@nextcloud-server ~]# firewall-cmd --permanent --add-service=http
[root@nextcloud-server ~]# firewall-cmd --permanent --add-service=https
[root@nextcloud-server ~]# firewall-cmd --reload
   
七、安装Nextcloud
解析上面nginx中配置的域名nextcloud.kevin-inc.com,访问访问http://nextcloud.kevin-inc.com进行Nextcloud界面安装(访问http域名会自动跳转到https,安装提示安装即可!)

==================NextCloud安全与性能优化==================

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
这种提示一般在NextCloud的服务器管理中可以看到,建议缓存类的直接安装一个即可,安装多了也没有什么用。
为了Nextcloud服务的安全和性能, 请将所有设置配置正确.
PHP 模块 ‘fileinfo’ 缺失. 我们强烈建议启用此模块以便在 MIME 类型检测时获得最准确的结果.
HTTP 请求头 “Strict-Transport-Security” 没有配置为至少 “15552000” 秒. 出于增强安全性考虑, 推荐按照安全提示中的说明启用HSTS.
内存缓存未配置. 如果可用, 需要配置 memcache 以增强性能.
PHP 的组件 OPcache 没有正确配置. 为了提供更好的性能, 我们建议在php.ini文件中使用下列设置:
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

==================NextCloud添加Memcached缓存=============

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
修改nextcloud程序目录下的config目录中的config.php文件,在配置文件中添加如下,这个是多个Memcached实例,单个自己改:
 
'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Memcached',
'memcached_servers' => array(
     array('localhost', 11211),
     array('server1.example.com', 11211),
     array('server2.example.com', 11211),
     ),
==================================================================
依据本篇如上安装记录,添加memcache缓存的方法(本机单机安装memcahced)
[root@nextcloud src]# yum -y install memcached
[root@nextcloud src]# cat /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""
[root@nextcloud src]# systemctl start memcached
[root@nextcloud src]# systemctl enable memcached
Created symlink from /etc/systemd/system/multi-user.target.wants/memcached.service to /usr/lib/systemd/system/memcached.service.
[root@nextcloud src]# lsof -i:11211
COMMAND      PID      USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
memcached 146026 memcached   26u  IPv4 3320544      0t0  TCP *:memcache (LISTEN)
memcached 146026 memcached   27u  IPv6 3320545      0t0  TCP *:memcache (LISTEN)
memcached 146026 memcached   28u  IPv4 3320549      0t0  UDP *:memcache
memcached 146026 memcached   29u  IPv6 3320550      0t0  UDP *:memcache
修改nextcloud的config配置文件,添加memcached缓存配置
[root@nextcloud config]# pwd
/usr/share/nginx/html/nextcloud/config
[root@nextcloud config]# cp config.php config.php.bak
[root@nextcloud config]# vim config.php
......
  'memcache.local' => '\OC\Memcache\APCu',
  'memcache.distributed' => '\OC\Memcache\Memcached',
  'memcached_servers' => array(
   array('localhost', 11211),
     ),

==================NextCloud添加Redis缓存==================

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
在nextcloud的config配置文件中添加如下,这个是通过TCP连接的:
'memcache.local' => '\OC\Memcache\Redis',
'redis' => array(
     'host' => 'localhost',
     'port' => 6379,
      ),
还有性能更好的UNIX连接:
'memcache.local' => '\OC\Memcache\Redis',
'redis' => array(
     'host' => '/var/run/redis/redis.sock',
     'port' => 0,
     'dbindex' => 0,
     'password' => 'secret',
     'timeout' => 1.5,
      ),
同时,官方还推荐加入如下,来用于存储文件锁:
'memcache.locking' => '\OC\Memcache\Redis',

========Nextcloud的邮件发信设置========
Nextcloud发送邮件信息的前提:每个用户(包括管理员)都要事先设置好自己的邮箱地址!
1)使用管理员账号登陆Nextcloud。点击右上角的设置图标里的”管理“-“其他设置

前提是管理员(admin)要事先设置好自己的邮箱地址。如下设置好邮箱地址后,按Enter键后就会显示一个”对勾”

满足条件:

1
2
3
1)在admin登陆后的"管理"->"其他设置"的后台里配置好"电子邮件服务器"(配置后可以测试发送邮件是否成功,前提是admin也要事先配置好自己的邮箱地址)
2)各用户创建并登陆后,要记得配置各自的邮箱地址。比如wangshibo用户登录后,配置自己的邮箱地址
3)在分享文件的时候,只要使用对方账号名进行分享,对方邮箱里就会收到一封分享信息的邮件!

如下,在admin账号下分享Nextcloud Manual.pdf这个文件给wangshibo用户

然后登陆wangshibo用户,就会发现Nextcloud Manual.pdf文件已经分享过来了

登陆wangshibo账号配置的邮箱,就会发现有上面分享的邮件信

也可以在文件来源方取消分享

==========云盘上传文件大小限制==============
nextcloud上传文件大小的自身限制为512M,如果要想调整这个大小,操作方法如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
1)修改php.ini上传文件大小限制
[root@nextcloud ~]# vim /etc/php.ini
......
max_execution_time = 0    #默认是30秒,改为0,表示没有限制
......
post_max_size = 10800M    #设定 POST 数据所允许的最大大小,如果POST数据尺寸大于post_max_size $_POST 和 $_FILES superglobals 便会为空.
......
upload_max_filesize = 10240M   #表示所上传的文件的最大大小
#另外要说明的是,post_max_size 大于 upload_max_filesize 为佳.
2)修改nginx.conf
[root@nextcloud ~]# vim /etc/nginx/conf.d/nextcloud.conf
.....
client_max_body_size 10240M;
3)重启php和nginx服务
[root@nextcloud ~]# systemctl restart php-fpm
[root@nextcloud ~]# systemctl restart nginx

==========云盘创建新用户==============
碰到一个问题:在admin管理员登录nextclod,点击右上角的”用户”,创建新用户时候,点击”创建”无反应,即无法在web界面里创建新用户!
此时可以去数据库中创建新用户:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
[root@nextcloud ~]# mysql -pnextcloud@123
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 53445
Server version: 5.5.56-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show databases;
+----------------------+
| Database             |
+----------------------+
| information_schema   |
| binlog               |
| mysql                |
#mysql50#mysql.mysql |
| nextcloud_db         |
| performance_schema   |
+----------------------+
6 rows in set (0.00 sec)
MariaDB [(none)]> use nextcloud_db;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [nextcloud_db]> select * from oc_users;
+--------------+---------------------------+----------------------------------------------------------------+
| uid          | displayname               | password                                                       |
+--------------+---------------------------+----------------------------------------------------------------+
| admin        | NULL                      | 1|$2y$10$EeJacmgPRJW1VWcJVyEtA.u37fjWh3YRLvSKN1fxtdYDxRUdM4pSu |
| kevin        | 信息科技部-kevin          | 1|$2y$10$GA18mMkIyZ58eDvE/e6eMuQMJQyWP7BgwyhymuUpykDgWLKQdFotC |
| grace        | 信息科技部-grace          | 1|$2y$10$eCsuuK.ZrWx7qGrMKi88l.myL6GAj33TYtJ9x288SWq7qx25xiFN2 |
添加新用户"wangshibo",密码为"wangshibo@123"
MariaDB [nextcloud_db]> insert into oc_users(uid,password) valuses("wangshibo","wangshibo@123");
再次查看:
MariaDB [nextcloud_db]> select * from oc_users;
+--------------+---------------------------+----------------------------------------------------------------+
| uid          | displayname               | password                                                       |
+--------------+---------------------------+----------------------------------------------------------------+
| admin        | NULL                      | 1|$2y$10$EeJacmgPRJW1VWcJVyEtA.u37fjWh3YRLvSKN1fxtdYDxRUdM4pSu |
| kevin        | 信息科技部-kevin          | 1|$2y$10$GA18mMkIyZ58eDvE/e6eMuQMJQyWP7BgwyhymuUpykDgWLKQdFotC |
| grace        | 信息科技部-grace          | 1|$2y$10$eCsuuK.ZrWx7qGrMKi88l.myL6GAj33TYtJ9x288SWq7qx25xiFN2 |
| grace        | NULL                      | wangshibo@123                                                  |
发现在数据库中创建的新用户的密码是明文保存的。
接着用admin管理员登录nextcloud,点击右上角"用户",就能看到上面在数据库中新创建的wangshibo用户了,然后在这里重置密码!
(重置密码时,输入新密码,然后按"Enter"键回车即可),最后确保用新重置的密码登录wangshibo账号的云盘。
wangshibo账号登录成功后,再登录数据库发现,该用户的密码就会密文保存了!
========================================================================
创建用户组的正确方法:
点击右上角"用户",在"分组"->"添加分组"
也可以登录数据库里创建:
MariaDB [nextcloud_db]> select * from oc_groups;
MariaDB [nextcloud_db]> insert into oc_groups values("运维组");
可以将新用户分组到对应的组内,也可以禁用或删除用户。
点击左下角的"设置",可以显示用户的存储目录,邮件地址等。

图片 1

yuanwendizhi:https://www.logcg.com/archives/2007.html

 

优点

  • 文件夹同步功能(我就是奔着这个来的);
  • 不会被审查(你可不想自己的艺术照被别人全看一遍吧?)
  • 全平台客户端的!(web、ios、android、wendows、mac os、linux)
  • 开源!免费!免费!免费!(某度云的文件夹同步功能要充VIP;真TM会挣钱)
  • 离线下载功能(即使不在家,也会帮你下载女神 orz你懂得。支持:直链、bt、ftp、youtube。注:这个功能需要安装第三方插件“ocdownload”,但是因为owncloud被作者弃坑了,所以这个教程我就不放出来了,我准备写一篇nextcloud的教程,在那个教程里会有详细说明)
  • 资源分享(一键分享女神给射友舍友 orz)
  • 移动客户端自动备份相册(手机拍张照片,无需人工任何干涉,5秒钟后,电脑上就能看到这张照片了)

缺点

  • 钱!钱!!钱!!!全都TM是钱!(买服务器、买域名、买带宽、买硬盘组、买raid卡;不说了,我去泡面了)

 

好,既然有这么多优点,那我还有什么理由去花钱让别人欣赏我的艺术照、然后还要使用像屎一样客户端的某度云呢?!

那么,进入正题…


一、预配置

首先我们需要一个静态地址,然后还有一些工具,这些东西其实是可有可无的,但是根据我的习惯会使用这些工具,感觉用起来效果棒棒哒~

1、静态IP地址

内网的静态地址或者外网的静态地址都可以,如果你连这个都不会配置,那就不要勉强自己了…

2、安装ssh服务端

安装完成之后,你可以用 ssh 连接到你的服务器,很方便,不用控制台操作了(如果你坚持使用控制台:请便)

3、安装vim编辑器

怎么说呢,自己看着办好了,如果你不安装的话,那后面的所有” vim “命令请替换成” vi “

二、安装ownCloud

1、打开网址:

https://download.owncloud.org/download/repositories/stable/owncloud/

2、选择操作系统

我的操作系统我选择的是ubuntu。

3、输入命令

选择标题不带files的,在CLI里输入这2行,然后就ownCloud就安装好了。

图片 1

懒人福利,命令如下:

三、初始化ownCloud

1、打开在浏览器输入:

2、创建一个管理员帐号和密码

图片 1

3、数据目录

如果有特殊需求可以更改数据目录,点击数据目录,输入你要设置的目录就可以;或者在下一小节会介绍如何更改数据的存储路径。

4、点击安装完成

四、修改上传文件大小限制

 

OwnCloud默认上传文件较小,只有513M,对于日常应用很不方便。

1、打开配置文件

2、找到这两行代码

3、改为你需要的大小即可

注:里面分为php5和php7,你需要把两处都修改了,总共是4个地方。

 五、修改ownCloud为默认网站

 

1、编辑apache2的配置文件

2、把DocumentRoot后面的路径设置成owncloud的路径

3、重启apache服务

六、修改ownCloud存储路径

 

1、停止web服务:

2、打开配置文件

3、修改路径

找到 datadirectory 项,把后面的’ /var/www/owncloud/data ‘修改为你想要设置的路径,

例:’ /var/data/ ‘

4、转移数据

/var/www/owncloud/data 目录下的所有文件移动到新的 /var/data/ 目录下。

5、修改权限

修改 /var/data/ 目录所述的组及用户与原 /var/www/owncloud/data 目录相同,例如所述组和用户都修改为 www 。

6、启动web服务


高级教程

如果你需要在互联网上使用自己ownCloud,那你就需要一个静态的公网IP地址,假设你没有公网的IP地址,那你可以选择使用DDNS(动态域名解析)。然后在内网的服务器的80端口映射到外网的80端口。

     题外话:现在国家通讯管理局要求运营商关闭80端口,所以即使上面的步骤都做好了,你也发现在外网你不能访问到你的网站,那该怎么办呢?3种方法可以解决:

1、备案你的网站: 备案成功之后自然会把你的 80 端口打开(到当地运营商营业厅办理);

2、不使用 80 端口: 换一个端口就行了,比如使用88端口;方法请参照下面的文章;

3、使用 https: https 是用的 443 端口,而且还可以实现数据加密;方法请参照下面的文章。

七、修改apache端口

 

1、编辑 apache2 的配置文件

把<VirtualHost *:80>改成<VirtualHost *:88>

2、编辑apache2的端口配置文件

把Listen 80改成Listen 88

3、重启apache服务

八、使用HTTPS加密我的流量

 

1、安装签名工具

2、生成证书

因为现在国家通讯部的规定,运营商把所有的80端口都ban掉了。所以咱们申请证书不能使用正常的80端口进行申请证书,只能通过DNS解析的方法得到证书。

图片 1

然后得到这张图,你需要去你的域名运营商的控制面板里,给你的域名加上你的二级域名,如果没有二级域名,那就直接添加一个txt类型的记录,主机记录填写Domain里的值,然后把TXT value里的值写到记录值里。

例图如下:

图片 1

3、申请证书

成功之后会出现这样的提示

图片 1

4、安装证书

然后现在咱们去配置把证书放到网站存放证书的文件夹,并把名字更正成它需要的名字

首先要看看存放证书的文件夹在什么地方,然后把证书复制过去

找到这2行

然后把证书和私钥cp进去

5、安装openssl

6、开启SSL模块

7、修改https的默认路径

8、启用https

上文安装完后,会在 /etc/apache2/sitesavailable/ 目录下生成一个缺省的 defaultssl 文件。缺省的网页目录仍然是 /var/www/ 。我们可以创建一个链接到 siteenabled 目录。

9、重启apache服务

windows版本10.0.17134,安装最新补丁后无法远程windows server 2008、2013、2016服务器

报错信息如下:出现身份验证错误,要求的函数不受支持  可能是由于CredSSP加密Oracle修正。

 

微软给出解决方案:

https://support.microsoft.com/zh-cn/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018

2018 年 5 月 8 日

将默认设置从“易受攻击”更改为“缓解”的更新。

相关的 Microsoft 知识库编号已在 CVE-2018-0886 中列出。

具体解决办法

windows专业版以上:

打开组策略编辑器

应用确定完之后就可以进行远程连接

windows 家庭版

windows 10家庭版则需要把这个更新卸载掉

打开控制面板

选择卸载程序

选择查看已安装的更新

选择你要卸载的卸载即可

附加windows10家庭版找回组策略的方法

刚开始做的时候绕了点远路

以为windows 10 家庭版也可以通过组策略配置就可以了,就把组策略搞了出来,进入组策略发现没有那一项,,最后还是卸载了最后的那个更新补丁

新建一个TXT文档,在里面写入

复制代码
@echo off
pushd "%~dp0"
dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt
for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"C:\Windows\servicing\Packages\%%i"
pause
复制代码

最后将后缀改为.cmd结尾即可

双机运行,等待他执行完,任意键退出即可

重启PC,运行中再输入gpedit.msc即可调出组策略编辑器

 

咳咳

对于windows 10家庭版的最终解决方案在这里,,再次敲黑板

修改注册表可以完美解决,具体操作如下,修改步骤要谨慎看仔细!

windows+R打开运行  输入regedit打开注册表

依次打开路径

1
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters

 

发现如果没有路径中的后两项及时创建

在Parameters的右侧栏新建项一个DWORD(32位)值

重命名为:AllowEncryptionOracle

值为:2

再次测试一下远程连接,如果还是失败则重启一次

两台戴尔服务器Power Edge R620闪橙色灯

1、HWC2003 Storage BP1 Signal cable or interconnect failure. Check connection.

2、 VLT0204 System board PS2 PG Fail voltage is outside of range. Contact support

今日系统无法发送短信,经排查,系无法连接MAS数据库造成,用内网地址访问MAS机后台,无法访问,可以ping通,telnet也无法连接,断电重启MAS机,恢复正常。

故障原因可能是MAS机死机

可能是IP冲突

dos命令下nbtstat,未找到ip冲突源

转载,著作权归原作者白诗诗所有

①时间

如果你想要在某个知识领域成为the best of the best,你必须要花至少10000小时实实在在的练习和学习。然而,Josh Kaufman却推翻了这些观念,提出了你只需要20小时就能不错的掌握一个全新的知识和技能。 如果我们能在最初的20小时内熬过初学阶段的不适感和挫败感,我们其实能很轻松地掌握一个全新的领域。哈!20个小时=2个沉睡的夜晚=1周娱乐时间的总合,听起来的确很不错。 嗯,我的意思是用20小时学习一门大学教材。

②案例

高效利用时间的案例:学更多更多的知识,做更多更多的事情。简直是知识、精神双饱满!!斯考特·杨(Scott Young)12个月之内,自学完成了传说中的MIT计算机科学课程表的全部33门课,从线性代数到计算理论。按照他的进度,读完一门课程大概只需要1.5个星期。这是我见过的大学生里在学习方面活得最充实的人。 我曾经对他的学习方法做过超认真的整理:怎样做才能不虚度大学的时光? – 白诗诗的回答

关于他的学习方法,warfalcon 评价如是:

评价a:每天学习10小时,10天左右就要考试一次,并通过,这个学习效率非常高,更不用说重复了33次。在学习一门新的知识时短时间集中注意力不难,但持续一段时间之后,如果做不到很好的放松,只要持续二、三个月左右就会达到一个瓶颈,理解能力和心理状态无法继续,这个瓶颈会重复出现,就象考研时很多人前几个月都能坚持下去,但到6、8月之后就无法坚持。重复三次左右会面临一个临界点,度过这后就很容易继续了。 评价b:刻意练习没有“寓教于乐”这个概念。曾经有个著名小提琴家说过,如果你是练习手指,你可以练一整天;可是如果你是练习脑子,你每天能练两个小时就不错了。高手的练习每次最多1到1.5小时,每天最多4到5小时。没人受得了更多。一般女球迷可能认为贝克汉姆那样的球星很可爱,她们可能不知道的是很少有球员能完成贝克汉姆的训练强度,因为太苦了。

③可实施性

“在学习一门新的知识时,短时间集中注意力不难” + “(刻意练习)高手的练习每次最多1到1.5小时,每天最多4到5小时。没人受得了更多”→→→→结合我们20小时学一门教材的目标,可以得出一个结论:我们进行的不是严格意义刻意练习,我们的强度也没有那个国外小子那么高,而且一轮下来只要20小时,即便是用刻意练习的方式进行,也是可以接受的。学完一科,我们可以进行休整放松,不用严打紧逼。而且就我个人而言,一天高效学习时间安排在八个小时左右,是可以执行的。

但是,要保证利用好八个小时的高效时间。

④如果保证利用好自己的高效时间? 学习仪式感:

人,藉由这种仪式带来的仪式感,来给自己一种强烈的自我暗示———这种自我暗示能够使自我变革,把自己的专注力、反应能力、运动能力迅速提升。

为了保证高效时段得到利用,我把每一次学习当成月考甚至高考一样的对待。 为了高考你会提前准备什么? 物质准备:吃饱穿暖 精神准备:考前睡眠充足 知识储备:复习再复习 在高考之前,脑海里,我们已经把在考场上的表现重复了多遍。

再来看看,我是怎么为一次高效学习进行仪式感建立的: 物质:水、巧克力、计算器、文具。在正式学习之前,我会在桌上一字排开,以防临时需要某些东西时手忙脚乱去到处翻。

精神:在前一天晚上,我就想好第二天又要进行高效学习了,所以我会安心睡去,而且如果你已经在前一天高效学好的话,会在一种满足感和新的期待中睡去。 时间:比如,八点是我的正式学习时间,我会保证八点之前提前赶到那里,坐在椅子上调整出最舒服的学习姿态。 提取半个小时到达学习现场,我会做以下工作:

仪式第一步:启动 1.把准备好的物品摆在桌上。 2.深呼吸一口气,然后做眼保健操。 3.闭着眼按摩太阳穴一个八拍。 注:眼保健操的第三个八拍和第四个八拍互换,多年的眼保健操经验告诉我,原本第四个八拍(轮刮眼眶)做完之后,眼睛睁开是会一片模糊感,眼液汪汪,十分不舒服。(ps.重新排版此文的时候我才发现,对于眼保健操我也是蛮有见解的嘛!!!哈哈哈。)

仪式第二步:预热

翻看即将在要来到的两个小时之内需要学习的内容,心里有个大概。我会多浏览几遍某些重要的概念以及例题,但是我不会把这个活动当做是我的正式学习的过程,就好像你考试之前翻书,多看几遍重难点考点只是为了考试更好的发挥,而不能把这个过程计入考试本身一样。我现在做的活动,只是为了等一下正式学习更好的强化效果。

仪式最后一步:静心

在八点之前的一分钟,我会盖上书本。静静等着一分钟的流逝,八点钟一到,就带着喜悦感平静地翻开书本。因为有了那么多前戏的酝酿,你都不知道我多么的期待这么一次高效的学习的来临啊。

大学学习的方法千差万别,比如,有人有能耐能泡老师透到题,或者被老师泡也能泡到题,这种做法我认为是最高效的,有了考试题目就只需要锁定知识点夺取高分。这种做法我十分欣赏,但只有一点我不喜欢,那就是逃避了学习过程,没错,我也要考高分,但我只想踏踏实实的通过正常的学习完成这个过程。不过,我的踏踏实实要是和很多人一样一章一节的看下去,那就是侮辱我自己了,因为那样我会看不到最后,就止不住困倒在书上了。

我个人的方法就是对这个踏实过程的一次优化,让自己在持续反馈之中达成纯20小时高效学习一门学科的目的。

第三步:正式高效率学习

步骤如下:

第A步:

第一遍阅读 1.看目录知道这一章重点在哪一节,这一节大概用来解决什么问题 2.看章后习题,圈出术语——–这个术语基本上就是本章的知识点了 3.根据术语去书中划概念和术语解释——–如果有些术语不能理解,请使用网络百度术语名词解释 4.术语理解后带着术语去理解书中的图表和例题以及案例

⑤为什么不首先直接去阅读文字呢?

对此,我还当真有些个人的强烈认知:理工科的书在我看来是不能谈「理解」这个词的,尤其是工科的书,我认为就是一份份的说明书,讲机械那就是机械的说明书,讲制图那就是制图的说明书,这些说明书和商品说明书没有本质区别,只是它们通过系统化的学术语言衔接成书、成册——但本质上一本说明书的集合。洗衣机说明书有什么作用?那就是告诉购买者如何操作、如何保养、注意事项。平时我们会嘲笑某些人看不懂说明书,其实不是对方理解力有问题,而是我们市面上多少说明书简直垃圾,写的不够明确、简洁,导致阅读者操作困难。

同样,我也认为我们的教科书并不都是一本本优秀的说明书合集,因为它们的书写内容是由个人写就,说明的操作细节根据他个人的智识水平书写,他并不曾统计所写的每一句话是不是让读者看起来更加容易形象的理解。我是说,不好的说明书才需要额外的理解,好的说明书只需要我们按着步骤流程一步一步操作就可以达到目的,只有书写不明的说明书才考验读者额外的理解能力。

从某个意义上来说,你学习某一本书,如果看不进去,可能不是你理解有问题,你应该换一本书。我们什么时候讲理解能力?中文阅读理解,英文阅读理解,文学作品,“我爱你,你懂我心吗?”,那是中文,英文。感性表达的时候需要你的理解,文人思维表达的时候需要你的理解,读哈姆雷特的时候需要你的理解,需要一千个读者有一千个哈姆雷特的理解。讲机械机构的时候如果你说不理解,那多半是书本表达的问题,不是你理解力有问题。可以长高宽表达的东西,你说你理解它干嘛?难道某个机械结构脉脉含情的给你传达某种信号,需要你理解她的弦外之音!? 以上是对教科书的微词。我意思是这样的,大学本科教材有可能的话去换几本看看,可能有比较容易“理解”的书呢?中国大学教材烂,这也是为什么国外大学教材受欢迎的原因。 但是,对于多数人而言,外文教材好啊好啊,其实都是喊在嘴巴上,看我这篇文章你都嫌长,你绕个远道去看外文教材?网上的公开课也比中国教授讲的好呀,推荐者万万众,实践者几几人!更何况,多数人外文的书是看不懂的,那么,就踏踏实实的看你们学校的教材,照样可以学好,此时才显得我的这个建议之有含量。

(在重新排版的时候,我请额外圈出一句话:推荐者万万众,实践者几几人!——这句话太好了,且做我的名言2号。) 这个建议是这样:

看书看不进,就牢牢抓住书本的例题、案例、图表。因为例题讲具体情境、图表具有可视化、案例就是讲具体的运用——这些都比理解文字描述容易的多。而且,例题里面包含了对关键知识点的运用,案例和图表其实都是为了辅助你理解正文文字内容的。所以,只要我们配合最少量的文字看懂了案例、图表,就达到了对知识的了解,接着我们再去看例题就知道了知识运用场景,之后,我们再反复地做题目,从而达到了对知识点的掌握。

这里还给你明确指明了什么叫了解、知道、掌握,课本往往会有学习要求,比如本节达到“掌握”的程度,而第二节只要“了解”就够了。那什么是“了解”、“知道”、“掌握”呢?光看这几个词汇,你是不是感觉在学习过程中,还是难以把握好“理解”等词汇的度?

从刚刚前段的描述中,其实已经给你活生生明确了呀:

1.“配合最少量的文字看懂了案例、图表,就达到了对知识的了解”。

2.“接着我们再去看例题就知道了知识运用的场景”。当然,这里的知道是对于“知识运用场景”的知道,如果是“知道某种知识”,那我给的定义是:当我提起某专有术语名词、某理论的时候,你能想得起来有那么一回事。比如我说到隔壁小王出轨了,你说“哦,那个小王八啊,我知道”——那你就真的知道了,也许对于这种男女之事,你知道的还要更多,可能已经达到了掌握甚至熟练运用的程度。在这个男女例子的场景中,你表现的是一个好学生的角色——主动掌握的东西不由自主地就比“课标要求”的多得多。

3.“我们再反复地做题目,从而达到了对知识点的掌握”。

4.如果我们用所学知识去解释问题、或者直接体现在实际操作中,那就是运用了。

以上就是我们需要尽量弱化教材文字阅读的原因。

学习请以一章为单位,因为拉长战线会拉长反馈周期,对于学习实际效果不利。如述进行完以上的步骤,读完一章后,可以轻松休息片刻。在哪些实用的小方法、小技巧、好习惯能让人每天进步? – 白诗诗的回答中,我提到,我会在这种休息间隙做俯卧撑:

有没有人认为健身必要但同时觉得浪费时间?工作间歇、课间休息期间,眼看四下无人,哗哗哗,30个俯卧撑一两分钟内已经完毕,我擦,不仅劳逸结合,三头肌一个月内暴结实!!!
放心:男孩子的话,这30个俯卧撑放心做好了。虽然方法是我提供的,但是我不向你要30个俯卧撑的版权!

⑥这是我要提的另一个重点:能量分为身体能量和情绪能量。

学习过程中,比如在图书馆学习,我见到很多人在学习过程中是没有补充能量的,当然也有人吃些小吃和零食,但这个和我所说的能量没有屁毛的关系呀,多数人正式的能量补充时间是中午时段的午餐,在我看来,对于一个有志于高效学习的学习者,只有午餐一个常规性能量补充时段,显然是严重不够的。

能量补充:

1.身体能量。精深练习的人最多达到1个小时1.5个小时,这是很累的,也就是说,会消耗大量的能量。所以,你得需要及时补充能量。两个小时的高效学习期间,分为两段,一段五十分钟左右,中间休息,这个时候就可以补充能量。所以,巧克力就派上用场了。人和人千差万别,原因之一就在于人与人吃的方式不一样。身体的直接能量是葡萄糖,它把葡萄糖当资金一样运用。当身体能量不足时,首先剥夺的是心智能量,这时补充一些糖类(功能性饮料、奶昔、蜜水、果汁都是很好的能量来源),就会精力高涨,恢复冒险精神以及能够进行更加冷静的思考。所以,巧克力是我个人选择。为了防止做广告,我绝不会告诉你是只是高力士牌而已……

2.情绪能量。很多人不知道情绪也是一种能量吧?一对夫妻,两个在公司都拼命工作,但一回到家里就经常吵架,是他们脾气不好喽?另外有对夫妻,下班很早,夫妻两个经常甜蜜去逛街么么哒,他们的脾气就好了?可是,这时候我告诉你,他们其实就是同一对夫妻,你又怎想?

为什么这样?这是——-因为拼命工作不仅仅需要物质能量,而且繁杂的工作在白天还消耗了他们大量的情绪能量,老板多给你任务,你心里不满意,你能表现吗?是不是没有表现出来呀?对呀,你没有表现出来,你压抑了心中的不满。压抑这个不满的情绪用什么?答案的确是物质能量—–因为身体时时刻刻都要消耗它,但是还不够,因为还有一个事实:压制某一刻某一时的不满情绪,其实主要消耗的是情绪能量。那这样导致情绪能力下降,导致自控力下降,回家失控可不就吵起喽?

是的,情绪能量需要补充。

平时还有这样的例子,比如我决定跑步,开始信心满满要跑一个月,结果没有几天就懈怠了,不是累了,而是情绪上感到疲劳了,产生厌倦感了。

这时候,解决情绪疲劳,有一个方法:那就是放松。

听音乐吧,听好听的音乐,在这里,我要提一个建议:在经济条件能承受的范围内,尽量买一根质量超好的耳机。羞涩的说,我有一根了,音效超级棒!同样,有可能就买一台超棒的音箱……这是和丁元英学习的。(《遥远的救世主》的男主,电视剧是个人超级推荐的,个人认为是一部比原著好看的老电视剧。)

前面我也说了,还可以做运动。我看到某些办公室里面有健身器材,相当羡慕,不过作为学生,我只能四下下无人,那一段看来还得再引用一遍,反正是我自己的版权:

俯卧撑 有没有人认为健身必要但同时觉得浪费时间?工作间歇、课间休息期间,眼看四下无人,哗哗哗,30个俯卧撑一两分钟内已经完毕,我擦,不仅劳逸结合,三头肌一个月内暴结实!
俯卧撑随便做,不收费!

解决厌倦感,我也有一个办法:

那就是,完成规定任务量之后,在某一个热情高涨的时候索性中断学习。这边的需要强调一下,是完成规定任务量之后——中断这个动作是发生在整个学习的后期,而不是你学得一高兴就中断,你要是这么蠢,只能嫁给我了!!! 村上春树跑步几十年,我最喜欢他的一点,是他会在跑步感觉良好的时候主动结束,这样他就会对第二天的跑步充满期待。因为人们对一些事情,总是能够清晰的记得事件的开头和结尾部分,在此基础上,我还要重点提醒的是,当时间一长,我们能记住关于一件事物的主要部分其实是事物留给我们的感觉而不是事件本身。村上春树以充满愉悦感的时候作为结束点,跑步对他来说自然会是一种“愉悦感”能隔天连续的体验。这是很智慧的。

更多的例子我不想举例了,比如长篇写作者中有许多作家也往往用这样的方法,比如写到高潮达到部分主动停下来,因为高潮情绪很强烈,在第二天接着创作是,就容易找回感觉,从而继续写下去。

事物的原因是一致的。所以,请你在晚上时段,即最后一个高效学习时段之后,接着再学习一段时间,正当感到愉悦、感到收获满满、感觉到学习仍然高效的时候——立刻中断你的学习,收拾书本滚回家找对象玩耍吧。这么做的原因在于:

理论上,你一天的高效学习已经接近极限了,这只不过是高效学习的余温而已,所谓的高效更可能是感觉上的高效,再继续进行下去只会让热情从峰值递减。如果你在对学习感到糟糕的时候结束一天的学习,我想说,你真是愚蠢,总是竭尽全力的消耗完自己。你的确是拼命学到乏力的程度了,没错,确实可以承认你真的很拼很努力。如果学习只是一次性交易的话,你这种努力就值得嘉奖;可惜,学习它是一个长期的过程。每一次,当你学到无力时才恋恋不舍地结束,你用“精疲力竭”给一天的学习画上了句号,很令人感动。但是,你可知道,你每一天学习的最后体验点就是“累”!今天你是通过竭尽全力的方式学到很多东西,可是,当“明天”来临的时候,你对于“今天”关于学习的最后印象只会是“累”。“后天”、“大后天”……每一天都以“累”的感觉最为结尾点—–那么这个“累”就是你带给每一个“明天”的学习痛苦感。这种”累“的感觉会累积变浓,因为每一天关于学习最后的那个感觉都会留下来,积累在你潜意识情绪认知里面。你因为一次次过度学习,从而导致了一次对学习的厌恶感的积累。——可笑你得不偿失! 而这正是多数人的做法:趁着精力十足拼命学习,学得无休无止,直到精疲力竭才罢休。哇塞,今天他妈的好有成就感,我学了满满一天,好有收获!——看到没,这种人很快会懈怠下来,你看到他第二天,第三天可能就去看电影去玩耍了,他说,那是劳逸结合,他说有学就要有玩……从我独特的角度来看,此人每次如此耗尽一天“彻底”学习的后果是,在他潜意识印象中,会不断累积对学习的厌恶感,因为他总是在学习达到疲劳低谷点的时候才结束,自然有一种“学习使人疲累”的累积印象,所以,他的那种学习方法不长久,因为一个人如果不是经过科学合理的调节,自然而然做到一个“精力旺盛”+“想要学习”的每一天,那是很少见的。当然,有时候他也会精力状态,但没有合理利用起来,居然还被他一次性刷爆了! 再者,他所谓的“收获满满”如果有一天遭受到打击,比如,现实证明他所学一无是处的时候,他心中就会倍加懊悔,懊悔当初那些拼命学习的付出是否值得,而这个懊悔的对象无疑是「学习」,他以为无用的学习使得他之所学无用武之地,在抱怨学错知识内容的同时不可避免的是他也会对「学习」行为本身产生一度的怀疑,你看,一个人对学习的厌恶,对学习的恐惧,就是如此积累而来的。现在,你说,一个人对学习的厌恶是自然由来的吗?人是不爱学习的吗?人是可以热爱学习的,但是需要方法,需要遵从人的心理特点。当我说到这里的时候,请你听从我的建议:无论是什么学习,如果有这件事情来说对你重要,也有必要,但是你却讨厌它,那么请你在讨厌的时候立马去学习它,学到你喜欢它的时候立刻中断它。因为人都是追求快乐的,你学到情绪快乐的时候就中断,你的情绪就会带领你再来领略一次那种似曾相识的快乐,即便你的情绪不会主动带你来,也不要紧,因为你至少不会在心理上抗拒了。

第B步:回顾 看完一章之后,这一步简直轻松,一页一页翻过去,对主要知识点、概念,脑子里有一个回顾,知道这一章有讲什么内容。 第C步:做题

a计划.找例题,做例题。不看答案,能做多少就做多少,做完对答案,紧接着完整抄一遍标准答案→→去章后看看有没有会做的题目,有会做的就做下去→→没有就跳回来看第二个例题,方法一样→→如此循环往复

以上流程,如果五个例题抄完仍然没有头绪,那么太好了,说明你还没有理解教材,或者你的基础不扎实,这个就更好解决了:进行b计划 b计划:遇到这种阶段性的困难,只能加强对教材的针对性理解。在例题解答答案步骤中圈出那些重复出现的关键词以及章后题目含有的术语,再进一步去阅读相关知识点的概念、案例、图表。接着回来做题。如果不行,更加简单了:进行c计划 c计划:能让你进行到b步骤的书,我有理由相信那应该是类似《固体物理》一类的教材了,其他弱弱的学科如电工等等等等,基本上不会让你做了五个例题、抄了五个例题,你连一点头绪都没有。所以,你的操作如下:放下书本,去热爱生活吧。 另外,我在送你一个礼物:当一本教材用如上的方式进行完毕,请你及时从网上寻找一份有详细答案的试卷做一次测试! 如果成绩达不到你心中的目标,请自觉决定安排时间重新学习、巩固、提高。这是对于自己有高要求的学霸说的。 这个测试建议实际上对渣渣具有更多现实意义:如果在测试中不及格,你需要重新加强课本的学习。以此,拯救了一大片期末会挂科的渣渣们。你总不至于在看到这个特意提醒的时候,还清醒而且坚定的要和期末考做一锤子买卖吧!? 要讲的话讲完了,前前后后花了好多是时间修改文字。另外在补充一下我按这个方法进行时的一般作息: 1.我一般6点30分醒来,写晨间日记。上面会写“a.心态准备:我现在心情有点糟糕,还想睡觉,但是八点需要良好的心态来进行正式高效学习,所以,我必须振奋起来,加油!”“b.行动准备:为了确保八点正式高效的学习,我应该吃好早餐,天不冷的话,应该小跑一会儿,太冷的话,那就神伸懒腰好了,总之,要让心情愉悦起来”、“物质准备:应该去买水、巧克力……”写着写着,就清醒了过来。我不确定刚刚起床要不要再床上像猫一样的坐着不动停留几秒,听说有利健康,不错,很有利健康,我的尝试是这样的:为什么坐着?躺在不是更舒服吗?——没错,我又睡了几个小时!—–这就是好处吧吧吧。

反正就是此类日记记录每天重复差不多的唠叨,长时间的进行,我发现,这对于我来说,最大的作用应该是暗示的作用——或者说,我有意于使它培养出一种条件反射,我喜欢这样,因为我喜欢——简单的勾勒,不是很长,我把笔记本放在床头,一起来,就里面写第一个字,“2015年……”之后就自然起来了,朋友,记住一条简单的惯性定律:静止的倾向于静止,运动的倾向于运动。不知道一件事情怎么开始才合适?先去做10分钟。不知道怎么和女孩搭讪?立马过去说一声:“你好!……”后面的你自然会接着说。动起来,运动的倾向于运动。我真喜欢这句话。

2.我也有睡过头的时候。我看到有人因为一次计划的中断他就放弃了整个项目,我觉得他实在是愚蠢啊。比如我昨天打算早起学习的,可是济南雾太浓(刚刚接到济南大雾黄色预警,不妙啊),我以为是天没亮,结果晚起了两个小时。我难道不学了?对的,很多人正是这样做的。如果他在睡过头到中午才起来,他就很懊恼,麻痹,一天就这样悔了,算了,算了,今天下午还是好好玩吧,明天一定要早起!——这真是愚蠢啊,你没想到吧?第二天还是一样哎!长时间这样,效果很不好,你知道吗?当最后任务期限要截止的时候,你就焦躁不安了,你开始感叹时间他妈太快,自己不知不觉又荒废了这么多时间!……一连的情绪爆炸……哎。 晚起了,就接着计划一天可利用的时间就行了嘛……有什么大不了? 同样,长期的计划要是因为不得已有一天两天的中断也没有关系,接着进行就行了嘛!……有什么大不了?非要让一时的缺失造成长期的隐患?! 3.能量值爆发期。 每个人的高能学习时间段可能不一样。但是我要强调一个词「预计」。观察自己长期的活动状态,我认为,预计自己能量爆发态出现在上午8~10,下午2~5点,晚上6:30~10点,一共八个半小时,所以,我会为了这八个小时坐着很多额外准备,比如,中午午睡就是必要工作;下午5点40左右,我可能会眯一会,这也是必要的工作;休息间隙用牛逼的耳机听喜欢的音乐,是必要的工作;个人爱好,俯卧撑也是必要工作;巧克力也是……总之,都是为了保证这八个半小时的高效利用而准备(实际上达不到8个半,8~10点休息10分钟,下午2~5点休息10*2,晚上6:30到10点,10*2,因此学习纯时间是7小时40分钟)。 因为里面提到下午5点40左右的小睡,那个时候并不困,是为了防止晚上三个半小时产生疲劳而提前进行的小睡眠的。在疲劳来临之前休息放松是最好的缓解疲劳的方法,你没有听说过吗?你听说过,所以,我再一次提醒你而已。 ps.别以为这样学习苦逼,其实我是在极大愉悦度中进行的,伴随着强烈的仪式感,每一天都像朝圣之行。

二、悟2系列教学视频
视频介绍Inspire2物品清单展示,遥控器及智能电池充电方法,视觉标定板及电池保湿贴使用方法,遥控器开机,飞行器运输模式的切换,云台安装方法,桨叶安装及注意事项,移动设备安装,飞行器激活等内容。
 
视频介绍Inspire2开箱安装及飞行操作,内容包括电池安装,遥控器飞行器开启,切换运输模式,安装云台,桨叶安装及注意事项,遥杆模式设置,遥控器操作方法,降落及注意事项。
视频详细介绍Inspire2飞行器激活操作步骤。
视频介绍如何通过DJI GO 4及遥控器组合键方式,完成Inspire2遥控器与飞行器的对频操作。
 
视频介绍如何通过DJI GO 4及DJI Assistant2调参软件进行Inspire2飞行器固件升级操作。
视频介绍Inspire2遥控器固件升级方法及注意事项。
详细介绍Inspire2相机聚焦功能以及操作步骤,让您拍出更完美的画面。
 
 
三、DJI GO App使用教程(部分功能请以最新版App为准)
 
介绍如何通过App来激活飞行器,新用户必看。
介绍App视频编辑器的使用技巧以及分享操作等。
介绍DJI GO4的编辑器使用技巧
介绍如何在App上使用新浪微博直播功能。
介绍App姿态球的含义以及如何正确查看和使用姿态球,如何查看飞控OSD信息等。
介绍如何同步飞行记录,如何查看飞行记录的同步状态,如何清除本地缓存飞行记录等操作。

听说长得帅(美)的人都开始直播了!

8、DJI 快速使用技巧-DJI GO 4 – 安卓系统离线地图下载功能
盼望了很久的离线地图功能终于出现啦!
快来学习编辑器新功能
四、飞行安全篇—新手必看(部分内容请以对应产品为准)
 
介绍飞行前的桨叶安装检查,电量要求,飞行环境检查等内容

 

介绍如何设置返航高度,如何查看电量,如何摆放遥控器天线,以及摇杆的基本操作

 

介绍在指南针受到干扰,低电量,以及飞远之后如何处理。

 

讲解视觉模块以及超声波模块定位功能介绍以及工作条件要求。

 

介绍飞行时的十大误操作,包括桨叶安装,内外八操作,失控返航操作,电量过低无法返航,超视距避障失败,快速倒飞,室内飞行漂移,触发返航乱操作,恶劣环境强行起飞,刹车后漂移撞击。

 

介绍如何避免因遥控器失联后导致飞行事故

 

介绍电池的存放及保养,智能电池的使用以及注意事项等

 

 

 

http://blog.sciencenet.cn/blog-425437-1113311.html 

 

研究生在校期间,研究做得好不好,成果多不多,除了个人的努力以外,其实跟选什么类型的题目,也有一定关系。

科研课题有很多不同的分类,常见的分类包括:

一、按课题性质分类

即基础型、应用基础型及工程应用型。

不同性质的课题,在不同的发展时段,也会有以下第二种分类。

二、按发展时段分类

即经典、热点及前沿类课题。

对于发论文有要求的博士研究生来说,最好选基础研究或应用基础研究。这些课题一般具有理论上的前瞻性,容易出成果。对于时间相对较短,论文要求相对较低的硕士研究生,建议选择工程应用型。

当然,一般来说,研究生都会在刚进实验室不久后,就开始选题。对于实验室研究方向还不是很清楚、或者研究领域还很陌生的低年级学生来说,大部分选题是靠导师引导的,而导师一般又是根据现有课题的布局进行题目发布的。

因此,落实到实验室的具体选题,还会稍有变化。

1)短平快的工程项目,一般适合于进入实验室后的学习和练手,体验科研快感,但不利于作为学位论文的选题。

2)一年周期的工程应用课题,说明有一定难度,一般也会是团队合作,举众人之力。这种课题比较适合于硕士研究生选题。

3)3-5年内研制周期的课题,适合于硕、博士生选题,一定是理论性、创新性较强,也具有一定挑战性的课题。容易出成果,也有多人组成的团队作战。

4)所谓预研课题,也就是实验室想做,但还没有具体课题支撑的。这类课题,一定也是热点问题、实验室未来可持续发展所需提前开展的研究工作。因为是预研课题,老师的关注度不会很高,主要精力一定在现有课题的进展和实施中。因此,这类课题适合于喜欢自由研究,本身自学能力强、沉得下心的同学。如果不是这样的学生,最好避开选此类题目。结果,要么很好,要么很惨。

关于热点问题,如计算机视觉领域的目标跟踪,人工智能中的机器学习等,也要慎重考虑。所谓热,那就是做的人也很多,竞争也很强,要想做到顶尖不容易。

另一个建议,对于做信号处理或图像处理方向的研究生来说,最好是结合具体的应用来选题。即“信号处理+”或“图像处理+”应用领域的模式。毕竟是工科研究生,解决了工程应用领域的瓶颈问题,也是创新,尽量避免搞纯粹的算法研究。

个人之见,仅供参考。