关于技术文章的非技术文章

他们经常告诉我-嘿,技术文章在哪里?为什么要写各种有关经理,董事,与员工的关系,公司纠纷,抱怨我们工作毫无意义的垃圾。我们需要技术文章!

老实说,我不明白什么是“技术文章”。我了解什么是“任务”,什么是“解决方案”。我也理解,从“铁”到哲学,可以在不同层次上找到解决同一问题的方法。哪个级别更正确-我不知道。

要了解,您需要您的帮助。我有一个很好的端到端示例,可以解决一个不同级别的问题。我立即警告您-这是1C领域的一个例子,但是您美丽的大脑将有一个应用空间。让我们尝试在此链中找到“技术文章”的位置。

一个例子是几个真实故事的集合。我的意思是,它重复了几次,使用不同的角色,打开/关闭了不同的阶段,但是本质是相同的。追。

初始情况


最初的情况很简单:1C成本的计算尚未完成。

对于那些远离黄色世界的人,我将进行解释。成本核算大约是1C中最耗费资源的操作。它在月底进行,有时以旧的方式称为“月末”。

一个月之内,所谓 “原始文件”-物料的接收,仓库之间的转移,产品发布,从仓库到生产的注销,调整,成本接收,分配,组装等。

所有文档的本质是相同的:有些东西在某处流动。从仓库到仓库,从仓库到生产,从生产到仓库,从一个车间到另一个,从一个术语到另一个。粗略地说,库存和成本的状态有变化。什么都没有-它变得重要。有材料-这变成了成本。这是一种成本-它成为了一种产品。是生产-再次变得重要。是产品-成为收入。那是电力-这变成了成本。这是一种成本-包括在生产成本中。如果您抽象地推理,则仅是本质状态的变化。

整个事件在一个月内记录在一张大表中,然后通过成本计算进行处理。他有两项关键任务-分配成本和调整成本。分配成本-就像在生产成本中包括在此问题上花费的所有费用,例如材料,电力,工资等。(在计算成本之前,这些是不同的表条目,分别发布,分别花费)。好吧,调整成本是决定SLAE将成本带到所需的冲销策略(平均或FIFO)。

因此,假设所有这些废话都不起作用。我们开始,等待一天,然后它落下。众所周知,计算是在运行Windows Server 2012的服务器上通过rphost.exe DBMS-MS SQL进程执行的。

环境水平


第一级是纯粹的patsansky。我们不想对任何1C一无所知,我们只关注环境。总的来说,这个不幸的1C对我们有什么影响?我们已经知道她做错了一切,但是不知何故我们可以做到。

实验领域巨大。以及真实的,无引号的,技术文章的材料。

让我们从选择服务器硬件开始。毕竟,他可能被1Sniks接过,他们对此并不感到僵化。我们将撰写有关RAM对1C繁重操作性能的影响的文章,研究不同物理设计的硬盘驱动器,看看更重要的是-处理器或内核的数量。实际上,我们还将订购新服务器。尤其是考虑到服务器提供商所付出的回滚。

接下来,让我们看一下操作系统。在Windows下保持像样的服务器不好吗?而且,长期以来,1C一直可以在Linux下工作。最后,在1C中支持集群,并且我们正式可以提供两个或更多服务器,即使在不同的操作系统下也是如此。这将是这篇文章的母亲。

好吧,当然,我们不会绕过DBMS。为什么所有人都会遇到这个MS SQL?至少,让我们看一下Postgre,它已经支持1C约100年,即使在Windows下也是如此。我们不仅将尝试另一个DBMS,还将对其进行调整,以使噪音得以维持。是的,已经有很多关于该主题的文章,包括1C公司本身,但我们一定会在我们的技术文章中找到要说的话。毕竟,阅读人们的经验很有趣,而不是手册。

我们会解决问题吗?不排除。实践表明,在这个级别上解决了很多问题-尤其是在成本计算中出现问题时,即第一次出现。那时,操作系统和DBMS的所有设置都被默认。

但是我们的故事有些不同。所有的可能性都已经用尽,服务器上满是城市的头脑-而且是三个月前购买的。然后,启动后,服务器立即在16小时内中断了成本计算。而现在,a,由于某种原因,并且一天无法应付。

必须上一个级别。

1C级


好吧,放下铁杆,爬到程序上。一个简单的性能测量表明,执行成本分配操作时1C冻结并崩溃。

实际上,一切都很简单。在计算800万条记录时有一张表。粗略地说,其中一半是成本,另一半是分销基础。那些。您需要上半场,然后奔向下半场。

