eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

April 22, 2019

尚若水之品,怀君子之德 - 北京东城区分司厅小学

东城区分司厅小学,2014年建校100周年,

校园内一棵300年历史的老槐树,见证了学校变迁的历史。

从最初的"京兆模范小学"到今天的"北京市东城区分司厅小学",

不管时代如何变迁,学校始终坚持以德立校,以德育人,传承这一中华传统文化的精髓从未改变。

校门口,10个大字彰显了学校的立人之期:"尚若水之品,怀君子之德",

而雕刻着"向真 向善 向美"的文化石则是对学生们的培养目标。

学校梳理了 "怀德立范,一树百获"的文化核心价值观,

确定了"培养向真、向善、向美的社会人"的育人目标。

Posted by eygle at 3:17 PM | Permalink | 人生百味 (19)

March 25, 2019

2019 Oracle的战略变化 和 Don Johson 的裁员邮件

在 Layoff 网站上,近期(2019-03-22)披露了一封 Don Johson 的邮件,其中阐述了Oracle战略的变化。Don 是Oracle的执行副总裁,带领 OCI 团队近万人的团队规模。这封邮件的信息可以一窥Oracle的变化。

原文链接:https://www.thelayoff.com/t/Ybg79FO

中文翻译:

团队,

我想与您分享今天发生的组织结构调整。

在过去几年中,随着Oracle逐渐发展成为云服务公司,我们已经看到了渐进式变革。这是整个公司的巨大转变,通常是我们的组织在其中心。它广泛而普遍地影响了整个业务 - 推动重组,重新调整投资,改变我们建立和运营服务的方式,以及发展我们与客户互动的方式。

在去年的Oracle Open World大会中,Larry明确了公司的愿景和方向:我们是一家企业云公司,为最严苛的客户需求和最具挑战性的工作负载提供支持。我们围绕两个重心重构组织:应用和基础设施。作为我们云计算业务的基础,OCI - Oracle的第2代云 - 为我们的客户提供安全,可靠的基础架构平台,支持我们业务,自治数据库和SaaS ERP。

公司的一切都围绕着这个清晰的愿景和方向。

今天OCI内部的变化将更好地与Larry的业务愿景保持一致。它将简化我们的产品和服务,将投资重点放在我们最具战略意义的优先事项上,并帮助我们更有效,更快地实现Oracle Gen 2 Cloud的全部承诺和覆盖范围。

请于3月22日星期日上午10点,也就是明天上午10点,参加OCI领导和我的全体会议,以获得有关这对我们的团队和业务意味着什么的更多信息。

OCI的业务比以往任何时候都更加强大,这个团队的未来是光明的。我要感谢大家的继续支持,因为我们加倍了解我们的战略要求。我们将建立区域,继续招聘和投资战略领域,并快速发展业务和客户。

--Don

英文原文:

Team,

I wanted to share with you context for the organizational restructuring happening today.

Over the past several years we've seen progressive change as Oracle has evolved into a cloud services company at its core. This is a giant shift across the company, often with our organization at its epicenter. It has affected the entire business broadly and pervasively - driving reorganizations, realigning investments, changing how we build and operate services, and evolving how we engage with our customers.

At last year's Oracle Open World, Larry was clear about the vision and direction of the company: We're an enterprise cloud company supporting the most demanding customers and the most challenging workloads. We're organized around two centers of gravity: Apps and Infrastructure. As the foundation of our cloud business, OCI - Oracle's Gen 2 Cloud - provides our customers with a secure, reliable infrastructure platform that supports the primary pillars of our business, Autonomous Database and SaaS ERP.

Everything in the company is aligning around this clear vision and direction.

Today's changes within OCI will better align with Larry's vision of the business. It will streamline our products and services, focus investments on our most strategic priorities, and help us to more effectively and rapidly deliver the full promise and reach of Oracle's Gen 2 Cloud.

Please join the OCI Leadership and me in an All Hands tomorrow, March 22nd, at 10:00 AM PDT to get more information about what this means for our team and the business.

OCI's business is stronger than ever, and this team's future is bright. I want to thank you all for your continued support as we double down on our strategic imperatives. We'll be building regions, continuing to hire and invest in strategic areas, and growing the business and our customers at a rapid pace.

--Don

以上信息仅供参考。

Posted by eygle at 1:57 PM | Permalink | IT新闻 (48)

2019年Oracle 大举裁减工程师团队,或涉及上万人

