Sunday, December 13, 2015

纸质日记还是在线日记?

从大学以来多年养成的习惯,每天都会在日记本上写几句话,要么流水账要么是感慨。
随着2015年即将过去,我在考虑新的一年要不要开始在电脑上写日记。。
为什么要用电脑写日记?
一来,自己的字太潦草,以后不好辨认。
二来,纸质日记本来回拿着确实不大方便。
三来,担心被盗。
四来,以后可以用电子版做统计。
为什么要用写纸质日记?
- 现在用手写中文的机会越来越少。

嗯,确实需要在2016年前考虑考虑了。
PS: 伪装者真好看!
read more ››

Wednesday, November 18, 2015

Android

Gravity and layout_gravity on Android
- android:gravity sets the gravity of the content of the View its used on.
- android:layout_gravity sets the gravity of the View or Layout in its parent.
http://stackoverflow.com/questions/3482742/gravity-and-layout-gravity-on-android

Align views at the bottom of the screen
android:layout_alignParentBottom with RelativeLayout
android:layout_centerHorizontal="true"
http://stackoverflow.com/questions/2386866/how-to-align-views-at-the-bottom-of-the-screen

Responsive Design
Since these files have large and sw600dp selectors, they are applied to tablets and TVs regardless of Android version (pre-3.2 tablets and TVs match large, and post-3.2 will match sw600dp).
width dp. For example, -w600p
height dp. For example, -h600dp
smallest width dp*. For example, -sw600dp
http://developer.android.com/training/multiscreen/screensizes.html
http://documents.mx/technology/responsive-mobile-design.html


read more ››

Sunday, November 8, 2015

24k纯吐槽

近期实在是太忙,忙其实也是小事,主要是压力太大。
公司新产品要上线,大家争分夺秒改code。
最近相关的feature还间歇性crash,就要立即修复,因为下周一数以万计的用户crash了将会非常严重!
1.最近整个一周就在忙碌恍惚头晕的状态,已经数不清修了多少bug,更可怕的是还有哪些未知的地方可能会crash。每天早上醒来第一件事就是看crashlytics(Twitter做的一个记录app所有用户crash信息和stacktrace的网站)是不是有自己相关的feature crash过。如果有还得赶紧修。所以每天都在看crashlytics和code,希望能更稳定一些。
2.修普通bug也是习以为常,有 用户会来报bug,关于i18n的,关于UI的;有QA会来报bug,bahavior不对了;有PM会来报bug,想再改进改进哪里(还好他说如果需要很多work就不急着改);有Manager会来报bug,是其他组分给他他再分给我的。
刚修完已有的bug,总有新的问题过来,感觉就是源源不断的来怎么也做不完。其实也多亏了组里另一个做Android的同事的帮助,心里有点谱。
3.开始被打电话了。周五中午正面试,老板一直打电话过来我又不能接,搞得我心烦意乱。面试完,另一个小哥也打电话过来说了个crash的问题,我午饭也来不及吃赶回去看问题。都有点神经衰弱了。。
4.而且还有一些不可抗因素,比如同事PTO!比如临时改需求!
同事休假而且他的feature没做完,又临近上线,对我和另一个做Android的同事来说就是不小的打击。。可能他有什么私人要紧的事要请假吧。
昨晚,就是周五晚上,居然有个跟我有关的重大的feature改动,而当时我在送wizard去拍MRI,不知道。后来同事帮我改到半夜3,4点。。他并不熟悉我们那个feature,做的改动非常大。后来有些东西也不能用了,今天,就是周六,我上午发现问题感觉想办法联系别人,中午匆匆煮了泡面吃完就开去公司加班整修。感觉挺对不起同事的,他帮我改了那么久,结果有些东西不能work,肯定觉得很不爽。我也挺不爽的,到昨晚,上面才临时决定改feature我也不知道,说得容易做的没那么容易。到了公司,2019好多人都在加班,不知道是不是心理原因,当时就有点眩晕,没有什么力气。边修这个bug,老板还让我看push notification的问题。如果明天还去公司,就要连续12天上班了。。

赶紧全面上线吧!赶紧全面上线吧!赶紧全面上线吧!

吐槽就这么多,祝下周顺利点儿!肚子不要那么疼。
read more ››

Saturday, October 24, 2015

工作之余应该做什么

忙着工作很多东西都搁置了。
最近想起之前的种种设想,和别人也聊到很多程序员业余时间都做什么,觉得还是培养起来自己的爱好,多学点东西比较好。
不要得过且过,过一天是一天。
等这阵子过去安定下来了,就开始好好考虑这个问题。

机遇有多重要?
之前从没有考虑过跳槽这个问题,刚刚跟Uber的manager聊天我感觉真的要重新 想一想。
read more ››

Sunday, October 18, 2015

未来一个月快快过去!

最近特别累,让我明白了几件事情。
1.马斯洛需求层次理论果然没有错。
之前还想着护肤保养健身瘦身什么的,最近忙起来,有时候累得连脸都懒得洗就睡了。。看来基本工作没有完成的情况下,其他通通靠边站吧。
2.上班之后真是身不由己了。
以前想着活干完就行了。我错了,活是干不完的。LinkedIn work-life-balance很好。我错了,老板说加班,大家不得不加。。鉴于这是特殊时期,可是如果开了这个先例以后加班成风呢?我怕。。
哎哎好想撂挑子!
read more ››

Sunday, October 4, 2015

一点迷茫

最近上班挺忙,有时候下班回家还会开电脑忙忙公司的事情。睡前追剧看以前老火的蜗居。看着看着就开始迷茫了,夹杂着一点消极。
我就想着,青春和富裕是不是不能共存呢?当我上学的时候,想买什么花钱还挺谨慎,毕竟是爸妈辛苦的工资。当时想着,等我上班自己赚钱的时候就可以随心所欲买买买啦。现在上班了,手头也不那么紧了,可是却感觉没什么期待。上班之后责任重了,要承担的东西不仅仅是学生那么简单。哎,我可能还是更喜欢“穷开心”的状态吧!
read more ››

Saturday, September 12, 2015

上班三个月小结

就分几个主题说说自己的经历和感想吧。

第一辆车

8月底买了第一辆车--2015 Prius,贷款买车。到目前总体感觉不错,就是倒车影像没有显示线让水平一般的我无法倒车入库。昨天因为阳光太刺眼,看不清影像,把车给蹭了。第一次蹭真心疼啊。在Toyota买车还是比较顺利的,就逛了一家4s店,贷款也是找的他家,虽然刚开始给了6点多的APR,过几天说了一下还是给我降到了2点多。不过多交了1000块的maintenance让我买车时心情顿时不太好了。车的保险是farmers,价格比较适中。因为是混合东西,开起来还比较顺手而且省油。希望接下来不出什么问题就好!
Github小标志让街车稍稍与众不同^^
现在车的右屁股已经不是那么光滑了TAT

工作情况

聊聊工作,最近有新产品上线,大家都比较忙。可能这对我来说是个好时候,能快速了解公司很多东西,也能迅速学习?压力还是挺大的。对我来说,就是不断的学习Android然后上手开发,然后继续学习上手开发这样。由于我们组跟其他组都有一些联系,自己也认识了几个同事,不过都不算熟吧。
不知为何,刚入职一个月他们就让我这个不做后台的人oncall,真心啥都不会,oncall第一周运气好就是把oncall第一天学的流程往复5天没有遇到什么bug。然而对于刚刚结束的这一周,事情就复杂了,因为有新产品没有加我为owner我还要提交新的rb等着approve,然后deploy总是出现乱七八糟的failure我又看不懂,别人发邮件问我asset是不是没有上传,我就帮上周没有上传的东西更新,别人问的一些问题我也没有头绪只好转给相应的人。。还好这周过去了,下周终于可以开始正式忙自己的活了。。
在这里不得不提跳槽,刚到公司听说大波员工跳槽Uber,有人开玩笑说有些组一半人去了Uber另一半没跳的则是面挂了Uber的人,我倒不以为意。直到这周我们小组走了个顶梁柱JC(还是中国人!),我们大组走了好几个人,貌似大多都是跳Uber,我才发现朝夕相处的同事可能下一周就去别的公司入职了,不禁感慨万千。对我来说,公司是哪家并不是那么重要,因为自己要学的东西太多了。等到自己翅膀硬了再考虑跳槽吧!
去年面UBER的时候拍的,那天下雨
还有就是人情味与朋友圈的问题。之前提到过自己要多交朋友,然而越发发现这不是件容易的事。一来自己初来乍到,很多同事都有自己固定的圈子,我很难把握和他们交往的度,若是太远很容易让人误会自己不够真诚,若是太近担心自己的突兀让别人感觉尴尬和厌烦。二来除了同事间的交往,没有太好的途径去交朋友,一起来湾区的而且认识的主要就是UCSD的一帮男生,无八卦可交流有木有。三来,包括自己的大多数人到了这个年纪交友开始变得谨慎,不可能从一开始就能交心,需要磨合和适应才知道是不是能称之为密友,最后还是这个度的问题。人情味嘛,我特别喜欢在国内大家一个公司里的同事一起下班吃饭唱k周末出去玩的人情味和氛围。而在美国呢,一个公司一个组的人来自五湖四海,除了工作交集很少,除了一些在bar里的社交活动,大家普遍下了班就各自回家,即使在bar里我也不怎么喝酒,不会聊太多深入的问题,心急火燎想回家。

