墨鏡的bism

介绍 (Introduction)

One of a database designers’ worst nightmares is having to design a database for business analysts and data stewards whom insist upon creating their own reports, using Excel as a GUI. The reason that I mention this is that user created reports often open up “Pandora’s box”; with many of these folks creating their own ‘miss-information’ due to a lack of understanding of the underlying data. A few weeks back I had the ’fortune’ of working on such a project, which prompted an ‘ah-ha’ moment. I decided to design the backend SQL Server database using the Business Intelligence Semantic Model (BISM) and to employ the super set of tools provided by Microsoft Power BI, with Excel as a GUI. The end results were wildly accepted by the user community and once you see how easy this is to apply, you will be ‘chomping on the bit’ to employ the same techniques on your own user driven projects.

数据库设计师最糟糕的噩梦之一是必须为业务分析师和数据管理员设计数据库,这些分析师坚持使用Excel作为GUI创建自己报告。 我之所以这样说,是因为用户创建的报告经常会打开“ Pandora的盒子”。 由于缺乏对底层数据的理解,许多这样的人创建了自己的“缺失信息”。 几周前,我有从事这样一个项目的“财富”,这引发了“啊哈”的时刻。 我决定使用商业智能语义模型(BISM)设计后端SQL Server数据库,并采用Microsoft Power BI提供的超级工具集,并以Excel作为GUI。 最终结果被用户社区广泛接受,一旦知道这是多么容易应用,您将“急切地”在您自己的用户驱动项目中采用相同的技术。

初步研究 (The preliminary research)

Upon examining the existing data stores, I noted that most of the client’s data resided in spreadsheets. In order to show you the reader how we accomplished the conversion, I shall be using non confidential data readily available on the internet.

在检查现有的数据存储后,我注意到大多数客户的数据都位于电子表格中。 为了向读者展示我们如何完成转换,我将使用Internet上随时可用的非机密数据。

Our first step is to load the data from these spreadsheets into a relational database which I have called ‘SQLShackFinancial’. The spreadsheets contain data from varied exchanges such S&P, NYSE and the NASDAQ.

我们的第一步是将这些电子表格中的数据加载到我称为“ SQLShackFinancial”的关系数据库中。 电子表格包含来自不同交易所的数据,例如标准普尔,纽约证券交易所和纳斯达克。

As a final note, this exercise utilizes SQL Server 2012 Enterprise Edition or SQL Server 2012 Developer Edition as this is the first version that offers Tabular Model facilities. You may also utilize the same 2014 editions.

最后一点,本练习利用了SQL Server 2012 Enterprise Edition或SQL Server 2012 Developer Edition,因为这是第一个提供表格模型功能的版本。 您也可以使用相同的2014版。

入门 (Getting started)

We begin our journey within SQL Server Management Studio (SSMS) by creating a normal relational database called ‘SQLShackFinancial’ (see below).

我们通过创建一个称为“ SQLShackFinancial”的常规关系数据库(请参见下文)开始在SQL Server Management Studio(SSMS)中的旅程。

Our next task is to load the data from the spreadsheets shown below:

我们的下一个任务是从如下所示的电子表格加载数据:

Now, we could use the ‘load wizard’ within SSMS, however the wizard is great for one offs. In our case the client wishes to reload the tables on a daily basis and therefore we shall opt for creating an SQL Server Integration Services package.

现在,我们可以在SSMS中使用“加载向导”,但是该向导非常有用。 在我们的情况下,客户希望每天重新加载表,因此,我们将选择创建SQL Server Integration Services程序包。

I start by bring up SQL Server Data Tools (SSDT) and creating a new SQL Server Integration Services package. I call my project ‘LoadSQLShackFinancialData’ (see below).

首先,启动SQL Server数据工具(SSDT)并创建一个新SQL Server Integration Services程序包。 我称我的项目为“ LoadSQLShackFinancialData”(见下文)。

