A "Best of the Best Practices" (BOBP) guide to developing in Python.
- "Build tools for others that you want to be built for you." - Kenneth Reitz
- "Simplicity is alway better than functionality." - Pieter Hintjens
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController | |
def facebook | |
@user = User.find_for_facebook_oauth(request.env["omniauth.auth"], current_user) | |
if @user.persisted? | |
flash[:notice] = I18n.t "devise.omniauth_callbacks.success", :kind => "Facebook" | |
sign_in_and_redirect @user, :event => :authentication | |
else | |
session["devise.facebook_data"] = request.env["omniauth.auth"] | |
redirect_to new_user_registration_url |
Tracking memory leaks: | |
Devel::Arena - sv_stats() returns arena structures used for SV allocation | |
* Devel::Cycle - find_cycle($ref) returns all cycles found in $ref and the perl variables they point to | |
Devel::Gladiator - walk Perl variable arena | |
Devel::Leak - deprecated by Devel::LeakTrace::Fast | |
Devel::LeakTrace - deprecated by Devel::LeakTrace::Fast | |
* Devel::LeakTrace::Fast - prints leaked SV's and line numbers at END. | |
Data::Structure::Util - has_circular_ref($ref) returns ref to link in $ref that is circular or false. | |
Test::LeakTrace - no_leaks_ok(), etc. |
.DS_Store |
Located in alphabetical order (not prefer)
C
ab
), also designed as a more modern replacement, written in C
golang
)