例子 #include <pthread.h> int Global; void *Thread1(void *x) { Global = 42; return x; } int main(void) { pthread_t t; pthread_create(&t, NULL, Thread1, NULL); Global = 43; pthread_join(t, NU
例子 a.c: #include <stdio.h> int main(void) { // your code goes here int a[3] = {0}; a[3] = 1; printf("%d\n", a[3]); return 0; } b.c: #include <stdio.h> #inclu
SVD 概述 奇异值分解(SVD, Singular Value Decomposition): 提取信息的一种方法,可以把 SVD 看成是从噪声数据中抽取相关特征。从生物信息学到金融学,SVD 是提取信息的强大工具。 SVD 场景 信息检索-隐性语义检索(Latent Semantic Indexing, LSI)或 隐形语义分析(Latent Semantic Analysis, L
降维技术 场景 我们正通过电视观看体育比赛,在电视的显示器上有一个球。 显示器大概包含了100万像素点,而球则可能是由较少的像素点组成,例如说一千个像素点。 人们实时的将显示器上的百万像素转换成为一个三维图像,该图像就给出运动场上球的位置。 在这个过程中,人们已经将百万像素点的数据,降至为三维。这个过程就称为降维(dimensionality reduction) 数据显示 并非大规模特征下的唯一
如果要用快照将实例从OpenStack Project迁移到云中,请使用如下方法。 在源Project中: 创建实例的快照 将快照镜像下载下来 在目的Project中: 将快照导入到新的环境中 用这个快照启动新实例 注意: 有些云提供商只允许管理员来进行这项操作。 创建实例的快照 关闭您想要迁移的实例,确保在创建快照的时候所有的数据都已保存在硬盘中。如果有必要,您可以列出所有实例,来查看您想要迁移
当我建议一些非计算机专业的人用 Linux 的时候,很多人说:“UNIX 是计算机系的人用的,我们不能理解。” “UNIX 是男孩用的,我们女孩不用。” 但是其实世界上的大多数科学家和工程师几乎用的都是 UNIX 作为他们的电脑工具。就因为它简单,可靠,稳定,强大,有趣。甚至很多时候 UNIX 就是唯一的选择。 你说:“我们都会用 UNIX 的话,你们计算机专业的人还用来干什么?” 很荣幸的告诉你
如果你要查看文件的每个部分是谁修改的, 那么 git blame 就是不二选择. 只要运行'git blame [filename]', 你就会得到整个文件的每一行的详细修改信息:包括SHA串,日期和作者: 译者注: Git采用SHA1做为hash签名算法, 在本书中,作者为了表达方便,常常使用SHA来代指SHA1. 如果没有特别说明, 本书中的SHA就是SHA1的代称. $ git blame
假设你在项目的'2.6.18'版上面工作, 但是你当前的代码(master)崩溃(crash)了. 有时解决这种问题的最好办法是: 手工逐步恢复(brute-force regression)项目历史, 找出是哪个提交(commit)导致了这个问题. 但是 linkgit:git-bisect1 可以更好帮你解决这个问题: $ git bisect start $ git bisect good
软件专利现在是自由软件运动中的一个避雷针问题,因为他们设置了自由软件无法防御的真正威胁。版权和商标问题一直可以绕开。如果你的部分代码看起来侵害了某人的版权,你只需要重写该部分。如果某人拥有你的项目名称的商标,最坏也就是将项目改名。尽管改名是一种暂时的不便,但长期来讲问题不大,因为代码依然发挥着应有的作用。 但是专利则是针对实现特定思想的完全禁令。无论谁编写的代码,无论使用了什么编程语言。一旦某人指
只要是开源许可证,你选择的许可证可能不会是影响采用项目的主要因素。用户通常根据质量和特性选择软件,而不是许可证的细节。虽然如此,你还是需要对自由软件许可问题有基本的了解,一方面确保项目的许可证与其目标一致,另一方面可以与其他人讨论许可证决策。请注意,我不是律师,本章的内容不应当作为正式的法律建议。对于法律事务,你需要雇佣一个律师或自己是律师。 术语 在开源许可证的任何讨论中,最明显的是首先要看到有
利用xcconfig文件完成多环境配置 xcconfig本质上是一个key-value配置文件 xcconfig文件命名建议: 所在目录-Project名称.环境 (参考CocoaPods) xcode build settings环境参数缩写查询资料: xcodebuildsettings 一、xcconfig文件的创建和配置导入 新建xcconfig文件, 保证项目结构清晰, 单独新建目录管理
利用Target完成多环境配置 在TARGETS下选中对应Target右键选择Duplicate, 会产生一个新的Target、Scheme和一个新的info.plist文件, 带有默认名称 接下来为新的Target、Scheme和info.plist文件修改名称, 设定新的bundleID(Duplicate后原BundleID也会相应变化), 完成新Target的初步设定 修改好名称后, 记得
利用Scheme完成多环境配置 在当前PROJECT - Info - Configurations下, 根据默认Debug或Release复制一份配置 例如新建一份配置命名为Beta, 这样全局新增了一份Beta配置 在编辑Scheme下或是Build settings下面都是可见的 为进一步利用Scheme和configurations, 通常会直接新建一个Scheme来绑定新增configu
本章将会介绍如何使用python去构建一个简单的web扫描器,并且写一个简单的exp。有些时候如果组织会发布出来一些漏洞测试的POC,然后使用者可以使用这些poc去检查自己系统的漏洞,但是在这种情况下,如果是等poc发布出来早以为时已晚! 在第5章的时候告诉了大家基本的web请求,这一章我们讲两个新的内容: 检测特定的服务器列表. 利用一个Oracle的本地包含漏洞. Web扫描 下面的这个脚本使
IDE Web前端刚入门的朋友,常常想选择一个快速、好用、流行(其实我也不知道为什么要流行,或许是在技术的路上,工程师希望自己走在主流的路上?)的IDE(Integrated Development Environment:集成开发环境)。IDE重要么?重要也不重要。不重要是因为:它只是一个工具,我们更应该关注的是需求、逻辑、算法、知识等。重要是因为:它是一个工具,工欲善其事必先利其器,工具选好了