Upon clicking OK to create the package, I arrive at ‘Control Flow’ work surface where I shall begin to structure the load package.

单击“确定”以创建程序包后,我到达“控制流”工作台,在这里我将开始构造装载程序包。

I rename the package to ‘SQLShackLoads’.

我将包重命名为“ SQLShackLoads”。

Clicking on the project tab of the menu bar, I call up the project properties page. I expand the ‘Configuration Properties’ menu and set the Run64BitRunTime to ‘False’ (see above). I click apply and OK.

单击菜单栏的项目选项卡,我调出项目属性页面。 我展开“配置属性”菜单,并将Run64BitRunTime设置为“ False”(请参见上文)。 我单击“应用”,然后单击“确定”。

I now drag a ‘Data Flow Task’ onto the working surface of the Control Flow and rename that Data Flow ‘Load NYSE 2009 data’ (see below).

现在,我将“数据流任务”拖到控制流的工作面上,并将该数据流重命名为“加载NYSE 2009数据”(请参见下文)。

Double clicking on the data flow (see above) we are brought to the ‘Data Flow’ tab. I add an ‘Excel Data Source’ (see below)

双击数据流(见上文),我们进入“数据流”选项卡。 我添加了一个“ Excel数据源”(见下文)

I merely configure this data source to point to my NYSE Excel Workbook.

我仅配置此数据源以指向我的NYSE Excel Workbook。

And view my incoming data columns (see below).

并查看我的传入数据列(请参见下文)。

I now click OK to leave the ‘Excel Source’ configuration screen, having defined my data source.

现在,我单击“确定”以离开“ Excel Source”配置屏幕,并定义了我的数据源。

Our next step is to create a data connection to our SQL Server database so that the data from the Excel data source may be placed in a table within the database. I right click within the Connection Managers box and create a new OLE DB connection (see below).

下一步是创建与SQL Server数据库的数据连接,以便可以将来自Excel数据源的数据放在数据库中的表中。 我在“连接管理器”框中右键单击并创建一个新的OLE DB连接(请参见下文)。

We must now configure this connection (see below).

现在,我们必须配置此连接(请参见下文)。

As this is the first time attempting to access the SQLShackFinancial database, we create a ‘new connection’. I click on the ‘New’ button shown above. The connection manager data collection screen is brought into view.

由于这是第一次尝试访问SQLShackFinancial数据库,因此我们创建了一个“新连接”。 我点击上面显示的“新建”按钮。 进入连接管理器数据收集屏幕。

I merely complete the ‘Server name’ box, tell SSIS which database I wish to connect to, and test the connection. The completed data entry screen is shown below.

我仅完成“服务器名称”框,告诉SSIS我希望连接到哪个数据库,并测试连接。 完成的数据输入屏幕如下所示。

Finally, I click OK, OK and OK again to return to my ‘Data Flow’ screen.

最后,单击确定,再次单击确定,然后返回到“数据流”屏幕。

We do have one issue with this data: the date field within the spreadsheet is a ‘text’ field (see below).

我们确实对此数据存在一个问题:电子表格中的日期字段是一个“文本”字段(请参见下文)。

This is not really optimal as I know that I shall be doing date related queries. Therefore upon loading the data into our database table I shall convert it to a date, prior to actually inserting it into the table. To achieve this, I add a ‘data conversion’ control onto the design surface (see below).

这并不是真正的最佳选择,因为我知道我将进行与日期相关的查询。 因此,在将数据加载到数据库表中之后,我将其转换为日期,然后才将其实际插入表中。 为此,我在设计图面上添加了“数据转换”控件(请参见下文)。

Opening the control, I check the ‘date’ input column and change the data type of the output to ‘DT_DATE’ and click OK. Our final step in the process is to add an OLE DB destination control which will connect the data flow to our final data repository table (see below).