转引网络新闻:http://www.sohu.com/a/303383806_465914

本周Oracle效仿IBM的做法,实行未对外宣布的裁员,期望通过重组并向云计算转型来优化公司,对裁员一事几乎没有承认。

昨天Oracle挥起了裁员利斧。这家公司并没有透露确切的裁员人数和具体岗位,不过裁员规模显然很大。墨西哥裁员50人,新罕布什尔州裁员50人,印度裁员100人,硅谷也至少裁员100人――据theLayoff.com上的传闻报道和内部风声,裁员人数很快积少成多。这个网站为受裁员影响的人员开设了讨论区。

传闻满天飞,不过全球裁员数量似乎多达数千人。theLayoff.com上的一则匿名帖子似乎给出了实际的数字,表明裁员目标总数占Oracle全球员工总数的10%,2018年员工总数约137000人。发帖人表示,今年将分三个阶段裁员,第一个阶段约5000名员工将被裁。

裁员对Oracle来说根本就不是什么新鲜事;2017年,该公司在硅谷裁员近1000人,主要来自SPARC团队和Solaris团队。但这次裁员行动的突然性和隐秘性,还是让员工和观察人士大跌眼镜。这次裁员不但缺乏透明度,还很突然,这让人想起了IBM过去的裁员潮。

Oracle的裁员日始于太平洋夏令时上午5点,当时Oracle执行副总裁Don Johnson发送了一封标题为"组织重组"的电子邮件,发到了员工的收件箱。该邮件告知工作人员:将来,公司的一切工作都将围绕Oracle云基础设施(OCI)业务展开。

Johnson写道:"今天OCI内部的变化与拉里•埃利森的公司愿景更保持一致。它将简化我们的产品和服务,将投资重心放在我们最具战略意义的优先事项上,并帮助我们更高效、更快速地兑现Oracle第二代云的全部承诺和覆盖范围。"

该邮件随后的一句话让员工大为光火:"OCI的业务比以往任何时候都更强大,该团队的未来一片光明。"

据悉,大概上午10点左右,离邮件发送过去才5小时,裁员就开始了。据传闻报道,大规模裁员牵涉这个比以往任何时候都更强大、未来一片光明的云业务的至少一部分人。那些受影响的员工有30分钟的时间交出公司资产、离开大楼,并被告知周五是他们在公司的最后一天。

一名Oracle员工称:"这天早上感觉就像是一场屠杀。一个接一个。影响我的人走了,帮助我取得成功的人走了,优秀聪明能干的人都走了。这是糟糕的一天。一家公司最宝贵的资产莫过于它雇用的人员。今天的大裁员让我很想知道Oracle是否会意识到裁掉这些人犯了多大的错误。"

该员工还说,裁员过程的处理方式非常糟糕,整支整支的团队被集体叫到会议室,告知他们被统统解雇。该员工表示,技术团队受到的打击似乎最大,尤其是参与产品开发的团队,以及专注于软件开发、数据科学和工程技术的团队。

并不是只有这名员工觉得本周的裁员过程特别残酷。

theLayoff.com上的一位匿名发帖人写道:"刚接到一位朋友的电话,说他就解雇了。最令他烦恼的是,告知裁员消息的是一名不是他直属上司,之前也从来谈过话的高管。"

一位Oracle经理发帖到:"前一天我接到通知,称公司要开除名单上的一位员工,随后人力资源部门强行要求我在通告会上向他宣读最无情的裁员声明。我听说其他经理连手下员工被开除的通知都没有接到,他们在员工联系自己后才获悉裁员。更为糟糕的是,那些不得不通知下属裁员的经理一小时后自己也被解雇了。昨天对某些部门来说就是一场不折不扣的血洗,Oracle的处理方式极不厚道。"

被要求发表评论时,Oracle只给出了下列准备好的声明:"随着我们的云业务不断发展,我们将不断调整资源,并重组我们的开发团队,以帮助确保我们有合适的人员为全球各地的客户提供最佳的云产品。"

Posted by eygle at 1:36 PM | Permalink | IT新闻 (48)

2016年中国数据库市场销售规模超过100亿元

:关于中国数据库市场的容量和规模,数据总是较难获得,以下是转引的一则报道,其中数据可以作为一个概要参考。帮助读者了解中国数据库市场的情况。

原文链接: http://www.chyxx.com/industry/201708/553364.html

