「记录」Ubuntu Server 1404 LTS升级PHP5到PHP7

PHP5很快就要停止维护支持了,自己的博客虽然没啥人看,但年头久了,毕竟留了很多回忆,要真被搞了还是很心痛的,所以决定升级到PHP7。

1、1404的官方源没有php7,所以先添加第三方维护的源

2、安装php7

3、修改nginx配置

4、重启nginx

「记录」制作macOS High Sierra 10.13.6的ISO安装镜像

  最近掏了一个dell 9020sff,心血来潮想要装mac虚拟机,但是折腾了好久总是出各种奇怪的问题,后来还是在一个台湾的博客里找到解决方法,在这记录一下。废话不多说,先上干货。

制作macOS High Sierra 10.13.6的ISO安装镜像

  首先准备好一个mac系统,不管是实体mac还是mac虚拟机都行,甚至比较老的OS X也行(我用的10.8,虽然官方说这个版本支持升级到10.13,但从store下载的原版app在10.8里提示已损坏无法打开,但这并不影响iso的制作)。然后需要下载好10.13的安装应用,建议从mac app store下载,把app放在应用程序目录。

注意:下面的代码中默认的10.13安装app路径是:”/Applications/Install\ macOS\ High\ Sierra.app”,如果你的安装app不在默认位置,请自行替换路径。

  如果没有意外,你就可以在桌面找到iso安装镜像了。

参考资料:製作 macOS High Sierra 10.13 的可開機安裝隨身碟及 ISO 映像檔

神奇的坑

  在找到正确的解决方法之前,我当然也踩了不少坑,一度甚至想放弃,但「缘,妙不可言!」,所以在这记录一些比较神奇的坑。

1、用官方推荐的createinstallmedia创建的dmg,用磁盘工具另存为“DVD/CD 主映像”,会储存为.cdr文件,但这个文件不能直接改后缀成.iso!

  直接改后缀看似没有什么问题,在win里也能打开,也可以在esxi里挂载,但是在安装中要么无法引导,要么在引导的最后阶段出现禁止符号!!!没错,就是这个符号🚫。黑色的背景,白色的禁止符,我一直以为是我虚拟机的问题,废了好大劲才晓得是镜像问题。

2、不可以在mac以外的系统里将dmg或cdr转为iso,不管用什么工具都不行,必须用mac!

  我试过百度上几乎所有的转换方案,包括软碟通啊,或是什么其他的软件,最后事实证明,都TMD在骗人,浪费我的时间和精力!SB百度!

3、VMware虚拟macOS需要加两个高级参数

有两个修改方法。第一个是直接改vmx文件,另一个是在vsphere client里“编辑虚拟机设置”,“虚拟机选项”选项卡,展开“高级”,点“编辑配置”。确保下面两个参数正确,否则无法打开虚拟机,或运行出现奇怪的错误。

smc.present = “TRUE”
smc.version = 0

「记录」在Ubuntu Server 1604上部署SOCKS5服务器dante-server

因为某些原因,我需要部署一台代理服务器,之前配置了http缓存代理,但是有些网站访问异常,而且有些软件不支持http代理,所以萌生了部署SOCKS5服务。

1、安装 dante-server

2、配置
备份配置文件

查找以下关键行进行修改

创建日志文件夹,并重启服务

使用Virtualenv创建独立Python开发环境

在使用Python进行开发时,经常需要安装各种包,如果同时开发多个项目,就有可能出现开发环境冲突的问题。通过使用Virtualenv来创建多个独立的Python开发环境,可以很好的解决环境冲突问题,也可以避免主系统环境被污染的问题。

安装

创建虚拟环境

Windows 激活虚拟环境

Linux 激活虚拟环境

Ubuntu 1604 安装nginx+php7+mysql+phpmyadmin环境

1. 安装 nginx 最新版本,使用以下命令:

2. 安装 php7 :(不要尝试直接apt-get install php7,这样会默认安装apache,ubuntu 16默认不能安装php5)

3. 安装 MySQL 数据库:

4. nginx管理操作

大括弧里是可选的操作,选一个,外面不需要加大括弧

5. 配置nginx

配置文件样本:

重启nginx:

6. 安装phpMyAdmin

HP Microserver Gen8 微型服务器折腾记

得知研一的奖学金是每人平均分后兴奋地买了种草已久的HP Microserver Gen8。在经历漫长的德国直邮和配置升级之后,终于在上周末开始准备上电装系统。现在已经基本完成了计划,在此记录一下。