打开控件,我检查“日期”输入列,并将输出数据类型更改为“ DT_DATE”,然后单击“确定”。 在此过程中,我们的最后一步是添加一个OLE DB目标控件,它将数据流连接到我们的最终数据存储库表(请参见下文)。

By double clicking the ‘OLE DB Destination’ that we just brought onto our surface, the OLE DB Destination Editor is brought up. I point it to the SQLShackFinancial connection that I created above and I click the ‘New’ button for the ‘Name of the table or the view’ option. We must remember that the table does not yet exist as this is the first time that I am loading data into the database.

通过双击刚带到表面上的“ OLE DB目标”,将启动OLE DB目标编辑器。 我将其指向上面创建SQLShackFinancial连接,然后单击“表或视图名称”选项的“新建”按钮。 我们必须记住,该表尚不存在,因为这是我第一次将数据加载到数据库中。

I name the table NYSE_2009 and click OK (see below).

我将表命名为NYSE_2009,然后单击“确定”(见下文)。

Clicking the ‘Mappings Table’, I am now able to link the incoming fields with the final fields within the database.

单击“映射表”,现在可以将输入字段与数据库中的最终字段进行链接。

We are now in a position to load the table.

现在,我们可以加载表格了。

As a one off, I shall execute the load manually (as setting up the load to run as a batch job is outside the scope of this paper). I click on the ‘Debug’ table and select ‘Start Debugging’ (see above).

首先,我将手动执行加载(因为将加载设置为作为批处理作业运行不在本文讨论范围之内)。 我单击“调试”表,然后选择“开始调试”(请参见上文)。

When the load is complete, the screen will appear as shown below:

加载完成后,将显示如下屏幕:

Meanwhile, back in SQL Server Management Studio, the data that we just loaded may be seen below:

同时,回到SQL Server Management Studio,我们刚刚加载的数据如下所示:

It is left up to the reader to repeat the same steps to load the NASDAQ and S&P data in a similar manner to that shown above.

留给读者的是重复上述步骤,以与上面所示类似的方式加载NASDAQ和S&P数据。

We shall now create two views, one of which will be used to link the S&P 500 table to the NYSE_2009

现在,我们将创建两个视图,其中一个将用于将S&P 500表链接到NYSE_2009。

and the other to link the S&P 500 table to the NASDAQ_2009 table (see below).

另一个将S&P 500表链接到NASDAQ_2009表(请参见下文)。

构建我们的表格分析解决方案 (Constructing our Tabular Analytic Solution)

After much thought and design, I chose to utilize the tabular model. Not only does the tabular model give users the look and feel of a spreadsheet, it also permits us to create our own microcosm which is not easily established utilizing conventional multi-dimensional modeling.

经过深思熟虑和设计,我选择使用表格模型。 表格模型不仅为用户提供了电子表格的外观和感觉,还使我们能够创建自己的缩影,而使用常规的多维建模不容易建立缩影。

To begin we bring up SQL Server Data Tools (SSDT) and this time we are going to create and ‘Analysis Services Tabular Project’.

首先,我们介绍SQL Server数据工具(SSDT),这次我们将创建“ Analysis Services表格项目”。

We click ‘New’ and select ‘Project’ from the main menu (see above). A further menu is then displayed. We select ‘Analysis Services Tabular Project from the ‘New Project’ menu (see below).

我们单击“新建”,然后从主菜单中选择“项目”(请参见上文)。 然后显示另一个菜单。 我们从“新项目”菜单中选择“ Analysis Services表格项目”(见下文)。

I give the project a name. In our case I call it ‘SQLShackTabulaReportingModel’, and click OK (see below).

我给这个项目起个名字。 在我们的例子中,我将其称为“ SQLShackTabulaReportingModel”,然后单击“确定”(见下文)。

The system now asks me where the end project will reside, i.e. on which Analysis Services server. Having created the connection, I test it and I am informed that all is in order (see below).

