前言
今天,我像往常一样打开CSDN 网站,随即弹出的两则官方私信:
我这才意识到,从去年的11月27日到现在,时光荏苒,已是128天之久。
下面我向各位看分享一下我在CSDN创作的经历和收获,以及我的一些个人感受。(ps:故事有点长严`(>﹏<)′)
机缘
我最早接触CSDN社区,起始于2018年的夏天,那时仅仅局限于用它来搜索上机课的代码作业题的答案,仅此而已。那时的我,初入大学,满怀激情与热血,幻想着从此可以一窥计算机的独特魅力之美时,然而我错了!!!
当开学后的第一堂C语言课上,台上白发苍苍的老教授打开他的ppt,展示着那一行一行的英文字母,“#include”,” public” ,什么变量之类的东西。
我的脑子当时瞬间宕机,这都是什么跟什么啊,世界上怎么会有这么复杂的东西,MD! 以后绝对不做程序员!!!
于是,彻底摆烂,每当上机课来领之际,我不是在刷抖音就是在Timi的路上愈行愈远…
很快,“浑浑噩噩”的三年时光一晃而过(ps:我当时上的是专科,不好意思,给兄弟们丢脸了(ಥ _ ಥ))。
在大专前两年,我一直忙于我们院系青协的学生工作,但在专业技我能上可以说是“一窍不通”。遂临近大三之际,常常深夜焦虑不安,辗转难眠。没办法,不认真学习就要吃生活的苦
。
彼时,在青协带我们的学姐,她成功升本(学姐姓靳,很少见的姓,这里暂且称她为J),J真的是个传奇人物,她自大专中崛起,升本成功后,又通过一年的时间考研,现在在上海读研,她的事迹被长江日报广为报道。她是迄今为止我最敬佩的榜样。这些都是后话了。
我非常倾佩J,她求学备考时的坚韧毅力,她对待生活时的热情等等,至今历历在目。那时,在向J道喜的聚餐上,我就想,我也想效仿她,我不甘心就此毕业出去碌碌无为,我想踏上更高的知识殿堂去重新锤炼专业知识,哪怕只是一窥门隙。于是我便踏上求学之路…
终于在八月收到了丰收的战果。
再后来,在本科临近结束时,在内卷的浪潮下,我又踏上了求学之路,只不过这次我落榜了,纵使心中再有万般不敢,我也只能和生活对线,由于长期的备考,专业技能也未能得到很好的巩固,毕业后就去新赛道了—-工业互联网领域。
虽然是新的赛道,但长期的出差与驻场工作是免不了的,尤其是它工业软件开发所采用的可视化编程语言,我是真心用不习惯。所以我便重拾起了文本式编程语言的钥匙,遂在CSDN上开启了记录学习之旅
收获
迄今为止,我在CSDN上共创作了25篇博客, 收获了403位粉丝的关注。
创作期间登上热榜两次,其中《sql语法:详解DDL》博客有幸入选至《大数据领域内容榜》。
可能是因为这篇文章质量不错,被CSDN官方推到了热榜,还有我在新星计划中遇到的哪吒导师与众位同期,在他们的相互帮助与支持下,我受益匪浅。在此非常感谢CSDN官方对我创作的支持,我会继续努力坚持创作的!
日常
我现在每天只要一有空,就会学习Java开发的相关知识,学习训练之余,CSDN上的博客撰写便是我回顾复习的最佳途径。
成就
目前,在下十分汗颜,由于知识储备有限,我目前写的最好的一段代码是关于网络编程中模拟客户端与服务器端的多次通信。
案例
服务器端需求:(1)开启一个TCP协议的服务,在8888端口号监听客户端的连接(2)接收一个客户端的连接
(3)接收客户端发过来的单词或词语,然后我把它“反转”例如: 客户端发过来“heLLo”,反转”oLLeh”
(4)把反转后的单词或词语,返回给客户端 (5)直到客户端发过来”bye”为止客户端需求: (1) 与服务器建立连接,或者说和服务器发起连接请求(2)从键盘输入单词,并且按行给服务器发送每一个单词 (3)
直到输入bye结束 (4)结束后要断开连接
代码演示如下:
import java.io.*;import java.net.ServerSocket;import java.net.Socket;public class Server {public static void main(String[] args) throws IOException {ServerSocket server=new ServerSocket(8888);Socket socket=server.accept();System.out.println(socket.getInetAddress()+"连接成功");InputStream input = socket.getInputStream();//服务器端接收客户端发来的信息【字节输入流】InputStreamReader isr=new InputStreamReader(input); //将字节输入流通过转换流转换为字符输入流BufferedReader br=new BufferedReader(isr);//缓冲流包裹字符输入流,我时希望可以使用缓冲流独有的方法readLine()OutputStream output = socket.getOutputStream();//服务器发送给客户端的消息/*OutputStreamWriter osw=new OutputStreamWriter(output);//将字节输出流转换为字符输出流BufferedWriter bw=new BufferedWriter(osw);//缓冲流包裹字符输出流,可以使用它独有的方法;*/PrintStream pr=new PrintStream(output);String s ;while (!(("bye".equals(s=br.readLine())))){System.out.println("客户端发来的单词或词语:"+s);if (s.equals(null)){throw new NullPointerException("客户端发来的字符串为空");}StringBuilder sb=new StringBuilder(s);sb.reverse();System.out.println("服务器已反转单词:"+sb.toString());pr.println(sb.toString());//将反转后的字符串换发给客户端}socket.close();server.close();}}
import java.io.*;import java.net.InetAddress;import java.net.Socket;import java.net.UnknownHostException;import java.util.Scanner;public class Client {public static void main(String[] args) throws IOException {Socket socket=new Socket(InetAddress.getLocalHost().getHostAddress(),8888);OutputStream output = socket.getOutputStream();//字节输出流;output输出,从内存写出到文件,可以发送消息/*OutputStreamWriter osw=new OutputStreamWriter(output);//字节流转换为字符输出流BufferedWriter bw=new BufferedWriter(osw);//缓冲流包裹字符流*/PrintStream pr=new PrintStream(output);Scanner input=new Scanner(System.in);//System.in:默认键盘输入InputStream in = socket.getInputStream();//字节输入流;接收消息InputStreamReader isr=new InputStreamReader(in);//字节输入流转换为字符输入流BufferedReader br=new BufferedReader(isr);//缓冲流包裹字符输入流while (true){System.out.print("请输入单词或词语:");String word=input.next();pr.println(word);if (word.equals("bye")){break;}System.out.println("服务器返回的结果:"+br.readLine());}socket.close();}}
憧憬
在今后的创作中:
我会向CSDN的博客专家进军!
兄弟们,一起加油!