我国数据库技术亦如计算机技术的发展,起步较晚,大约始于七十年代中期。1977年11月,由中国科技大学在黄山主办了第一次数据库技术研讨会,标志着中国数据库软件产业进入了技术跟踪期,其后经历了三十多年的发展,中国数据库软件产业相继经历了强势垄断期、创新发展期,最终进入了目前的产品成熟期。

20170823141752_m.png

数据库软件是一种非常重要的基础软件,是我国信息化建设中需求量最大、应用最广泛的软件之一。国产数据库软件经过多年发展,已成功应用于政府、军队、教育、电力、金融、农业、卫生、交通、科技等行业和领域,为国家信息安全和国民经济信息化作出了巨大贡献。

近年来,随着我国信息化的深入发展,数据库软件市场规模快速增长,国产数据库软件也迅速崛起。 智研咨询发布的《2017-2023年中国数据库市场深度分析及未来发展前景预测报告》指出:2015年我国数据库软件市场规模为85.37亿元,2016年我国数据量软件市场规模增长至101.45亿元

20170823141812_m.png

2016年我国国内主要数据库企业:

  • 南大通用销售收入为2.35亿元,占同期国内数据库市场规模总量的2.3%;
  • 山东瀚高销售收入为0.58亿元,市场份额为0.6%;
  • 爱可生销售收入为0.76亿元,占比为0.7%;
  • 2015年人大金仓销售收入为0.59亿元,2016年销售收入在0.65亿元左右。

20170823141813_m.png

我国引入数据库始于20 世纪70年代,2016年我国数据库软件市场规模为101.45亿元,Oracle 数据库占比超过40%,

国产数据库软件主要有人大金仓、武汉达梦、神舟通用、南大通用、山东瀚高等,其中南大通用市场份额为2.3%。

2017082314181339_m.png

云时代下,我国数据库产业,特别是DBaaS 产业受益两大因素迎来黄金机遇期:

(1)政策鼓励云计算发展;

(2)去IOE 和分布式改造背景下,银行、电力等部门数据库国产化需求强烈。

Posted by eygle at 12:40 PM | Permalink | IT新闻 (48)

September 30, 2018

Oracle跟踪和诊断的利器: ORADEBUG 手册

转载自:http://psoug.org/reference/oradebug.html

Oracle ORADEBUG
Version 11.1
GENERAL
Background Processes List SELECT b.name, p.pid
FROM gv$bgprocess b, gv$process p
WHERE b.paddr = p.addr
ORDER BY 1;
Dispatcher Processes List SELECT d.name, p.pid
FROM gv$dispatcher d, gv$process p
WHERE d.paddr = p.addr;
Job Queue Process List SELECT s.paddr, s.sid, j.job
FROM gv$session s, dba_jobs_running j
WHERE s.sid = j.sid;

SELECT pid
FROM gv$process
WHERE addr = '17';
Parallel Execution Slave Processes List SELECT pid, server_name, status
FROM gv$px_process;
Shared Server Processes List SELECT s.name, p.pid
FROM gv$shared_server s, gv$process p
WHERE s.paddr = p.addr;
SGA Variables List SELECT ksmfsnam
FROM x$ksmfsv
WHERE ksmfsnam LIKE '%\_' ESCAPE '\';
Switches
Switch Format Description
-G <Inst-List | def | all> Parallel oradebug command prefix
-R <Inst-List | def | all> Parallel oradebug prefix return output
CALL
Invoke function with arguments oradebug call <func> [arg1] ... [argn]
SQL> oradebug call ?
CLOSE_TRACE
Close trace file oradebug close_trace
SQL> oradebug close_trace
CORE
Dump core without crashing process oradebug core
SQL> oradebug core
CURRENT_SQL

Get current SQL
oradebug current_sql
SYS UWCLASS
conn / as sysdba conn uwclass/uwclass
GRANT execute ON dbms_support
TO uwclass;
SELECT pid
FROM gv$process
WHERE addr = (
SELECT paddr
FROM gv$session
WHERE sid =
sys.dbms_support.mysid);
oradebug setorapid 26
SELECT t.tablespace_name
FROM all_tables t, all_indexes i
WHERE t.tablespace_name = i.tablespace_name;
oradebug core
DELETE
Delete a watchpoint oradebug delete <local|global|target> watchpoint <id>
SQL> oradebug delete ?
DIRECT_ACCESS
Fixed table access oradebug direct_access <set/enable/disable command | select query>
TBD
DMPCOWSGA
Dump & map SGA as COW oradebug dmpcowsga <SGA dump dir>
SQL> oradebug dmpcowsga "c: emp"
DUMP
Invoke named dump oradebug dump <dump_name> <lvl> [addr]
-- dump_name values can be obtained from oradebug dumplist