健康与健身

上班之后,因为坐姿问题开始腰酸背痛。久坐在电脑前,对眼睛,皮肤,颈椎和腰背都有损伤。于是我约了公司的腰背测评,服务人员特别好,帮我调整了显示器,桌子和椅子的最佳高度,还帮我免费订购了显示器支架和apple的touchpad。然后我因为缺乏锻炼,又预约了公司的fitness assessment。健身教练超正,身材也爆好。这个fitness测评一共有三次meetup,第一次是测评,第二次教练和根据你的身体和目标制定健身计划,第三次就是三个月后的成果检测啦。第一次很不幸我的体脂比居然到了28.7%,体重在预料之内,她建议我每天只吃一顿主食(对我来说不太可能,我吃两顿吧),然后少吃高fat的零食什么的。第二次会面她教了我一些健身动作,练完肌肉再做一些有氧运动,还建议我参加一些比如zumba的课程。基本上每周一周五会去健身,周三参加zumba。虽然自己跳舞很挫,但自娱自乐跳的很嗨,确实非常有氧,出汗让全身都舒服起来。我每天早上吃的比较多,中午在公司主要就吃黄瓜和番茄,再加一些牛肉,没有吃主食下午也不觉得太饿,晚上回家自己煮一些面条还很暖胃。这一个月下来疗效还算明显,体脂比终于降到27%以下。
不过每到双休日就会多吃一点,中餐和奶茶基本是必备。今天去吃一家烤鱼,有一点儿国内的感觉,非常过瘾。说到奶茶,之前觉得quickly实惠又好喝,直到遇到天仁名茶!一进那个轻松小站浓浓的茶香铺面而来,那才是真正的奶“茶”,之前喝的大多是勾兑的茶不是特别放心。还有我感觉健康真是非常重要,上班之后尤其如此,果然经不起熬夜了。大概每天12点前睡,不过最近有时候会受到失眠困扰,尤其是第二天要上班的时候,那时心里就特别担心,还好担心一会就睡着了。有时候睡觉时膝盖会有点神经疼,导致我没办法睡着。。。
烤鱼超过瘾

大概就是这么个情况,另外我要考虑去做一次全身体检。还有过几天不要忘了打HPV的第三针,已经半年了。至于牙医,我打算再把下牙整一整,初中箍的牙现在又歪了TAT,不过这个优先级不高。

DMV sb至极

无力吐槽dmv,这种极其低效率的机构怎么还会存在呢?低效率也就算了,我renew个驾照去了四次dmv,因为dmv一直没把新的驾照寄给我,持续了半年!也打了很多次电话,然而我对他们的电话系统也非常不满,等半天才能跟一个活人说话。谈论的的结果往往是他们系统显示正在审查我的信息不能发新的驾照。满肚子怒气还得不得不去dmv,然后每次去dmv都要排一个小时以上的队,特别耽误事儿。最后一次去一个新的dmv,倒是不用排队,但是办事员居然是个啥都不会的新人!遇到一点问题就去问经理,我本来能拿h1b renew三年的驾照,最后竟然用我的opt renew了不到一年!也就是说我明年还得去dmv跟他们耗。。。实在无法理解,这种机构怎么能存活?更新的驾照拿不到,也无法网上查驾照的更新状态,也查不到是不是做好寄出了,是不是寄丢了。。DMV毫无疑问是我最讨厌的美国部门第一名。
DMV SUCKS!图片来自网上

好了,总结完毕,今年下一步,多交朋友,学一项技能(划船),找房子搬家,箍牙,争取回趟国。加油,开心!




read more ››

Monday, September 7, 2015

上班后某天的一点感慨

老早想写一篇博文,毕竟从6月8日开始上班到现在这三个月也开始新的阶段,同时进入了25岁大关。可惜太懒迟迟没有下手。
现在想想好像确实没有什么心得经验教训,只是当下的一些体会罢了。
哎,今天是Labor Day最后一天,明天又要上班了。每到周日晚上心情就非常沉重哎自己太懒了。
而且这周我还oncall!!
好辛苦心好累。。
前一阵子把移动硬盘里我本科和研究生时期的照片全部上传到google photos上去了,巨多,40多个G。单单上传都花了一整天。然后自己慢慢删除一些没用的照片。。这又是一次回忆的过程。无论当时多么的不喜欢上学,现在想起来却是非常珍贵和值得留恋的。想想也是,去年冬天面试各家公司的时候,我成了每周飞2趟三藩,劳累到趋近于崩溃的空中飞人,但是现在我还是挺想念那段在机场在飞机上在三藩的点滴。
自己确实是个恋旧的人,对回忆里的片段无论在自己当时的心境如何,现在想起来都是非常美好的。可能是因为现在全都看得到结局吧。很难想象自己老去以后,看到当年的自己的感慨呢。。
就以某个同学的签名作为结尾吧。
有些日子虽然已经过去很久,可依然还有零星的记忆。

好了,祝自己下周上班开心一切顺利吧~近期重大事件下次再写:)
read more ››

Thursday, July 2, 2015

Useful Links

How to Enable the Developer Options in Android 4.2 on Nexus 4
http://www.valuewalk.com/2013/05/how-to-enable-the-developer-options-in-android-4-2-on-nexus-4/

INSTALL_FAILED_UPDATE_INCOMPATIBLE when I try to install compiled Trebuchet.apk on device
http://solvedstack.com/questions/install_failed_update_incompatible-when-i-try-to-install-compiled-trebuchet-apk-on-device

Gradle and Android Studio.....

R.java
http://developer.android.com/guide/topics/resources/accessing-resources.html
Once you provide a resource in your application (discussed in Providing Resources), you can apply it by referencing its resource ID

http://stackoverflow.com/questions/20673625/android-gradle-plugin-0-7-0-duplicate-files-during-packaging-of-apk

Undo 'git add' before commit
http://stackoverflow.com/questions/348170/undo-git-add-before-commit

getContex
http://stackoverflow.com/questions/13684094/how-can-we-access-context-of-an-application-in-robolectric

Android unitTest support
http://tools.android.com/tech-docs/unit-testing-support

make android emulator smaller
http://stackoverflow.com/questions/2359895/android-emulator-screen-too-tall

Implements vs. Extends in Java
http://stackoverflow.com/questions/10839131/implements-vs-extends-when-to-use-whats-the-difference

List vs. Arraylist
http://stackoverflow.com/questions/2279030/type-list-vs-type-arraylist-in-java

Array vs. Arraylist
First and Major difference between Array and ArrayList in Java is that Array is a fixed length data structure while ArrayList is a variable length Collection class. You can not store primitives in ArrayList.
http://java67.blogspot.com/2012/12/difference-between-array-vs-arraylist-java.html

Android Category
The BROWSABLE category is required in order for the intent filter to be accessible from a web browser. Without it, clicking a link in a browser cannot resolve to your app. The DEFAULT category is optional, but recommended. Without this category, the activity can be started only with an explicit intent, using your app component name.
https://developer.android.com/training/app-indexing/deep-linking.html