我们坐下来思考-亲爱的,哪里跌倒了?常规搜索,尽管伴随着对数据库的不断查询,并将中间结果存储在临时表中。好吧,也许问题在于结果无法记录,即添加多达800万条记录。

没什么复杂的,但是正在下降。 rphost.exe进程缺少某些内容。因此,停止...为什么这样一个简单且通常在上下文不敏感的操作中是一个简单的过程呢?谁阻止将表分成两半甚至三部分并并行执行?毕竟1C确实有能力启动至少20个过程,但是由于某种原因却没有。那为什么不呢?还是呢?

是的,我们发现我们的1C版本有些过时了,在更现代的并行化中,直接对设置进行了设置-人们可以预先告知可以执行这些“计算”的并行线程数。乱!

我们添加了一个简单的代码,将表切成所需数量的部分并并行执行它们。让我提醒您,在一次迭代的框架内,某些成本的分配不取决于其他成本的分配。

!赚了!费用计算失败!但是,有时会有用于写的锁-不在乎,我们以记录缓存的形式附加了一个补丁,并使用了受控的锁来将其随后放置在主表中。美丽!作品!

U,这里可以写几篇文章!技术!是的,略带黄色。虽然,另一方面,我们的地方没有消失吗?什么,在您的开发环境和项目中,不必将数百万行的记录分成几部分,以使DBMS不会消失?

一切似乎都是胜利。但是有些东西在咬……成本是经过计算的,但仍然太长了。同一天,它刚刚停止下降-记录的数量并没有消失,我们只是将它们写成几部分,伪并行编写。

爬得更高。

技术设置水平1C


通过分析算法,我们知道问题不仅在于记录的数量,还在于它们的多重处理。从理论上讲,我们了解到将400万条记录分配给另外400万条记录,这足以满足一个查询,其中必要的分析人员匹配行,然后记录结果。

在这里,我们看-地狱,有一个周期...一个周期是根据400万行的表运行的。并且其中又有一个循环,根据某些奇怪的条件无条件地中断。嵌套循环的主体执行了超过400万次。煎饼…

随便看看,我们找到了第三个表,其中存储了分发设置。粗略地说,这里是前400万条记录与第二条记录的比较。但是,所有内容的组织不是明确的,而是过滤器的逐步缩小。首先,它的写法是“考虑到一般生产的所有成本,都比拟愚蠢地发布”,然后“但此文章也要发布”,然后“但此文对这个部门来说也是汗水,也要发布”,然后将其指定给项目组会计等

最糟糕的是,该算法无法一次确定分布设置,而是周期性地确定分布设置,逐渐接近目标。尽管最终结果是相同的。而且,不,这不是最坏的事情-此表中有1万条记录。用手明确驱动。

我们记得会计师如何使用这些设置。程序员使用最宽的过滤器将4行驱动到表中。会计有些“没有关闭”的事情-他们停下来为特定的文章和特定的部门指定了一个过滤器。因此,这些年来,他们做了1万次。

结果,我们的400万条记录多次遍历其他400万条记录。好吧,我们勇往直前,去会计部门。不是对总会计师-她可能对这种情况一无所知。让我们从副院长开始。

我们来解释这个调优表的含义,并再次告知如何使用它。我们坚信一切都会好起来的。在建立了1万条记录之后,我们建立了测试基地,进行了实验,瞧-成本的计算仅用了8个小时!

呃,同性恋!您现在可以写出多么酷的文章!只是技术上的吗?好吧,我不知道。。。对于某些黄色社区,也许是。好吧,让它成为技术和方法论上的问题。同时,添加几段有关哪些愚蠢的会计师的内容。

然后想到了这一点-由于我设法涉足会计,也许还有其他选择吗?例如,要了解为什么表中有800万个条目,最重要的是,为什么每个月都有越来越多的条目。

我们正在努力将水平提高到更高。

会计级别


对我们来说,程序员很清楚,表中的行数是由所用分析的宽度决定的,而不是由输出量决定的。此外,我们知道,本地企业的输出(例如其产品线)的增长速度要比表的速度慢得多。

例如,如果我们的部门是对该问题的唯一分析,则表中的行数将不超过2 *不同部门的数量(一半用于发布,一半用于成本)。这些分裂与我们同在,上帝禁止,一百。

例如,如果我们添加分析“成本项目”,则记录数将为(单位数)*(文章数)+(单位数),因为表格(发布)的后半部分不包含文章分析(通常,如果没有转移,则为单位之间的半成品,而无需使用仓库)。这个方程式中最糟糕的是*,即乘法。 100个部门和100篇文章-已有1万条记录。

然后,我们将其乘以命名法,特征,生产订单,命名法组的数量,该死的我...所以它赚了800万,

