Skip to content

Instantly share code, notes, and snippets.

View enginebai's full-sized avatar
📈
Focusing, Learning, Improving, Evolving

Engine Bai enginebai

📈
Focusing, Learning, Improving, Evolving
View GitHub Profile
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.moviebomber.ui.activity.MovieDetailActivity">
<com.github.ksoichiro.android.observablescrollview.ObservableScrollView
android:layout_width="match_parent"
public class MovieDetailActivity extends ActionBarActivity
implements View.OnClickListener, ObservableScrollViewCallbacks {
public static final String EXTRA_MOVIE_ID = "MOVIE_ID";
public static final String EXTRA_MOVIE_NAME = "MOVIE_NAME";
public static final String EXTRA_MOVIE_DETAIL = "MOVIE_DETAIL";
public static final String EXTRA_MOVIE_COVER = "MOVIE_COVER";
public static final String EXTRA_MOVIE_POSTER = "MOVIE_POSTER";
@InjectView(R.id.toolbar)
@enginebai
enginebai / crawler.py
Created February 23, 2016 06:48
Crawler Sample
#!/usr/bin/python
# -*- coding: utf-8 -*-
import hashlib
import os
from bs4 import BeautifulSoup
import requests
__author__ = 'engine'
def get_photos(url):
@enginebai
enginebai / MainActivity.java
Last active July 27, 2021 11:10
Get the current location and display a marker on Google Map.
package com.enginebai.sample;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
@enginebai
enginebai / System Design.md
Created April 19, 2016 01:21 — forked from vasanthk/System Design.md
System Design Cheatsheet

#System Design Cheatsheet

Picking the right architecture = Picking the right battles + Managing trade-offs

##Basic Steps

  1. Clarify and agree on the scope of the system
  • User cases (description of sequences of events that, taken together, lead to a system doing something useful)
    • Who is going to use it?
    • How are they going to use it?
# !/usr/bin/python
# -*- coding: utf8 -*-
import os
import sys
import re
__author__ = 'enginebai'
drawable_root = 'drawable'
drawable_dirs = (drawable_root + '-mdpi', drawable_root + '-hdpi',
#!/usr/bin/python
# -*- coding: utf-8 -*-
import hashlib
import os
from bs4 import BeautifulSoup
import requests
__author__ = 'engine'
def get_photos(url):
def get_shop_link_list():
list_req = requests.get(LIST_URL)
if list_req.status_code == requests.codes.ok:
soup = BeautifulSoup(list_req.content, HTML_PARSER)
shop_links_a_tags = soup.find_all('a', attrs={'data-label': '店名'})
shop_links = []
for link in shop_links_a_tags:
print(ROOT_URL + link['href'])
shop_links.append(ROOT_URL + link['href'])
def parse_shop_information(shop_link):
shop_id = re.sub(re.compile(r'^.*/' + SHOP_PATH), '', shop_link).split('-')[0]
print(shop_id)
req = requests.get(shop_link)
if req.status_code == requests.codes.ok:
soup = BeautifulSoup(req.content, HTML_PARSER)
shop_header_tag = soup.find('div', id='shop-header')
name_tag = shop_header_tag.find('span', attrs={'itemprop': 'name'})
print(re.sub(SPACE_RE, '', name_tag.text))
public class SwagPoints extends View {
// used in view creation programmatically
public SwagPoints(Context context) {
super(context);
}
// used in XML layout file
public SwagPoints(Context context, AttributeSet attrs) {
super(context, attrs);