Skip to content

Instantly share code, notes, and snippets.

View zwang's full-sized avatar
😀
Plato App

Zhao Wang zwang

😀
Plato App
View GitHub Profile
@zwang
zwang / v8PromiseDemo.cpp
Created December 20, 2019 19:02 — forked from jupp0r/Demo.cpp
C++ function returning an ES6 promise
#include <node.h>
#include "Test.h"
namespace demo {
using v8::FunctionCallbackInfo;
using v8::Isolate;
using v8::Local;
using v8::Object;
{"sig":"e3acfb82ecda1d700a645ddcf4ae78d9ea45e73c8f069deb9f723602f259b06cc85efe766404cd9912b35330361df628e149dd749c4fda00bcc76fd577d9dddc0","msghash":"083e69c2b4cec2e0aae0d350bdb92b61de1f7d120e1152c9d20a0e8546389c2c"}
@zwang
zwang / build_gmp.sh
Created July 30, 2017 18:50 — forked from sakrist/build_gmp.sh
GMP and MPFR compile for iOS
#!/bin/bash
set -x
CURRENT=`pwd`
__pr="--print-path"
__name="xcode-select"
DEVELOPER=`${__name} ${__pr}`
GMP_VERSION="5.1.3"
@zwang
zwang / introrx.md
Created April 4, 2017 17:21 — forked from staltz/introrx.md
The introduction to Reactive Programming you've been missing
When you get an error code in with the domain kCFStreamErrorDomainSSL, you can generally find the error codes in SecureTransport.h which is in /System/Library/Frameworks/Security.framework. Here are the error codes:
enum {
errSSLProtocol = -9800, /* SSL protocol error */
errSSLNegotiation = -9801, /* Cipher Suite negotiation failure */
errSSLFatalAlert = -9802, /* Fatal alert */
errSSLWouldBlock = -9803, /* I/O would block (not fatal) */
errSSLSessionNotFound = -9804, /* attempt to restore an unknown session */
errSSLClosedGraceful = -9805, /* connection closed gracefully */
errSSLClosedAbort = -9806, /* connection closed via error */
@zwang
zwang / StringSize.swift
Created November 6, 2016 16:50 — forked from plumhead/StringSize.swift
String extension to find the layout size of a String with specified attributes.
extension String {
func size(withAttributes attrs: [String:AnyObject], constrainedTo box: NSSize) -> NSRect {
let storage = NSTextStorage(string: self)
let container = NSTextContainer(containerSize: NSSize(width: box.width, height: box.height))
let layout = NSLayoutManager()
layout.addTextContainer(container)
storage.addLayoutManager(layout)
storage.addAttributes(attrs, range: NSMakeRange(0, storage.length))
container.lineFragmentPadding = 0.0
let _ = layout.glyphRangeForTextContainer(container)
@zwang
zwang / two lines title for navigationbar.swift
Created October 20, 2016 01:00
two lines title for navigationbar
//http://stackoverflow.com/questions/2422383/uinavigationbar-multi-line-title
private func setupTitleView() {
let topText = NSLocalizedString("key", comment: "")
let bottomText = NSLocalizedString("key", comment: "")
let titleParameters = [NSForegroundColorAttributeName : UIColor.<Color>(),
NSFontAttributeName : UIFont.<Font>]
let subtitleParameters = [NSForegroundColorAttributeName : UIColor.<Color>(),
NSFontAttributeName : UIFont.<Font>]
@zwang
zwang / sqlite3.sh
Created March 15, 2016 20:11 — forked from fluidsonic/sqlite3.sh
Make sqlite3 module available in Swift
#!/bin/sh
modulesDirectory=$DERIVED_FILES_DIR/modules
modulesMap=$modulesDirectory/module.modulemap
modulesMapTemp=$modulesDirectory/module.modulemap.tmp
mkdir -p "$modulesDirectory"
cat > "$modulesMapTemp" << MAP
module sqlite3 [system] {
@zwang
zwang / iosVersionRelatedBugFix.swift
Last active March 12, 2016 01:55
iOS 9.0.x bug automaticallyAdjustsScrollViewInsets doesn't change insets on iOS 9
#if os(iOS)
// temp fix for iOS 9.0.x http://www.openradar.me/22106545
let os = NSProcessInfo().operatingSystemVersion
switch (os.majorVersion, os.minorVersion, os.patchVersion) {
case (9, 0, _):
// "iOS >= 9.0.0, < 9.1.0"
// Only in iOS 9.0.x, the contentInset of the collection view does not automatically add the statusbar height and the navigation bar height
let statusBarheight = UIApplication.sharedApplication().statusBarFrame.height
let navigationBarHeight = self.navigationController?.navigationBar.frame.height ?? 0
self.constants.defaultContentInsets.top += statusBarheight + navigationBarHeight
@zwang
zwang / DoubleToStringWithMoreDecimals.swift
Last active March 18, 2016 20:04
Convert double to string in swift with more than default 15 decimals (a bug in swift should be fixed later)
// https://github.com/apple/swift/pull/348
private func getDoubleStrWith16DecimalDigits(value: Double) -> String {
return String(format: "%.16f", value)
}