# Computer Science and Network Security **Repository Path**: sunist/CSNSP ## Basic Information - **Project Name**: Computer Science and Network Security - **Description**: No description available - **Primary Language**: C++ - **License**: CC-BY-SA-4.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-05-05 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Computer Science and Network Security Project # ## 介绍 ## **CSNSP**[Computer Science and Network Security Project]**是基于计算机科学与网络安全两个专业的学习项目,由Sunist Chan-[SWU] 和 Jamie-[GDUFS] 发起,旨在共享技术栈、节约学习成本与学习时间,其中Sunist Chan在ACM队伍,Jamie在CTF队伍。** 包括以下内容: + 算法(程序设计竞赛的算法范围) + 数据结构 + 网络安全 + 服务器操作 + 网络渗透 + oj题解 + 学习笔记 + 编程语言 + 项目导览 + $\cdots$想到再写 本项目可能涉及到的计算机(编程)语言: `C/C++` / `Java` / `PHP` / `C#(mono)` / `JavaScript` / `SQL` / `html/css` / `shell/terminal` ***下面是各个文件夹的说明(有的文件夹是空的所以还没有同步到git服务器)*** + algorithm: 基础算法(如排序算法)等的存放处 + data-structure: 数据结构的存放处 + notes: 综合笔记存放处(小项目的细分笔记**不在**这里) + server-operation: 服务器操作 + network-security: 网络安全 + network-penetration: 网络渗透 + lab: 实验室,尝试各种新鲜玩意的地方 + Language Guide: 语言导览,半天学会一门编程语言 + Project Guide: 项目导览,内有各种神奇项目,前后端统一项目以开发语言区分 本文的相关博客地址为: [122.51.35.16:8086](http://122.51.35.16:8086/) 部署防火墙,尝试渗透后果自负 ## 如何使用这个项目 ## + 从零开始请转到 `note` 文件夹下的 `从零开始学习计算机.md` 并依次转到下面的所有内容 + 语言环境相关请转到 `Language Guide` 文件夹下的对应文件夹中的 `README.md` + Git相关请转到 `note` 文件夹下的 `Git使用指南.md` + Markdown相关请转到 `note` 文件夹下的 `Markdown使用指南.md` + Linux/Shell/Terminal/cmd 相关请转到 `note` 文件夹下的 `命令行使用指南.md` + Docker相关请转到 `note` 文件夹下的 `docker使用指南.md` 此处仅介绍本项目各功能如何使用 ### 题解 ### 对于每次训练或比赛,都会有一个文件夹,里面存放了题目和相关的代码。 `problem.md`一般是题目描述,`notes.md`一般是题解描述,其他的代码文件一般是相应的题目代码 ### 算法或数据结构 ### 对于每一个算法,都有一个相应的文件夹,里面存放了算法或数据结构的说明,并附上了相应的使用方法。 `notes.md`一般是算法或数据结构描述,各代码文件一般是相应算法的实现,在每个代码文件中,顶部都会附带相应的编译指令,通常情况下,`YOUR_PROGRAM_NAME`指的是生成的可执行文件的名称,`YOUR_PROGRAM_ADDRESS`指的是可生成文件的存放路径。 如`test.cpp`文件中,声明的编译指令如下: ``` cpp // complie command: gcc test.cpp -o YOUR_PROGRAM_NAME ``` 您需要将Terminal或cmd切换到`test.cpp`所在的目录下,执行上面的编译指令。若您想将生成的可执行文件命名为`test`,则在Terminal或cmd中输入下面的指令: ``` shell gcc test.cpp -o test ``` **注意,算法或数据结构仅供思路参考,无法在生产/学习环境中进行直接应用** ### Lab ### 没有固定使用方法,仅作折腾参考 ### 项目导览 ### 对于每一个项目,都会有一个项目文件夹,里面有根据IDE分类的子文件夹(不保证各IDE都有),里面放有工程文件 `*.xcodeproj, *.sln` 等,同时放有项目上手指南 `README.md` 。 ## 项目维护协议 ## 本项目为所有参加者共有的项目,为了使所有贡献者有一个良好的项目使用体验,故在此做一些约束 + 使用统一的命名规则与版权信息 对于需要区分贡献者的文件(例如题目题解一类的),使用"贡献者名称-题目类型-创建日期"作为文件名 贡献者可以在自己独立完成的代码的顶部声明自己的版权,通常有四行: 分别声明文件名、内容描述、贡献者、开发环境 在原有文件基础上进行编辑的,有权在顶部的贡献者声明中加入自己的信息 + 使用合理的易于阅读的代码风格 主要语言C++/Java/C#/PHP/Python等的代码风格都被承认 + 尽量不要直接修改与自己无关的代码或文件 确有需要,可以联系原作者 + 不要添加与法律相冲突的相关代码或语句片段 ## 注意事项 ## 1. 有错为正常现象,欢迎指出纠正,共同进步 2. 请遵守国家的相关法律法规 3. 本项目默认使用`GCC[Linux]`或`Clang[macOS]`编译器,在VS系的MVC编译器中可能出现错误 4. 本项目默认使用`JDK11(LTS)`环境,更高或更低版本的Java可能不被支持 5. 本项目默认使用`UTF-8`或`UTF-8MB4`(支持emoji)字符集,其余字符集可能出现乱码,在CentOS中较为常见 6. 本项目默认使用`MySQL 5.7`/`SQLite`和`Navicat 15`进行数据库管理,使用`Visual Studio Code`作为开发环境 ## Q&A ## - 我可以分享项目文件吗? - 可以,但是请保留原作者信息。 - 我可以邀请别人加入这个项目吗? - 可以,项目已经开源。 - 我可以从其他方式学习本仓库的内容吗? - 可以,我们会搭建一个blog,定期发布仓库里的相关内容。 - 我可以使用项目文件用于作业或商业用途吗? - 可以,但用作作业用途后果自负。 ## 开源协议 ## 本项目使用CC-BY 4.0(Attribution-ShareAlike 4.0 International)版权协议 您可自由地分享和改编本作品,但您**必须注明创作者的版权归属** ## 参与贡献 ## 1. sunist chan - [Gmail](mailto:chansunist@gmail.com) : 算法与数据结构 2. Jamie - [QQ-mail](mailto:2353191250@qq.com) : 网络安全与网络渗透 ## 资源列表 ## 1. C++图形库SFML - [下载地址: www.sfml-dev.org](https://www.sfml-dev.org/download)