Android Webview
http://developer.android.com/guide/webapps/webview.html

Purpose of using buildscript in build.gradle
http://stackoverflow.com/questions/17773817/purpose-of-buildscript-in-gradle

Androidmanifest path&pathprefix&path
The path part of a URI which must begin with a /. The path attribute specifies a complete path that is matched against the complete path in an Intent object. The pathPrefix attribute specifies a partial path that is matched against only the initial part of the path in the Intent object. The pathPattern attribute specifies a complete path that is matched against the complete path in the Intent object, but it can contain the following wildcards:
http://developer.android.com/guide/topics/manifest/data-element.html

scheme://host:port/path or pathPrefix or pathPattern
        <activity
            android:name=".infra.deeplink.DeepLinkHelperActivity"
            android:configChanges="keyboardHidden|orientation|screenSize">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <!--  For Deep Linking -->
                <data
                    android:host="www.linkedin.com"
                    android:pathPrefix="/voyager"
                    android:scheme="https" />
            </intent-filter>
        </activity>


Troubleshooting
logansquare com.bluelinelabs.logansquare.nosuchmapperexception could not be mapped to a json object
Sol: proguard-rules.txt!!
https://github.com/bluelinelabs/LoganSquare

hashMap vs arrayMap
ArrayMap is a generic key->value mapping data structure that is designed to be more memory efficient than a traditional HashMap.
https://developer.android.com/reference/android/support/v4/util/ArrayMap.html

pass class into the method is slow
Reflection?

Remove files from Git commit
If I made the wrong commit, not pushed yet....
http://stackoverflow.com/questions/12481639/remove-files-from-git-commit

Merge latest two commits into one
$ git reset --soft "HEAD^"
$ git commit --amend
http://stackoverflow.com/questions/2563632/how-can-i-merge-two-commits-into-one

Transparent activity in Android
http://stackoverflow.com/questions/2176922/how-to-create-transparent-activity-in-android

 To allow your app to take advantage of these changes and ensure that your app fits the style of each user's device, you should set the targetSdkVersion value to match the latest Android version available.

Intent ACTION_VIEW
action -- The general action to be performed, such as ACTION_VIEW, ACTION_EDIT, ACTION_MAIN, etc.
data -- The data to operate on, such as a person record in the contacts database, expressed as a Uri.
http://developer.android.com/reference/android/content/Intent.html

Android click event outside a dialog
Dialog dialog = new Dialog(getActivity());
Window window = dialog.getWindow();
window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
                WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
dialog.setCanceledOnTouchOutside(false);
dialog.show();
http://stackoverflow.com/questions/9516287/android-click-event-outside-a-dialog

Git patch apply
$ git apply ../rb562855.patch
http://makandracards.com/makandra/2521-git-how-to-create-and-apply-patches

No underline for drawable in android
http://stackoverflow.com/questions/18869605/failed-to-convert-drawable-into-a-drawable

FILL_PARENT (renamed MATCH_PARENT in API Level 8 and higher), which means that the view wants to be as big as its parent (minus padding)
WRAP_CONTENT, which means that the view wants to be just big enough to enclose its content (plus padding)

bring view on front of everything
yourView.bringToFront();
http://stackoverflow.com/questions/6759279/how-to-bring-view-on-front-of-everything

Set radius in Android
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#FFFFFF"/>
    <corners android:radius="10dip"/>
</shape>
http://stackoverflow.com/questions/16161448/how-to-make-layout-with-rounded-corners

Slide down and gone
Cool!
view.animate()
    .translationY(0)
    .alpha(0.0f)
    .setListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationEnd(Animator animation) {
            super.onAnimationEnd(animation);
            view.setVisibility(View.GONE);
        }
    });
http://stackoverflow.com/questions/19765938/show-and-hide-a-view-with-a-slide-up-down-animation


Error:Timeout waiting to lock buildscript class cache for build file
delete everything under ~/.gradle/caches


read more ››

Wednesday, May 20, 2015

这才是夏天

这才是夏天

五月初拿到approval notice我立刻买了回家的机票。5月11日从SFO出发,当地时间5月12日下午飞抵上海。当时上海天气真不错,非常凉爽,跟我印象中上海夏天的潮湿闷热很不一样。晚上吃了绿茶餐厅然后就休息了,结果!失眠了!一夜没睡。。5月13日下午坐动车,回郑州。

回国的一大原因便是吃,受够了美国千篇一律的饮食一定要好好改善改善,吃吃吃!可惜前两天用力过猛导致最近消化不良伴随轻微腹泻,现在没什么食欲TAT

早点

胡辣汤,我的爱!大清早吃到一碗街边5块钱的胡辣汤豆腐脑两掺,配着油条,真是人间享受。煎饼果子也是一绝,为什么就是个鸡蛋饼加上脆脆的麻叶和榨菜就这么好吃呢?胡辣汤如下。
 

河南烩面和卤面

河南烩面历史悠久,郑州当地合记烩面和萧记烩面比较有名。我最喜欢吃的是合记,羊肉汤里放着木耳,粉条,黄花菜,羊肉,枸杞,有时候还有鹌鹑蛋,汤鲜味美,特别好吃!之前我对烩面还没什么感觉,2009年我第一次离开家去上大学开始有了家乡的情怀,特想念那一碗热腾腾的羊肉烩面。 卤面就是很多别省人口中的焖面,五花肉,豆角,豆芽,配着闷面条特别的香。奶奶做的卤面最好吃,这次回家奶奶还特意做了一大锅,配着西红柿蛋花汤下肚那叫一个爽。作为北方人,我对面食的情结是与生俱来的。只是出国之前一直是潜伏期没有爆发,到了美国我总想吃一碗热腾腾的面,在我看来,一碗美味的面配着小菜下肚是最过瘾最痛快的了。卤面如下,
 

街边小吃

我心中最正宗最诱人最接地气的就是路边摊了。什么烧烤,烤鱼,炸豆腐,烧饼夹菜,大盘鸡,虽然不卫生,偶尔吃一两次应该问题不大。

颓废啊

自从硕士毕业,整个人都特别颓废。这是我的毛病,忙了一段时间之后,一下子放空自己,包括高考完的那个暑假,本科临近毕业的大四和之后的暑假,还有现在。每天就是宅宅吃吃玩玩混日子。。不同的是,过了这个空档期我就要脱离学生时代步入工作殿堂啦。早点收心,多做准备。

夏天

国内的夏天总能让我感觉特别舒服,即使有漫天的柳絮,讨厌的蚊子和大大的太阳。。这些总能让我回忆起中学时代的种种美好。我也看到了在记忆中的变与不变。 “大上海城”是我十年前经常逛的地方,当时觉得什么店都高级的不得了,吃喝玩乐都有。这两天故地重游看到了一些新的门店,但是大体没有什么变化,只是现如今再看那些不变的门店不变的饰品,心态倒变得不同了。如今郑州有了很多新Mall,万达,万象城,大卫城,国贸360什么都有,包括面包新语,满记甜品的吃货店和各种大牌名品店一应俱全,地铁一号线已经投入使用,二号线和五号线明年开通,郑州越来越有“商城”的意思了。

说点儿什么

最近大奇哥结婚了,应该是我届CSE系中国人第一个领证的,祝福祝福。看到新娘子的新婚感言,我也非常感动~能在纷繁复杂的世界找到这样一个能让自己全身心付出的人真是不易呀。我也会好好珍惜身边的幸福! 后记:我很想念之前自己在初中的发小们和在上海实习时候的小圈子。最近常常感到孤独,有许多话想与他人分享。是时候多交朋友了!提笔忘字,我还能写这么一堆废话,真是服了自己。
read more ››

Tuesday, May 5, 2015

New York之行和“饮食男女”

New York之行和“饮食男女”