还是没有赚?我们重新计算一下计算器-不,不是无花果。更准确地说,即使没有计算器,也很清楚记录的数量不应每个月都增长得如此之快。

我们会在所有使用过的分析师的背景下扩展有关余额的报告,而且-h! -好吧,狗,愚蠢地无法关闭!让我解释一下“结清”是什么意思-这是分析师的招聘余额到来时以及他离开月底时。但是它没有关闭-当它还没有离开的时候。因此,形成进行中的工作,换言之,进行中的工作。

而且,根据一项分析-生产订单,它并没有完全关闭。对于每一批产品,都将建立一定的文档,以将该批次的类型与其余的类型分开。成本已发送到该表(表的上半部分),输出已反映在表上(表的下半部分),所有内容均应关闭。但它不会关闭。

副坐在附近的总会计师也感到震惊。我不知道它没有关门-那是ahtung!闲逛,找出来-他们,会计师,只是在不考虑订单的情况下查看报告。没有此分析,一切都是封闭的,但没有分析。

而这些马尾辫(未平仓的生产订单金额)也包括在800万行中,这些是当月必须在当月关闭的月初的余额(原则上,如果生产持续数月,就会发生这种情况,但不会我们的情况)。问题是它们无法与我们关闭,因为上个月的订单将不再有任何释放,并且成本被迫在另一百万年的时间里悲惨地存在,从而不断增加了分配表中的条目数量。

我们跑到测试基地,去掉所有的尾巴,然后-吃你的腿!-计算中的记录变成一百万!计算已经可以在2小时内完成!

而且我们已经有了研究人员的热情-毕竟,这类用于技术文章的材料正在啄!我们删除了尾巴,这个月订单分析仍然存在。好的,Che,测试基地-我们总体上削减了订单,该表格崩溃了40万条记录。

计算时间为1小时。1小时,卡尔!我们将计算时间减少了24倍!好吧,现在我们将写一篇塔克琴文章,几乎是技术文章,您将下载!

的确,有必要向总会计师解释订单分析是多余的。我们也爬到二楼。

会计策略等级


我们安慰自己,希望一切顺利。最后,我们解决了计算生产成本的问题,以及解决方法!我们假设总会计师根本不了解计算详细信息的设置,并且有人曾经包含了订单分析,就这样吧。

但不是。首席会计师听到“关闭订单分析”后,立即感到非常生气。我开始急切地要求公司对生产成本有完整的了解,最重要的是,要在一个对手方和每月内根据订单的情况精确比较这些数字。

我们齐聚一堂,问一个主要问题:这是Marivanna,您有没有做过这样的分析?是您自己的自由意志还是其他单位的命令?

好吧,几分钟之内,我们听到了各种各样的形容词和名词,它们主要来自伟大和有权势的四个单词。心理上记得有空缺的站点的地址。但是我们决定走到最后。

我们不是让总会计师结束,而是说这很好,但是我想找到这种需求的根源。首席会计师吓坏了,送给她的老板,财务主任和经济学家。

这些家伙比较简单,血液中的酒精已经足以和他们聊天。在前进的过程中,我们在思考-您能为这次冒险写些什么?显然,这没有技术性。虽然问题是肉眼可见的。好吧 显然,在下面的所有级别上,我们都在解决一个不存在的问题。

企业游戏水平


发现者是我们的朋友。我们为这个有趣的自动化姨妈提供了很多帮助。因此,我们在额头上问-如此广泛的分析可以使会计记录保持什么记录?是的,太糟糕了。

我的姨妈立即紧贴“屎”这个词-什么是屎,哪里是屎,真的是屎吗?好吧,是的,我们说很糟糕,真的很糟糕。因此,IT部门一整夜都没有睡觉,写了很多技术文章,而且通常会精疲力尽。

姑姑by之以鼻,要求以书面形式陈述一切-错在哪里,为什么以及如何做到这一点。好的,我们保证声明。但是,我们再次结束。而且,我们说的是,总会计师在发现者的幌子下从事这种垃圾活动。你阿姨

我们的额头上有一个答案-爬行动物会折磨您。 Nefig在会议上很聪明。说没有什么比会计更重要。断言使总会计师服从发现者是错误的。废话总会计师是企业中仅次于董事的第二人的事实。

为什么不开除她呢?但是你不能,姨妈说。好吧,这看起来像是消除令人反感的事-就像我的姨妈犯了个错误,然后马上就失业了。导演不愉快的钟声。它将开始研究任何人如何保存记录。

现在-一幅油画。总会计师不负责会计。将底座侧放。因此,如果它对业务没有用,我就不会为订单组织正常的成本核算。

