Tags

mysql

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

1 questions
ios

iOS 是苹果公司为其移动产品开发的操作系统。它主要给 iPhone、iPod touch、iPad 以及 Apple TV 使用。原本这个系统名为 iPhone OS,直到2010年6月7日 WWDC 大会上宣布改名为 iOS。

系统结构

  iOS的系统结构分为以下四个层次:核心操作系统(the Core OS layer),核心服务层(the Core Services layer),媒体层(the Media layer),Cocoa 触摸框架层(the Cocoa Touch layer)。

发展历史

iOS最早于2007年1月9日的苹果Macworld展览会上公布,随后于同年的6月发布的第一版iOS操作系统,当初的名称为“iPhone 运行 OS X”。最初,由于没有人了解“iPhone 运行 OS X”的潜在价值和发展前景,导致没有一家软件公司、没有一个软件开发者给“iPhone 运行 OS X”开发软件或者提供软件支持。于是,苹果公司时任CEO斯蒂夫.乔布斯说服各大软件公司以及开发者可以先搭建低成本的网络应用程序(WEB APP)来使得它们能像iPhone的本地化程序一样来测试“iPhone runs OS X”平台。 

  1. 2007年10月17日,苹果公司发布了第一个本地化IPhone应用程序开发包(SDK),并且计划在2月发送到每个开发者以及开发商手中。

  2. 2008年3月6日,苹果发布了第一个测试版开发包,并且将“iPhone runs OS X”改名为”iPhone OS“。 

  3. 2010年2月27日,苹果公司发布iPad,iPad同样搭载了”iPhone OS”。这年,苹果公司重新设计了“iPhone OS”的系统结构和自带程序。 

  4. 2010年6月,苹果公司将“iPhone OS”改名为“iOS”,同时还获得了思科iOS的名称授权。 

  5. 2010年第四季度,苹果公司的iOS占据了全球智能手机操作系统26%的市场份额。

  6. 2011年10月4日,苹果公司宣布iOS平台的应用程序已经突破50万个。

  7. 2012年2月,应用总量达到552,247个,其中游戏应用最多,达到95,324个,比重为17.26%;书籍类以60,604个排在第二,比重为10.97%;娱乐应用排在第三,总量为56,998个,比重为10.32%。

  8. 2012年6月,苹果公司在WWDC 2012 上宣布了iOS 6,提供了超过 200 项新功能。

  9. 2013年9月11日凌晨苹果在秋季发布会上宣布iOS 7于9月18日正式推出,2013年9月19日凌晨1点开放免费下载更新。

  10. iOS 8于2014年9月17号向用户推送正式版。

  11. iOS 9于2015年9月16日正式推出。iOS 9系统比iOS8更稳定,功能更全面,而且还更加开放。iOS 9加入了更多的新功能,包括更加智能的Siri,新加入的省电模式。iOS 9为开发者提供5000个全新的API。

  12. 2015年12月9日,苹果正式推送了iOS 9.2,更新内容相当之多,修复BUG改善稳定性自然不必多说,还增加了很多新功能,比如邮件增加了Mail Drop功能可以发送大附件、iBooks开始支持3D Touch、Apple News新闻中的“热门报道”等等

5 questions
java

Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

Java编程语言的风格十分接近 C++ 语言。继承了 C++ 语言面向对象技术的核心,Java舍弃了 C++ 语言中容易引起错误的指針,改以引用取代,同时卸载原 C++ 与原来运算符重载,也卸载多重继承特性,改用接口取代,增加垃圾回收器功能。在 Java SE 1.5 版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。太阳微系统对 Java 语言的解释是:“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言”。

版本历史

重要版本号 版本代号 发布日期
JDK 1.0 1996 年 1 月 23 日
JDK 1.1 1997 年 2 月 19 日
J2SE 1.2 Playground 1998 年 12 月 8 日
J2SE 1.3 Kestrel 2000 年 5 月 8 日
J2SE 1.4 Merlin 2002 年 2 月 6 日
J2SE 5.0 (1.5.0) Tiger 2004 年 9 月 30 日
Java SE 6 Mustang 2006 年 11 月 11 日
Java SE 7 Dolphin 2011 年 7 月 28 日
Java SE 8 JSR 337 2014 年 3 月 18 日
最新发布的稳定版本:
Java Standard Edition 8 Update 11 (1.8.0_11) - (July 15, 2014)
Java Standard Edition 7 Update 65 (1.7.0_65) - (July 15, 2014)

更详细的版本更新查看 J2SE Code NamesJava version history 维基页面

新手帮助

不知道如何开始写你的第一个 Java 程序?查看 Oracle 的 Java 上手文档

在你遇到问题提问之前,可以先在站内搜索一下关键词,看是否已经存在你想提问的内容。

命名规范