系统现在询问我最终项目将驻留在哪里,即哪个Analysis Services服务器。 创建连接后,我对其进行了测试,并通知我一切正常(请参见下文)。

Having configured our project, we now arrived at our main work surface (the data model). Whilst we have defined where our end project will reside, we have yet to define the data source.

配置完项目后,我们现在到达主工作界面(数据模型)。 虽然我们已经定义了最终项目将驻留在哪里,但是我们还没有定义数据源。

I click ‘Model’ and then “Import from Data Source’.

我单击“模型”,然后单击“从数据源导入”。

The ‘Table Import Wizard’ is brought up. I choose a ‘Microsoft SQL Server’ data source (see above). The ‘Define your data source’ input screen is now displayed (see below).

出现“表导入向导”。 我选择一个“ Microsoft SQL Server”数据源(请参见上文)。 现在显示“定义数据源”输入屏幕(请参见下文)。

I can now test the connectivity to the ‘SQLShackFinancial’ relational database, the source data for our efforts today.

现在,我可以测试到“ SQLShackFinancial”关系数据库的连接性,这是我们今天努力的源数据。

Having defined the connection, I am next asked for the credentials that will be used to access the data (see above). The system then verifies that I have the necessary rights to view the data and if the authentication is successful then the system will ask me to select the table(s) and view(s) that I wish to import into our project (see below).

定义了连接之后,接下来要求我提供用于访问数据的凭据(请参见上文)。 然后,系统会验证我是否具有查看数据的必要权限,并且如果身份验证成功,那么系统将要求我选择要导入到我们的项目中的表和视图(请参见下文) 。

The best ‘fit’ for what we shall utilize in this discussion are data from the SP500 table and from the two views that we created above (see the screen dump above).

我们在本次讨论中将要使用的最佳“契合度”是来自SP500表和上面创建的两个视图的数据(请参见上面的屏幕转储)。

The system now loads the data and when loading has completed (and if the load was successful), you will receive a ‘Success’ notification as may be seen below:

现在,系统将加载数据,并且在加载完成后(如果加载成功),您将收到“成功”通知,如下所示:

Once the process is complete your screen should be similar to the one below:

该过程完成后,您的屏幕应类似于以下屏幕:

Note that the data from the SP500 table and data from the two views may be seen in the screen dump above. Note also, the manner in which the data is displayed and it does bring to mind the workings of a spreadsheet. This is the big selling point for the product, especially where financial folks are concerned.

请注意,可以在上面的屏幕转储中看到SP500表中的数据和两个视图中的数据。 还要注意,数据的显示方式和它的确使我想到了电子表格的工作方式。 这是该产品的主要卖点,尤其是对于财务人员而言。

制定措施 (Creating our measures)

When working with any analytic solution, albeit Multidimensional or Tabular, we have ‘facts’ or ‘measures’ in addition to dimensions. In our case the ‘gain or loss dollars’ and the ‘gain or loss percentages’ are our measures and the sectors and sub-industries will be our dimensions. In short we shall be asking ourselves what are the gain/losses for a particular ‘sub-industry’ within a sector?

使用多维或表格形式的任何分析解决方案时,除维数外,我们还有“事实”或“度量”。 在我们的案例中,“获利或亏损美元”和“获利或亏损百分比”是我们的度量标准,行业和子行业将是我们的规模。 简而言之,我们将问自己一个部门中特定“子行业”的收益/损失是什么?

The measures for ‘NYSE_Stock_Gain_Loss_dollar’ and ‘NYSE_Stock_Gain_Loss_percent’ are shown below.

“ NYSE_Stock_Gain_Loss_perlar”和“ NYSE_Stock_Gain_Loss_percent”的度量如下所示。

An important point to emphasize is that although at first glance the column/field is merely being ‘summed’, this is NOT the case. What we are in fact looking at is a ‘cube’ and we can utilize our dimensions such as ‘sector’ and ‘sub-industries’ as slicers.

