Article non technique sur les articles techniques

Ils me disent souvent - hé, où sont les articles techniques? Pourquoi écrivez-vous toutes sortes de conneries sur les gestionnaires, les directeurs, les relations avec le personnel, les querelles d'entreprise, pleurnicher sur le vide de sens de notre travail et en général. Nous voulons des articles techniques!

Honnêtement, je ne comprends pas ce que sont les «articles techniques». Je comprends ce qu'est une «tâche» et ce qu'est une «solution». Je comprends également que la solution au même problème peut être trouvée à différents niveaux - du «fer» au philosophique. Quel niveau est le plus correct - je ne sais pas.

Pour comprendre, vous avez besoin de votre aide. J'ai un excellent exemple de bout en bout de résolution d'un problème à un niveau différent. Je vous préviens tout de suite - un exemple de la sphère du 1C, mais vos beaux cerveaux auront une place à appliquer. Essayons de trouver une place pour un "article technique" dans cette chaîne.

Un exemple est un collectif de plusieurs histoires réelles. Je veux dire, cela a été répété plusieurs fois, avec différents acteurs, allumer / éteindre différentes scènes, mais l'essence est la même. Pourchassé.

situation initiale


La situation initiale est simple: le calcul du coût de 1C n'est pas terminé.

Pour ceux qui sont loin du monde jaune, je vais vous expliquer. Le calcul des coûts est approximativement l'opération la plus gourmande en ressources qui se produit dans 1C. Elle est réalisée à la fin du mois, parfois elle s'appelle, à l'ancienne, «fermeture du mois».

Dans un mois, le soi-disant «Documents primaires» - la réception des matériaux, les transferts entre les entrepôts, les sorties de produits, les radiations de l'entrepôt à la production, les ajustements, la réception des coûts, la distribution, l'assemblage, etc.

L'essence de tous les documents est la même: quelque chose coule quelque part. D'entrepôt en entrepôt, d'entrepôt en production, de production en entrepôt, d'un atelier à l'autre, d'une nomenclature à l'autre. En gros, il y a un changement dans l'état des stocks et des coûts. Il n'y avait rien - c'est devenu matériel. Il y avait du matériel - c'est devenu un coût. C'était un coût - c'est devenu un produit. A été la production - est redevenue matérielle. Était des produits - est devenu un revenu. C'était l'électricité - c'est devenu un coût. C'était un coût - inclus dans le coût de production. Juste un changement dans l'état de l'essence, si vous raisonnez abstraitement.

Le tout est enregistré dans un délai d'un mois dans une grande table, qui est ensuite traitée par le calcul des coûts. Il a deux tâches clés - répartir les coûts et ajuster les coûts. Répartir les coûts - c'est comme inclure dans le coût de production tout ce qui a été dépensé sur cette question, comme les matériaux, l'électricité, les salaires, etc. (avant de calculer le coût, il s'agissait de différentes entrées de tableau, valider séparément, coûts séparément). Eh bien, ajuster le coût, c'est décider SLAE de porter le coût à la stratégie de radiation souhaitée (moyenne ou FIFO).

Donc, supposons que toutes ces conneries ne fonctionnent pas. On commence, on attend un jour, puis ça tombe. Il est connu que le calcul est effectué sur un serveur exécutant Windows Server 2012, dans un processus rphost.exe, SGBD - MS SQL.

Niveau d'environnement


Le premier niveau est purement patsansky. Nous ne voulons rien savoir des 1C, nous ne regardons que l'environnement. Que nous importe en général ce que fait ce malheureux 1C? Nous savons déjà qu'elle fait tout mal, mais d'une manière ou d'une autre, nous pouvons nous passer du snotty.

Le champ d'expérimentation est immense. Ainsi que du matériel pour de vrai, sans devis, des articles techniques.

Commençons par le choix du matériel serveur. Après tout, il a probablement été récupéré par 1Sniks, qui ne pétrifie pas dans ce domaine. Nous écrirons sur l'effet de la RAM sur les performances des opérations 1C lourdes, examinerons les disques durs de différentes conceptions physiques, verrons ce qui est le plus important - le nombre de processeurs ou de cœurs. Dans la pratique, nous commanderons également un nouveau serveur. Surtout compte tenu des rollbacks que paient les fournisseurs de serveurs.