SQL> oradebug setmypid
SQL> oradebug dump library_cache 4
Invoke ASH dump SQL> oradebug setmypid
SQL> oradebug dump ashdump 10
DUMPLIST

Print a list of available dumps
oradebug dumplist
SQL> oradebug dumplist

Available Dumps

ADJUST_SCN HANGDIAG_HEADER MMAN_ALLOC_MEMORY
ALRT_TEST HEAPDUMP MMAN_CREATE_DEF_REQUEST
ARCHIVE_ERROR HEAPDUMP_ADDR MMAN_CREATE_IMM_REQUEST
ASHDUMP HM_FW_TRACE MMAN_IMM_REQUEST
ATSK_TEST INSTANTIATIONSTATE MMON_TEST
AWR_FLUSH_TABLE_OFF IOERREMUL MODIFIED_PARAMETERS
AWR_FLUSH_TABLE_ON IOERREMULRNG NEXT_SCN_WRAP
AWR_TEST IR_FW_TRACE OBJECT_CACHE
BC_SANITY_CHECK JAVAINFO OCR
BG_MESSAGES KCBO_OBJ_CHECK_DUMP OLAP_DUMP
BLK0_FMTCHG KDLIDMP OPEN_FILES
BUFFER KRA_OPTIONS PGA_DETAIL_CANCEL
BUFFERS KRA_TRACE PGA_DETAIL_DUMP
CALLSTACK KRB_BSET_DAYS PGA_DETAIL_GET
CHECK_ROREUSE_SANITY KRB_CORRUPT_INTERVAL PIN_BLOCKS
CONTEXTAREA KRB_CORRUPT_REPEAT PIN_RANDOM_BLOCKS
CONTROLF KRB_CORRUPT_SIZE POKE_ADDRESS
CROSSIC KRB_CORRUPT_SPBAD_INTERVAL POKE_LENGTH
CRS KRB_CORRUPT_SPBAD_REPEAT POKE_VALUE
CSS KRB_CORRUPT_SPBITMAP_INTER POKE_VALUE0
CURSOR_STATS KRB_CORRUPT_SPBITMAP_REPEA POOL_SIMULATOR
CURSORDUMP KRB_CORRUPT_SPHEADER_INTER PROCESSSTATE
CURSORTRACE KRB_CORRUPT_SPHEADER_REPEA REALFREEDUMP
DATA_ERR_OFF KRB_FAIL_INPUT_FILENO RECORD_CALLSTACK
DATA_ERR_ON KRB_OPTIONS RECOVERY
DBSCHEDULER KRB_OVERWRITE_ACTION REDOHDR
DROP_SEGMENTS KRB_PIECE_FAIL REDOLOGS
DUMP_ADV_SNAPSHOTS KRB_SET_TIME_SWITCH REFRESH_OS_STATS
DUMP_ALL_COMP_GRANULES KRB_SIMULATE_NODE_AFFINITY ROW_CACHE
DUMP_ALL_COMP_GRANULE_ADDR KRB_TRACE RULESETDUMP
DUMP_ALL_OBJSTATS KRB_UNUSED_OPTION RULESETDUMP_ADDR
DUMP_ALL_REQS KRBMRSR_LIMIT SAVEPOINTS
DUMP_PINNED_BUFFER_HISTORY KRBMROR_LIMIT SELFTESTASM
DUMP_TEMP KRC_TRACE SET_NBLOCKS
DUMP_TRANSFER_OPS KSDTRADV_TEST SET_TSN_P1
DUMPGLOBALDATA KSFQP_LIMIT SHARED_SERVER_STATE
ENQUEUES KSKDUMPTRACE SIMULATE_EOV
ERRORSTACK KTPR_DEBUG SYSTEMSTATE
EVENT_TSM_TEST KSTDUMPALLPROCS SYSTEMSTATE_GLOBAL
EXCEPTION_DUMP KSTDUMPALLPROCS_CLUSTER TEST_DB_ROBUSTNESS
FAILOVER KSTDUMPCURPROC TEST_GET_CALLER
FBHDR KUPPLATCHTEST TEST_SPACEBG
FBINC KXFPCLEARSTATS TEST_STACK_DUMP
FBTAIL KXFPDUMPTRACE TR_CRASH_AFTER_WRITE
FILE_HDRS KXFPBLATCHTEST TR_CORRUPT_ONE_SIDE
FLASHBACK_GEN KXFXCURSORSTATE TR_READ_ONE_SIDE
FLUSH_CACHE KXFXSLAVESTATE TR_SET_ALL_BLOCKS
FLUSH_JAVA_POOL LATCHES TR_SET_BLOCK
FULL_DUMPS LDAP_KERNEL_DUMP TR_SET_SIDE
GC_ELEMENTS LDAP_USER_DUMP TRACE_BUFFER_OFF
GES_STATE LIBRARY_CACHE TRACE_BUFFER_ON
GLOBAL_AREA LOCKS TREEDUMP
HANGANALYZE LOGERROR TR_RESET_NORMAL
HANGANALYZE_PROC LOGHIST UPDATE_BLOCK0_FORMAT
HANGANALYZE_GLOBAL LONGF_CREATE WORKAREATAB_DUMP
DUMPSGA
Dump fixed SGA oradebug dumpsga