需要强调的重要一点是,尽管乍一看,列/字段只是“求和”的,但事实并非如此。 实际上,我们所看到的是一个“多维数据集”,我们可以将诸如“部门”和“子行业”之类的维度用作切片器。

The completed total calculation may be seen below:

完成的总计计算如下所示:

In a similar manner the ‘AVERAGENYSE_Stock_Gain_Loss_Pct ‘field is created (see below).

以类似的方式创建“ AVERAGENYSE_Stock_Gain_Loss_Pct”字段(请参见下文)。

Using the data from the SP500_NASDAQ view we create similar totals and averages (see below).

使用SP500_NASDAQ视图中的数据,我们可以创建相似的总计和平均值(请参见下文)。

Switching over to the relational view (by clicking the icon of ‘three small square boxes’ on the bottom right hand side of the screen containing the grid), we find our ‘Relational’ view.

切换到关系视图(通过单击包含网格的屏幕右下角的“三个小方框”图标),我们找到了“关系”视图。

在表/视图之间创建关系 (Creating relationships between the table/views)

We now ‘join’ the ticker symbol from the SP500 table to the ticker symbol in the SP500 – NYSE2009 view AND link the ticker symbol from the SP500 table to the ticker symbol in the SP500 – NASDAQ view (see below)

现在,我们将SP500表中的股票代号“联接”到SP500 – NYSE2009视图中的股票代号,并将SP500表中的股票代号链接到SP500 – NASDAQ视图中的股票代号(请参见下文)

The reader will note that in each of the tables / views (shown above), that there is a ‘sector’ and ‘sub-industry’ field. Sectors have ‘babies’ called sub-industries. What we need to do is to create a hierarchy on each of the tables / views (shown above) shown above.

读者会注意到,在每个表/视图(如上所示)中,都有一个“部门”和“子行业”字段。 部门有被称为子行业的“婴儿”。 我们需要做的是在上面显示的每个表/视图(如上所示)上创建一个层次结构。

We first right click on the SP500-NASDAQ entity. The context menu appears.

我们首先右键单击SP500-NASDAQ实体。 出现上下文菜单。

I choose ‘Create Hierarchy’. Note that a ‘hierarchy’ has been established in the screen dump below:

我选择“创建层次结构”。 请注意,下面的屏幕转储中已建立了“层次结构”:

I rename the hierarchy and drag the sector and sub-industry fields into the hierarchy (see below).

我重命名层次结构,然后将行业和子行业字段拖到层次结构中(请参见下文)。

In a similar manner, I create the hierarchy for the SP500 entity and for the SP500-NYSE2009 entity (see below).

以类似的方式,我为SP500实体和SP500-NYSE2009实体(请参见下文)创建层次结构。

We are now ready to deploy our project.

现在,我们准备部署我们的项目。

部署我们的项目 (Deploying our project)

I right click on the ‘SQLShackTabularReportingModel’ and select deploy (see above). Upon successful completion of the deployment, you should receive a screen similar to the one shown below:

我右键单击“ SQLShackTabularReportingModel”,然后选择部署(请参见上文)。 成功完成部署后,您将收到类似于以下所示的屏幕:

Our work here is now complete. Let us see what we have done!

现在我们的工作已经完成。 让我们看看我们做了什么!

同时返回Analysis Services (Meanwhile back in Analysis Services)

In order to have a quick look at what we have just created, we bring up Analysis Services.

为了快速了解我们刚刚创建的内容,我们启用了Analysis Services。

Once in Analysis Services, we can see the database that we just created.

进入Analysis Services后,我们可以看到刚刚创建的数据库。

Now that we know that our deployment was successful, we are now ready to create a few reports!

现在我们知道我们的部署已成功,现在我们准备创建一些报告!

The proof of the pudding is in the eating!

该 证明 的 的 布丁 是 在 该 吃饭!

