学理工科的,受现代科技高度分化与深入细节的特性所困,往往满脑子被公式,理论,模型,算法,代码……等塞满,推崇理性,但往往并不感到多少幸福,因为理性并不必然带来幸福,更有可能带来中性的“冷静”,或者偏副面的“冷酷”。

人其实还是偏感性的生物,幸福更是一种主观感受而非客观事物,更多来自于关系和社会,科技带不来这些。

但理工科的许多人,大部分时间都被科技所占用,社交圈子不大,生活方式比较单调,真没多少时间去“感悟”和“体会”人生与社会万象。

无法行万里路,见百般人,但可以读万卷书。

我觉得吧,应该多看书,种类要多,还可以看一些优秀的影视文学作品,尤其是那些反映现实而不是构建幻境的优秀作品,还可以多听多看一些智者及过来人的观点和感悟。

在这信息丰富的时代,找到这些其实并不困难。

想办法拥有一个通透的心境,其实比许多外在的东西,比如名利之类,价值更高,更容易让人感到平和与幸福。

安装VSCode

下载地址:https://code.visualstudio.com/

直接download即可,下载好之后打开exe一路使用默认设置下一步即可安装成功

VScode 安装汉化包很简单,打开 VScode,点击安装扩展,在搜索框输入 Chinese,然后点 Install 就可以:

安装Python

下载地址:https://www.python.org/

直接download最新的版本即可

下载好后开始安装,安装的时候务必勾选 Add Python x.x to PATH

安装好之后打开VSCode,点击侧边栏的Manage extensions图标,搜索Python,选择第一个点击install即可。

如果你在使用安装程序安装Python的时候没有勾选 Add Python x.x to PATH ,请

右键此电脑 > 属性 > 高级系统设置 > 高级 > 环境变量将Python的路径添加到Path栏即可。

全部安装好之后,新建一个.py文件,尝试写一个print(‘helloworld’)并运行看看是不是把Python环境配置好了~

安装Anaconda

下载地址:https://www.anaconda.com/

直接点击Download即可。

直接一路Next完成安装即可。

安装完成之后,将Anacoda所安装路径以及路径下的一些文件夹添加到环境变量中的系统变量的Path栏中。

比如我添加的路径如下:

C:\Users\dxf\anaconda3
C:\Users\dxf\anaconda3\Scripts
C:\Users\dxf\anaconda3\Library\mingw-w64\bin
C:\Users\dxf\anaconda3\Library\usr\bin
C:\Users\dxf\anaconda3\Library\bin

配置好环境变量之后,打开控制台cmd,输入conda –version,如图就是conda环境配置好了~

如果显示conda不是内部或外部命令,那么一般就是添加环境变量这一步出了问题。

若conda安装成功,我们可以直接在Win10的搜索框搜索Anaconda,打开如下图所示的软件

经过漫长的自动配置之后,出现了下图所示界面

因为我们已经提前安装好了VSCode了,所以在此可以直接点击Launch打开VSCode,在VSCode中按Ctrl+Shift+P,输入Python Select,选择Python的解释器为Anaconde所在目录的Python解释器,然后就可以开始写代码惹~

最近ai火热,对于出门的需求越来越大,使用公共机场容易被ai提供方识别ip一网打尽。只能付出相当高的费用买更高等级的魔法。而我这里提供我自己正在使用的一种方案,自行购买云服务器,对你使用ai带来便利,而且价格相当良心,19.95欧元买到1核心2g运存,30g存储空间,带宽1gbps,每个月流量2t,经过实际测试裸连速度7-9mb/s,虽然没宣传那么夸张,但是毕竟这是国外的服务器。在经过各种操作后稳定下来的速度在3mb/s之内,速度不快,但是刷个视频啥的妥妥够用。缺点是要有折腾的能力,具备一些基本的计算机知识,但为了一个真正意义上独享的ip这是值得的。

(1)首先你需要访问云服务器提供商v.ps的网站https://vps.hosting/cart/nano-kvm-vps/

