Skip to content

Instantly share code, notes, and snippets.

View tjwudi's full-sized avatar

Di Wu tjwudi

View GitHub Profile
@tjwudi
tjwudi / translation_MakingResponsiveHTMLEmails.markdown
Last active May 9, 2023 09:15
Making Responsive HTML Emails

原文地址

响应式HTML Email制作指南

This is a run down of my process for designing, building and testing responsive HTML emails. I’ve also included lots of links to articles and resources for further reading.

这篇文章是我对我的响应式HTML Email设计、构建和测试的流程的一个系统性的介绍。在本文中,我也加入了大量的相关文章、资源的链接,供读者阅读参考。

Starting with the Client Brief

@tjwudi
tjwudi / README.md
Last active August 4, 2017 20:58
Roundtable - React & Redux

We use CodeSandbox for this interactive session.

JSX

JSX is just syntax sugar for some React JavaScript API. For example, the following JSX code ...

<DashboardUnit data-index="2">
 Scores
@tjwudi
tjwudi / sublime_scopes.list
Created September 10, 2013 12:15
Sublime Text snippet scope list
ActionScript: source.actionscript.2
AppleScript: source.applescript
ASP: source.asp
Batch FIle: source.dosbatch
C#: source.cs
C++: source.c++
Clojure: source.clojure
CSS: source.css
D: source.d
Diff: source.diff
@tjwudi
tjwudi / c_program_opt.md
Last active February 16, 2017 15:16
计算机系统结构课程学习报告

基于计算机体系结构的C程序性能优化

摘要

本文主要介绍如何从计算机体系结构的角度,利用计算机系统的硬件特点来优化软件代码。本文采用C语言进行样例的描述,但是在大多数其他的编程语言中也能够适用。
首先,我们将阐述为何需要从计算机体系结构的角度进行程序优化。接着,我们抽象出了从计算机体系结构的角度分析性能问题的模式。然后,我们将了解几种被广泛应用在各种体系结构上的,基于体系结构的程序性能优化方式,并将改进前后的性能进行对比。最后,我们将综合所有在文中谈到的程序性能优化方式,一同探讨如何进行进一步的优化。

程序性能优化的两个大方向

尽管本文主要阐述程序性能优化,但是我们还是必须首先支出,编写程序的主要目标就是编写出可用的程序,而非高效的程序。我们所做的一切优化,都应该是在写出正确、可交付的程序的基础上。也就是说,可用性是程序性能优化的地基。
在建立好地基后,我们就可以思考让我们的程序运行得更加快速。一般而言,程序性能优化有两个大方向:

  1. 选择更合适的算法以及数据结构
  2. 让编译器或者解释器能够更好对你的代码进行优化
@tjwudi
tjwudi / 1.py
Created October 26, 2016 00:45
def sign_in(user_credential, role):
"""Sign in an user.
:param user_credential: User's credential
:param role:
"""
angular.module('App').config(function (RestangularProvider) {
// convert json request to x-www-form-urlencoded request
RestangularProvider.setFullRequestInterceptor(function (el, op, what, url) {
if (op === "put" || op === "post") {
var res = "";
_.forOwn(el, function (v, k) {
if (!_.isFunction(v)) {
res += k + "=" + encodeURIComponent(v) + "&";
sudo add-apt-repository ppa:webupd8team/java -y
sudo apt-get update
sudo apt-get install -y oracle-java8-installer
sudo apt-get install -y oracle-java8-set-default
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv E56151BF
DISTRO=$(lsb_release -is | tr '[:upper:]' '[:lower:]')
CODENAME=$(lsb_release -cs)
echo "deb http://repos.mesosphere.io/${DISTRO} ${CODENAME} main" | sudo tee /etc/apt/sources.list.d/mesosphere.list
sudo apt-get -y update
sudo apt-get install -y mesosphere
@tjwudi
tjwudi / hamming_code.js
Last active February 8, 2016 08:01
Communication subsystem (simulation) using Hamming code
// needs async library support
var
async = require('async');
(function lifeCycle(){
var
workflow = {
body : [],
end : function() {},
util : {},
{
init: function(elevators, floors) {
function Tour (pickupRequest, direction, startFloorNum) {
this.pickingUp = !!pickupRequest;
this.pickupRequest = pickupRequest;
this.direction = direction; // either 'up' or 'down'
this.startFloorNum = startFloorNum;
}
function Controller (elevator) {
{
init: function(elevators, floors) {
function Controller (elevator) {
var currentController = this;
this.elevator = elevator;
elevator.on('floor_button_pressed', function (floorNum) {
currentController.goToFloor(floorNum);
});
}