As mentioned within the introduction, our client utilized Excel as a GUI. With this in mind, our reporting today will be via Excel.

如简介中所述,我们的客户使用Excel作为GUI。 考虑到这一点,我们今天的报告将通过Excel。

Having opened Excel we begin with a new workbook.

打开Excel后,我们从一个新的工作簿开始。

Our first task is to create a data connection to our newly created tabular model.

我们的首要任务是创建与新创建的表格模型的数据连接。

I click on the ‘Data’ tab and select ‘From other sources’ (see below).

我单击“数据”选项卡,然后选择“来自其他来源”(请参见下文)。

I choose ‘From Analysis Services’

我选择“来自Analysis Services”

I now let Excel know which server contains the data and I select windows authentication for my credentials (see above). I then click ‘Next’. I shall now select our ‘SQLShackTabularReportingModel’ database (see below).

现在,我让Excel知道哪个服务器包含数据,然后为我的凭据选择Windows身份验证(请参见上文)。 然后,我单击“下一步”。 现在,我将选择“ SQLShackTabularReportingModel”数据库(请参见下文)。

Whilst I have defined which database I wish to use, I must still create a connection from Excel to that database before I can work with the data. This is achieved via a ‘Connection File’.

在定义了我希望使用的数据库的同时,我仍然必须创建从Excel到该数据库的连接,然后才能使用数据。 这是通过“连接文件”实现的。

I must now give a name to our connection file. I also give the connection file a meaningful description so that the next time that I am looking for it, it will be come immediately apparent that this is the connection for which I am looking.

现在,我必须给我们的连接文件起一个名字。 我还为连接文件提供了有意义的描述,以便下次我要查找该文件时,可以很明显地看出这是我正在寻找的连接。

I click ‘Finish’.

我点击“完成”。

This done, Excel wishes to know if I would like to a PivotTable report. I click OK (see below).

完成此操作后,Excel希望知道我是否想要数据透视表报表。 我单击确定(见下文)。

Having clicked OK, we find ourselves within a ‘PivotTable Report’, with the cells marked ‘Pivot Table1’ being where all of the ‘magic’ occurs.

单击“确定”后,我们发现自己位于“数据透视表报表”中,标记为“数据透视表1”的单元格是所有“魔术”发生的位置。

After examining the ‘PivotTable Fields’, note that the summary fields (which we created in the BISM model) are visible in the center right of your screen.

在检查了“数据透视表字段”之后,请注意摘要字段(我们在BISM模型中创建的字段)在屏幕的中心右侧可见。

These summary fields are denoted by the Greek letter Sigma Σ

这些摘要字段由希腊字母SigmaΣ表示

Selecting the SP500_NASDAQ summations, our screen immediately changes (see below).

选择SP500_NASDAQ总和,我们的屏幕立即更改(请参阅下文)。

Note that this is a summation of all records within the entity. What we really want to do is to look at the data in a more granular manner fashion; therefore I now ‘check’ the ‘SectorSubindustry’ hierarchy which is then brought onto our work surface. We now have a clear view of the data