Ensuite, regardons le système d'exploitation. Ce n'est pas bon de garder des serveurs décents sous Windows? De plus, 1C peut depuis longtemps fonctionner sous Linux. Et, enfin, le clustering est pris en charge dans 1C, et nous, officiellement, pouvons fournir deux serveurs ou plus, même sous différents systèmes d'exploitation. Voici une maman pour l'article.

Et bien sûr, nous ne contournerons pas un SGBD. Pourquoi diable tout le monde a-t-il rencontré ce MS SQL? Au moins, regardons Postgre, que 1C prend en charge depuis environ 100 ans, même sous Windows. Non seulement nous essaierons un autre SGBD, mais nous l'ajusterons également pour que le bruit soit permanent. Certes, de nombreux articles ont déjà été écrits sur ce sujet, notamment L'entreprise 1C elle-même, mais nous trouverons certainement quoi dire dans notre article technique. Après tout, il est intéressant de lire les expériences des gens, pas les manuels.

Allons-nous résoudre le problème? Non exclus. La pratique montre que beaucoup de problèmes sont résolus à ce niveau - en particulier, lorsque des problèmes avec le calcul du coût, la première occurrence, c.-à-d. à ce moment-là, lorsque tous les paramètres du système d'exploitation et du SGBD étaient par défaut.

Mais notre histoire est un peu différente. Toutes les possibilités ont déjà été épuisées, les meilleurs esprits de la ville ont fouillé dans le serveur - d'ailleurs, acheté il y a trois mois. Puis, immédiatement après le lancement, le serveur a interrompu le calcul des coûts en seulement 16 heures. Et maintenant, hélas, pour une raison quelconque, et pour une journée ne peut pas faire face.

Je dois monter d'un niveau.

Niveau 1C


D'accord, laissez tomber le fer, montez au programme. Une simple mesure des performances montre que 1C se bloque et se bloque lors de l'exécution d'une opération de répartition des coûts.

Là, en fait, tout est simple. Il y a un tableau dans lequel au moment du calcul de 8 millions d'enregistrements. En gros, la moitié d'entre eux sont des coûts, la seconde moitié est la base de distribution. Ceux. vous devez prendre la première moitié et vous précipiter vers la seconde.

Nous nous asseyons et pensons - où doit-on tomber, ma chérie? Recherche banale, mais accompagnée de requêtes constantes dans la base de données avec stockage des résultats intermédiaires dans des tables temporaires. Eh bien, le problème est peut-être que le résultat ne peut pas être enregistré, c'est-à-dire ajouter jusqu'à 8 millions d'enregistrements.

Rien de compliqué, mais de tomber. Le processus rphost.exe manque quelque chose. Alors, arrêtez ... Et pourquoi une opération aussi simple et, en général, pas particulièrement sensible au contexte, un processus unique? Qui empêche de diviser la table en deux, voire en trois parties, et d'exécuter en parallèle? Après tout, 1C est tout à fait capable de démarrer au moins 20 processus, mais pour une raison quelconque, il ne le fait pas. Alors pourquoi pas? Ou alors?

Oui, nous constatons que notre version de 1C est un peu obsolète, et dans une parallélisation plus moderne se fait directement aux paramètres - une personne peut dire à l'avance combien de threads parallèles de ces «calculs» peuvent être effectués. Désordre!

Nous ajoutons un code simple qui coupe la table dans le nombre requis de pièces et les exécute en parallèle. Permettez-moi de vous rappeler que la répartition de certains coûts ne dépend pas de la répartition d'autres, dans le cadre d'une itération.

Yo! Gagné! Échec du calcul du coût! Parfois, cependant, il y a des verrous pour l'écriture - ne vous en souciez pas, nous attachons un correctif sous la forme d'un cache d'enregistrements avec un verrou contrôlé pour un placement ultérieur dans la table principale. La beauté! Travaux!

U, combien d'articles peuvent être écrits ici! Technique! C'est vrai, avec un peu de couleur jaune. Bien que, d'autre part, où la nôtre n'ait pas disparu? Quoi, dans votre environnement de développement et sur vos projets, n’a pas eu à diviser le record de millions de lignes en morceaux pour que le SGBD ne meure pas?

Tout, une victoire, semble-t-il. Mais quelque chose ronge ... Le coût a été calculé, mais encore - trop long. Le même jour, il a juste cessé de baisser - le volume des disques n'a pas disparu, on les écrit juste en morceaux, pseudo-parallèles.

Rampez plus haut.

Niveau de réglage technique 1C