2015年5月1日,SJC->MSP->LGA我飞到了纽约拉瓜迪亚机场,开始了3天的纽约之行。遥远的行程,加上中间转机和3个小时时差,早上4点多起床折腾到晚上7点多才和尚公和Yurun碰面。
我也真佩服自己,在六七个小时的飞机上居然能一直玩3DS不停事儿。 其实这是我第二次去NYC,头一次是onsite面Bloomberg,待了一晚上就回了。当天面完Bloomberg去机场的路上就收到Palantir的来电给我拒信。。然后,回家第二天一大早就收到Bloomberg的拒信,自己也因为NYC的天气感冒了。感冒耗了快一个月才好,所以当时都是感着冒面完剩下公司的(沙哑的嗓音,流不尽的鼻涕)。。所以第一次对NYC的印象不是很好。不过,第二次就不一样啦!

Life on the Go

抵达纽约的当晚吃完晚饭和Lady M就去Times Square溜达,晚上10点还是人山人海。在电子广告牌上常常可以看到中文的广告,有中国山东的广告,还有北京故宫的,比较惊艳的是女星秦岚的面膜广告啦~好清纯呀。Toysrus的旗舰店里还有在室内的摩天轮~特别有气氛!

玩在NY,住在NJ

因为住在Hoboken,回去是坐的是path,类似地铁。穿过Hudson River河底隧道,就到New Jersy了。Hoboken挺舒服,听说是钻石王老五最多的小镇之一呢嘿嘿~

交通

纽约太拥挤了,时时刻刻处处都是忙碌的人群。所以,过马路大家好像都不看红绿灯,汽车也不care,横冲直撞。总之就是人车互不相让。。地铁么,线路非常多,不过很老旧了还有些怪怪的气味。有天坐过站直接坐到了Brooklyn,没出站周围就全是黑哥哥黑叔叔了。。把我吓怂了。总之出行肯定是坐公交车或者地铁~但是到哪基本上都要一个多小时的车程,也挺不方便。因此我还是更喜欢大农村的交通。

时尚之都

纽约真是时尚之都,虽然我不懂时尚,但我知道几个明星。我走的那天恰逢Met Ball,就是在一年一度在大都会博物馆的慈善舞会,娱乐界,体育界,时尚界名流名媛各种名人都会出席,有东部奥斯卡的美称。今年的主题是中国风,所以邀请了包括章子怡、范冰冰、李冰冰、刘嘉玲、吴亦凡、赵薇、高圆圆、刘雯、孙菲菲、周迅、李宇春、汤唯、陈坤、倪妮在内的好多中国名人。居然在路上一个都没碰到,哼!

在这里不得不提此行我的最爱——Nintendo World。位于洛克菲勒中心的任天堂体验店一楼有好多的new 3DS和玩偶,二楼呢,是6,7台WiiU,里面有马车,Zelda和大乱斗,还有3台专供Mario Party的WiiU,体验了一下Mario Party10,太好玩了!二楼有更多的玩偶卖,一大片全是Pokemon,还有各种造型的Kirby,Mario系列的还有很多~太喜欢了。二楼还陈列着各代各版本的任天堂掌机,本想多看看奈何时间不够。下次还要去!

美食!

大爱法拉盛!姐弟俩土豆粉,烩面,鸭血粉丝汤,大盘鸡,兰州拉面,煎饼果子,满记甜品,快乐柠檬,真是啥都有。更不必说湾区也有的美食了,比如陕西小吃,生煎包什么恶。。那家河南烩面,什么河南菜都有~真羡慕啊! 如果在硅谷我能经常吃到烩面,胡辣汤和土豆粉就好了!所以我们第一天吃了土豆粉和鸭血粉丝汤,第二天吃了大盘鸡,兰州拉面和河南烩面。
第三天晚上在曼哈顿的中国城和赵小越和小朱一起吃了晚饭。和她们也有两年没见了,大家都没什么变化,真好!曼哈顿那家中国城的火锅就不是太好了,性价比低。还是法拉盛好,就是太远。

17年的友谊

此次纽约之行的重要目的是看尚公。自小学一个班到现在我们认识了17年,感觉却没什么变化。他现在在NYC一家广告公司实习。通过跟在纽约上班的朋友的聊天,我发现他们与湾区是完全不同的生活方式,上班时间较长,自己的生活较短,social能力更为必要。
尚公真是个称职的地陪,陪吃陪喝陪玩,住处也给我找好了。这两天和他聊了很多,在美国的情况和对未来的规划。原来刚来美国各种不适应不顺的不止我一个。我们还聊了很多初中的小学的记忆~真是很久没和一个这么多共同回忆的一起去品味过去了!聊到他们男生那次去网吧被老师一锅端,聊到我因为上课说话被班主任调到第一排和他坐了同桌,聊到我和他因为说话同桌第二天就被老师在中间安插了人,聊到我们喜欢的不喜欢的各科目老师,聊到我们班在学校主席台旁的清洁区大家都喜欢去打扫可以晚去上课,聊到上课迟到的唱歌政策,聊到每次月考后后黑板上写的各科前三名(往往有我和他XD),聊到我们8班和7班的恩怨情仇,聊到做小组长的职务之便——收作业顺带抄作业,聊到小学的女神班主任。。直到地铁坐过站!那天就那么聊,谈十年前的种种,仿佛能闻到夏日里郑铁二中校园里的香气,能吹到习习清风,能听到教室窗外麻雀的叽叽喳喳和电风扇的嗡嗡作响,能看到老师拿着粉笔头去砸瞌睡的同学,冬日里还能在教学楼里打雪仗和放学一起推着自行车回家(地上结冰,一刹车或转弯就撂倒)。。。直到我有点想哭鼻子。初中那是我最美好的记忆!还聊到那时同学的近况,我发现真的回不去了。

2015年5月4日,JFK->SLC->SJC终于在晚上11点回到了大加州。。那几天每天都要走好多路,好累呀~但是,不虚此行!

"饮食男女"


这次在飞机上看了1994年上映的一部电影——饮食男女。看完这个电影,我对导演李安更加敬佩了。这部电影里处处是生活,渗透着亲情,我特别喜欢这类电影。看似平铺直叙,却不会让我有昏昏欲睡或者快进的念头。因为生活化的亲情让人有共鸣,我从一开始就被打动,从眼泪一直在眼眶里打转。而且我居然没认出二十年前的张艾嘉,归亚蕾~另外,影片里做饭的细节令人垂涎三尺!就不剧透了,五星推荐。






read more ››

Monday, April 20, 2015

最近总做梦。

最近几乎天天做梦,而且往往是噩梦,有恐怖的也有恶心的。

RP不错终于抽中了H1b~等着USCIS process我的case吧!

今天看大众点评网郑州的餐厅,口水流了一地,我要回国吃好吃的。。TAT
read more ››

Wednesday, April 15, 2015

H1b

居然加州已经有人抽中了hehe。

“情不知所起,一往而深,再而衰,三而竭”,哈哈,这个改写正得我心!
read more ››

Monday, April 13, 2015

Seattle之行和"万物理论"

西雅图之行



除了总是下雨,除去liyang不停地赞叹,我觉得西雅图还是挺适合居住的。刚从西雅图回来头痛加想吐加大姨妈,卧床了一天多极其难受。现在稍有好转,就放几张西雅图之行的照片吧!

Space Needle



太空针是毫无疑问的地标咯!

我和太空针



晨昏两相宜





The First Starbucks



下面是位于派克市场的世界上第一家星巴克一角,买了两个杯子准备回国送给爸妈。



University of Washington



一直低估了华盛顿大学,后来发现无论综合排名还是CS专排都是相当可观呀!位置好,校园也很美。UW的樱花让我不禁想起同济的樱花大道来,很合时宜。



电影Theory of Everything



去西雅图的飞机上看了万物理论,看完回味无穷,个人非常喜欢!这几天反复看了两遍。。



电影原声也特别好听。
read more ››

Wednesday, April 1, 2015

越长大越矫情

越长大越矫情



今天收到前天订购的长笛,抹凡士林,组装笛子一气呵成,奈何指法全忘了。还得从基本练习起啊!

回想起小学时练了几年长笛,放弃继续练时竟没有一点感觉,一切顺其自然。

设想现在,要是放弃个什么,肯定会发个微博写个博客什么的抒发一下自己的感情。

真的是越长大越矫情啊。其实不大喜欢这种矫情,却越发离不开它。


补记期末前LA和IRVINE之行 (March 7th, 2015)



下周就是final week,趁着毕业之前去趟LA和IRVINE吃吃玩玩。