墨鏡的bism_如何使用商业智能语义模型(BISM)和Excel设计基于地图的报表相关推荐

  1. 语义分割模型中分辨率恢复_语义模型在智慧工业运营中的作用

    语义分割模型中分辨率恢复 在围绕智慧地球解决方案的讨论中,我们经常描述三个关键要素. 有时会标记为三个" i",分别是"仪表","智能"和& ...

  2. 深度语义模型以及在淘宝搜索中的应用

    https://www.toutiao.com/a6685574319969403404/ 传统的搜索文本相关性模型,如BM25通常计算Query与Doc文本term匹配程度.由于Query与Doc之 ...

  3. nc65语义模型设计_完整word版,NC数据加工做语义模型

    报表语义模型(数据加工:返回结果集方式) 数据加工方式: 1. 返回查询 SQL ; 2. 返回结果集 DataSet : 3. 返回数据表. 实现方式基本一致,可以参照系统原有报表语义模型 一. 新 ...

  4. [Embeding-3]综述:词嵌入以及与分布式语义模型的关联

    1. 前言 近年来,在许多NLP任务中,无监督学习单词嵌入已经取得了巨大的成功.他们的效果如此之好,以至于在许多NLP体系结构中,几乎完全取代了更传统的分布式表示,如LSA特征和Brown聚类. 可以 ...

  5. nc65语义模型设计_NC6X报表数据加工做语义模型(返回DataSet篇)

    报表语义模型(数据加工:返回结果集方式) 数据加工方式: 1. 返回查询 SQL ; 2. 返回结果集 DataSet : 3. 返回数据表. 实现方式基本一致,可以参照系统原有报表语义模型 ( 抱歉 ...

  6. CVPR 2021 前景背景分开建模,UCLA 视觉研究组提出用于视频预测的动态语义模型...

    关注公众号,发现CV技术之美 本文分享 CVPR 2021 论文『Learning Semantic-Aware Dynamics for Video Prediction』,前景背景分开建模,UCL ...

  7. 图 子类 数据库_构造知识图的语义模型

    幼稚园见解, 使用基于图的结构捕获数据源的语义 如果您是知识图和相关概念的新手,例如从数据源到本体的映射,我邀请您阅读以下入门文章. 知识图(KG)是用于捕获和构建大量多关系数据的有效工具,可以通过查 ...

  8. 语义模型及自然语言处理系统基础算法

    语义模型常用算法及详解 1.1 关键词抽取的算法模型 (1)TF-IDF (2)TextRank (3)基于语义的统计语言实现关键词抽取 1.2 短语抽取的算法模型 (1)基于互信息和左右信息熵算法实 ...

  9. 非主流自然语言处理——遗忘算法系列(六):语义模型

    [前言] 1.语义体系的建立对人工智能的意义,相信不用多说. 2.公开此文的目的,是因为此文所设计的语义模型包含的待解决任务量很大,寻求同好共同讨论交流. 3.版权说明    3.1.本文的版权归作者 ...

最新文章

  1. MySQL的正则表达式
  2. 菜鸟也来学习ORACLE(1)_linux下安装oracle 11g
  3. 用Windows Storage Server 2008做iSCSI存储服务器
  4. TCP全局同步问题发生的原因
  5. 一文看懂 K8s 日志系统设计和实践
  6. commons-lang3之StringUtils
  7. kubernetes系列12—二个特色的存储卷configmap和secret
  8. NOIP2012pj文化之旅[floyd]
  9. 关于C#使用DataContractJsonSerializer来进行JSON解析
  10. php程序员 软考考什么好,软考考什么好_软考哪个好考_软考哪个更容易考 - 希赛网...
  11. android 圆形自定义进度条,Android 实现自定义圆形进度条的功能
  12. 计算机组成原理图ei,(完整版)计算机组成原理试题库(含答案)-
  13. Java进阶-面向对象
  14. TextView中动态显示某些值
  15. 小柏实战学习Liunx(图文教程二十一)
  16. [Migrated]榜样
  17. 一次解决IDEA所有乱码情况
  18. 简述3D点云配准算法
  19. 鼓励参与期货市场套期保值
  20. [转]智慧小故事集精

热门文章

  1. MFC初步教程(二)
  2. C# MVC Controller依赖注入的办法
  3. 民生证券手机网上开户流程
  4. 重写equals方法(未完)
  5. hdu 2063 过山车(模板)
  6. 禅道程序员的10条原则--转载--为了不忘
  7. 7月最新发布10.2.0.4.5 Patch Set Update
  8. [导入]XI 常用的URL
  9. JavaScript学习(七十六)—this的指向问题
  10. JavaScript学习(八)—属性节点和属性值的操作