Skip to content

Instantly share code, notes, and snippets.

View xdite's full-sized avatar

Yi-Ting Cheng xdite

View GitHub Profile
@xdite
xdite / growth-hack.md
Created May 7, 2015 21:15
growth-hack.md
  • What is Growth Hack
  • Customer Life Cycle
  • Landing Page
    • What is Landing Page
    • Different types of Landing Page
    • Copywriting
    • Headline
    • Tagline
    • Resource
  • Unbounce.com
@xdite
xdite / ai_writer.rb
Created November 13, 2019 13:10
自动生成 AI 标题
require 'rubygems'
require 'yiban'
require 'tx_nlp'
keyword = ARGV[0]
json = Yiban::Text.new(keyword).json
title_list_array = json["title_list"]
new_array = title_list_array.sort_by { |hash| hash["score"] }.reverse

Security is Hard

Massive Assignment

  • watch for ActiveRecord Relation, like has_many, has_many :through
  • watch for user_roles, `group_users
  • UPDATE action

Admin

@xdite
xdite / gist:1641818
Created January 19, 2012 18:53
RR-020 RR Object Oriented Programming in Rails with Jim Weirich http://asciirogues.com/

Jim: What I really like is that there are so many Ruby podcasts out there that are newsy. This one dives into technical issues, and I really enjoy that.

Charles: Hey everybody, and welcome back to the Ruby Rhodes podcast. This is your host Charles Max Wood, and this week on our panel we have a special guest rogue. I met him at the Rocky Mountain Ruby Conference in Boulder. He actually suggested this week's topic, so we're going to welcome Jim Weirich to the podcast.

Jim: Thanks for having me. Glad to be here.

Charles: Do you want to introduce yourself really quickly Jim for those one or two people that don't know who you are?

Jim: Sure, absolutely. Jim Weirich. I'm from Cincinnati, Ohio. I've been doing Ruby for over ten years now. I work for EdgeCase. I'm the chief scientist, and I've probably written software that you are using, such as Rake and various mocking frame works and some XML builder stuff, too. You're probably using some of my code somewhere.

@xdite
xdite / ray_dalio.zh-si.md
Created October 12, 2018 04:20
Hedge Fund Legend Ray Dalio On The Economy

Hedge Fund Legend Ray Dalio On The Economy-5C43i3yclec.mp4

对冲基金联想-5C43i3Cyec.mp4

[00:00:00] Ray D'Alessio is the founder and chief investment officer of Bridgwater the world's largest and most successful hedge fund and he is a best selling author. Coming off the launch of principles which we'll talk about in a minute but Ray welcome. I see you've written one of the largest and I have no doubt most comprehensive analysis of debt crises that I have ever seen. You say this pattern repeats itself again

@xdite
xdite / ddlh-08-08-07.md
Created August 8, 2018 07:42
得到例会 创业以来,我们干过哪99件不靠谱的事 2018/08/07

得到例会 创业以来,我们干过哪99件不靠谱的事 2018/08/07

下一周我们全公司整间要搬迁,搬迁到一个新的地方去,离现在我们这个地方不是很远,但是它是一个沉淀了我们太多的劳累,总之就是那些词吧,你懂得。

各种不堪,各种光荣与梦想,但是我们觉得在搬迁之前,最应该跟大家交代的是我们干过的那些傻事,傻逼事,不靠谱的事,为什么要说这个话题?很多人都在问我们,说你们公司怎么创业几年来干什么,什么成,快刀每次遇到这个话,都会不怀好意的怼回去,说你是没看到我们干不成的那些事,我们没说而已。

所以上个星期我们就跟快刀商量,说要不你就梳理梳理,为什么让快刀梳理呢?因为我们想的任何一件不靠谱的主意,最后都是落实到快刀,要把它做在产品和技术上,所以他那儿的档案保存是最全的,翻他的工作日志就知道我们这个公司做了多少不靠谱的事,所以今天我们就是这个主题。

我们先请快刀来跟大家说说我们干了哪99件,但是99我估计是一个约略的数,只是为了凑个整,挑出来的这么一个数,其实远远不止,当然在快刀之前我必须声明,虽然傻逼事都是他干的,但是责任不归他,因为大多数傻逼事都是我想的。

@xdite
xdite / 99design.md
Created July 25, 2018 14:02
Matt Mickiewicz (Hired, 99designs, Flippa) 7 lessons learned from scaling to 250+ employees

Matt Mickiewicz (Hired, 99designs, Flippa) 7 lessons learned from scaling to 250+ employees.zh-si

  • 大家好,我是MattMichiewicz。

感谢您那么棒的开场白。

下一张幻灯片上,您会了解到我有幸在过去15到16年所工作过的公司。

我第一份工作是在高中时开始的,那时我才14岁,是sitepoint.com,它是一个网上杂志,以及针对网络开发者和网络设计师的图书出版商。

今天来谈谈我如何看这个疯狂的 ICO 世界。

基础定义

我先讲这篇文章的几个创业世界基本前提定义:

  1. 一个正常的硅谷创业公司。运气好非常好五年可以退出。这是1% 的情况。2-3% 可以 IPO。其馀的大概90%死在 seed round 与 A round。
  2. 传统天使投资人获利的方式,假设是他在种子轮投了100万人民币占10%股份,经过三四年,经过不断的接盘侠 VC,融到了 C 轮,D轮,市值变成了10个亿。那么他当初的100万就变成了1亿。
  3. 公开发行(IPO)让大众去买股票,可能 10 个亿又变成了 40 个亿。
@xdite
xdite / omniauth_callbacks_controller.rb
Created June 17, 2018 10:36
app/controllers/users/omniauth_callbacks_controller.rb
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
def self.provides_callback_for(*providers)
providers.each do |provider|
class_eval %{
def #{provider}
Rails.logger.warn(request.env["omniauth.auth"])
if not current_user.blank?
current_user.bind_service(request.env["omniauth.auth"])#Add an auth to existing
redirect_to edit_user_registration_path, :notice => "成功绑定了 #{provider} 帐号。"
@xdite
xdite / omniauth_callbacks.rb
Created June 17, 2018 10:35
app/models/user/omniauth_callbacks.rb
class User
module OmniauthCallbacks
["slack"].each do |provider|
define_method "find_or_create_for_#{provider}" do |response|
uid = response["uid"]
data = response["info"]
if identity = Authorization.where("provider" => provider, "uid" => uid).first
user = identity.user