目前只有19.95欧元的了,9.9已经卖断货了。
系统这里选择centos7就可以了

在选择好后点击order如果没注册会要求你注册,注册之后会提示你订单没有付款,你就选择支付宝付款就好了,这一步可能有点繁琐,因为你的邮箱会有大量的注册邮件,你需要找到其中一个验证邮件激活你的账号,但总之细心一点就能做完。

(2)下载ssh工具连接到我们的服务器,我推荐Xhell,中文界面,对新手友好。在下载的空闲时间你可以打开cmd,输入ping+空格+你购买服务器的ip地址

ipaddress是你服务器的IP地址

在cmd工具中测试你的ip通畅后就可以进入下一步了,打开ssh工具新建连接,密码在主机详情页的password,点击show就可以查看。

(3)安装宝塔面板,宝塔面板部署后易用性会大大增强,我们配置防火墙和编辑配置文件都会轻松很多,具体安装方法进入宝塔面板官网查看,有一键安装的命令,在xshell中粘贴命令为shift+insert。

4)成功进行到这一步之后就完成了一半,剩下的步骤无法在这里说明,请参考https://www.4spaces.org/780.html    或者https://www.wxiou.cn/index.php/archives/54/

另外这两部文章介绍的方法会要求你有个域名,其实不用域名也可以,但注册一个域名会更保险,防止你的服务器ip被墙。此文章主要是介绍购买服务器。因为这家厂商的云服务器一个月之前全都有,现在只剩法兰克福了,所以时间仓促我赶紧写文希望有需要的朋友购买。后续具体的教程我会更新在博客中。

@45°夹角的考研力

1.只出现一次的数字

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int result = nums[0];
        for(int i = 1; i < nums.size() ;i++){
            result = result ^ nums[i];
        }
        return result;
    }
};

2.多数元素

class Solution {
public:
    int majorityElement(vector<int>& nums) {
        //出现次数超过一半的数字一定是出现最多的数字
        map<int , int>mp;
        int max = 0;//出现次数
        int result = 0;//出现次数最多的数字
        for(int i = 0; i < nums.size() ; i++){
            if(mp.find(nums[i]) != mp.end()){//map中找得到该数字
                mp[nums[i]] = ++mp[nums[i]];
                if(mp[nums[i]] > max){
                    max = mp[nums[i]];
                    result = nums[i];
                }
            }
            else{//map中找不到该数字
                mp[nums[i]] = 1;
                if(1 > max){
                    max = 1;
                    result = nums[i];
                }
            }
        }
        return result;
    }
};

3.搜索二维矩阵 II

class Solution {
public:
    bool findTarget(vector<vector<int>>& matrix , int i , int j , int target){
        if(matrix[i][j] == INT_MIN){//递归可能会超时,需要将递归经过的地方设置为INT_MIN,之后递归再次遇到该值直接跳过;
            return false;
        }
        else if(matrix[i][j] == target){
            return true;
        }
        else if(matrix[i][j] > target){
            return false;
        }
        else{
            matrix[i][j] = INT_MIN;
        }

        if(i == matrix.size()-1 && j == matrix[i].size()-1){//最后一行最后一列
            return false;
        }
        else if(i == matrix.size()-1){//最后一行
            return findTarget(matrix , i , j+1 , target);
        }
        else if(j == matrix[i].size()-1){//最后一列
            return findTarget(matrix , i+1 , j , target);
        }
        if(matrix[i][j] < target && matrix[i+1][j] > target && matrix[i][j+1] > target){
            return false;
        }
        return findTarget(matrix , i+1 , j , target) || findTarget(matrix , i , j+1 , target);
    }

    bool searchMatrix(vector<vector<int>>& matrix, int target) {
        return findTarget(matrix , 0 , 0 , target);    
    }
};

4.合并两个有序数组

