小编Kyl*_*nin的帖子

我应该阅读哪些书才能获得计算机科学的本科教育?

我一直是一个很大程度上独立的学习者,从维基百科和各种书籍中收集到的东西.但是,我担心我可能会因无意中遗漏主题和概念而偏向于我的自我教育.我的目标是从顶尖大学自学相当于计算机科学的本科学位(无所谓).

为此,我购买并开始阅读一些学术教科书:

除了我在一所平庸的州立大学上课时留下的一些教科书:

我的问题是:

  • 本系列未涵盖哪些主题?
  • 是否有比这里列出的书更严格或更彻底(甚至更容易阅读)的书籍?
  • 有没有浪费我时间的书?
  • 我应该以什么顺序阅读这些书?
  • 麻省理工学院或斯坦福大学(或UCB或CMU ......)本科生学到了什么,我可能会错过什么?

欢迎使用软件工程书籍,但请在学术研究的范围内.我知道Code Complete和Pragmatic Programmer,但我正在寻找一种更理论化的方法.谢谢!

computer-science

35
推荐指数
4
解决办法
3万
查看次数

对角条纹宽1px

我想给元素一个背景,重复1px宽的斜条纹.似乎repeating-linear-gradient应该能够做到这一点,但在Safari中呈现时:

background-image: repeating-linear-gradient(
    45deg, black, black 1px, transparent 1px, transparent 3px
);
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

#thing {
  height: 200px;
  background-image: repeating-linear-gradient( 45deg, black, black 1px, transparent 1px, transparent 3px);
}
Run Code Online (Sandbox Code Playgroud)
<div id="thing"></div>
Run Code Online (Sandbox Code Playgroud)

看起来好像浏览器在混叠方面表现不佳,导致绑定模式不均匀.关于我如何能够解决这个问题,或者想要实现我想要做的另一种方式的任何想法?

html css

35
推荐指数
2
解决办法
3万
查看次数

我只是没有得到延续!

他们是什么,他们有什么好处?

我没有CS学位,我的背景是VB6 - > ASP - > ASP.NET/C#.任何人都能以清晰简洁的方式解释它吗?

continuations functional-programming callcc

32
推荐指数
4
解决办法
2739
查看次数

组织C文件

我习惯在一个C文件中完成所有编码.但是,我正在开展一个足够大的项目,这样做变得不切实际.我一直在#including他们,但是我遇到了多次#include一些文件的情况,等等.我听说过.h文件,但我不确定他们的功能是什么(或者为什么有2个文件比1)好.

我应该使用什么策略来组织我的代码?是否可以将"公共"功能与特定文件的"私有"功能分开?

这个问题促成了我的询问.tea.h文件没有引用tea.c文件.编译器是否"知道"每个.h文件都有一个相应的.c文件?

c file-organization header

28
推荐指数
4
解决办法
9349
查看次数

用函数访问PHP数组元素?

我正在开发一个程序,它使用PHP的内部数组指针迭代多维数组.我需要从当前行获取一个元素,我一直在这样做:

$arr[key($arr)]['item']
Run Code Online (Sandbox Code Playgroud)

但是,我更喜欢使用类似的东西:

current($arr)['item'] // invalid syntax
Run Code Online (Sandbox Code Playgroud)

我希望有一个功能,我在扫描文档时错过了,这使我能够访问元素,如下所示:

getvalue(current($arr), 'item')
Run Code Online (Sandbox Code Playgroud)

要么

current($arr)->getvalue('item')
Run Code Online (Sandbox Code Playgroud)

有什么建议?

php arrays

15
推荐指数
1
解决办法
1万
查看次数

设置Apache进行本地开发/测试?

Rails的截屏视频给我留下了深刻的印象,它展示了内置的Web服务器,以及允许在本地机器上进行开发和测试的数据库.我如何获得一个Apache实例来执行项目目录作为其DocumentRoot,并可能在端口8080(或类似的东西)上提供文件?

我问的原因是因为我将要尝试CodeIgniter,我想将它用于多个项目.我宁愿不要弄乱我的机器的DocumentRoot.关于如何进行数据库迁移的建议也是受欢迎的.


感谢您对目前的回复.我应该澄清一下,我使用的是Mac OS X.看起来WAMP只适用于Windows.此外,XAMPP看起来是安装Apache和许多其他Web工具的好方法,但我没有看到加载实例来提供项目目录的方法.Mac OS X同时安装了Apache和PHP - 我只是想找到一种方法来让它在非标准端口上提供服务.

我刚发现MAMP Pro可以满足我的需求,但如果可行的话,更简约的方法会更好.有没有人有一个可以编辑并放入项目目录的httpd.conf文件?

另外,抱歉我刚刚提到了数据库迁移问题.我希望找到的东西能够让我将架构更改推送到实时服务器而不会丢失现有数据.我怀疑这很难,而且高度依赖环境因素.