Java 程序应遵循以下的 命名规则,以增加可读性,同时降低偶然误差的概率。遵循这些命名规范,可以让别人更容易理解你的代码。

  • 类型名(类,接口,枚举等)应以大写字母开始,同时大写化后续每个单词的首字母。例如:StringThreadLocaland NullPointerException。这就是著名的帕斯卡命名法。
  • 方法名 应该是驼峰式,即以小写字母开头,同时大写化后续每个单词的首字母。例如:indexOfprintStackTraceinterrupt
  • 字段名 同样是驼峰式,和方法名一样。
  • 常量表达式的名称static final 不可变对象)应该全大写,同时用下划线分隔每个单词。例如:YELLOWDO_NOTHING_ON_CLOSE。这个规范也适用于一个枚举类的值。然而,static final 引用的非不可变对象应该是驼峰式。

Hello World

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

编译并调用:

javac -d . HelloWorld.java
java -cp . HelloWorld

Java 的源代码会被编译成可被 Java 命令执行的中间形式(用于 Java 虚拟机的字节代码指令)。

可用的 IDE

学习资源

常见的问题

下面是一些 SegmentFault 上在 Java 方面经常被人问到的问题:

(待补充)

9 questions
c

C 语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。

C 语言是由 UNIX 的研制者丹尼斯·里奇(Dennis Ritchie)和肯·汤普逊(Ken Thompson)于 1970 年研制出的B语言的基础上发展和完善起来的。目前,C 语言编译器普遍存在于各种不同的操作系统中,例如 UNIX、MS-DOS、Microsoft Windows 及 Linux 等。C 语言的设计影响了许多后来的编程语言,例如 C++、Objective-C、Java、C# 等。

设计

C 语言是一个程序语言,设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C 语言也很适合搭配汇编语言来使用。尽管 C 语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的 C 语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称 MCU)以及超级电脑等作业平台。

  • C 语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
  • C 语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
  • 不同的变量类型可以用结构体(struct)组合在一起。
  • 只有 32 个保留字(reserved keywords),使变量、函数命名有更多弹性。
  • 部份的变量类型可以转换,例如整型和字符型变量。
  • 通过指针(pointer),C 语言可以容易的对存储器进行低级控制。
  • 编译预处理(preprocessor)让 C 语言的编译更具有弹性。

1 questions
git

Git是一个由林纳斯·托瓦兹为了更好地管理linux内核开发而创立的分布式版本控制/软件配置管理软件。需要注意的是和GNU Interactive Tools,一个类似Norton Commander界面的文件管理器相区分。

1 questions
网络

计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

1 questions
编辑器

编辑器是软体程序,一般是指用来修改电脑档案的编写软件,但也有人称 PE2、HE4(汉书)等文书软件为编辑器。常见的编辑器有文本编辑器、网页编辑器、原程序编辑器、图像编辑器等。

29 questions
服务器

服务器(Server)指:

  • 一个管理资源并为用户提供服务的计算机软件,通常分为文件服务器(能使用户在其它计算机访问文件),数据库服务器和应用程序服务器。
  • 运行以上软件的计算机,或称为网络主机(Host)。
  • 一般来说,服务器通过网络对外提供服务。可以通过Intranet对内网提供服务,也可以通过 Internet 对外提供服务。

服务器作为硬件来说,通常是指那些具有较高计算能力,能够提供给多个用户使用的计算机。服务器与 PC 机的不同点很多,例如 PC 机在一个时刻通常只为一个用户服务。服务器与主机不同,主机是通过终端给用户使用的,服务器是通过网络给客户端用户使用的。

和普通的 PC 相比, 服务器需要连续的工作在 7X24 小时环境。这就意味着服务器需要等多的稳定性技术 RAS,比如支持使用 ECC 内存。

根据不同的计算能力,服务器又分为工作组级服务器,部门级服务器和企业级服务器。服务器操作系统是指运行在服务器硬件上的操作系统。服务器操作系统需要管理和充分利用服务器硬件的计算能力并提供给服务器硬件上的软件使用。

现在,市场上有很多为服务器作平台的操作系统。类Unix操作系统,由于是 Unix 的后代,大多都有较好的作服务器平台的功能。常见的类 Unix 服务器操作系统有 AIX、HP-UX、IRIX、Linux、FreeBSD、Solaris、Mac OS X Server、OpenBSD、NetBSD、和 SCO OpenServer。微软也出版了 Microsoft Windows 服务器版本,像早期的 Windows NT Server,后来的 Windows 2000 Server 和 Windows Server 2003 和 Windows Server 2008,乃至现在的 Windows Server 2012。

2 questions
safari

Safari 是苹果公司所开发的网页浏览器,并自带于 Mac OS X。Safari 从2003年开始成为 Mac OS X v10.3 与之后的默认浏览器,也是 iPhone、iPod touch、iPad 和 iPad 2 的指定浏览器。

1 questions
reddit

Reddit是一个社交化新闻和娱乐的网站。注册的用户可以将在互联网上搜集或原创的图片或材料以帖子的形式在网站上发布。而后其他用户可以对这个帖子进行投票,结果将被用来进行排名和决定它在首页或子页的位置。"subreddits"则是依据兴趣来分类的。

Reddit 由 Steve Huffman 和 Alexis Ohanian 创立。在2006年它被康泰纳仕收购。在2011年9月,Reddit脱离康泰纳仕进而成为康泰纳仕母公司 Advance Publications 的子公司。在2012月,Reddit再次脱离母公司,独立运作。Reddit的总部设在加利福尼亚州的旧金山。

Reddit网站

1 questions