class Solution {
public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
        vector<int> nums3;
        int p1 = 0;
        int p2 = 0;
        while(p1 < m && p2 < n){
            if(nums1[p1] <= nums2[p2]){
                nums3.push_back(nums1[p1]);
                p1++;
            }
            else{
                nums3.push_back(nums2[p2]);
                p2++;
            }
        }
        if(p1 == m){
            for(int i = p2 ; i < n ; i++){
                nums3.push_back(nums2[i]);
            }
        }
        else if(p2 == n){
            for(int i = p1 ; i < m ; i++){
                nums3.push_back(nums1[i]);
            }
        }
        nums1.resize(0);
        for(int i = 0; i < m+n ;i++){
            nums1.push_back(nums3[i]);
        }
    }
};

5.验证回文串

class Solution {
public:
    bool isPalindrome(string s) {
        //大写转换为小写
        for(int i = 0; i < s.length() ;i++){
            if(s[i] >= 'A' && s[i] <= 'Z'){
                s[i] = s[i] + 32;
            }
        }
        int i = 0;
        int j = s.length() - 1;
        while(i < j){
            //筛选掉非数字和字母的部分
            while(!((s[i] >= 'a' && s[i] <= 'z') || (s[i] >= '0' && s[i] <= '9'))){
                i++;
                if(i >= j){
                    return true;
                }
            }
            while(!((s[j] >= 'a' && s[j] <= 'z') || (s[j] >= '0' && s[j] <= '9'))){
                j--;
                if(i >= j){
                    return true;
                }
            }
            if(s[i] != s[j]){
                return false;
            }
            else{
                i++;
                j--;
            }
        }
        return true;
    }
};

6.有效的字母异位词

class Solution {
public:
    bool isAnagram(string s, string t) {
        int flag[26];
        memset(flag , 0 , 26*sizeof(int));
        for(int i = 0; i < s.length() ; i++){
            flag[s[i]-'a']++;
        }
        for(int i = 0; i < t.length(); i++){
            flag[t[i]-'a']--;
        }
        for(int i = 0; i < 26 ;i++){
            if(flag[i] != 0){
                return false;
            }
        }
        return true;
    }
};

7.字符串中的第一个唯一字符

class Solution {
public:
    int firstUniqChar(string s) {
        int flag[26];
        memset(flag , 0 , 26*sizeof(int));
        for(int i = 0; i < s.length() ; i++){
            flag[s[i]-'a']++;
        }
        for(int i = 0; i < s.length() ; i++){
            if(flag[s[i]-'a'] == 1){
                return i;
            }
        }
        return -1;
    }
};

8.反转字符串

class Solution {
public:
    void swap(char &s1 , char &s2){
        char tmp = s1;
        s1 = s2;
        s2 = tmp;
    }

    void reverseString(vector<char>& s) {
        int i = 0;
        int j = s.size() - 1;
        while(i < j){
            swap(s[i] , s[j]);
            i++;
            j--;
        }
    }
};

为什么我们总是被说一到晚上就活的矫情?
大家都有一段黑暗的日子,就是会突然觉得活的好累,生活处处不如意,没有人理解你,你也找不到一个可以说说话的人,大家都很忙,哪有人会关心你的情绪呢?
撑了很久很久的坚强一下子就崩溃了。
夜深人静就要去睡觉啊!瞎想什么呢。
可是,失落的人,心里有一个圈,里面住满了羊,数了一遍又一遍,我知道羊很多很多,可是弄丢一只,也会很难过的。
我只是在等我的羊回家。
也只有在晚上,你突然发现你活的才像自己,你不必讨好任何人,有的人追剧,有的人吃夜宵,有的人胡思乱想,只有这一刻,活的安静而热闹,活的痛快淋漓,成年人的衣柜里,谁还没几幅面具呢,闹钟一响,就开始从柜子里挑,今天扮演哪一种开心呢,这幅努力向上的青年面相挺好,要不,就这幅吧!
没有人的时候,摘了面具,你活的多自在啊!
可是,有一天,你也害怕,害怕有那么一刻,站在镜子面前,怎么都摘不掉面具,翻遍了所有的衣柜,找不到自己那副真实的面孔了。
以前我看一个短片,里面有句话挺震撼,说,你还能活两万来天,去做点有意义的事儿吧。就像两万块钱,去买点自己喜欢的东西吧。时间和钱一样,一旦用起来,很快就消耗完了。
小时候,时间好像是一天一天的过,再大一点,一个星期一个星期的过,好像过了二十几岁,你开始上班,时间是一个月一个月的过,你回头看父母,他们的时间是一年一年的过,所以啊,还是多盯着自己吧,去做点想做的事儿,别总是被“过来人”带偏了方向,哪有那么多的人生大道理,说到底,都是各活各的,图一个开心而已。
唉。(ó﹏ò。)