在这两者之间,我们问-和您,阿姨,这笔订单的帐目乃至帐目是什么?他额头回答-他没在任何地方挖我。经济学家和金融家都没有使用会计数字。仅主要文件。

恩,是这样吗?您从哪里获得成本价格?好吧,没有它你就无法计算利润。

萨米说,我们考虑了成本。使用现金法,我们以购买价收集材料成本,并使用锅炉方法,材料消耗率(仅根据金额进行调整)以散货形式将其分配到exel中。

亲爱的,因为成本方面的任务是给董事一张A4表格,称为“损益表”,该表将所有成本分为与成本会计项目相关性不高的十组。

粗略地说,除了会计以外,任何人都不需要进行会计。对于会计,成本核算是非常短的分析所需要的,甚至是会计帐目中存在的一种。在这里,上帝禁止,如果输入三位分析师。

我们对发现者的办公室充满了困惑。一方面,他们似乎已经弄清楚了一切-根本不需要解决问题,计算成本价格的问题将永远消失。另一方面,它们被吸引到公司游戏中。

现在怎么办。您将写一篇关于总会计师的文章-您将永远成为他们的敌人。如果您不写作,就会与取景器失去友谊,也不会与聋子相处。如果您讲“我被要求向您滴滴,但我拒绝了”这样的故事,她将不会相信。

而且没有什么可以撰写技术文章了。通常。虽然,您已经了解到,解决所有较低级别的问题并不意味着它没有用,而是有害的。毕竟,所有的努力和金钱(还记得最近购买的新服务器吗?)并没有给公司带来好处,而是给与另一个朋友成为姨妈的阿姨带来了好处。

心情很脏,然后导演引起了我的注意。更准确地说,我们引起了他的注意。这家伙穿破了衣服,心情不好,立即打电话到他的办公室。

我们上升到更高的水平。

鸟水平


我们决定告诉一切。从上到下,无须点缀。关于每个人。没有什么可失去的。

而对于一百万卢布的服务器,现在不再需要。关于about肿的会计人员,维持这种复杂的会计处理是必需的,事实证明,这没有人需要。以及the肿的程序员队伍,只有伴随着moronic会计才需要。还有一位寻找姑姑的人,她以公司的代价来玩游戏。

导演认真听讲,有时会提出技术和方法方面的问题。他像这样直奔四方,在飞行中他意识到自己曾经是一名程序员。

然后他将所有数字写在一张纸上。

我们倾注了程序员的全部精力。关于我们出生是为了解决技术问题,而不是参加公司游戏这一事实。关于解决方案的技术水平应该是最后的事实,当所有其他方法都用尽时,包括组织,方法论,战略以及其他方面。关于创造力,抽象思维,性格内向和其他编程故事。

顺便说一下,我们认为这篇文章会很酷。只是不技术。放在哪里?也是个问题。在一篇文章中假装一切都是在技术层面上决定的,并且仅限于此?但这不是真的。但是,如果您说您已到达导演,他们将不会相信。对不起,程序员在工厂里的位置靠近水桶。

导演礼貌地听完结尾,然后在他的数字下画一条线,并给出:伙计,您发现了一个问题,这个问题每月花费我一百万卢布。非常感谢你。就这样,没有感叹号。

他说,现在将会如此。我们开始进行会计核算的项目。您将成为领导者。我要解雇CIO,您正在取代他。我将指示安全部门检查他是否收到购买设备的回扣。

我期待为会计,会计和管理制定一个清晰的计划。这样,所有事物都是美丽且相互关联的,但只有在正确的分析中才能实现。您将执行此计划。现在,只有在您批准后才能进行会计方面的任何更改。

在会计方面应计算所需的专家人数。额外-我们将开火而不会流鼻涕。立即考虑如何自动执行其余活动的活动-如果您明智地采取行动,也许活动太多了。

别骄傲自大,伙计。你现在为我工作。您将成为我的眼睛和我的技术大脑。没有游戏-不与我,也不与任何人。

我们以惊人的双腿离开,爬入地下室。头部在旋转-是因为幸福,还是出于恐惧。我想逃离,仿佛摆脱了一个奇怪的梦,只是想回到我平时的现实。真的是这样吗?

不,不是。他们不会相信。而且您不会写任何文章。他们会啄食,然后将文章发送给国际大都会,以撰写有关IT Cinderella的文章。而且他不会相信的。更确切地说,我会说我不相信,只是不承认我害怕爬出我的洞并问:“我该死这个废话吗?” 虽然技术精湛。

其实这个问题


这里的技术水平在哪里?撰写和阅读技术文章有什么有趣和有用的?这是一个直接的例子。

All Articles