Pull to refresh
11
0
Send message

Фундаментальная проблема пакетных менеджеров для языков программирования

Reading time 6 min
Views 18K
Почему существует столько много различных пакетных менеджеров? Их можно встретить как во многих операционных системах (apt, yum, pacman, Homebrew), так и работая со многими языками программирования (Bundler, Cabal, Composer, CPAN, CRAN, CTAN, EasyInstall, Go Get, Maven, npm, NuGet, OPAM, PEAR, pip, RubyGems, и т.д. и т.п.). «Каждый язык программирования нуждается в собственном пакетном менеджере, это уже стало общепризнанной истиной». Что за необъяснимое притяжение заставляет языки программирования, один за другим, скатываться в этот обрыв? Почему бы нам просто не использовать уже существующие пакетные менеджеры?
Читать дальше →
Total votes 26: ↑23 and ↓3 +20
Comments 13

Все сломано

Reading time 15 min
Views 57K
Представляю вашему вниманию перевод статьи Everything is Broken, опубликованной в мае 2014 года на The Medium американской журналисткой Quinn Norton, которая специализируется на проблемах информационной безопасности. Статья рассматривает современный мир информационных технологий и место вопросов безопасности и конфиденциальности данных в нем. Статья местами содержит довольно резкую критику, тем не менее, поднимаемые в ней проблемы актуальны и не решены по сей день. В конечном счете, в этом, отчасти, и заключается работа журналиста — задавать неудобные вопросы.



Однажды, один мой знакомый получил контроль над тысячами компьютеров. Он нашел уязвимость в программном обеспечении и принялся испытывать ее. В процессе, он понял что, теоретически, может получить полный административный контроль над всей сетью, где используется данное программное обеспечение. Он загрузил скрипт на удаленный сервер и запустил его, чтобы посмотреть что произойдет, а сам отправился спать. На следующее утро он решил проверить результат работы, и каково же было его удивление, когда он обнаружил, что имеет полный доступ на 50 000 компьютерах. Испугавшись ответственности за содеянное, он тут же остановил процесс и принялся удалять свои скрипты. В конечном счете, как он мне сказал, он даже уничтожил жесткий диск, бросив его в огонь. Я не могу выдать вам личность этого человека, потому что не хочу чтобы он оказался в Федеральной тюрьме, что и произошло бы, если бы он сообщил о найденной уязвимости и своем эксперименте кому-то еще. Вам наверное интересно, пофикшен ли сейчас это баг? Возможно да, но точно не благодаря моему знакомому. Это история не так уж и удивительна. Проводите время на хакерской сцене и вы услышите истории и похуже.

Трудно объяснить обычным людям, какое большое количество технологий работает весьма посредственно и что их жизни уже давно тесно переплетены с IT-инфраструктурой, подобно прессованной проволоке.

Компьютеры и компьютерные технологии — все сломано.
Читать дальше →
Total votes 87: ↑68 and ↓19 +49
Comments 95

Ловушка CMS

Reading time 13 min
Views 22K
В конце 2013 года Maxim Chernyak написал замечательную статью в которой подчеркивал исключительную важность поддержки архитектуры приложений настолько простой, насколько это возможно. Удивлен что на хабре до сих пор не было перевода, предлагаю ознакомиться с переводом данной статьи. Также прошу сообщать о всех возможных опечатках и неточностях перевода.

Преамбула

Много лет назад у нас было приложение Ruby on Rails. Все начиналось с объектов. Одни выступали прототипами для других объектов. Другие требовали множество связанных с ними частей, частей этих частей и т.д. Насколько много? Пожалуй, одним прототипам известно. Эти прототипы должны были иметь интерфейс для администрирования, но смена логики работы одного прототипа могла привести к цепной реакции в остальных частях. Любое изменение объектов и их прототипов пролегало через связанную сеть из различных моделей. Сложность интерфейса для администрирования быстро взлетела до небес. Дошло до того момента, когда у прототипов появилась возможность быть сериализованными и сохранять фрагменты своей логики. С этого момента каждая фича становилась предметом очень трудной реализации, и в конечном счете приложение скатилось к состоянию, когда модификация и доработка стали практически невозможны. Было такое чувство, будто CMS навязывала себя в качестве посредника между фичей и ее реализацией, подобно системам с нагромождением высокоуровневых абстракций, ориентированным исключительно на бизнес-логику.

Думаете это была худшая часть проекта? Это был еще только минимально жизнеспособный продукт в новом стартапе.
Читать дальше →
Total votes 47: ↑40 and ↓7 +33
Comments 12

Information

Rating
Does not participate
Registered
Activity