计算机自学指南

CIC-IDS2017数据集训练和测试 1、数据集预处理 1.1整合数据并剔除脏数据 如上图所示,整个数据集是分开的,想要训练,必须要整合在一起,同时在数据集中存在Nan和Infiniti脏数据(只有第15列和第16列存在)需要剔除: 具体代码如下: ```python importpandasaspd #按行合并多个Dataframe数据 defmergeData(): monday=writeData("data\MachineLearningCVE\Monday-W... 阅读详情

一个仅供参考的 CS 学习规划

计算机领域方向庞杂,知识浩如烟海,每个细分领域如果深究下去都可以说学无止境。因此,一个清晰明确的学习规划是非常重要的。我在多年自学的尝试中也走过不少弯路,最终提炼出了下面的内容,供大家参考。

不过,在开始学习之前,先向小白们强烈推荐一个科普向系列视频 Crash Course: Computer Science,在短短 8 个小时里非常生动且全面地科普了关于计算机科学的方方面面:计算机的历史、计算机是如何运作的、组成计算机的各个重要模块、计算机科学中的重要思想等等等等。正如它的口号所说的 Computers are not magic!,希望看完这个视频之后,大家能对计算机科学有个全貌性地感知,从而怀着兴趣去面对下面浩如烟海的更为细致且深入的学习内容。

必学工具

俗话说:磨刀不误砍柴工。如果你是一个刚刚接触计算机的24k纯小白,学会一些工具将会让你事半功倍。

学会提问:也许你会惊讶,提问也算计算机必备技能吗,还放在第一条?我觉得在开源社区中,学会提问是一项非常重要的能力,它包含两方面的事情。其一是会变相地培养你自主解决问题的能力,因为从形成问题、描述问题并发布、他人回答、最后再到理解回答这个周期是非常长的,如果遇到什么鸡毛蒜皮的事情都希望别人最好远程桌面手把手帮你完成,那计算机的世界基本与你无缘了。其二,如果真的经过尝试还无法解决,可以借助开源社区的帮助,但这时候如何通过简洁的文字让别人瞬间理解你的处境以及目的,就显得尤为重要。推荐阅读提问的智慧这篇文章,这不仅能提高你解决问题的概率和效率,也能让开源社区里无偿提供解答的人们拥有一个好心情。

MIT-Missing-Semester这门课覆盖了这些工具中绝大部分,而且有相当详细的使用指导,强烈建议小白学习。

翻墙:由于一些众所周知的原因,谷歌、GitHub 等网站在大陆无法访问。然而很多时候,谷歌和 StackOverflow 可以解决你在开发过程中遇到的 99% 的问题。因此,学会翻墙几乎是一个内地 CSer 的必备技能。(考虑到法律问题,这个文档提供的翻墙方式仅对拥有北大邮箱的用户适用)。

命令行:熟练使用命令行是一种常常被忽视,或被认为难以掌握的技能,但实际上,它会极大地提高你作为工程师的灵活性以及生产力。命令行的艺术是一份非常经典的教程,它源于 Quora 的一个提问,但在各路大神的贡献努力下已经成为了一个 GitHub 十万 stars 的顶流项目,被翻译成了十几种语言。教程不长,非常建议大家反复通读,在实践中内化吸收。同时,掌握 Shell 脚本编程也是一项不容忽视的技术,可以参考这个教程

IDE (Integrated Development Environment):集成开发环境,说白了就是你写代码的地方。作为一个码农,IDE 的重要性不言而喻,但由于很多 IDE 是为大型工程项目设计的,体量较大,功能也过于丰富。其实如今一些轻便的文本编辑器配合丰富的插件生态基本可以满足日常的轻量编程需求。个人常用的编辑器是 VS Code 和 Sublime(前者的插件配置非常简单,后者略显复杂但颜值很高)。当然对于大型项目我还是会采用略重型的 IDE,例如 Pycharm (Python),IDEA (Java) 等等(免责申明:所有的 IDE 都是世界上最好的 IDE)。

Vim:一款命令行编辑工具。这是一个学习曲线有些陡峭的编辑器,不过学会它我觉得是非常有必要的,因为它将极大地提高你的开发效率。现在绝大多数 IDE 也都支持 Vim 插件,让你在享受现代开发环境的同时保留极客的炫酷(yue)。

Git:一款代码版本控制工具。Git的学习曲线可能更为陡峭,但出自 Linux 之父 Linus 之手的 Git 绝对是每个学 CS 的童鞋必须掌握的神器之一。

GitHub:基于 Git 的代码托管平台。全世界最大的代码开源社区,大佬集聚地。

GNU Make:一款工程构建工具。善用 GNU Make 会让你养成代码模块化的习惯,同时也能让你熟悉一些大型工程的编译链接流程。

CMake:一款功能比 GNU Make 更为强大的构建工具,建议掌握 GNU Make 之后再加以学习。

LaTex逼格提升 论文排版工具。

Docker:一款相较于虚拟机更轻量级的软件打包与环境部署工具。

实用工具箱:除了上面提到的这些在开发中使用频率极高的工具之外,我还收集了很多实用有趣的免费工具,例如一些下载工具、设计工具、学习网站等等。

Thesis:毕业论文 Word 写作教程。

好书推荐

私以为一本好的教材应当是以人为本的,而不是炫技式的理论堆砌。告诉读者“是什么”固然重要,但更好的应当是教材作者将其在这个领域深耕几十年的经验融汇进书中,向读者娓娓道来“为什么”以及未来应该“怎么做”。

链接戳这里

环境配置

你以为的开发 —— 在 IDE 里疯狂码代码数小时。

实际上的开发 —— 配环境配几天还没开始写代码。

PC 端环境配置

如果你是 Mac 用户,那么你很幸运,这份指南 将会手把手地带你搭建起整套开发环境。如果你是 Windows 用户,在开源社区的努力下,你同样可以获得与其他平台类似的体验:Scoop

另外大家可以参考一份灵感来自 6.NULL MIT-Missing-Semester 的 [环境配置指南][guide],重点在于终端的美化配置。此外还包括常用软件源(如 GitHub, Anaconda, PyPI 等)的加速与替换以及一些 IDE 的配置与激活教程。

Unity3D实现项目限制功能(使用次数限制和时间限制) 大家好,我是心疼你的一切,不定时更新Unity开发技巧,觉得有用记得一键三连哦。在软件开发的时候,可能会遇到程序的使用次数限制,以及时间的限制,下面就写一下这两种方法是新建注册表,增加键值对,修改键值,完成对程序的控制提示:以下是本篇文章正文内容,下面案例可供参考以上就是讲了两种限制方法不定时更新Unity开发技巧,觉得有用记得一键三连哦。 阅读详情

相关推荐

全面计算机应用技术自学复习指南

计算机硬件的每一个组件都有其独特的功能和设计,对计算机的性能和稳定性有着直接影响。例如,CPU是计算机的“大脑”,负责执行指令和处理数据;内存则临时存储正在运行的程序和数据,保证CPU能快速访问;而存储设备如硬盘,则负责长期保存数据。操作系统定义了计算机系统的软件层,它为用户提供了与计算机硬件通信的途径。其功能可以概括为以下几个方面:进程管理:操作系统控制和协调进程的执行,包括进程创建、终止、同步及通信。内存管理:负责分配、管理和回收内存资源,确保数据的安全性和有效性。

weixin_28713083的博客 2065

计算机网络自学指南,怒推荐一波,简直太全面了!

今天偶然发现了计算机网络如何自学的问题,于是决定怒答一波。关于计算机网络如何学习,我就拿自己亲身实践的来举例吧,因为我也自学学起的。

pythonhy的博客 2251

陕西省12.5m分辨率DEM数据

陕西省12.5m分辨率DEM数据数据来源:ALOS数据格式:栅格txt中为数据下载链接和作者联系方式,想或者全国范围的数据均可以联系作者关注并私聊作者:免费分享30m分辨率的全国DEM,版本有NASA SRTM 3.0、GDEM等

计算机网络自学指南,简直太全了!

今天偶然发现了计算机网络如何自学的问题,于是决定怒答一波。 关于计算机网络如何学习,我就拿自己亲身实践的来举例吧,因为我也自学学起的。 我觉得最重要的就是看书(博客) + 实践。 首先是看书。 书籍推荐 书也分为不同的层次,最基础的入门书籍有 网络是怎样连接的 这是我推荐给你的第一本书。 这本书是日本人写的,它和《程序是怎样运行的》、《计算机是怎样跑起来的》统称为图解入门系列,最大的特点就是风趣幽默,简单易懂。这本书通过多图来解释浏览器中从输入网址开始,一路追踪了到显示出网页内容为止的整个过程,以图配文,

程序员cxuan的个人主页 2万+

一份超强的 CS 自学指南

????????关注后回复“进群”,拉你进程序员交流群????????作者丨火宝来源丨编程导航(ID:codenav)编程导航 每周新增资源优选特辑 10编程导航 致力于推荐优质编程资源 ????项目开源仓库:https://github.com/liyupi/code-nav跪求一个 star ⭐️哈喽大家好!我是编程导航的小编火宝。我们的一周一会 time !一周不见我可真是想si你们啦,本周...

<sdffdsfsdfdfs>sfsfsfsdfsdffds</sdfsDS>Fsd 5562

GitHub 上这个「计算机科学」自学指南火了!

公众号关注“GitHubDaily”设为 “星标”,每天带你逛 GitHub!作者:Ozan Onay、Myles Byrne译者:Keith Null编辑:公众号 GitHubDai...

GitHubDaily 2611

计算机:从入门到精通的指南,从零基础到精通,收藏这篇就够了!

• 参与实际的软件项目开发,从需求分析、设计、编码、测试到部署的整个过程。例如,开发一个简单的 Web 应用程序,使用 HTML/CSS 进行前端页面设计,使用后端编程语言(如 Python 的 Flask 框架或 Java 的 Spring Boot 框架)进行业务逻辑处理和数据库交互。例如,当你同时打开多个程序,如浏览器、音乐播放器和办公软件时,需要足够的内存来保证这些程序的流畅运行。例如,Python 可以用于数据科学领域的数据处理和分析,也可以用于自动化脚本编写,如自动整理文件、批量下载文件等。

Javachichi的博客 5201

【免费下载】 探索自学之路:《CS自学指南》 —— 打造你的全方位计算机科学之旅

在数字时代浪潮中,计算机科学已成为不可或缺的知识宝库。然而,面对海量资源和复杂的学习路径,自学成才似乎是一项艰巨的任务。幸而,《CS自学指南》,由热爱分享的PKUFlyingPig精心打造,犹如一位良师益友,引领你在编程的海洋中航行,轻松达成从新手到全栈程序员的蜕变。 ## 项目介绍 《CS自学指南》是一份针对计算机科学自学者的宝藏地图。这份指南集结了国内外顶尖教育资源,旨在消除自学路上的迷雾...

gitblog_00135的博客 1937

GitHub 上这份计算机自学指南火了~

点击上方“码农突围”,马上关注这里是码农充电第一站,回复“666”,获取一份专属大礼包真爱,请设置“星标”或点个“在看最近在逛GitHub的时候,发现了一个宝藏开源仓库「TeachYour...

欢迎关注公众号:【码农突围】,回复9999,可以获取一份LeetCode刷题笔记 1061

计算机科学自学指南

英文出处:Teach Yourself Computer Science。如果你是一名自学工程师或者是一名软件集训课程毕业的学生,有些计算机科学基础课程是你必须要补齐的。幸好,你通过互联网就能获得世界顶级的CS(计算机科学)课程。 其实网上有很多学习资源但它们良莠不齐,你需要不是什么“200+免费在线课程”列表而是如下问题的答案: 你应该学习哪门课程?为什么? 每门课...

黑白相间... 5504

计算机自学指南项目常见问题解决方案

**项目名称**: 计算机自学指南 (cs-self-learning) **项目链接**: [https://github.com/PKUFlyingPig/cs-self-learning](https://github.com/PKUFlyingPig/cs-self-learning) **项目简介**: 该项目旨在为自学计算机科学的人提供一个全面的指南,涵盖了从基础数学到高级计算机科...

gitblog_07388的博客 430

自学计算机科学,你需要这份指南

相信经常看我的Github排行榜的朋友,最近会发现有一个项目经常上热门,TeachYourselfCS-CN,看名字就知道,这是一个教你自学计算机的项目,原作者为Ozan Onay和My...

前端开发博客 1227

计算机自学指南项目安装和配置指南

### 项目基础介绍 `cs-self-learning` 是一个开源的计算机科学自学指南项目,旨在帮助自学者通过开源社区的优质资源,在2-3年内成长为一个有扎实的数学功底和代码能力,掌握多种主流编程语言,并对计算机科学多个领域有所涉猎的全能程序员。该项目由北京大学的学生发起,并得到了广泛的关注和贡献。 ### 主要编程语言 该项目推荐的编程语言包括但不限于: - C/C++ - Java - ...

gitblog_07389的博客 417

零基础自学计算机方法大全

学习永无止境,技术日新月异,我们要保持一种活到老、学到老的状态,不断加强学习,好好打磨自己。 学习是持续性的,适合自己的才是最好的,希望大家都能找到适合自己的学习方法。只要方法正确,零基础也能学好计算机。不要害怕自己能不能学的会,不试试,怎么知道自己的潜力呢。

lghtdw1314的博客 1万+

计算机专业自学指南:从大一到大四,步步为营!从零基础到精通,收藏这篇就够了!

本文为计算机专业学生提供了一份大学四年分阶段的自学路线图:大一夯实编程基础,学习C/Python和数据结构;大二提升算法、操作系统和网络知识;大三深入数据库、软件工程和AI基础;大四准备就业,学习高级算法和系统设计。每阶段都给出了具体学习内容、实践方法和实用建议,最后还提供了软件开发、算法研究等就业方向的薪资数据和发展趋势。建议学生注重实践积累,参与项目和竞赛,保持持续学习,为职业发展打好基础。

m0_71745484的博客 799

Linux基础_计算机基础

讲师:@王晓春 笔记目录一. 计算机基础1. 计算机系统2. 计算机发展历史3. 计算机硬件组成4. 摩尔定律5. 按规模划分(巨型、大型、小型、微型机)6. 服务器⑴服务器硬件组成⑵服务器分类⑶服务器硬件---CPU⑷服务器硬件---主板⑸服务器硬件---内存⑹服务器硬件---硬盘⑺服务器硬件---阵列卡⑻服务器硬件---显卡⑼服务器硬件---电源⑽服务器硬件---网卡⑾服务器硬件---热插拔技...

Not Found 404 2907

渗透测试入门实战,渗透测试零基础入门到精通,收藏这篇就够了

渗透测试,又称 “ 白帽黑客 ” 测试,是出于增强安全性的目的,在得到授权的前提下,通过利用与恶意攻击者相同的思路、技术、策略和手段,对给定组织机构的安全问题进行检测和评估的过程。通过渗透测试,能够由 “ 知彼“ 做到 “知己” ,发现使用传统检测方法无法发现的攻击路径、攻击方法和技术弱点,从而在安全问题被攻击者利用之前,对其未雨绸缪地进行修复。无论您如何看待移动设备,移动设备都不会就此停下发展的脚步,而是不断推出新的形式、功能、外形,并且已成为我们日常生活中的一部分。在该章中,将自己视为一名毕业生。

Javachichi的博客 1986

计算机小白如何自学计算机编程?从零基础到精通,收藏这篇就够了!

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。学习计算机编程是一个需要持续学习和实践的过程。

leah126的博客 1591

计算机基础学习(非常详细)零基础入门到精通,收藏这篇就够了

计算机历史与发展:了解计算机的起源、发展简史,包括第一台电子计算机ENIAC的诞生、冯·诺依曼提出的“存储程序”原理等。计算机分类:巨型计算机、大中型计算机、小型计算机、微型计算机(如PC)、工作站等。计算机特点与应用:指令周期快、运算精度高、可靠性高、具有逻辑判断能力和通用性强等特点;科学计算、信息处理、自动控制、计算机辅助工程、人工智能、计算机网络等应用领域。

Javachichi的博客 1万+
上一篇: Magento 开发教程实战 - Magento 中的 Full page cache 是如何起作用的
有课学
博客等级 码龄16年 0粉丝 2原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值