主要是心里放不下Warner Bros Studio,刚来美国就想去来着,左拖右拖拖到了快要离开San Diego之时。这样两天一夜的IRVINE和LA之行便成行了。

第一天IRVINE,吃了特想吃的沸点臭臭锅,逛了Mitsuwa买巧克力,晚上在LA吃了个梁妈妈,吃到了我爱的烩面。

第二天LA,终于去了心心念念了华纳兄弟影城。那个VIP tour会带我们在影城各处逛游,包括一些取景和影棚,有ELLEN SHOW和生活大爆炸的影棚。还有收藏很多拍摄用品的博物馆,比如哈利波特和蝙蝠侠的。还有巨大的道具室,里面各个道具都有编号和价格,有的也被高价拍卖了出去。重点是,在最后导游带我们去FRIENDS当年拍摄的咖啡馆,十多年了,一切如旧(泪流满面)。

这就是CENTRAL PERK



我和兔八哥



第二天晚上在贵陕人家吃了凉皮肉夹馍,心情无限好!

吃是最治愈的



一直嚷嚷减肥,可是我太喜欢了!

看到网上分享的各种零食和饭店,整个人就不好了。我这么年轻,应该趁能享受口福多吃多过瘾!什么奶酪蛋糕,甜品,蜂蜜厚多士,火锅,真太诱惑了。

可是身上太多肉又不能穿好看的衣服,有挫败感。

好纠结TAT

经过不懈努力,终于在前天成功拿到了Degree Verification可以以Master Degree抽签了。今天开始抽签,祝自己抽中:)

顺风祝自己早日拿到EAD卡!
read more ››

Monday, March 30, 2015

芝加哥之行和北京青年

芝加哥之行



2015年3月27日到2015年3月29日,圆神和我飞到芝加哥玩了一圈。没想到芝加哥这么远,单程不转机居然要4个半小时。当然为了买廉价机票,我买了转机一次的去程早上6:50出发,直达的返程晚上11点半到达的机票= =七百多刀有木有~


冷!冷!冷!



我不但地理不好,常识也不够。在Willis Tower看到广阔的水域的时候,我以为是大海,原来是密西根湖。到芝加哥吹了一整天的寒风才知道它叫风城。因为芝加哥有Magnificent Mile也就是Michigan Avenue,芝加哥还有密西根湖我就以为芝加哥是Michigan的,原来它是Illinois州的啊。

真心冷的不得了!幸亏羽绒服有帽子,头不算太冷。但是没戴围巾!风一吹,冷空气全灌进羽绒服里了。。四月跟前儿还是零下的温度路上还有积雪,一年有一大半都是冬天这让我分外想念加州啊。旅行的第三天居然还下起雨夹雪,其实我也好几年没见到雪了,不错不错。

正因为芝加哥的冷,我们爱上了热饮。这边很多7-11或者Wallgreen或者Dunkin' Donuts。便利店里什么热饮冷饮,最喜欢钻进一个便利店,要一杯烫手的热巧克力。

上海即视感



如圆神所说,芝加哥真的很像上海。那一条Magnificent Mile(壮丽一英里)有点像上海的外滩,路的一边是华丽的建筑和摩天大楼,不过另一边不是黄浦江而是密西根湖。

下面就是在摩天大楼上拍的皂片。



只是芝加哥的黑人比例比较高,尤其是芝加哥南部,听说是相当恐怖。有一天晚上去中国城吃饭,黑人直接进来叫老板要钱,一个老板把他弄出去,另一个老板熟练地报了警。可把我们吓坏了,吃完果断Uber回去。

旅行



在芝加哥玩不需要租车,20刀一张的3-day pass能让我们坐所有的地铁和公交车。而且各个景点都不远,公交可直达。其实走路也可以的,不过。。实在是太冷啦。

不得不提的是CityPASS,96刀能玩价值200刀的五个景点。最最重要的是,入场不用排队!每次看着旁边长长的排队买票的队伍,我们毫无阻碍的检票入场,心中暗爽啊。下面就是挺好看的CityPASS。



最后一天去西北大学溜达。西北大学临湖而建,湖里的水由近到远还有不同的颜色,非常好看。正好想到小熊在这个学校,就一起碰个头吃个饭,聊聊各自的近况。他见我第一句说我没变化,我觉得他也没变,是不是岁月在我们身上还没留下痕迹呢(异想天开的暗喜)。

题外话



这次旅行让我发现我的词汇量已经急剧下降。。很多面熟的词都不知道是什么意思了。。然后发音也是问题。UHAUL我发音成“优嘿哟”。。听着一起租Airbnb的海本的口语那么好,真是自愧不如啊。

北京青年



因为跑男喜欢上了李晨,然后我开始追"北京青年"。昨天在飞机上终于看完,挺喜欢这部剧。赵宝刚风格,奋斗也挺好看。我看完有个习惯就是看douban影评,没想到这部剧的评价并不高。他们说"青春重新走一回"这不现实,他们说主角们绕了一大圈也没弄成功。我倒觉得没什么,何家四兄弟离开北京先是烟台然后深圳再到丽江,虽然找的工作不如意,酒吧最后也关了,但是人家知道自己想要什么了,知道怎么与社会打交道了。冲这一点,我还挺喜欢这个片子的!

TODO



刚刚在amazon上下单买了护手霜和长笛。所以要做的如下:


  • 保养皮肤

  • 拾起长笛

  • 减肥
read more ››

Sunday, March 22, 2015

再见,San Diego

再见



3.19下午SAN->SJC的航班,不同于往日的是这次不是onsite面试,而是搬家。

毕业答辩



3.13毕业设计答辩和final exam的deadline。之前那晚一直睡不着,担心自己过不了,压力真挺大。

那周常常失眠,睡眠质量也不好,食欲也不行,嘴角起泡,吃了牛黄解毒片败火然后不停拉肚子。

答辩当日,果然遇到了那个问题很多的老师,幸好我做好了心理准备,还有Nadir来罩我。

还有几个同学来听我的答辩,嬛嬛,zhufeng,xiayu和chaoteng。

答辩完听到congratulations,我总算放心,几个人一起PC吃了顿午饭,我把这当做庆祝和散伙饭吧。

好歹算是结束了,就等着132B的final exam成绩了。

昨天和Nadir,Yu Xia开了最后一次weekly meeting,wrap up了一下工作。

自己还是挺幸运有这样的老板,人很随和。

也很感谢队友,自己那么多final要考,还花了快一整天的时间帮我改report,答辩之前还帮我改slides,来参加答辩,帮了大忙!

理东西 = 扔东西



从上个星期开始断断续续收拾东西,本以为要寄一大堆东西过去,收拾着收拾着发现俩行李箱就可以把东西都装进去了。

收拾东西其实就是扔东西,扔东西的感觉真不错~.~

看着空荡荡的屋子,想起两年前刚来时看到的这个屋子,没什么不同。附图几张吧。

刚来美国

离开之前

搬家



3.19从San Diego搬到了Sunnyvale,这两天买东西,安置东西,着实花了不少时间。

说实话,觉得湾区很无聊,都是一些IT公司的员工。

饭桌上和邻桌的讨论永远逃不出哪个公司拿了多少风投,谁谁多么有钱。

想想自己未来也会成为其中一员就感到有点悲哀,这不是我想做的。

当然,首先是要毕业,然后拿到EAD卡,然后抽H1b,然后入职才可以考虑这些事情。

爬山



今天去Fremont爬山,爬了四个多小时,特别累。

确实起到了锻炼的效果,一行十几个人一起爬,大多是来自湾区各个公司的人。

因为下雨,山顶雾气大,好不容易到了山顶,却没有会当凌绝顶的感觉。

哎,现在好不快乐。。。
read more ››

Thursday, March 12, 2015

压力很大

刚才收到老师邮件让我延期交report,

因为我的英语表达不好,他觉得我还得大改。。

我觉得好郁闷,也有点委屈。

早早就开始写了,可是老师到最后才帮我改。

我自己也有问题,英语不好,怎么改都改不出好点的样子。

无能为力,怎么办啊。。

明天就是deadline,却不能交。

最近压力真大,驾照OPT一点消息都没有不说,H1b可能不能抽Master学位不说,毕业设计和课程也把我弄得非常累。