我在夏天凌晨的街道,看见一个四十多岁的男人蹲坐在马路上,脚下一堆空的酒瓶子七零八落散落在地上。我走过去看了看他,他竟招呼我坐下,我摇了摇头,从他身边走过,他的眼神没落没有丝毫挽留,觉得我的离开他意料之中。可向来喜欢听故事的我,鬼事神差的又去买了2瓶冰啤酒,坐在了他身边!

他看着我,眼神里突然出现了泪水,模糊着他的视线,我都没有看清他的样子,只是看到满含热泪的他眼神模糊而沧桑。

也可能是凌晨总会让人变得多愁善感,也可能是酒精让人能获得短暂放松,我竟开始和他喝了起来。

“为什么还不回家啊?”

“你呢?”中年男子沙哑的声音反问着我。

“我从公司离职跑去考研了,出来溜达一下透透气。”未预料到他问我,只能猝不及防的如实回答。

人与人之间,很久没有如此的信任了,我参加工作以后,总觉得和人尤其是陌生人之间交流,所说的每一句话都要经过深思熟虑,对每一句进到耳朵里的别人的话都要猜测许久。为的是体面,丢了真诚。

“真好啊,还能离职读书,一定是财务自由了吧?”

“呵呵,什么财务自由,都是谋生路,为了生活。你还没回答我问题呢?”我好奇的说道。

“我没有家,回什么家!”

“你没有结婚吗?”

“结了,离了!”中年男子,此时面容变得冷峻。

“你没工作吗?”我接着问道。

“我要有工作就不会离婚了,我二十三岁大学毕业,那时候和你现在一样,觉得生活对于我来说,是无尽的希望和机遇,大学培养了我正直的性格,可到了社会发现,我的正直可笑而不自量力,我本来在学校工作,可是看不惯领导的虚假,对待学生如同对待挣钱的工具,我愤怒的在一次会议上骂了他一个小时!”说到这,中年男子停顿了一下,眼神仿佛重新年轻,眼角的皱纹都没了。

“他还调戏女老师,在每年他组织的聚餐后总会找女老师去唱歌,我把他所有的丑事在全体师生会议上说了!”我禁不住佩服他的勇气和正直。然后问到“后来呢?”

“后来,没有后来了,哦,有!我被辞退了。”

“为什么?”我不解的问道。

“没有为什么,要说有,就是我的大学坑了我,它教会了我正直,却忘了教我审时度势和推卸。”

“那再后来呢?”我继续追问。

“再后来,我找了份临时工,一个月三四千的工资,父母觉得我到岁数了,就让我赶紧结婚。我也想着,结了婚就是完成任务了,我娶的那个媳妇很好,人家没有图我任何东西,也不嫌弃我的工作,我们过的很快乐。”

“那为什么离婚!”

“有了孩子以后,我的工作并没有太多起色,毕竟人的性格很难改变,我懒得去讨好领导,也无意去卑躬屈膝,可生活的压力慢慢压弯了我的腰,就这么,矛盾越来越多,终于在结婚的第五年,我们离婚了。”

“明白了,没有钱!”我低声说道。

“钱,说来也是大学坑了我,它教会了我理想,却忘了教我钱是理想的前提,没有钱,就没有一切!”

“我什么都没有!”中年男子望着天空满脸泪水,喃喃说道!

