- CMU15-445 Project0
joker D888
CMU15-445算法C++CMU15-445
CMU14445Task#1-Copy-On-WriteTrieGet()思路:获取根节点指针,顺着key逐字符往下找节点,最后根据题意可以使用dynamic_cast检查是否是TrieNodeWithValue(dynamic_pointer_cast也可以),以下为两者用法:autovalue_node=std::dynamic_pointer_cast>(cur));autovalue_no
- STL map,插入和查找的一些注意事项
快乐小炮灰
C++#STLc++c语言开发语言
01、前言(废话)C++的std::map容器中插入键值对主要有myMap(std::make_pair(keyvalue)),它们的区别你了解吗?autoit=myMap,find(key)和autovalue=myMap[key]都可以用于在C++的std::map容器中查找键对应的值,但是如果autovalue=myMap[key]的key不存在时会有什么问题呢?下文就详细介绍它们的区别02
- 使用 Google AutoValue 自动生成代码
思考者_小徐
原文http://tedyin.me/2016/04/11/auto-value/主题谷歌在Java中通常定义一个模型类时,需要定义一堆不同类型的成员变量,而且为了满足面向对象的基本特征,又要定义一堆相应的Getter和Setter等方法,这个过程是非常枯燥的要写一堆样板代码。虽然现在IDE可以很好的帮我们生成这些样板代码,但是如果看到一个模型类里面有这么一堆的方法,总觉是会觉得不够清晰。我只想知
- Please change the configuration name to ‘kapt‘ for these artifacts: ‘com.jakewharton:butterknife-com
全面解读
Androidandroidgradle
文章目录错误原因apt插件冲突APT(AnnotationProcessingTool)1.ButterKnife2.Dagger23.RoomKapt(KotlinAnnotationProcessingTool)1.Dagger22.Room3.AutoValue错误原因这个错误提示出现的原因是在使用ButterKnife和dataBinding时,Gradle配置中使用了错误的编译器插件名称
- 使用 Google AutoValue 自动生成代码
TedYin被占用了
转载请注明出处:http://tedyin.me/2016/04/11/auto-value/在Java中通常定义一个模型类时,需要定义一堆不同类型的成员变量,而且为了满足面向对象的基本特征,又要定义一堆相应的Getter和Setter等方法,这个过程是非常枯燥的要写一堆样板代码。虽然现在IDE可以很好的帮我们生成这些样板代码,但是如果看到一个模型类里面有这么一堆的方法,总觉是会觉得不够清晰。我只
- 在IntelliJ IDEA中配置和使用AutoValue
P01son
AutoValue是Google的一个开源库,可以用来简化Java开发中的一些繁琐重复劳动,例如getter/setter、toString()和equals()等方法。如何使用AutoValueAutoValue的概念非常简单:由你来写一个抽象实体类,交给AutoValue来实现它。创建抽象类首先创建一个抽象类,为每个属性添加一个get方法,加上@AutoValue注解。其中,AutoValue
- 华山论剑之JAVA三大代码生成工具:Lombok、AutoValue和Immutables
PioneerYi
Codingtogether前言:开发时,总是需要写大量的Getter,Setter,hasCode等方法,浪费我们的时间,影响代码的整洁,干扰我们理解代码的核心逻辑,对于这些烦不胜烦却不得不写的代码,是时候交给自动生成代码工具去完成了!当前java语言最流行的自动代码生成工具当属Lombok、AutoValue和Immutables了,然三者各有千秋,因此,了解并会使用这三款工具对于开发者很有必
- AutoValue扩展(Extension)
yqyzxd
什么是AutoValueExtension?如之前所说AutoValue是一个编译期生成样板代码的代码生成器,但是仅限于equals,hashCode,toString方法。当你的类需要序列化时,你还是不得不自己手动写那些样板代码,为了支持更多功能,AutoValue在1.2版本中增加了Extension。你只需在你的依赖中加入相应的extension库,AutoValue就可以帮你自动生成相关代
- Jetpack系列之Room----入门(一)
detachment_w
Jetpack
翻译自android官网,可直接去官网观看Jetpack系列之Room----入门(一)使用Room将数据保存到本地数据库Setup主要组件实施范例数据实体数据访问对象(DAO)数据库用法使用Room实体定义数据使用主键忽略字段提供表搜索支持支持全文搜索索引特定列添加基于AutoValue的对象使用RoomDAO访问数据DAO的解剖便利方法插入UpdateDeleteQuerymethodsSim
- Android Model正确使用姿势——AutoValue
huluhong
Android---学习android---基础
AndroidModel正确使用姿势——AutoValueAndroidModel正确使用姿势AutoValue前言简介简单使用ImmutableValuetypes高级使用NullableGson序列化SerializableParcelableRetrofit和Rxjava结合使用相关插件RoboPOJOGeneratorAutoValueplugin原理介绍AutoFactoryAutoSe
- Google AutoValue详解
Calvin_lhzheng
Android开源框架
背景首先说AndroidModel,在开发中网络请求,以及数据库操作等,我们都会定义一个Model,不同人对这个的说法不一样,比如有Entry,Bean,Pojo。通常对于实体类,我们需要做如下几件事情:构成方法:自定义构造方法,如果实体比较复杂,可能会用到工厂模式或者是建造者模式序列化:比如实现Serializable接口,Parcelable接口。Json解析:有时候直接使用的是json数据,
- 8-Room持久性库
它不会起名字
Jetpack
Room持久性库文章目录Room持久性库概览示例声明依赖项配置编译器选项使用实体定义数据使用主键忽略字段提供表搜索支持支持全文搜索(FTS:Full-textSearch)将特定列编入索引添加基于AutoValue的对象定义对象之间的关系定义一对多关系创建嵌套对象定义多对多关系在数据库中创建视图创建视图将视图与数据库相关联使用DAO访问数据自定义方法InsertUpdateDelete查询信息简单
- Android Model正确使用姿势——AutoValue
流水不腐小夏
Android第三方插件
AndroidModel正确使用姿势——AutoValueAndroidModel正确使用姿势AutoValue前言简介简单使用ImmutableValuetypes高级使用NullableGson序列化SerializableParcelableRetrofit和Rxjava结合使用相关插件RoboPOJOGeneratorAutoValueplugin原理介绍AutoFactoryAutoSe
- 完美的安卓 model 层架构(上)
火龙果研究院
安卓
http://www.tuicool.com/articles/yaqYR3M前些日子在AndroidWeekly上看到了一篇介绍SqlDelight使用的文章,虽然之前了解过SqlDelight和SqlBrite,但却一直没有尝试过。但这次我被文章中的例子惊艳到了,而且SqlDelight还能和AutoValue兼容使用,进一步打消了我的顾虑,我就赶紧在AndroidTDDBootStrap项目
- Android Dagger2
菠萝鱼_lc
Dagger2概述:官方地址:https://github.com/google/dagger它是解决Android或java中依赖注入的一个类库。Dagger2是Dagger1的分支,由谷歌公司接手开发,目前的版本是2.8。Dagger2是受到AutoValue项目的启发。刚开始,Dagger2解决问题的基本思想是:利用生成和写的代码混合达到看似所有的产生和提供依赖的代码都是手写的样子。基本注解
- Web Socket rfc6455 握手 (C++)
newzai
C/C++/VC
std::stringdata((constchar*)buf->data(),bytes_transferred);recycle_buffer(buf);std::stringkey="Sec-WebSocket-Key:";autopos=data.find(key);autoposEnd=data.find("\r\n",pos);autovalue=data.substr(pos+key
- Android上使用Lombok
流水不腐小夏
Android上使用Lombok[TOC]简介最近几天尝试了一把后端的工作,发现后端同学使用了一个第三库——Lombok,用了一下,感觉还不错,特来介绍一下,感觉和以前介绍过的AutoValue挺像的。Lombok官网上面有个几分钟的视频,接单介绍了Lombok的用途,使用方法很简单,只需要依赖对应的jar文件,然后在对应的Java文件上使用注解即可。先看个例子,下面是常见的一个Java一个实体类
- Sqldelight使用步骤
zyc_214
SQLDelight是Square提供的开源库,主要的作用结合AuToValue生成Java数据和数据库表创建的SQL语句。下边是sqldelight的官方介绍SQLDelightgeneratesJavamodelsfromyourSQLCREATETABLEstatements.ThesemodelsgiveyouatypesafeAPItoread&writetherowsofyourtab
- 安利AutoValue第二波
流水不腐小夏
安利AutoValue第二波简介前面介绍了如何使用AutoValue如何使用,参见这里AndroidModel正确使用姿势——AutoValue,如果喜欢或者决定使用AutoValue的小伙伴是不是迫不及待打算开始使用。那么问题了,项目中原先写好的Model再改成AutovValue的形式,只有几个类还好,如果Model很多,一个个改不得累死。没关系,我这边已经写好了一个AndroidStudio
- AutoValue_index
谈小龙
AutoValue谷歌auto库为Java1.6+生成不可变valueclass"AutoValueisagreattoolforeliminatingthedrudgeryofwritingmundanevalueclassesinJava.ItencapsulatesmuchoftheadviceinEffectiveJavaChapter2,andfreesyoutoconcentrateo
- AutoValue介绍
yqyzxd
什么是AutoValue?AutoValue是一个可以自动为值类(valuetype)生成诸如equals,hashCode,toString等模板方法的工具。这样就使得程序更加短小,简洁,以及更少的bug。为什么要使用AutoValue什么是值类(valuetype)这里指的是具有值语义的类型,只要两个实例具有相同的字段值,他们就可以互换。比如DateTime,Money,Uri...这必须实现
- AutoValue_How do I...
谈小龙
我怎么...这页回答公共的how-to问题,这些问题可能来自于AutoValue的使用过程中。你应该首先阅读并理AutoValue介绍/(简单翻译)具体builderoption的使用单独一篇,在阅读这篇之前先阅读AutoValuewithbuilders/简单翻译。内容我怎么...为我的valueclass生成构建者?在内部类中使用AutoValue?使用(不使用)JavaBean样式的前缀?使
- Android Weekly Notes Issue #227
圣骑士wind
AndroidWeeklyIssue#227October16th,2016AndroidWeeklyIssue#227.本期内容包括:Google的MobileVisionAPI人脸检测;Firebase的RemoteConfig;与HashMap有关的优化;提高RecyclerView帧率的优化;使用AutoValue生成model代码;开源库中抽象类和接口的使用讨论;BottomSheet的
- AutoValue_AutoValue with Builders
谈小龙
原文AutoValue的构建者AutoValue的介绍(简单翻译)中已经包含了基本的使用,使用静态工厂作为你的公共API。但是在大部分情况(suchasthoselaidoutinEffectiveJava,2ndEditionItem2),你可能更倾向于让你的调用者使用一个构建者生成实例对象。幸运的是,AutoValue可以也可以生成带有构建者的类。这一页介绍了怎么做。但是我们还是建议你先阅读并
- AutoValue_How do I...(Buider)
谈小龙
HowdoI...(Builderedition)这一页是一些通用问题的答案,这些问题可能在使用带有构建者选项AutoValue中遇到,在此之前你应该首先阅读AutoValuewithbuilders如果你没有使用构建者模式,请查看AutoValue介绍和HowdoI...内容我怎么......使用(或不使用)set前缀?...使用不同命名除了builder()/Builderbuild()?..
- Effective Java for Android
one_mighty
一、出处这是一篇来自github上Android类热门项目的文章,地址点此查看原文。二、翻译如何在Android中有效使用Java构建者模式如果某对象有大于等于三个参数时,考虑使用构建者模式创建对象,尽管冗余点,但是扩张性和可读性都非常好。如果需要创建javaBean这类对象,请使用AutoValue.classMovie{staticclassBuilder{Stringtitle;Builde
- 深入Dagger:自定义AutoValue
wcong
前言上一篇文章介绍了JavaPoet的原理和使用,这里在介绍一下AutoValue的原理,并模仿自定义实现一个AutoValue。AutoValue的是Google为了实现ValueClass设计的自动编译框架,具体的介绍可以参考Google的官方说明。Dagger内部也大量使用了AutoValue的功能,来实现ValueClass。AutoValueAutoValue嵌入到JavaClass的编
- AutoValue
背影杀手不太冷
标签(空格分隔):Android在此之前先要了解hashcode()、equals()、compareTo()、toString()1、首先是两个引用比较时用的:==和!=这两个符号在比较引用时,比较的是内存地址,这个地址是这两个引用对应的类的hashCode()的值吗???2、每个类的equals()默认是比较内存地址,而不是比较对象内容。所以自定义的类一般都要重写equals()后,这样调用A
- Android Model正确使用姿势——AutoValue
M悇芐冋忆
AndroidModel正确使用姿势AutoValue前言简介简单使用ImmutableValuetypes高级使用NullableGson序列化SerializableParcelableRetrofit和Rxjava结合使用相关插件RoboPOJOGeneratorAutoValueplugin原理介绍AutoFactoryAutoServiceAutoCommonAuto相关使用Intent
- AutoValue
Wavky
Google的开源项目,用于自动补全生成Java模板代码,包括以下代码的自动生成:equalshashCodetoStringgetter/setter抽象getter方法对应的字段全属性构造函数AutoValue通过注解读取自定义抽象类(通常是实体类),在编译时同一包目录下创建包可见性的实现类,以AutoValue_作为类名前缀典型示例//引入依赖dependencies{apt'com.goo
- mysql主从数据同步
林鹤霄
mysql主从数据同步
配置mysql5.5主从服务器(转)
教程开始:一、安装MySQL
说明:在两台MySQL服务器192.168.21.169和192.168.21.168上分别进行如下操作,安装MySQL 5.5.22
二、配置MySQL主服务器(192.168.21.169)mysql -uroot -p &nb
- oracle学习笔记
caoyong
oracle
1、ORACLE的安装
a>、ORACLE的版本
8i,9i : i是internet
10g,11g : grid (网格)
12c : cloud (云计算)
b>、10g不支持win7
&
- 数据库,SQL零基础入门
天子之骄
sql数据库入门基本术语
数据库,SQL零基础入门
做网站肯定离不开数据库,本人之前没怎么具体接触SQL,这几天起早贪黑得各种入门,恶补脑洞。一些具体的知识点,可以让小白不再迷茫的术语,拿来与大家分享。
数据库,永久数据的一个或多个大型结构化集合,通常与更新和查询数据的软件相关
- pom.xml
一炮送你回车库
pom.xml
1、一级元素dependencies是可以被子项目继承的
2、一级元素dependencyManagement是定义该项目群里jar包版本号的,通常和一级元素properties一起使用,既然有继承,也肯定有一级元素modules来定义子元素
3、父项目里的一级元素<modules>
<module>lcas-admin-war</module>
<
- sql查地区省市县
3213213333332132
sqlmysql
-- db_yhm_city
SELECT * FROM db_yhm_city WHERE class_parent_id = 1 -- 海南 class_id = 9 港、奥、台 class_id = 33、34、35
SELECT * FROM db_yhm_city WHERE class_parent_id =169
SELECT d1.cla
- 关于监听器那些让人头疼的事
宝剑锋梅花香
画图板监听器鼠标监听器
本人初学JAVA,对于界面开发我只能说有点蛋疼,用JAVA来做界面的话确实需要一定的耐心(不使用插件,就算使用插件的话也没好多少)既然Java提供了界面开发,老师又要求做,只能硬着头皮上啦。但是监听器还真是个难懂的地方,我是上了几次课才略微搞懂了些。
- JAVA的遍历MAP
darkranger
map
Java Map遍历方式的选择
1. 阐述
对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,针对每个key,都要去Map中额外查找一次value,从而降低了总体效率。那么实际情况如何呢?
为了解遍历性能的真实差距,包括在遍历ke
- POJ 2312 Battle City 优先多列+bfs
aijuans
搜索
来源:http://poj.org/problem?id=2312
题意:题目背景就是小时候玩的坦克大战,求从起点到终点最少需要多少步。已知S和R是不能走得,E是空的,可以走,B是砖,只有打掉后才可以通过。
思路:很容易看出来这是一道广搜的题目,但是因为走E和走B所需要的时间不一样,因此不能用普通的队列存点。因为对于走B来说,要先打掉砖才能通过,所以我们可以理解为走B需要两步,而走E是指需要1
- Hibernate与Jpa的关系,终于弄懂
avords
javaHibernate数据库jpa
我知道Jpa是一种规范,而Hibernate是它的一种实现。除了Hibernate,还有EclipseLink(曾经的toplink),OpenJPA等可供选择,所以使用Jpa的一个好处是,可以更换实现而不必改动太多代码。
在play中定义Model时,使用的是jpa的annotations,比如javax.persistence.Entity, Table, Column, OneToMany
- 酸爽的console.log
bee1314
console
在前端的开发中,console.log那是开发必备啊,简直直观。通过写小函数,组合大功能。更容易测试。但是在打版本时,就要删除console.log,打完版本进入开发状态又要添加,真不够爽。重复劳动太多。所以可以做些简单地封装,方便开发和上线。
/**
* log.js hufeng
* The safe wrapper for `console.xxx` functions
*
- 哈佛教授:穷人和过于忙碌的人有一个共同思维特质
bijian1013
时间管理励志人生穷人过于忙碌
一个跨学科团队今年完成了一项对资源稀缺状况下人的思维方式的研究,结论是:穷人和过于忙碌的人有一个共同思维特质,即注意力被稀缺资源过分占据,引起认知和判断力的全面下降。这项研究是心理学、行为经济学和政策研究学者协作的典范。
这个研究源于穆来纳森对自己拖延症的憎恨。他7岁从印度移民美国,很快就如鱼得水,哈佛毕业
- other operate
征客丶
OSosx
一、Mac Finder 设置排序方式,预览栏 在显示-》查看显示选项中
二、有时预览显示时,卡死在那,有可能是一些临时文件夹被删除了,如:/private/tmp[有待验证]
--------------------------------------------------------------------
若有其他凝问或文中有错误,请及时向我指出,
我好及时改正,同时也让我们一
- 【Scala五】分析Spark源代码总结的Scala语法三
bit1129
scala
1. If语句作为表达式
val properties = if (jobIdToActiveJob.contains(jobId)) {
jobIdToActiveJob(stage.jobId).properties
} else {
// this stage will be assigned to "default" po
- ZooKeeper 入门
BlueSkator
中间件zk
ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。
值得注意的是,ZK并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性,利
- MySQL取得当前时间的函数是什么 格式化日期的函数是什么
BreakingBad
mysqlDate
取得当前时间用 now() 就行。
在数据库中格式化时间 用DATE_FORMA T(date, format) .
根据格式串format 格式化日期或日期和时间值date,返回结果串。
可用DATE_FORMAT( ) 来格式化DATE 或DATETIME 值,以便得到所希望的格式。根据format字符串格式化date值:
%S, %s 两位数字形式的秒( 00,01,
- 读《研磨设计模式》-代码笔记-组合模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
abstract class Component {
public abstract void printStruct(Str
- 4_JAVA+Oracle面试题(有答案)
chenke
oracle
基础测试题
卷面上不能出现任何的涂写文字,所有的答案要求写在答题纸上,考卷不得带走。
选择题
1、 What will happen when you attempt to compile and run the following code? (3)
public class Static {
static {
int x = 5; // 在static内有效
}
st
- 新一代工作流系统设计目标
comsci
工作算法脚本
用户只需要给工作流系统制定若干个需求,流程系统根据需求,并结合事先输入的组织机构和权限结构,调用若干算法,在流程展示版面上面显示出系统自动生成的流程图,然后由用户根据实际情况对该流程图进行微调,直到满意为止,流程在运行过程中,系统和用户可以根据情况对流程进行实时的调整,包括拓扑结构的调整,权限的调整,内置脚本的调整。。。。。
在这个设计中,最难的地方是系统根据什么来生成流
- oracle 行链接与行迁移
daizj
oracle行迁移
表里的一行对于一个数据块太大的情况有二种(一行在一个数据块里放不下)
第一种情况:
INSERT的时候,INSERT时候行的大小就超一个块的大小。Oracle把这行的数据存储在一连串的数据块里(Oracle Stores the data for the row in a chain of data blocks),这种情况称为行链接(Row Chain),一般不可避免(除非使用更大的数据
- [JShop]开源电子商务系统jshop的系统缓存实现
dinguangx
jshop电子商务
前言
jeeshop中通过SystemManager管理了大量的缓存数据,来提升系统的性能,但这些缓存数据全部都是存放于内存中的,无法满足特定场景的数据更新(如集群环境)。JShop对jeeshop的缓存机制进行了扩展,提供CacheProvider来辅助SystemManager管理这些缓存数据,通过CacheProvider,可以把缓存存放在内存,ehcache,redis,memcache
- 初三全学年难记忆单词
dcj3sjt126com
englishword
several 儿子;若干
shelf 架子
knowledge 知识;学问
librarian 图书管理员
abroad 到国外,在国外
surf 冲浪
wave 浪;波浪
twice 两次;两倍
describe 描写;叙述
especially 特别;尤其
attract 吸引
prize 奖品;奖赏
competition 比赛;竞争
event 大事;事件
O
- sphinx实践
dcj3sjt126com
sphinx
安装参考地址:http://briansnelson.com/How_to_install_Sphinx_on_Centos_Server
yum install sphinx
如果失败的话使用下面的方式安装
wget http://sphinxsearch.com/files/sphinx-2.2.9-1.rhel6.x86_64.rpm
yum loca
- JPA之JPQL(三)
frank1234
ormjpaJPQL
1 什么是JPQL
JPQL是Java Persistence Query Language的简称,可以看成是JPA中的HQL, JPQL支持各种复杂查询。
2 检索单个对象
@Test
public void querySingleObject1() {
Query query = em.createQuery("sele
- Remove Duplicates from Sorted Array II
hcx2013
remove
Follow up for "Remove Duplicates":What if duplicates are allowed at most twice?
For example,Given sorted array nums = [1,1,1,2,2,3],
Your function should return length
- Spring4新特性——Groovy Bean定义DSL
jinnianshilongnian
spring 4
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
- CentOS安装Mysql5.5
liuxingguome
centos
CentOS下以RPM方式安装MySQL5.5
首先卸载系统自带Mysql:
yum remove mysql mysql-server mysql-libs compat-mysql51
rm -rf /var/lib/mysql
rm /etc/my.cnf
查看是否还有mysql软件:
rpm -qa|grep mysql
去http://dev.mysql.c
- 第14章 工具函数(下)
onestopweb
函数
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- POJ 1050
SaraWon
二维数组子矩阵最大和
POJ ACM第1050题的详细描述,请参照
http://acm.pku.edu.cn/JudgeOnline/problem?id=1050
题目意思:
给定包含有正负整型的二维数组,找出所有子矩阵的和的最大值。
如二维数组
0 -2 -7 0
9 2 -6 2
-4 1 -4 1
-1 8 0 -2
中和最大的子矩阵是
9 2
-4 1
-1 8
且最大和是15
- [5]设计模式——单例模式
tsface
java单例设计模式虚拟机
单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点
安全的单例模式:
/*
* @(#)Singleton.java 2014-8-1
*
* Copyright 2014 XXXX, Inc. All rights reserved.
*/
package com.fiberhome.singleton;
- Java8全新打造,英语学习supertool
yangshangchuan
javasuperword闭包java8函数式编程
superword是一个Java实现的英文单词分析软件,主要研究英语单词音近形似转化规律、前缀后缀规律、词之间的相似性规律等等。Clean code、Fluent style、Java8 feature: Lambdas, Streams and Functional-style Programming。
升学考试、工作求职、充电提高,都少不了英语的身影,英语对我们来说实在太重要