Skip to content

Instantly share code, notes, and snippets.

View SoraYeh's full-sized avatar
🏠
Working from home

SoraYeh SoraYeh

🏠
Working from home
View GitHub Profile
@SoraYeh
SoraYeh / gist:60776b8a6a479ff70a8d07d7b4520935
Created February 26, 2018 06:16 — forked from parano/gist:1868242
Excel表格密码保护的解除方法
表格受密码保护时,我们修改数据Excel弹出“您试图更改的单元格或图表受保护,因而是只读的。
若要修改受保护单元格或图表,请先使用‘撤消工作表保护’命令(在‘审阅’选项卡的‘更改’组中)来取消保护。
可能会提示输入密码。这时候我们可以用VBA宏代码破解法来破解表格保护密码:
第一步:打开该文件,先解除默认的“宏禁用”状态,方法是点击工具栏下的“选项”状态按钮,
打开“Microsoft Office安全选项”窗口,选择其中的“启用此内容”,“确定”
再切换到“视图”选项卡,点击“宏”→“录制宏”,出现“录制新宏”窗口,在“宏名”定义一个名称为:
PasswordBreaker,点击“确定”退出;
第二步:再点击“宏”→“查看宏”,选择“宏名”下的“PasswordBreaker”并点击“编辑”,
打开“Microsoft Visual Basic”编辑器,用如下内容替换右侧窗口中的所有代码:
@SoraYeh
SoraYeh / web-servers.md
Last active December 26, 2017 02:44 — forked from willurd/web-servers.md
Big list of http static server one-liners

Each of these commands will run an ad hoc http static server in your current (or specified) directory, available at http://localhost:8000. Use this power wisely.

Discussion on reddit.

Python 2.x

$ python -m SimpleHTTPServer 8000
/****************************
var simpleLevelPlan = [
" ",
" ",
" x = x ",
" x o o x ",
" x @ xxxxx x ",
" xxxxx x ",
" x!!!!!!!!!!!!x ",
function parseExpression(program) {
program = skipSpace(program);
var match, expr;
if (match = /^"([^"]*)"/.exec(program))
expr = {type: "value", value: match[1]};
else if (match = /^\d+\b/.exec(program))
expr = {type: "value", value: Number(match[0])};
else if (match = /^[^\s(),"]+/.exec(program))
expr = {type: "word", name: match[0]};
else
function require(name) {
if (name in require.cache)
return require.cache[name];
var code = new Function("exports, module", readFile(name));
var exports = {}, mod = {exports: exports};
code(exports, mod);
require.cache[name] = module.exports;
return module.exports;
var data = [
{Phase: "Phase 1", Step: "Step 1", Task: "Task 1", Value: "5"},
{Phase: "Phase 1", Step: "Step 1", Task: "Task 2", Value: "10"},
{Phase: "Phase 1", Step: "Step 2", Task: "Task 1", Value: "15"},
{Phase: "Phase 1", Step: "Step 2", Task: "Task 2", Value: "20"},
{Phase: "Phase 2", Step: "Step 1", Task: "Task 1", Value: "25"},
{Phase: "Phase 2", Step: "Step 1", Task: "Task 2", Value: "30"},
{Phase: "Phase 2", Step: "Step 2", Task: "Task 1", Value: "35"},
{Phase: "Phase 2", Step: "Step 2", Task: "Task 2", Value: "40"}
];
import Control.Monad (guard)
import Data.List
eightQueens :: [Int] -> [[Int]]
eightQueens b = do
-- `b` builds up rows
let len = length b
if len == 8
-- one solution available
then return b