Skip to content

Instantly share code, notes, and snippets.

class Foo {
var name: String? // instance property
/**
You define type properties with the static keyword.
For computed type properties for class types,
you can use the class keyword instead to allow subclasses to override the superclass’s implementation.
The example below shows the syntax for stored and computed type properties
*/
@5SMNOONMS5
5SMNOONMS5 / Triangle.swift
Last active January 23, 2017 15:52
Print right-angled-triangle or isosceles-triangle
// mode: 0 是 直角三角形, 1 是 等腰三角形
// size: 邊長
func printer(mode: Int, size: Int) {
// Print a right angled triangle
func rightAngledTriangle() {
var i = 1
while i <= size {
var string = ""
@5SMNOONMS5
5SMNOONMS5 / bitwise.php
Last active August 13, 2018 02:58
通過 bitwise 方式來判斷權限
<?php
$premissionA = 1; // 1
$premissionB = 1 << 1; // 2
$premissionC = 1 << 2; // 4
$premissionD = 1 << 3; // 8
$premissionE = 1 << 4; // 16
$premissionF = 1 << 5; // 32
$premissionG = 1 << 6; // 64
$premissionH = 1 << 7; // 128
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null
@5SMNOONMS5
5SMNOONMS5 / CCCollectionView.swift
Last active November 5, 2019 03:55
Generic types collection view with default selection [ Copy and paste it into your playground ]
//: A UIKit based Playground for presenting user interface
import UIKit
import PlaygroundSupport
// ******************************************
//
// MARK: - Config injection
//
// ******************************************
@5SMNOONMS5
5SMNOONMS5 / CLSTableView.swift
Last active December 11, 2019 09:44
GenericType TableView, Copy and paste into your playground files
//: A UIKit based Playground for presenting user interface
import UIKit
import PlaygroundSupport
/// CLSTableViewConfig for extend, add more tableview properties.
struct CLSTableViewConfig {
var heightForRow: CGFloat?
}
protocol CLSPickerViewProtocol {
var title: String { get }
var id: Int { get }
}
final class CLSPickerView<T: LLPickerViewProtocol>: UIPickerView, UIPickerViewDelegate, UIPickerViewDataSource {
var selectHandler: ((T) -> Void)?
var contents: [T] = [] {
@5SMNOONMS5
5SMNOONMS5 / Markdium-Shell.bash
Created February 1, 2020 16:00
Markdium-Laradock 下開發遇到 Authentication plugin ‘caching_sha2_password’ cannot be loaded
# 進入 mysql container,(我的 container 叫 mysql 也許你的不一樣)
docker-compose exec mysql bash
# Login into mysql
mysql -u root -p
# Change encryption of the current user's password
ALTER USER 'yourusername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'youpassword';
@5SMNOONMS5
5SMNOONMS5 / Markdium-Shell.bash
Created February 1, 2020 16:00
Markdium-Laradock 下開發遇到 Authentication plugin ‘caching_sha2_password’ cannot be loaded
# Remove old one
brew cask uninstall sequel-pro
# Install new
brew cask install homebrew/cask-versions/sequel-pro-nightly
@5SMNOONMS5
5SMNOONMS5 / mysql-docker.sh
Created June 17, 2020 08:33 — forked from spalladino/mysql-docker.sh
Backup and restore a mysql database from a running Docker mysql container
# Backup
docker exec CONTAINER /usr/bin/mysqldump -u root --password=root DATABASE > backup.sql
# Restore
cat backup.sql | docker exec -i CONTAINER /usr/bin/mysql -u root --password=root DATABASE