oradebug dumpsga <bytes>
SQL> oradebug dumpsga
c:\oracle\product\admin\orabase\udump\orabase_ora_2120.trc
DUMPTYPE
Print/dump an address with type info oradebug dumptype <address> <type> <count>
TBD
DUMPVAR
Print/dump a fixed PGA/SGA/UGA variable oradebug dumpvar <pga|sga|uga> <name> [level]
SQL> oradebug setmypid
SQL> oradebug dumpvar SGA kcbnbh
EVENT
Set trace event in process oradebug EVENT <event>
TRACE NAME CONTEXT FOREVER, LEVEL <level>
SQL> oradebug setmypid

SQL> oradebug EVENT 10046 TRACE NAME CONTEXT FOREVER, LEVEL 12

SQL> oradebug unlimit
FFBEGIN
Flash Freeze the Instance oradebug ffbegin
SQL> oradebug ffbegin
FFDEREGISTER
FF deregister instance from cluster oradebug ffderegistger
SQL> oradebug ffderegister
FFRESUMEINST
Resume the flash frozen instance oradebug ffresumeinst
SQL> oradebug ffresumeinst
FFSTATUS
Flash freeze status of instance oradebug ffstatus
SQL> oradebug ffstatus
FFTERMINST
Call exit and terminate instance oradebug ffterminst
SQL> oradebug ffterminst
FLUSH
Flush the current contents of the trace buffer to the trace file use oradebug flush
SQL> oradebug flush
HANGANALYZE

Analyze system hang for stand-alone
oradebug hanganalzye [level] [syslevel]
SQL> oradebug setmypid;
SQL> oradebug hanganalyze;
SQL> oradebug flush;
Analyze system hang for RAC SQL> oradebug setmypid;
SQL> oradebug -g def hanganalyze 1
SQL> oradebug flush;
HELP
Describe one or all commands oradebug help

oradebug help <command>
SQL> oradebug help
SQL> oradebug help flush
LKDEBUG
Invoke global enqueue service debugger oradebug lkdebug
SQL> oradebug lkdebug
MAPCOWSGA
Map SGA as COW oradebug mapcowsga <SGA dump dir>
SQL> oradebug mapcowsga "c: emp"
NSDBX
Invoke CGS name-service debugger oradebug nsdbx
SQL> oradebug nsdbx
PEEK
Print/Dump memory oradebug peek <addr> <len> [level]
SQL> oradebug peek 0x20005F0C 12
POKE
Modify memory. Never perform this function on a production database! oradebug poke <addr> <len> <value>
SQL> oradebug poke 0x20005F0C 4 0x46495845
PROCSTAT
Dump process statistics oradebug procstat
SQL> oradebug setmypid

SQL> oradebug procstat
RESUME
Resume execution oradebug resume
SQL> oradebug resume
SESSION_EVENT
Set trace event in session oradebug session_event <text>
SQL> oradebug session_event 10053 TRACE NAME CONTEXT FOREVER, LEVEL 1
SETINST
Set instance list oradebug setinst <instance# .. | all>
SQL> oradebug setinst "1"
SETMYPID
Sets the oradebug PID to the current process oradebug setmypid
SQL> oradebug setmypid
SETORAPID