En analysant l'algorithme, nous comprenons que le problème n'est pas seulement dans le nombre d'enregistrements, mais aussi dans leur traitement multiple. Théoriquement, nous comprenons que pour distribuer 4 millions d'enregistrements à 4 millions supplémentaires, il suffit de répondre à une requête dans laquelle faire correspondre les lignes par les analystes nécessaires, puis d'enregistrer le résultat.

Et ici, nous regardons - l'enfer, et il y a un cycle ... Un cycle qui s'exécute selon un tableau de 4 millions de lignes. Et il y a un autre cycle en lui, avec une interruption inconditionnelle selon une condition étrange. Et le corps de la boucle imbriquée s'exécute beaucoup plus de 4 millions de fois. Crêpe…

En fouillant, nous trouvons la troisième table, qui stocke les paramètres de distribution. En gros, c'est la comparaison des 4 premiers millions d'enregistrements avec le second. Mais tout y est organisé non sans ambiguïté, mais avec un rétrécissement progressif du filtre. Au début, il était écrit comme «tous les coûts en vue d'une production générale figurativement stupide pour la sortie», puis «Mais cet article est aussi pour la sortie», puis «mais cet article est en sueur pour ce département est également pour la sortie», puis il est spécifié au groupe d'articles comptabilité, etc.

Le pire est que l'algorithme ne détermine pas le paramètre de distribution en une seule passe, mais le fait de manière cyclique, en s'approchant progressivement de l'objectif. Malgré le fait que le résultat est finalement le même. Et, non, ce n'est pas la pire chose - il y a 10 000 enregistrements dans ce tableau. Explicitement entraîné par les mains.

Nous rappelons comment les comptables travaillent avec ces paramètres. Les programmeurs ont introduit 4 lignes dans le tableau, avec le filtre le plus large. Et les comptables avaient quelque chose de «non fermé» - ils se sont arrêtés et ont spécifié un filtre pour un article spécifique et un département spécifique. Et ils l'ont fait 10 000 fois au fil des ans.

Par conséquent, nos 4 millions d'enregistrements parcourent les 4 millions d'autres enregistrements plusieurs fois. Eh bien, nous roulons pour le courage et allons au service de comptabilité. Pas au chef comptable - elle n'est probablement pas au courant de ce cadre. Commençons par le chef adjoint.

Nous venons, expliquons la signification de cette table de réglage et disons (encore) comment l'utiliser. Nous sommes convaincus que tout ira bien. Nous avons mis en place une base de test, mené une expérience, après avoir battu 10 000 records, et le tour est joué - le calcul du coût n'a pris que 8 heures!

Euh, gay! Quel article sympa tu peux écrire maintenant! Sera-ce uniquement technique? Eh bien, je ne sais pas ... Pour certaines communautés jaunes, probablement oui. D'accord, que ce soit technique et méthodologique. En même temps, ajoutez quelques paragraphes sur ce que les comptables stupides.

Et voici la pensée - puisque j'ai réussi à percer dans la comptabilité, peut-être autre chose à choisir? Par exemple, pour comprendre pourquoi il y a 8 millions d'entrées dans le tableau et, surtout, pourquoi il y en a de plus en plus chaque mois.

Nous essayons de monter un niveau plus haut.

Niveau comptable


Il est clair pour nous, programmeurs, que le nombre de lignes dans un tableau est déterminé par la largeur des analyses utilisées, et non par le volume de sortie. De plus, nous savons que la production d'une entreprise native, comme sa gamme de produits, croît beaucoup plus lentement que la taille de notre table.

Par exemple, si notre seule analyse du problème était une unité, le nombre de lignes dans le tableau ne dépasserait pas 2 * le nombre d'unités différentes (la moitié pour la publication, la moitié pour les coûts). Ces divisions sont avec nous, à Dieu ne plaise, une centaine.