“这个社会到处都是欲望的奴隶,而我这一辈子都是理想的宠儿,不同流合污,就不该存在这个社会!”

我摇了摇头,起身走向远方,黑色的夜空下霓虹灯闪烁,突然踩过一片水洼惊醒了我,回头看看刚刚与中年男子交流的地方,地上却只有2个散落的酒瓶。

整个说来,我是惶恐不安的,不知道该往哪儿去。面对社会和传统的价值定位,曾经,他们说,你要好好学习,专心读书。我说,好。他们说,你要好好工作,为人处世,我说,行。他们说,你该买房买车,结婚生子了。可我想,为什么呢?我的角色没法转换得这么快啊!更为关键的是,为什么我必须成家立业,凡此种种?似乎,我并没有一定要这样做的理由。因为别人都这样?所以我的人生,竟也只能这样了吗?现在整天只能盘算着下一顿吃什么,以后又盘算着孩子孙子喜欢吃什么,好提前做了等着他们来享用。如此,糊口养家,日复一日,苟且余生?活着只是为了活下去、等死,那为什么还要活着呢?

我不想变得如此,只是无根之木,随波逐流,就这么不明不白的活着,再莫名其妙地死去。不想按部就班,在不同的阶段,成为不同的人。这样的我不就因此而永远成了分裂的了吗?我的一生不应该是统一的吗?就没有个一直持续的标准吗?物质、名利都将能够获取、也会离我而去,我想要把握那永恒的东西,我活着的意义。

上帝用7天创造了世界,而我花了700天,希望知道自己能成为什么样的人。

从苏格拉底到弗洛伊德;

从牛顿到爱因斯坦;

从语言学到计算机科学;

从基督教到儒释道;

我竭力搜寻着我活着的意义。

生而为人,我很抱歉。

总觉得自己快要死了,是害怕吗?还是期待?害怕,是怕死还是怕痛?恐怕是怕痛多一些,被斩首的人,他会怕痛吗?
我肯定是怕痛的,死却不怕。
因为有来世啊,或者修得好,就能免去轮回之苦。
得道就能成仙吗?或者来世做个火星人?总之在一个干净,善良的环境里,继续做一些事情。
我竟没想到,我这辈子的终极目标竟是成仙?我可笑吗?不,为什么不可以 ?
我能悟至此,已然得到点化了呀。
凡尘事,有什么好留恋?只不过是一座桥,一撑船,一阶石梯,一踩脚蹬。
我每想到此,又深觉自己太过无情。
难道我是如此不念今生恩情吗!
今生,我的今生,也就只是我的,他人今生也只事关他人。
你我之隔,虽隔两字,但却隔山隔水,隔三千世界隔万里浮云隔亿兆光年。又有什么来往呢?我修我今世,无关他人,只关风月,只是你我有缘,多少有情相牵。论及父母子女,论及朋友同学,论及过客生人,兴许都是如此。
若是羽化飞仙,定能蜕去这皮囊。皮囊带来色欲声相,带来疾病痛苦,带来一切一切…若来世山水之间化作一阵清风,一阵细雨,没有力量缠身,只是思绪,那岂非逍遥游?
可如何才能修身至此?怕是要无欲无心。
可我有欲成仙,又怎能说自己无欲?
是了,庄子所谓“犹有所待者也”即使如此。
若无所待,方是入境。
那如何才能无所待?
无所待,无所待,不怕痛,不往死,不贪生。
不澎湃于内心,不伤于孤寂。
心如悬浮,不沉不浮,不急不妒。
仿佛只在呼吸。
逍遥如何往?

距死亡很近的时候
会发现自己的生活和活着的人类越发偏离
像是冥界和现世间的河道
虽然在一个世界
却感到次元分离的恍惚
世界线间的交集愈来愈少
在这个世界上再无归属感
迷离的,不真切的感觉会蒙蔽内心
自觉划出与生者的界限
自发的走向死亡

(想象了一下临近死亡的感觉,特指身边人都不在了的时候,被世界抛弃的感觉)