常常睡眠不好,早上起来也是无精打采,很难受。

大前天流鼻血。

今天嘴角起了很多脓包,张不开嘴,还疼。

哎,不知道坚持到下周二我能不能解放。

真的好郁闷。
read more ››

Wednesday, March 11, 2015

守时的重要性

想要守时有多难呢?

无力吐槽

昨晚睡眠质量不好,今天早上起来还有无力感,一看fitbit发现昨晚居然翻身20次!对比前天晚上的4次,差太多。。

附图对比图2张

March 9th, 2015

March 10th, 2015

晚上和ct, dyp, xcf, xy, zf, wizard吃了顿饭,段神买了个37k的JEEP真是贵啊~好像是牧马人?席间zf说到他收到OPT approve的信件了,我也开始着急了。。怎么办?驾照还没寄到,OPT也没消息。。等H1b肯定也抽不中了,这人品。

这周和下周good luck吧~
read more ››

Monday, March 9, 2015

赞LinkedIn的人文关怀

今天把退税的单子寄出去了,静候佳音。

快要春假了,收到LinkedIn包裹一个,大致是说对春假和期末的祝福,嘿嘿。

收到这样的包裹还是挺暖心的!



卡片



书包+音箱+墨镜

希望这是好的开始,祝我接下来顺利毕业!!
read more ››

Sunday, March 8, 2015

今天争取把TRIGGER做出来

今天周日,不出意外还有10天就要结束本学期乃至学生生涯。

本周五



周五将有一堆事


  1. master project report和slides的due


  2. CSE132b的milestone4和milestone5的due


  3. 体检




下周




  1. master project的presentation


  2. CSE132b的final的due




CSE132b



争取今天把132b的milestone4和5做完。

这个是比较好的TRIGGER讲解LINK

英文原版LINK

Master Project



report草稿写的差不多,不过slides还没开始做。等老师答复。

自勉



本周要把project收尾,132b收尾,退税搞定,体检搞定。自勉,加油!
read more ››

Friday, February 27, 2015

昨夜没失眠

不知最近受了什么刺激,闲暇时间越来越喜欢自己一个人待着。独自玩玩游戏机,看看电影。

昨晚躺在床上,关着灯,听着秒针跳动的声音,心里不平静。

想到白天表哥发来姥爷过生日的照片,缺少移居上海的舅舅一家和我。看着照片中的姥爷,我好难过。曾经姥爷身体很好,但是一次大病,腿脚就不灵便了,情绪也容易激动,身边不能没人陪着,就算姥姥出去买菜,也要找人看着姥爷。可是姥姥的年龄也大了,耳朵不好,常常听不清我们在说什么。本来今年过年说要全家去海南玩,因为姥爷的身体不好,必须有医生的证明才能坐飞机,但哪个医生敢担保姥爷的身体能承受住气压变化和飞机的颠簸呢。大过年的,姥姥姥爷身边也就我爸妈和大舅一家人,我心里很不是滋味,下次全家团聚是什么时候呢?当哥哥发来全家福照片时,我忍不住留下了泪水。我真的希望他们远离病痛,健健康康的。

再说说其他的事情,这一周是第8周,离毕业还有两周。每天自己就一个人泡在图书馆做作业,享受在学校剩余的时光。最近听到一些别人的故事,有些讽刺却不乏感动。翻看几年前的日记,忆起自己那些年的故事,觉得自己毫无长进。时间能改变很多,却无法磨平一切。我一直不相信一见钟情也不相信天生一对,我只相信当时的感受。可是当热情褪去,剩下的是什么呢?责任么?我不敢想,我没有准备好。

想了那么多,幸好没失眠。生活中一定要有很多的无奈么?是我想的太多还是想要的太多?我感到深深的孤独,我希望别人能懂我,却连我自己都读不懂我自己。
read more ››

Thursday, February 26, 2015

PostgrSQL的backup和restore

今天做132的project有个小小的发现,

对当前以后的数据库备份有不少帮助。

以前总是用手动备份数据库,到另一台电脑上还要CREATE TABLE手动加数据。

project本身做起来颇为麻烦,若再因为备份和迁移伤神,岂不痛苦?

就找到了一个backup所有数据库信息和restore的方法。

看这里

backup的时候把后缀名改为.backup,在新机器中写好数据库名在tools中选restore刚才的.backup文件即可。
read more ››

Wednesday, February 25, 2015

CREATE VIEW

CREATE VIEW



今儿上课讲CREATE VIEW

PostgreSQL 8.1 中文文档

Schema

employee(ssn, name, salary, s_ssn, deptNo)
dept(dno, dname, address)

Naive SQL

[code language="sql"]
SELECT d.dname, max(e.salary) AS sal
FROM employee e, dept d
WHERE e.deptNo = d.dno
GROUP BY d.dno, d.dname
[/code]

Materialized View

[code language="sql"]
CREATE TABLE V (dno, sal)
populate table offline
INSERT INTO V (dno, sal)
SELECT e.depNo as dno, max(e.salary) as sal
FROM employee e
GROUP BY e.deptNo
[/code]

Get deptname

[code language="sql"]
SELECT d.dname, v.sal
FROM V v, dept d
WHERE v.dno = d.dno
[/code]

When update or delete...

If new employee has more salary that max salary?

Need to look into the base sql. second highest salary?

How to do better?

[code language="sql"]
CREATE TABLE V’(dno, maxSal, mSalCnt, secondSal, sSalCnt)
[/code]

To be continue..
read more ››

Monday, February 23, 2015

Precomputation and Materialized Views

今天132b上课讲DB的preocomputation。

Materialized Views



Wiki Page


 In computing, a materialized view is a database object that contains the results of a query. For example, it may be a local copy of data located remotely, or may be a subset of the rows and/or columns of a table or join result, or may be a summary based on aggregations of a table's data.The process of creating a materialized view is sometimes called materialization. It is sometimes described as a form of precomputation. As with other forms of precomputation, materialized views are typically created for performance reasons, i.e. as a form of optimization.

 In any database management system following the relational model, a view is a virtual table representing the result of a database query. Whenever a query or an update addresses an ordinary view's virtual table, the DBMS converts these into queries or updates against the underlying base tables. A materialized view takes a different approach in which the query result is cached as a concrete table that may be updated from the original base tables from time to time. This enables much more efficient access, at the cost of some data being potentially out-of-date.


What is the difference between Views and Materialized Views


 Materialized views are disk based and update periodically base upon the query definition.

Views are virtual only and run the query definition each time they are accessed.

 Also when you need performance on data that don't need to be up to date to the very second, materialized views are better, but your data will be older than in a standard view.


Precomputation



Precomputation是和Materialized View对应的。

[code language="sql"]

SELECT e.deptNo, max(salary) AS sal
FROM employee e, dept d
WHERE e.deptNo = d.dno
GROUP BY e.deptNo

[/code]

可先precompute

[code language="sql"]
CREATE TABLE Q’
INSERT INTO Q’
(
SELECT e.deptNo, max(salary) AS sal
FROM employee e, dept d
WHERE e.deptNo = d.dno
GROUP BY e.deptNo
)
[/code]

一些SQL巧用



text转时间



在数据库中我以text存储时间,但是这样不能直接比较时间大小,故寻得此法:

[code language="sql"]
SELECT *
FROM table
WHERE CAST(StartTime As Time) &gt; CAST(EndTime As Time)
[/code]

感觉就是强制类型转换,将类似13:00的text转化为time。

SQL中的for循环



决定暂时不用for循环,for循环打算写在jsp里。我还有一些其他需求,基本也都找到了方法。

date BETWEEN



在数据库里我以text ‘YYYY-MM-DD’形式保存时间,但是遇到在两个时间区段取时间的问题。PostgreSQL可以照常使用BETWEEN来检查。

[code language="sql"]
SELECT *
FROM review
WHERE review_date BETWEEN '2014-01-01' AND '2014-03-01'
[/code]

get day of week



PostgreSQL内部也有取已知日期是星期几的功能。

[code language="sql"]

SELECT review_date, extract(dow from review_date::timestamp)
FROM review
WHERE review_date BETWEEN '2014-01-01' AND '2014-03-01'

[/code]