Si nous ajoutons, par exemple, l'analyse «Élément de coût», le nombre d'enregistrements sera (Nombre d'unités) * (Nombre d'articles) + (Nombre d'unités), car la seconde moitié du tableau (version) ne contient pas d'analyse d'article (en règle générale, s'il n'y a pas de transfert produit semi-fini d'unité à unité sans utilisation d'un entrepôt). La pire chose dans cette équation est *, c'est-à-dire multiplication. 100 divisions et 100 articles - déjà 10 000 enregistrements.

Puis on multiplie par le nombre de nomenclatures, de caractéristiques, d’ordres de production, de groupes de nomenclature, bon sang… Alors ça gagne 8 millions.

Ou pas? Nous racontons sur la calculatrice - non, pas une fig. Plus précisément, même sans calculatrice, il est clair que le nombre d'enregistrements ne devrait pas augmenter si rapidement, de mois en mois.

Nous développons le rapport sur les soldes dans le contexte de tous les analystes utilisés, et - bah! - Eh bien ça, chien, bêtement ne ferme pas! Permettez-moi d'expliquer ce que signifie «clôturer» - c'est à ce moment que le solde de recrutement de l'analyste est arrivé, et à la fin du mois, il est parti. Mais il ne ferme pas - quand il n'est pas parti. Ainsi, le travail en cours est formé, en d'autres termes, le travail en cours.

Et il ne se ferme pas exactement selon une analyse - un ordre de production. Pour chaque lot de produits, un certain document est mis en place qui sépare ce lot de type du reste. Les coûts lui sont envoyés (première moitié du tableau), la sortie y est reflétée (seconde moitié du tableau) et tout doit être fermé. Mais ça ne ferme pas.

Adjoint le chef comptable, qui est assis à proximité, est également sous le choc. Je ne savais pas que ça ne fermait pas - c'est ah! Fouiller, découvrir - eux, les comptables, il suffit de regarder les rapports sans prendre en compte les ordres. Tout est fermé sans cette analyse, mais pas avec.

Et ces queues de cheval - montants non fermés pour les ordres de fabrication - sont également inclus dans 8 millions de lignes, ce sont les soldes entrants du début du mois qui doivent être clôturés le mois en cours (en principe, cela se produit si la production dure plusieurs mois, mais ce n'est pas le cas notre cas). Le problème est qu'ils ne peuvent pas être fermés avec nous, car il n'y aura plus de libération sur les commandes du mois dernier, et les coûts sont obligés de vivre une existence misérable pendant encore 1 million d'années, augmentant constamment le nombre d'entrées dans le tableau de distribution.

Nous courons vers notre base de test, enlève toutes les queues et - mange ta jambe! - les enregistrements dans le calcul deviennent 1 million! Le calcul tient déjà en 2 heures!

Et nous avons déjà l'enthousiasme d'un chercheur - après tout, un tel matériel pour un article technique picore! Nous avons supprimé les queues et ce mois-ci, l'analyse des commandes est toujours présente. D'accord, Che, la base de test - nous avons coupé les commandes en général, et le tableau s'effondre à 400 000 enregistrements.

Le calcul est d'une heure. 1 heure, Karl! Nous avons réduit le temps de calcul de 24 fois! Eh bien maintenant, nous allons écrire un article tachen, presque technique, que vous allez télécharger!

Certes, il reste à expliquer au chef comptable que l'analyse des ordres est superflue. Nous roulons également ramper au deuxième étage.

Niveau de stratégie comptable


Nous nous consolons avec l'espoir que tout se passe bien. Au final, nous avons résolu le problème du calcul du coût de production - et comment! Nous supposons que le chef comptable n'est pas du tout au courant des paramètres des détails de calcul, et que quelqu'un a inclus une seule fois l'analyse des commandes, que ce soit comme ça.

Mais non. Dès que le comptable en chef a entendu "désactiver l'analyse des commandes", elle était complètement furieuse. J'ai commencé à réfléchir à la nécessité impérieuse pour l'entreprise d'avoir une image complète du coût de production et, surtout, de comparer les chiffres précisément dans le contexte des commandes, au sein d'une même contrepartie et tous les mois.

Nous rassemblons un coffre plein d'air et posons la question principale: est-ce, Marivanna, avez-vous déjà fait une telle analyse? De votre plein gré, ou sur ordre d'autres unités?

Eh bien, pendant quelques minutes, nous écoutons une variété d'adjectifs et de noms, principalement dérivés de seulement quatre mots des grands et des puissants. Rappeler mentalement les adresses des sites vacants. Mais nous décidons d'aller jusqu'au bout.

Nous ne laissons pas le comptable en chef finir, nous disons que tout va bien, mais je veux trouver la source de cette demande. Le chef comptable panique et envoie au directeur financier, qui est son patron, et aux économistes.

Ces gars-là sont plus simples, et l'alcool dans le sang suffit déjà pour discuter avec eux. Pendant que nous allons, nous pensons - que pouvez-vous écrire sur cette aventure? Rien de technique, évidemment. Bien que le problème soit visible à l'œil nu. Eh bien, c'est-à-dire il est clair qu'à tous les niveaux inférieurs, nous résolvions un problème inexistant.

Niveau de jeu d'entreprise


Et finder est notre ami. Nous avons beaucoup aidé cette tante amusante avec l'automatisation. Par conséquent, nous demandons au front - qu'est-ce qui permet à la comptabilité de conserver des enregistrements avec une analyse aussi large? Oui, tellement merdique.

Ma tante s'accroche immédiatement au mot «merde» - qu'est-ce que la merde, où est-elle, est-ce vraiment de la merde? Eh bien, oui, nous disons merde, vraiment merdique. À cause de cela, le service informatique ne dort pas un tas de nuits, griffonne un tas d'articles techniques et brûle généralement.

Tante prend le taureau par les cornes et demande de tout dire par écrit - ce qui ne va pas, pourquoi et comment j'y suis arrivé. D'accord, nous promettons de le dire. Mais, encore une fois, nous allons jusqu'au bout. Ce que, disons-nous, le chef comptable est engagé dans de telles ordures, d'ailleurs, sous le couvert d'un trouveur, c'est-à-dire es-tu tante

Nous obtenons une réponse dans le front - et laissons-la vous tourmenter, reptile. Nefig était intelligent lors des réunions. Dire qu'il n'y a rien de plus important que la comptabilité. Affirmer qu'il est faux de subordonner le chef comptable au chercheur. Porter un non-sens sur le fait que le chef comptable est la deuxième personne dans l'entreprise, après le directeur.

Et pourquoi, disons, ne la licenciez pas? Mais tu ne peux pas, dit tante. Eh bien, cela ressemblera à l'élimination des répréhensibles - comme, ma tante a fait une erreur et s'est immédiatement retirée du travail. Une cloche désagréable sera pour le réalisateur. Il commencera à fouiller dans la façon dont quiconque tient des registres.

Et maintenant - une peinture à l'huile. Le chef comptable ne gère pas la comptabilité. Mettez la base sur le côté. Donc, si cela n'était pas utile pour les entreprises, je n'organiserais pas une comptabilité analytique normale pour les commandes.

Entre les deux, nous vous demandons - et vous, tante, que faire de cette comptabilité pour les commandes, et même en comptabilité? Il répond dans le front - il ne m'a creusé nulle part. Ni les économistes ni les financiers n'utilisent de chiffres comptables. Seuls les documents primaires.

Euh, dites-le? Et d'où obtenez-vous le prix de revient? Eh bien, vous ne pouvez pas compter le profit sans lui.

Sami, dit-on, on considère le coût. En utilisant la méthode de la trésorerie, nous collectons les coûts des matériaux aux prix d'achat et les distribuons en exel, en utilisant la méthode de la chaudière, en utilisant les taux de consommation des matériaux, ajustés au fait uniquement par les montants.

Parce que, ma chère, notre tâche en termes de coûts est de remettre au directeur une feuille A4 intitulée «Compte de profits et pertes», où tous les coûts sont divisés en dix groupes qui sont mal corrélés avec les postes de comptabilité analytique.

En gros, tout ce que fait la comptabilité n'est nécessaire à personne, sauf à la comptabilité. Et la comptabilité, la comptabilité analytique est nécessaire dans une analyse très courte - même celle qui est présente dans les comptes de la comptabilité. Et là, Dieu nous en préserve, si trois analystes sont tapés.

Nous quittons le bureau du chercheur dans des sentiments mitigés. D'une part, semble-t-il, ils ont tout compris - il n'y a pas du tout besoin de résoudre le problème, et le problème du calcul du prix de revient disparaîtra à jamais. D'un autre côté, ils ont été attirés par les jeux d'entreprise.

Maintenant comment. Vous écrirez un morceau de papier sur le comptable en chef - vous deviendrez pour toujours un ennemi pour eux. Si vous n'écrivez pas, vous perdrez l'amitié avec le chercheur et vous ne vous entendrez pas avec les sourds. Elle ne le croirait pas si vous racontiez une histoire comme "On m'a demandé de vous égoutter, mais j'ai refusé."

Et il n'y a rien sur quoi écrire un article technique. Généralement. Bien que vous compreniez déjà que résoudre tous les problèmes aux niveaux inférieurs n'est pas inutile, mais nuisible. Après tout, tous les efforts et l'argent (rappelez-vous le nouveau serveur récemment acheté?) Ne sont pas allés au profit de l'entreprise, mais au profit d'une tante qui est amie contre une autre.

L'ambiance est sale, puis le réalisateur attire mon attention. Plus précisément, on capte son regard. Le gars est bien usé, voit de mauvaise humeur et appelle immédiatement à son bureau.

Nous montons à un niveau supérieur.

Niveau d'oiseau


Nous décidons de tout dire. De haut en bas, sans embellissement. À propos de tout le monde. Il n'y a rien à perdre.

Et sur le serveur pour 1 million de roubles, ce qui n'est désormais pas nécessaire. Et au sujet du personnel gonflé de comptables, qui est nécessaire pour maintenir une comptabilité aussi complexe, dont il s'est avéré que personne n'a besoin. Et sur le personnel gonflé de programmeurs, qui n'est nécessaire que pour accompagner la comptabilité débile. Et à propos de tante-chercheuse, qui joue à ses jeux aux dépens de l'entreprise.

Le réalisateur écoute attentivement, posant parfois des questions à la fois techniques et méthodologiques. Il imprègne directement comme ça, à la volée, il se rend compte qu'il a déjà travaillé comme programmeur.

Et il écrit tous les chiffres sur un morceau de papier.

Nous déversons toute l'âme du programmeur. Du fait que nous sommes nés pour résoudre des problèmes techniques, et non pour participer à des jeux d'entreprise. À propos du fait que le niveau technique de la solution devrait être le dernier, lorsque toutes les autres méthodes ont été épuisées - organisationnelles, méthodologiques, stratégiques et quoi d'autre. À propos de la nature créative, de la pensée abstraite, des introvertis et d'autres histoires de programmation.

Et en cours de route, nous pensons à quel article serait cool. Tout simplement pas technique. Et où le placer? C'est aussi un problème. Imaginez dans un article que tout a été décidé au niveau technique et limité à cela? Mais ce n'est pas vrai. Mais si vous dites que vous avez atteint le réalisateur, ils ne le croiront pas. La place du programmeur à l'usine est près du seau, excusez-moi.

Le réalisateur écoute poliment jusqu'à la fin, puis trace une ligne sous ses chiffres et donne: mon pote, vous avez révélé un problème qui me coûte 1 million de roubles par mois. Merci beaucoup. Exactement comme ça, sans point d'exclamation.

Maintenant, dit-il, il en sera ainsi. Nous entamons le projet de mise en ordre de la comptabilité. Vous serez le leader. Je licencie des DSI, vous prenez sa place. Je vais demander au service de sécurité de vérifier s'il a reçu des pots-de-vin pour l'achat d'équipement.

J'attends avec impatience un plan clair pour la comptabilité, la comptabilité et la gestion. Pour que tout soit beau et interconnecté, mais uniquement dans la bonne analyse. Vous mettrez en œuvre ce plan. Tout changement de comptabilité ne sera désormais mis en œuvre qu'après votre approbation.

En termes de comptabilité devrait être le calcul du nombre requis de spécialistes. Extra - nous tirerons sans maculer la morve. Réfléchissez immédiatement à la façon dont vous pouvez automatiser les activités des autres - peut-être y en a-t-il trop, si vous vous approchez judicieusement.

Ne soyez pas arrogant, mec. Tu travailles pour moi maintenant. Tu seras mes yeux et mon cerveau technique. Pas de jeux - ni avec moi, ni avec personne d'autre.

Nous partons, les jambes chancelantes, et rampons dans notre sous-sol. La tête tourne - soit par bonheur, soit par peur. Je veux m'échapper, comme d'un rêve étrange, juste pour revenir à ma réalité habituelle. En est-il vraiment ainsi?

Non, non. Ils ne le croiront pas. Et vous n’écrirez pas d’article à ce sujet. Ils picoreront, picoreront et enverront des articles à Cosmopolitan pour écrire sur IT Cinderella. Et il ne l'aurait pas cru. Plus précisément, je dirais que je ne crois pas, si seulement je n'admettais pas que j'ai peur de sortir de mon trou et de me demander, "devrais-je baiser ces conneries?" Bien qu'à un niveau technique brillant.

En fait, la question


Où est le niveau technique ici? Qu'est-ce qui est intéressant et utile dans la rédaction et la lecture d'articles techniques? Voici un exemple direct.

All Articles