这台微型服务器首先是要取代我旧的下载机,其次还要为以后用作数据、媒体中心准备,因此我决定直接安装虚拟化环境。虚拟化环境最出名的就是VMware的vSphere产品了,我要使用的是其中的ESXi。

首先下载HP定制版ESXi6.5系统镜像:

HP定制镜像下载页:https://www.hpe.com/us/en/servers/hpe-esxi.html

HPE Custom Image for ESXi 6.5U1 Install CD:https://my.vmware.com/cn/group/vmware/details?downloadGroup=OEM-ESXI65U1-HPE&productId=614

文件为:VMware-ESXi-6.5.0-Update1-6765664-HPE-650.U1.10.1.5.26-Oct2017.iso ,SHA1:58685a1d662f9fb798d2ccb28376811f1b78090a

直接使用iLO远程挂载镜像,注意必须在win7中用ie打开远程控制台,win10有安全限制,chrome会识别为文件下载!

安装前尽量把非目标硬盘都断开连接,只接目标硬盘,我选择安装在主板上的U盘里。安装过程中按照提示选择即可。安装完成后,注意进BIOS改硬盘模式。默认是使用RAID模式,ESXi里只能看到U盘和RAID卡,除非配置好RAID卡上的硬盘组,否则不会显示硬盘。手动切换到AHCI模式后,就可以在ESXi里直接管理硬盘了。

在安装好用来取代之前下载机的虚拟机后,要配置硬盘直通,把旧下载机的硬盘直通给新下载机。ESXi不能简单的直通硬盘,因为硬盘不是设备,只能直通硬盘控制器,但是这样的话所有的硬盘都只能给一个机器用,显然是不合理的。也不能使用扩展卡,因为这样会占用显卡安装位。因此要用RDM技术来间接实现硬盘直通,这种技术是创建一个的特殊 .vmdk 文件(一个文本文件)映射到一块物理磁盘,当虚拟机向这块 VMDK 写入时,实际写入的是后面的物理磁盘。

1、在ESXi 中打开 SSH 访问,并远程登录。

2、寻找需要直连的磁盘路径,一般在/vmfs/devices/disks/目录下

CC(_857X_[H688DG[I_]G~T

3、创建RDM映射

可选参数-z或-r
-r 参数创建的是 Virtual Compabilitiy Mode RDM,即 ESXi 会截获除 READ / WRITE 之外所有 SATA 指令。
-z 参数则是创建 Physical Compability Mode RDM,即 ESXi 除了 LUN REPORT 指令,其他全部原样传递给物理磁盘。

4、分配.vmdk硬盘给目标虚拟机

 

「记录」重新安装Adobe Ps & Lr CC 2015,并激活

因为给电脑换了CPU所以导致之前用的好好的Ps和Lr需要重新激活,因为某些未知的原因激活不了,我只好清理后重装,折腾了很久,这次记下来免得以后忘了。

1、首先要彻底清理旧的软件,可以先用官方卸载器卸载,然后再用清理工具清理,也可以不卸载直接清理。
运行“AdobeCreativeCloudCleanerTool.exe”,选择语言,确认,然后选择要清理的软件:
$G0$F23H@LVS]B108X3~@@L
选择“1、All”,工具会自动扫描并列出所有电脑中的adobe软件:
K((U_@%M@UBM3Y48O`8`LJN
选择“Clean All”,确认,等待清理完毕。

2、清理旧的授权文件,清空以下目录内的全部文件。

C:\Program Files (x86)\Common Files\Adobe\SLCache
C:\ProgramData\Adobe\SLStore

PAGVF%1~%1V7{WJ$(Z@B2A6
D]~FI155]6CK3CAD)6B{EC8

3、清理host文件中全部关于adobe的记录!

4、重启并断网,断网、断网!

5、运行Ps安装程序

选择“忽略”,
J`~@96UYOVC4BM1V}9JY%HS

选择“安装”,
ZU`AV6ASSQ@BWZXF6O9M

选择右下角的“登陆”,然后选择“稍后连接”,接受许可协议,进入序列号输入界面,
打开序列号生成工具,先选择产品,确认选择正确后点击左边按钮,生成序列号,不要关闭生成工具,或把序列号存在一个文件里
C]A0Q9JT1PEP{]I9MSVZ}_P

输入序列号后点“下一步”,点“稍后连接”,选择安装目录,并安装,安装完成后点“立即启动”,
UN9]IDI`M```{RZQ)2]}583