这么一来,我在review表里存的星期信息就多余了,还得改表。

Getting date list in a range in PostgreSQL



还有,给起点终点,我想取出一段连续的日期,如下。

[code language="sql"]

SELECT aval_date::date
FROM generate_series('2012-06-29',
'2012-07-03', '1 day'::interval) aval_date

[/code]

代码不难,我卡住了。我想把这个aval_date作为大SQL语句WHERE的一部分,结果愣是想不出怎么写。后来测试一下SELECT * 发现默认的attribute就是aval_date。这下直接去大SQL把WHERE中写成aval_date=...就行了。

这个review的available的date time的SQL算是写好了,可能对另一个题也有启发。继续!

Getting date list in a range in PostgreSQL

关于临时表



之前对TEMP TABLE的理解就是中间变量。后来Wizard告诉我,TEMP TABLE多用在建出来一个马上要访问很多次取结果的或者中间结果太大放不下内存的。看来需要改动一些,放在同一个query语句中会更好,就用nested query吧。

更新:目前nested query果然好用,不理temp table了!
read more ››

Thursday, February 19, 2015

PostgreSQL临时表(in progress)

以前上135时学过临时表,奈何忘了大半。现如今做132要用,现来回顾一下。


 临时表在会话结束时自动删除, 或者是(可选)在当前事务的结尾(参阅下面的 ON COMMIT)。 现有同名永久表在临时表存在期间在本会话过程中是不可见的, 除非它们是用模式修饰的名字引用的。 任何在临时表上创建的索引也都会自动删除。


PostgreSQL文档

PostgreSQL 8.1 中文文档

还在学习中,回头补充。

最近肯定要经常用temp table和trigger咯。

In Postgres, temporary tables are deleted when connection to the database is closed. Therefore, there is no need to drop the temporary table explicitly.

一直弄不清check
read more ››

Wednesday, February 18, 2015

CREATE TRIGGER

今天132B上学了点新东西,CREATE TRIGGER



