造一台面包板计算机

是的,我终于圆了一直以来的一个心愿——拥有一台 80 年代的计算机。

在 SwiftUI 中动态修改状态栏颜色

一般来说,只要我们的 App 不是特别的简陋,基本上不存在所有页面的状态栏都是同一个颜色的情况。在过去使用 UIKit + Storyboard 的时候,我们可以在项目设置中将状态栏颜色设置为自动,或者在每个 View Controller 中重写 preferredStatusBarStyle 属性。

但是对于完全基于 SwiftUI 的新工程而言,之前的解决方案都无法使用。在截至目前的 Xcode 版本里(11.3 beta 11C24b),状态栏颜色仍旧无法根据背景色自动变化。并且因为页面切换不再显式对应到不同的 View Controller,我们也无法通过重写每个页面的 preferredStatusBarStyle 属性来动态更改状态栏颜色。

随便说说人工智能

人工智能这个词差不多是在2016年开始映入大多数人眼帘的。伴随着韩国高手李世石在一直被视为“人类专属”的围棋项目上1:4输给谷歌的AlphaGO,人工智能这个概念仿佛凭空出现,并渐渐升温。短短一年之后,曾经认为自己足以打败人工智能的世界围棋第一人柯洁又在乌镇围棋峰会上被升级版的AlphaGO以3:0击败,从那一天开始,关于人工智能的讨论就再也没有停止。

人工智能会取代人类的工作吗?

让人工智能开车靠谱吗?

人工智能会毁灭人类吗?

……

可是等等,到底啥是人工智能啊?

数据结构(三):种一棵圣诞树(上)

0x00 前言

距离上一个教程已经过去一周了,效率很低,很惭愧。不过言归正传,在上一篇文章中,我们着手编写了一个最简单的链式结构——单链表,如果你动手编写了代码,不难发现,教程中采用的编码方式是将数据结构本身抽象成一个结构体(或者面向对象语言中的类),并将每一个最小子节点也抽象成一个结构体。在今后的教程里,我们仍旧遵循这个规则。

数据结构(二):编写第一个链式结构

0x00 前言

在上一篇文章中我们了解了内存中数据的存储方式,其中,链式存储结构十分适合存储常常修改但不常访问的数据。事实上,我们生活中常常遇到的就是这种数据。

实现链式存储的方式有很多,几乎所有的编程语言都能够做到,对于现代的面向对象编程语言,编写某种数据结构要简单得多。但是考虑到很多高校仍在使用面向过程的C语言来进行数据结构课程的教学和考核,本文也使用C语言来编写示例代码。

数据结构(一):链式存储

0x00 前言

什么是数据结构?

提到数据,我们应该并不陌生。生活中我们每天都要接触各式各样的数据——支付宝还有多少余额、花呗白条要还多少钱、饭卡电话卡这个那个卡是不是该充值了……但是提起数据结构,就显得抽象了许多。

遗传算法与进化策略

0x00 遗传算法 Genetic Algorithm

我们都了解过达尔文的进化论,物竞天择,适者生存,正式这样简单且残酷的自然法则最终在地球上造就了人类这一神奇的物种。我们会制造并使用工具来解决问题,会创作丰富多彩的文艺作品来抒发情感,也能相互合作提高解决问题的效率。而这一切都源于亿万年的时间和无休止的遗传变异、自然选择

那么如果我们把这样简单的规则应用到计算机程序中,是否同样可以得出一些有意思的结果呢?

Ubuntu on Windows - 打造完美的Windows环境

注意,此文章所包含的内容可能已经过时。

0.缘由

事情的起因是这样的,有一天我拿到一个需要在Linux下运行的软件,原本计划为手中的MacBook Pro装一个Ubuntu双系统,谁料安装完成后无法引导。在我祭出折腾黑苹果那会儿用过的Clover引导进Ubuntu之后才发现,键盘触摸板没有驱动,并且网卡驱动异常……

1.解决方案

在MacBook Pro下,官方支持的双系统解决方案只有通过BootCamp安装Windows,由于macOS本身具备Unix环境(或者别的什么原因),官方并未给出Linux系统的驱动支持,这就导致想要在最新的Mac上安装Linux成为了一件极其复杂的事——但是我们有Windows呀。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×