reference: blog.thirst.co
In a nutshell, STI allows you to create subclasses of a particular database table. Using a single table, you can cast rows to specific objects that extend the base model.
Lets say we have a model Computer
(function($, undefined) { | |
/** | |
* Unobtrusive scripting adapter for jQuery | |
* https://github.com/rails/jquery-ujs | |
* | |
* Requires jQuery 1.8.0 or later. | |
* | |
* Released under the MIT license | |
* |
reference: blog.thirst.co
In a nutshell, STI allows you to create subclasses of a particular database table. Using a single table, you can cast rows to specific objects that extend the base model.
Lets say we have a model Computer
#!/bin/bash | |
# Stop all containers | |
containers=`docker ps -a -q` | |
if [ -n "$containers" ] ; then | |
docker stop $containers | |
fi | |
# Delete all containers | |
containers=`docker ps -a -q` | |
if [ -n "$containers" ]; then | |
docker rm -f -v $containers |
fetch(url, { | |
method: 'POST', | |
headers: { | |
'auth': '1234' | |
}, | |
body: JSON.stringify({ | |
name: 'dean', | |
login: 'dean', | |
}) | |
}) |
Install phantomjs (http://phantomjs.org)
brew
has a recipe for phantomjs, but it has moved on to version 2.0.0, and we still require 1.8.2 (at newest), and we can't get that old and dirty with brew
anymore.
On a Mac:
mkdir -p ~/root
wget https://phantomjs.googlecode.com/files/phantomjs-1.8.2-macosx.zip -O ~/root/phantomjs-1.8.2-macosx.zip
private void initialiseOnlinePresence() { | |
final DatabaseReference onlineRef = databaseReference.child(".info/connected"); | |
final DatabaseReference currentUserRef = databaseReference.child("/presence/" + userId); | |
onlineRef.addValueEventListener(new ValueEventListener() { | |
@Override | |
public void onDataChange(final DataSnapshot dataSnapshot) { | |
Log.d(TAG, "DataSnapshot:" + dataSnapshot); | |
if (dataSnapshot.getValue(Boolean.class)){ | |
currentUserRef.onDisconnect().removeValue(); | |
currentUserRef.setValue(true); |
class App < Sinatra::Base | |
configure do | |
set :logger_level, :warn | |
set :logger_log_file, File.join(root, 'log', "#{environment}.log") | |
end | |
configure :development do | |
set :logger_level, :debug | |
end |
# FOR BUSY JOBS | |
# take the process_id from the /busy page in sidekiq and kill the longest running one. | |
workers = Sidekiq::Workers.new | |
long_process_id = 'integration.3:4:71111aaa111' # Eg: 'integration.3:4:71d1d7f4ef5a' | |
workers.each do |process_id, thread_id, work| | |
process = Sidekiq::Process.new('identity' => process_id) | |
process.stop! if process_id == long_process_id | |
end | |
# FOR SCHEDULED JOBS |
class HandleBadEncodingMiddleware | |
def initialize(app) | |
@app = app | |
end | |
def call(env) | |
begin | |
Rack::Utils.parse_nested_query(env['QUERY_STRING'].to_s) | |
rescue Rack::Utils::InvalidParameterError | |
env['QUERY_STRING'] = '' |
“clang”[ˈklæŋ] is the compiler based on LLVM for C, C++, Objective-C, and Objective-C++. clang is needed to install in order to Swift. Run the following code in Ubuntu terminal.
Before installing swift “libpython2.7” and “libpython2.7-dev” are needed to get Swift running. Run the following code.