php apache codeigniter

12
推荐指数
2
解决办法
2万
查看次数

SQLite中WHERE子句中的聚合函数

简单地说,我有一个表,其中包括一个时间戳列.我想获得具有最新(即最大值)时间戳的行.目前我这样做:

SELECT * FROM table ORDER BY timestamp DESC LIMIT 1
Run Code Online (Sandbox Code Playgroud)

但我宁愿做这样的事情:

SELECT * FROM table WHERE timestamp=max(timestamp)
Run Code Online (Sandbox Code Playgroud)

但是,SQLite拒绝此查询:

SQL error: misuse of aggregate function max()
Run Code Online (Sandbox Code Playgroud)

文件证实了这一行为(页面底部):

聚合函数只能在SELECT语句中使用.

我的问题是:是否有可能编写一个查询来获取具有最大时间戳的行而不排序选择并将返回的行数限制为1?这似乎应该是可能的,但我想我的SQL-fu不适合鼻烟.

sql sqlite aggregate-functions where-clause

11
推荐指数
1
解决办法
4万
查看次数

如何使用dict.fromkeys为每个键创建唯一值?

首先,我是Python的新手,所以如果我忽略了某些内容,我会道歉,但我想使用dict.fromkeys(或类似的东西)来创建列表字典,其中的键在另一个列表中提供.我正在执行一些计时测试,我希望键是输入变量,列表包含运行的时间:

def benchmark(input):
    ...
    return time_taken

runs = 10
inputs = (1, 2, 3, 5, 8, 13, 21, 34, 55)
results = dict.fromkeys(inputs, [])

for run in range(0, runs):
    for i in inputs:
        results[i].append(benchmark(i))
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是字典中的所有键似乎共享相同的列表,每次运行只是附加到它.有没有办法为每个密钥生成一个唯一的空列表fromkeys?如果没有,是否有其他方法可以手动生成结果字典?

python dictionary fromkeys

11
推荐指数
2
解决办法
5574
查看次数

禁用Carbon Emacs滚动蜂鸣声

我一直在考虑在我的Mac上使用Carbon Emacs,而我遇到的唯一绊脚石就是当你试图滚过文档末尾时发出令人讨厌的滚动声.我看过网上但我似乎无法找到我应该添加到我的.emacs中的内容,这会阻止它在滚动时发出哔哔声.滚动时我不想完全沉默它.有任何想法吗?

emacs dot-emacs carbon-emacs

10
推荐指数
3
解决办法
4650
查看次数

SQLite/PHP只读?

我一直在尝试将SQLite与PHP中的PDO包装器一起使用并取得了成功.我可以很好地从数据库中读取,但是当我在浏览器中查看页面时,我的更新都没有提交到数据库.奇怪的是,从我的shell运行脚本确实更新了数据库.我怀疑文件权限是罪魁祸首,但即使数据库提供完全访问权限(chmod 777),问题仍然存在.我应该尝试更改文件所有者吗?如果是这样,该怎么办?

顺便说一句,我的机器是PHP激活的标准Mac OS X Leopard安装.

@Tom Martin

谢谢您的回复.我只是运行你的代码,它看起来像PHP运行用户_www.然后我尝试将数据库chown为_www所拥有,但这也不起作用.

我还应该注意,PDO的errorInfo函数并不表示发生了错误.这可能是PDO以某种方式打开数据库以进行只读的设置吗?我听说SQLite对整个文件执行写锁定.是否有可能数据库被阻止写入的其他东西锁定?

我决定将代码包括在内.这将或多或少成为Grant的 PHP 脚本的一个端口.到目前为止,它只是问题部分:

<?php

$db = new PDO('sqlite:test.db');

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://stackoverflow.com/users/658/kyle");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIE, "shhsecret=1293706652");
$page = curl_exec($ch);

preg_match('/summarycount">.*?([,\d]+)<\/div>.*?Reputation/s', $page, $rep);
$rep = preg_replace("/,/", "", $rep[1]);

preg_match('/iv class="summarycount".{10,60} (\d+)<\/d.{10,140}Badges/s', $page, $badge);
$badge = $badge[1];

$qreg = '/question-summary narrow.*?vote-count-post"><strong.*?>(-?\d*).*?\/questions\/(\d*).*?>(.*?)<\/a>/s';
preg_match_all($qreg, $page, $questions, PREG_SET_ORDER);

$areg = '/(answer-summary"><a href="\/questions\/(\d*).*?votes.*?>(-?\d+).*?href.*?>(.*?)<.a)/s';
preg_match_all($areg, $page, $answers, PREG_SET_ORDER);

echo "<h3>Questions:</h3>\n";
echo "<table cellpadding=\"3\">\n";

foreach ($questions as $q)
{
    $query = 'SELECT …
Run Code Online (Sandbox Code Playgroud)

php sqlite permissions pdo

9
推荐指数
1
解决办法
8460
查看次数