[code language="sql"]CREATE [ CONSTRAINT ] TRIGGER name { BEFORE | AFTER |CREATE TRIGGER name { BEFORE | AFTER } { event [ OR ... ] }
ON table [ FOR [ EACH ] { ROW | STATEMENT } ]
EXECUTE PROCEDURE funcname ( arguments )
[/code]

name
赋予新触发器的名称。它必需和任何作用于同一表的触发器不同。

BEFORE
AFTER
决定该函数是在事件之前还是之后调用。

event
INSERT,DELETE 或 UPDATE 其中之一。 它声明击发触发器的事件。多个事件可以用 OR 声明。

table
触发器作用的表名称(可以用模式修饰)。

FOR EACH ROW
FOR EACH STATEMENT
这些选项声明触发器过程是否为触发器事件影响的每个行触发一次, 还是只为每条 SQL 语句触发一次。如果都没有声明, FOR EACH STATEMENT 是缺省。

funcname
一个用户提供的函数,它声明为不接受参数并且返回 trigger 类型。


 允许你为 "old" 和 "new" 行或者表定义别名,用于定义触发器的动作(也就是说, CREATE TRIGGER ... ON tablename REFERENCING OLD ROW AS somename NEW ROW AS othername ...)。


PostgeSQL触发器写法

> 一个触发器是一种声明,告诉数据库应该在执行特定的操作的时候执行特定的函数。触发器可以定义在一个 INSERT, UPDATE, DELETE 命令之前或者之后执行,要么是对每行执行一次,要么是对每条 SQL 语句执行一次。如果发生触发器事件,那么将在合适的时刻调用触发器函数以处理该事件。触发器函数必须在创建触发器之前,作为一个没有参数并且返回 trigger 类型的函数定义。触发器函数通过特殊的 TriggerData 结构接收其输入,而不是用普通的函数参数方式.


> PostgreSQL 提供按行按语句触发的触发器。按行触发的触发器函数为触发语句影响的每一行执行一次;按语句触发的触发器函数为每条触发语句执行一次,而不管影响的行数。特别是,一个影响零行的语句将仍然导致按语句触发的触发器执行。这两种类型的触发器有时候分别叫做行级触发器和语句级触发器。触发器还通常分成 before 触发器和 after 触发器。语句级别的"before"触发器通常在语句开始做任何事情之前触发,而语句级别的"after"触发器在语句结束时触发。行级别的"before"触发器在对特定行进行操作之前触发,而行级别的"after"触发器在语句结束的时候触发(但是在任何语句级别的"after"触发器之前)。


PS: 还是不是很明白,我再想想吧。

PPS: 今天project meeting让我也松懈不得啊。requirement一直在变,我除了想法子debug,还要满足需求。哎好累。

read more ››

Tuesday, February 17, 2015

MVVM和其他JS的学习笔记

MVC和MVVM





  • AngularJS与MVVM



  • 简单说来,view负责UI逻辑,viewModel负责表现逻辑和状态,model负责业务逻辑和数据。

    看图便知

    回调函数



    JS的callback一直弄不太清楚,选几个帖子看看吧。

    JavaScript - 回调函数

    知乎 - 回调函数(callback)是什么?


     回调函数并非是一种特殊类型的对象,其实就是普通的函数,但是被作为其他函数的参数传递,在某个时刻才会被选择性地使用。

     由于回调函数会在什么时候被执行,可能是不确定,甚至也可能永远不会被执行。而且在上面的这种情况下,这个回调函数甚至要在未来的某个时候才会执行,这就有了一个“异步”的感觉,也就是说代码不是从上到下依次执行,前面的代码执行完毕后面的才会执行。


    JSON to js object



    有两个eval()和JSON.parse()。

    [code language="javascript"]

    JSON.parse(text[, reviver]);

    [/code]

    js跳转页面方法



    js跳转页面方法

    我在用的是这个,

    [code language="javascript"]

    self.location='abc.html';

    [/code]

    感觉比较常用的是window.location.href()

    js的string里消除space或者hyphen



    remove hyphen

    比如消除hyphen(-), 用replace比较好。

    [code language="javascript"]
    var str="185-51-6 71";
    var newStr1 = str.replace(/-/g, ""); //hyphen
    var newStr2 = str.replace(/\s+/g, ''); //space
    [/code]

    "\s" is the regex for "whitespace", and "g" is the "global" flag, meaning match ALL \s (whitespaces)

    至于加号"+",这个会使转换更快。原因看这里difference between /\s/g and /\s+/g


     In the first regex, each space character is being replaced, character by character, with the empty string.

    In the second regex, each contiguous string of space characters is being replaced with the empty string because of the +.


    [code language="javascript"]
    var str = ' A B C D EF ';
    var a = new Date().getTime();
    console.log(str.replace(/\s/g, '#')); // ##A#B##C###D#EF#
    var b = new Date().getTime();
    console.log(str.replace(/\s+/g, '#')); // #A#B#C#D#EF#
    var c = new Date().getTime();
    console.log(b-a); // 8ms
    console.log(c-b); // 2ms
    [/code]

    Regex



    以上又引出了正则表达式,regex几天不看必忘。

    在这里简单复习下,




  • w3shool-JavaScript RegExp 对象



  • 用时再看吧。

    JS时间戳



    获取当前时间,

    [code language="javascript"]
    var a = new Date().getTime();
    [/code]

    好像没有直接从时间戳转到某个格式的日期时间,只能分别get到年,月这种。倒也无妨,自己写个function也可以。对于时间戳转换,w3school讲的比较清楚。
    read more ››

    Monday, February 16, 2015

    JS的事件监听

    事件监听

    setTimeout

    addEventListener vs onclick

    我想做一个点击某个按钮,变量开始每秒加一的事件。

    好多东西要学。
    read more ››

    Sunday, February 15, 2015

    毕业无望TAT

    又宅一下午图书馆,Project的要求好难啊。。求毕业!

    看到之前写的新学期任务清单,就差132B和毕设了。。好难好烦躁。

    每天宅着图书馆不知道能不能憋出来。132B的milestone3还没开始做。今晚开始做吧!

    AngularJS也好难。

    关于google chart,它的API比较强大。本来以为设置点击事件无望,看到google group有人提及一个方法,果然有效!


    • 问题描述:我想用getSelection()来获取点击的元素,不同于普通的geoChart,而是dashboard里的。结果单单用



    [code language="javascript"]geoChart.getSelection()[/code]

    不行,debug不出。


    • 解答 。因为在dashboard里,




     When using dashboards, you wrap the actual charts (the map, the table) in google.visualization.ChartWrapper instances.


    所以需要写成

    [code language="javascript"]geoChart.getChart().getSelection()[/code]



    Problem solved。我可以用它进行拓展了。

    接下来要把geochart的动态图实现了,搞了一天没弄成TAT。没有成就感!

    以后还需要学习AngularJS的$route。
    read more ››

    Saturday, February 14, 2015

    HTML5中的local storage

    最近做project发现一个非常神奇的东西 - local storage。


    HTML5 的local storage 是通过浏览器在本地存储的数据。


    这里讲解的比较清楚。

    [code language="javascript"]

    window.localStorage.name='yingyan'; // option1

    window.localStorage['name'] = 'yingyan'; //option2

    [/code]

    因为local storage有5M容量,而且没有保质期。基本能满足我们的大多数需求啦!

    这个Markdown网站DILLINGER  和快速学习mvc网站TodoMVC都用了local storage。

    用到了自己的project上真真省事不少。

    local storage搭配angularjs简直神器!

    顺带吐槽geo chart 对城市名的识别真是相当慢。还好有神队友帮我把城市名改成了经纬度,瞬间能刷出地址。不过看到地图上密密麻麻的点点,顿时食欲全无啊。
    read more ››

    Tuesday, February 10, 2015

    搞了一下午angularjs的date

    Date格式真是很讨厌的存在。

    在json里string要转成git。

    比如

    [code language="javascript"]

    string a = "2010-06-25T08:00:00.000Z";

    var milliseconds = Date.parse(a);

    var result =  new Date(milliseconds);

    [/code]

    这时result才是真正的date格式。

    搞了一下午,虽然进展太慢,好歹看出点成果。。
    read more ››

    Saturday, February 7, 2015

    驾照

    昨天驾照终于pass



    感谢



    第六次路考,终于在完全新路线+中途看到车祸堵车的情况下拿到了驾照。

    在此谢谢那个帅帅的华人考官,扣了5分,有一个是转向灯忘记复原。

    也谢谢liyang可爱的小车车助我一臂之力,超级好开。

    挂的经历



    之前每次挂都是critical error,每次都被考官提醒才知道不安全。虽然郁闷,不过长了不少经验教训。


    • 第一次路考,速度过低(40迈的地方我开到25迈)挂了。


    • 第二次路考,STOP SIGN停留过久(我跑神了),挂了。


    • 第三次路考,下坡忘记减速,挂了。


    • 第四次路考,变道没有看到盲点有车,挂了。


    • 第五次路考,右转入道在STOP SIGN处急着转弯没有看车,挂了。




    消费



    此次考驾照,共计消费


    37+37(笔试)+6+6(2,3次补考)+7+7(5,6次补考)+210(教练练车)=310刀


    还是比国内便宜一些。

    长舒一口气,终于不用练车,不用考笔试,不用在湾区考驾照了!
    read more ››

    Friday, February 6, 2015

    很烦!

    没有心思做作业。

    一天24个小时,我睡过去8小时,你睡过去8小时,

    还有几个小时你在吃饭出去玩,留给我几个小时?

    太自私了。
    read more ››

    Thursday, January 29, 2015

    习惯太恐怖

    感觉刷微博不是什么好习惯,特别浪费时间,怎么戒?

    好想减肥,怎么坚持?

    想开始保养皮肤,怎么坚持?

    我就是那种半吊子,不被逼一下,就不知道上进!

    总要吃点苦头才知道努力。
    read more ››

    Monday, January 19, 2015

    洗澡时的脑洞

    这个学期事情不多,本周应该是压力比较大的一周,因为周四要考路考,周五要去医院做demo。

    刚才洗澡,脑洞大开,想着一会全写在blog里。现在居然什么都回想不起来了,只记得零星碎片。原来脑洞也会热胀冷缩!

    这周末liyang和辉哥来SD玩,真开心,开着liyagn的车上高速什么的也不害怕了。昨天目送他们回去,真是舍不得。祈求这次路考让我过啊啊啊~真心紧张。

    今天日臻哥和San Diego说了再见,还记得前两天开车带他去奶茶店喝奶茶,下五子棋,吃章鱼小丸子。陆陆续续大家都要分开,不知下次何时相见。今天帮wizard定了机票,整个二月我将一个人留在SD了。我打算没事就去找liyang,或者把她拉来,然后天天去bio library。有空再去游泳,开wizard的车兜风(前提是考出驾照啊啊啊)。晚上和Yu讨论了project的进展和demo准备情况,每次和他讨论总能有些思路,我真庆幸。

    还有什么,大姨妈快点来吧!
    read more ››

    Tuesday, January 13, 2015

    Comfort Zone

    今儿水知乎,看到学长帖子说到comfort zone挺有体会,特贴下此文自勉。


    等我渐渐长大之后,我发现原来出国、读名校、念博士、买房、泡美女、进大企业等等事情,就像钱钟书先生所谓的“出水痘”一样,出过之后就产生了免疫力,之后便不再惦念 了。这个过程其实是破除迷信的过程,你会发现,原来向往乃至崇拜的价值,其实也不值一提。自信若建立在这些水痘上,真就成了自卑了
    read more ››

    Sunday, January 11, 2015

    尔湾和小肥羊

    伙食太好



    周五去Irvine玩了两天,非常喜欢那个城市。城市很新,很空旷,华人聚集,很多美食。

    到达第一天的中午吃半亩园。记得同济本部也有个同样名字的餐厅,加之Irvine的半亩园主营北方面食,果断尝之,还是很不错的。

    当晚学妹带着去吃鼎泰丰,比我想象便宜,犹记得在Taipei囊中羞涩感觉实在吃不起。。

    然后去吃鲜芋仙,据说是全美唯一一家,瞬时勾起我不少上海的吃吃喝喝回忆。

    住在Embassy Suite,不贵而且是套间还有afternoon happy hour和free breakfast,非常舒适:)

    第二天中午去吃了“沸点”臭臭锅,我觉得巨好吃,比大华那个赞不少呢。

    下午打道回府,晚上吃小肥羊,伙食实在太好。

    消极怠工



    说好的好好学js做project总是一拖再拖,对自己无语。

    唯一的进展就是考出driving permit(再次!),最近每天都在练车,希望早日考出驾照!

    各奔东西



    Winter Quarter开始了,不少人也已经毕业。我也在办H1b和OPT各种材料,希望一切顺利。

    昨晚的小肥羊,送走了段神。我觉得在我们这届中他的智商最高,玩24点分分钟秒杀。人家的电脑桌面还写着勤能补拙,我觉得我才更需要这个词!他拿到Pure Storage的offer,等到IPO,又是个大富翁了。

    好了废话不多说,自勉共勉吧!
    read more ››

    Sunday, January 4, 2015

    新学期展望

    Winter Break



    冬假可谓好好休息了一下。主要是因为上个学期太辛苦了,上课TA做master project找工作什么的,每天都在期待放假。假期来了,除了与大姨妈抗争,其他日子还是比较悠哉的。没事约几个伙伴打打游戏,出去吃吃饭。
    今天刚从Las Vegas回来,赌城确是另一番景象。成就:
    - 痛痛快快在凯撒宫Bacchanal Buffet吃了一顿豪华自助。
    - 玩老虎机用5刀赚回20刀。
    - 学会21点和德州扑克。
    - 看杂技show。
    - 第一次用android的NFC买东西(以后是不是连信用卡都不需要了XD)。

    在Vegas还专门重温了Friends在Vegas的那一集,满满都是回忆呀。


    TODO



    明天就要开学了,不出意外这将是我作为学生的最后一个学期。目前脑海中有一些任务需要完成(针对下学期):
    - 申请halftime enrollment
    - 重新办理SSN(之前的丢了)
    - 考出驾照
    - 办理OPT
    - 申请H1B
    - 办下来Chase的卡
    - master project
    - 毕业!

    鉴于下学期课不多,希望自己如期完成,加油吧!
    read more ››