启动Ps后关闭,并关闭要求登陆的窗口,重新打开Ps,在登录窗口选择“连接Internet时是否出现问题?”,
XN8ATWFBB_L[HDQMA)JNW(U

选“脱机激活”,并“生成请求代码”,
W(@5VBR_(B(8~35N_O7)3Q2

生成请求代码后,检查序列号生成工具中的产品选项,并保证序列号是刚才输入的序列号,
将请求代码粘贴到序列号下面的文本框,点击左侧按钮生成响应代码,粘入激活窗口,
GQ3DP$}I2~9BASMU_7180VT

Ps安装激活完成。

6、运行Lr安装程序

忽略重启检测,选择“安装”,
OJ809JUNNV[}6WHX6R8G3]7

选择右下角的“登陆”,然后选择“稍后连接”,接受许可协议,进入序列号输入界面,
打开序列号生成工具,先选择产品,确认选择正确后点击左边按钮,生成序列号,不要关闭生成工具,或把序列号存在一个文件里
F5AK{KEW7)5TWT9OGU2RGXO

输入序列号后点“下一步”,点“稍后连接”,选择安装目录,并安装,安装完成后点“立即启动”,
启动Lr后关闭,并关闭要求登陆的窗口,重新打开Lr,在登录窗口选择“连接Internet时是否出现问题?”,
选“脱机激活”,并“生成请求代码”,生成请求代码后,检查序列号生成工具中的产品选项,并保证序列号是刚才输入的序列号,
将请求代码粘贴到序列号下面的文本框,点击左侧按钮生成响应代码,粘入激活窗口,
HZD5R%TGC~]JPLQE)G)A{(9

Lr安装激活完成。

7、在host中加入以下记录

127.0.0.1 lmlicenses.wip4.adobe.com
127.0.0.1 lm.licenses.adobe.com
127.0.0.1 na1r.services.adobe.com
127.0.0.1 hlrcv.stage.adobe.com
127.0.0.1 practivate.adobe.com
127.0.0.1 activate.adobe.com

8、联网重启

「记录」树莓派raspbian-stretch系统安装LNMP环境 & 解决无法安装php5-mysql的问题

为了能让实验室的路由器一直保持登陆状态,但又不想使用非官方固件,因为非官方固件都不够稳定,所以买了一个树莓派 zero-w。
本着新硬件就要用新系统的想法,刷了官方才出了不到一个月的系统:2017-09-07-raspbian-stretch,然后在安装LNMP环境的过程中遇到很多奇怪的问题,在这里记录一下。

先插一个zero-w的网络配置过程,虽然不是什么大问题,但是着实坑了我很久。
正常刷好系统后,用电脑在/boot分区的根目录创建名为“wpa_supplicant.conf”的文本文件,内容为:

注意:WiFi名称不能包含“_”,就是下划线,因为有些情况下下划线和空格会混淆。WiFi加密模式只能为“WPA-PSK [TKIP]”,因为wpa不支持AES加密。
然后在/boot分区的根目录创建名为“ssh”的空目录,这样就会自动打开ssh服务。

配置好网络后,开始换源。

阿里云
Raspbian http://mirrors.aliyun.com/raspbian/raspbian/

清华大学
Raspbian http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/

文件内容如下:

保存

配置LNMP环境

先上干货:

如果直接按照通常步骤直接安装php5-mysql,会提示如下错误:

为了解决这个问题,我参考了「libmysqlclient18 has no installation candidate」。
尝试手动下载并安装packages.debian.org提供的libmysqlclient18包,libmysqlclient18_5.5.57-0+deb8u1_armhf.deb,文件sha1:16237a52a6c3b945c30a8fdf401816277d7f2436。
手动安装libmysqlclient18后,可以成功安装php5-mysql。但是apt-get在安装完,重启php5-fpm的时候会出现以下错误:

尝试多次后,我发现之前参考的讨论里有人说使用archive.raspbian.org官方的libmysqlclient18包,于是进行尝试,并获得成功。
包下载地址:libmysqlclient18,sha1:a5f6877e856a58efbf9046f8db752646895b137b。

「记录」解决Ubuntu 16.04无法安装php5的问题

在Ubuntu 16.04 中默认无法安装php5,只能安装php7,直接用如下命令

会提示

按照这个文章中给出的解决方法,执行以下指令

「记录」UITableView运行时动态改变行高

在cell中加入一个可以改变cell高度的button,就是下面这种效果

1025465-d0c0d390136803e8

核心代码:

在Cell.h中添加tableview更新块属性:

button的点击事件:

在TableViewController的- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 方法中添加:

参考资料:http://www.jianshu.com/p/e86f1989b1d6

通过基于ipv6的shadowsocks服务绕过校内ip网络限速

之前校内网一直没有限速,搭配千兆内网用着超级爽,下载就算跑不满千兆也能有20-30Mbps的水平。

但是因为最近校内无线网硬件升级,流量暴增,学校对校内网的每一个ip做了总入口流量限制,限速5Mbps!也就意味着每一个校内ip,只要是校外获取的流量,就会被限速。虽然没有限制校内流量的网速,但是校内的ftp资源站因为一些技术原因暂时不能用,而且校内ftp资源站也没有什么我喜欢的资源。因此,这个新的限速机制让经常需要下载美剧和电影的我十分恼火。

为了能随时有最新的剧看,也为了加速校内下载速度,就在自己的下载机安装了磁力分流软件。使用过程中我希望限制分流软件ipv4的上传速度,只对接入教育v6的用户做分流,在寻找限速软件的过程中,我意外的发现了这个文章「使用shadowsocks,搭建ipv6 VPN,让ipv4上ipv6,下载速度提升到100M」,于是欣喜的进行了配置,并成功绕过了限速!

把配置过程整理一下,分享出来。

首先我已经有了带公网ipv6地址的DO服务器,且这个服务器已经配置过基于ipv4的shadowsocks服务,我的这篇博文有介绍过「在ubuntu server上安装配置shadowsocks服务」,就不再重复了。

1、测试ipv6网络环境,在本地ping服务器的ipv6地址,保证本地到服务器的ipv6网络通畅。

2、更改服务器shadowsocks配置文件”/etc/shadowsocks.json”,内容为:

重点是这行

改成这样服务器的shadowsocks服务就同时支持ipv4和ipv6了,改好后重启shadowsocks服务。

3、更改本地shadowsocks客户端的服务器配置,在ip栏填入服务器的ipv6地址,测试连接是否正常。

迅雷加速:

保证shadowsocks客户端的本地端口正常

在迅雷的“系统设置-高级设置-代理设置”中添加本地代理

代理名称随便填,服务器填写127.0.0.1,端口填写shadowsocks客户端本地端口,类型选择Socks5;然后点击测试,测试成功点击确定。

我的DO服务器是新加坡节点的,实测把迅雷全部流量都走代理一切正常,效果如下。

K9C)9}4W$QSRV%`YW0}ZRGV

在ubuntu server上安装配置shadowsocks服务

新建配置文件/etc/shadowsocks.json,内容为:

server, server_port, password 需要自行根据自己的实际情况修改。

把这条命令放到这个文件下:/etc/rc.local,这样就能开机自动运行了。

「记录」Win10磁盘占用100%无响应导致系统卡死的解决过程

之前内置的硬盘里有个120g的小固态留着没分区,想着以后可以折腾双系统什么的。昨天突然想用,却发现怎么也没法格式化,格式化一半就无响应了。因为曾经在这个固态上装过一次系统,一切正常,所以觉得很奇怪。怀疑是不是主板接口问题(之前有块三星固态就是用着用着就无响应,怀疑过,但是那个三星固态放到移动硬盘盒子里毛病照旧,所以排除了主板和接口问题),就换了一个接口,发现问题依旧。然后就怀疑是不是硬盘坏了,但是基本没用过怎么会坏呢,先拆出来接硬盘盒看看。在经过复杂的拆机后,放在硬盘盒子里接在surface上格式化,非常顺利,没有任何问题。诶,这就奇葩了,莫非真是主板问题?接口换过了还是有问题,那就说明几个SATA接口都有问题,南桥有问题么,那为啥别的硬盘都正常?重新装回去,然后顺便换了一下硬盘的顺序,接在一个之前接别的硬盘的接口上,进入系统发现问题解决了,格式化正常,重新删掉分区新建并格式化也正常,我以为问题自己解决了,然而我往硬盘里装虚拟机的时候,又无响应!然后用ssd测速软件测速,也是无响应。

总结一下表现的问题就是:硬盘在进行资源密集操作的时候,磁盘活动时间占用100%,传输速率下降为0,极少情况程序报“I/O错误”,大部分情况程序无响应,操作系统正常,但无法完全关机。

我不愿相信是自己主板有问题,因为毕竟有些硬盘用的好好的,而且技嘉大厂主板很少有问题,于是网上搜索相关问题。大部分类似情况都是因为微软自带的安全扫面,或者系统策略设置导致的,也有说是Win8.1系统自己的原因,Win7就没问题。我认为这些都不能解释和解决我遇到的问题,于是继续找,终于找到一个我认为比较靠谱的文章:【教程】完美解决windows10磁盘占用100%并出现卡顿、假死现

楼主在进行磁盘扫描的时候,win10有大量超时坏道,win8pe就没有问题,这正好对应我电脑上硬盘时好时坏,且换个电脑就没有问题的表现。最后楼主发现win10自带的驱动是06年的驱动①!我立刻想到自从用win8.1以来,我从来没有专门安装过主板的驱动,甚至连显卡驱动都让系统自动下载安装,新电脑也一样没有安装技嘉附带的光盘上的驱动!我立即用光盘重新安装全部驱动,再次尝试用测速软件测试,硬盘活动时间占用100%时,传输速率不再下降为0,程序运行正常,问题解决。

因此,整个问题都是因为win10自动选择的驱动导致的。我回忆之前微软曾经把自动识别并安装驱动作为win8.1的一个特性进行宣传,且win10也强调内置了通用驱动,而现实是残酷的,自动识别的驱动是有缺陷的,这不但导致用户不能正常使用,甚至增加了用户解决问题的复杂程度!

①:为何很多驱动程序日期都是2006年6月21日?  cnbeta的这篇文章解释了为何微软内置驱动都是06年的,但是实际情况是我在安装了厂商的专用驱动后,问题得到了解决,事实证明就算微软会更新自己的驱动,也不能因此不安装厂商的专用驱动!

python中的’ascii’ codec can’t decode byte 0xe9 in position 9: ordinal not in range(128)问题

在用python2.7写win上的Bing壁纸下载器时遇到如下报错:

解决方法是在文件中加入:

参考:python 处理中文时出现的错误’ascii’ codec can’t decode byte 0xe9 in position 0: ordinal not in range(128)” 解决方法

「记录」使用ettercap进行基于ARP欺骗的中间人监听

首先,安装ettercap

然后,运行ettercap图形界面

v67e3bk9dc00ha8fex

Sniff -> Unified sniffing…

qq%e5%9b%be%e7%89%8720170108100825

选择想要使用的网卡,并确定

qq%e5%9b%be%e7%89%8720170108101028

Host -> Host list

qq%e5%9b%be%e7%89%8720170108101159

Host -> Scan for hosts

qq%e5%9b%be%e7%89%8720170108101509

找到想要监听的设备,添加target1

flj1te8nnuo8a9

对路由器添加target2

c8s0nkvk%d4aodx4b41hs

Mitm -> ARP poisoning…

xq3fitupuwxm9y0

qq%e5%9b%be%e7%89%8720170108102535

Start -> Start sniffing

g77dgsjyqlb7pcq8o0t

View -> Connections

4hub01rpa27rjh_4

确认已经成功监听后,就可以用其他工具抓包、攻击···

「记录」ubuntu搭建python开发环境

Ubuntu 14.04 换阿里云源

阿里云源列表

零基础新生如何学技术——我的技术入门分享

今天曾老师发动大家在ifLab的问答社区回答关于新生学习技术的路线和技术栈,正好这几天还算不忙,就尽快写一下吧,免得之后又没时间。

首先,我自认为我目前技术算是比较一般的,只是会耍点小聪明,显得懂而已。不想以成功者的身份引导什么,只是分享下自己的学习经验,供大家参考。

编程接触的比较早,第一次是在初中,08年那会吧,选修vb课,什么都不懂,最后也啥都没学会,稀里糊涂就过去了,虽然没学到东西,不过编程这个事算是在内心埋下了种子,真正学习是在高中,高一选修了vb,又是vb,基本限于看懂老师的代码,改改的程度,自己写,完全写不出来。高二自己买了谭浩强的C语言红皮书,看了几章吧,不多,主要看了基本语句。自己试着写了命令行带菜单选择的简单计算器,就是输入特定字符选择加减乘除,输入第一个数,输入第二个数,输出结果,重新选择,这种。高三就没心思了。

入学前的暑假本来想好好学C,然而只是炒冷饭罢了,重新看了指针之前的内容,熟悉了基本语句和三大结构,重点难点的指针一点没搞定,更别提后面的了。当时,我只会用中文版VC6,不知道什么是VS,不知道编译器和集成开发环境的区别,代码格式全是谭浩强风格,不知道什么是命名法,喜欢用拼音命名函数,甚至不会盲打,敲字母是一个个看。

说前面这么多铺垫的接触经历,主要是想告诉各位新生,我并不比很多同届的人早学了很多,入学时大家其实都在同一起跑线上,只要你有兴趣,能投入精力,就一定能在技术路上走的比别人快,比别人远。

对于没有任何编程基础的新手,或者像当时的我一样接触不深,我觉得应该随便找一本C语言基础开始看!很多新生在问:我看什么书好啊?XXX的书是不是不好?XX天入门是不是写的很烂?我只能说,你的这个程度,遇不上什么烂书,与其纠结书好与不好,不如赶紧去看,看了才有提升,才看得懂,懂了才知道好不好。如果不喜欢看书,也可以去看视频,极客学院,网易云课堂,有很多C课程,同样是找一个自己喜欢的看。不管是书还是视频,自己喜欢,能看下去,就行了,不用考虑别的。很多人说黑皮的机械工业出版社出的C好,是国外大神写的……我想说的是,人与人不同,作为一个新手,你能适应国外的教学顺序吗,如果能,那当然很好,如果不能呢,看半截不看了,或者是看的很慢,还不如找个所谓的烂书看完呢!

然后说一下上手的语言吧,计算机专业的就是C了,没跑,早晚都要吃透,早学早熟悉。非计算机专业的我觉得其实可以直接上Python,更现代化,更友好,更容易出效果(有用的程序,能让自己有成就感,激励自己继续学)。

在学的过程中,切记一点就是,要去写!写!写!请问你整天看数学公式能考高分吗?整天看数学答案能会做题吗?所以,反复看书没用,看代码没用,要去写!写!写!不会写抄着写,一遍不会抄两遍,用电脑在和书上一样的环境里写,按照书上步骤模仿者操作。抄熟了再改写,仿写,直到能自己写!大学里有太多的人不写代码,或者打折扣的写,比如写在纸上,比如永远只抄写,你打折扣的写,就不要怪自己打折扣的编程能力!

说一下C语言的学习进度吧。指针之前要快看,没啥东西。尤其是helloworld之前的东西,读一遍了解即可,都是些思想之类的虚货,看懂了也理解不了,更何况还不一定能看懂,上道以后自然就懂了。主要看helloworld之后,有实际编程和操作的,但是不要拖沓。什么?你说看不懂,记不住?写啊,写会为止。到指针,你遇到了第一个硬骨头,指针需要尽量理解,光写也能会,就是会累一些,可以先多看几遍,理解了再写会快一些,如果理解不了,只有写!写!写!了。如果指针理解不了,后面都很难搞定,而一旦理解了指针,大一一整年都可以非常轻松搞定,所以在指针多花一点时间是值得的。指针搞定以后,链表也会很快搞定,C就算学的差不多了,建议之后写一个使用链表且储存文件的学生成绩管理系统或者大数加减乘计算器,或者类似的东西,虽然很无聊,没新意,但是对于提升熟练度非常有帮助。

C搞定以后,就可以找一些自己喜欢的语言了。然后会遇到第二个坎:面向对象,这个面向对象我理解了一年以上,在那一年中,随着写的代码量的增加,对面向对象有渐进式的理解,所以说还是要写。

 

最后说一些我觉得可以帮助新手入门的工具吧,还是本着顺手来,如果你就用着中文VC6舒服,没问题。

1、sublime text  用2或者3都可以,一个简单的文本编辑器,编辑功能强大,具体就不介绍了,官网有视频介绍。很轻量化,有基础语法提示。不过在Windows里用,写的代码运行时,中文会是乱码。。。可以下载一个win优化版

2、开发环境win就直接用VS吧,虽然复杂但是功能强大,值得花时间熟悉。而且中文加持,大大加分。Mac就用Xcode,简单便捷,英文不懂?看图啊,图标多形象啊!

 

先写这些,以后想到了再更。