Set PID of Oracle process to debug
oradebug setorapid <orapid> ['force']
SELECT pid
FROM gv$process
WHERE addr = (
SELECT paddr
FROM gv$session
WHERE sid = DBMS_SUPPORT.MYSID);

or

SELECT pid
FROM gv$process
WHERE addr = (
SELECT paddr
FROM gv$session
WHERE sid = (SELECT sid FROM gv$mystat WHERE ROWNUM = 1));

/*
or one of the processes from the background, dispatcher, job queue, parallel, or shared server process lists
*/

SQL> oradebug setorapid 19
SETOSPID
Set OS pid of process to debug

The operating system process ID is the PID on Unix systems and the thread number for Windows systems
oradebug setospid <ospid>
Do not use as it often fails. Use setorapid instead.
SETORAPNAME
Set Oracle process name to debug oradebug setorapname <orapname>
TBD
SETVAR
Modify a fixed PGA/SGA/UGA variable oradebug setvar <pga|sga|uga> <name> <value>
SQL> oradebug setvar SGA kcfdfk 200
SGATOFILE
Dump SGA to file oradebug sgatofile <SGA dump dir>
SQL> oradebug ffbegin
SQL> oradebug sgatofile "c: emp"
SQL> oradebug ffresumeinst
SHORT_STACK
Get abridged OS stack oradebug short_stack
SQL> oradebug short_stack
SHOW
Show watchpoints oradebug show <local|global|target> watchpoint <id>
SQL> oradebug show?
SKDSTTPCS
Helps translate PCs to names oradebug skdsttpcs <ifname> <ofname>
SQL> oradebug skdsttpcs?
SUSPEND
Suspends the current process oradebug suspend
SQL> oradebug suspend
TRACEFILE_NAME
Get trace file name

Will not return a value on Windows systems
oradebug tracefile_name
SQL> oradebug tracefile_name
UNLIMIT
Unlimit the size of the trace file oradebug unlimit
SQL> oradebug unlimit
WAKEUP
Wake up Oracle process oradebug wakeup <orapid>
SELECT pid
FROM gv$process
WHERE addr = (
SELECT paddr
FROM gv$bgprocess
WHERE name = 'SMON');

SQL> oradebug wakeup 7
WATCH
Watch a region of memory oradebug watch <address> <len> <self|exist|all|target>
SQL> oradebug watch?
Demo

Taking a heap dump during a large (sorting) query
-- This example requires two sessions, session 1 logged on SYS AS SYSDBA and session 2 which
-- executes the query. In session 2 identify the PID using


SELECT pid
FROM gv$process
WHERE addr IN (
SELECT paddr
FROM gv$session
WHERE sid = dbms_support.mysid);

In this example the PID was 12

In session 1 set the Oracle PID using

ORADEBUG SETORAPID 12

In session 2 start the query

SELECT ... FROM t1 ORDER BY ....

In session 1 suspend session 2

ORADEBUG SUSPEND

The query in session 2 will be suspended

In session 1 run the heap dump

ORADEBUG DUMP HEAPDUMP 1

The heapdump will show the memory structures allocated for the sort. At this point further dumps e.g. subheap dumps can be taken.

In session 1 resume session 2

ORADEBUG RESUME

The query in session 2 will resume execution

Posted by eygle at 12:52 PM | Permalink | Oracle摘 (117)

近期发表

  • Percona最新发布XtraBackup for MySQL 8.0 - September 13, 2018
  • 对话李飞飞:在谷歌听得见炮火 回斯坦福看下个方向 - September 12, 2018
  • 数据库流行度排行榜 - September 3, 2018
  • 解析 vcard规范 二维码名片的格式 - September 3, 2018
  • Jonathan Lewis:我很为DBA们的未来担心(图灵访谈) - November 26, 2013
  • 吕海波(Vage)- 突然35岁:捡点我的职业生涯 - July 31, 2013
  • 吕海波(Vage)- 漂泊的技术人生 - ITPUB访谈录 - July 31, 2013
  • Oracle群英录 - 2013上海OOW名人录 - July 26, 2013
  • 冯大辉(@Fenng):信息真正的意义(图灵访谈) - July 5, 2013
  • 从网易到快钱 - 关国光 创业创到七十岁 - August 5, 2012


  • CopyRight © 2004 ~ 2012 eygle.com, All rights reserved.