Pull to refresh
7
0
foe_nix @foe_nix

User

Send message

Искусство программирования под Unix (и не только). Часть четвертая, «правило разделения»

Reading time3 min
Views1.8K
Я продолжаю цикл статей, посвященных некоторым простым правилам разработки под Unix «по версии Эрика Реймонда», которые, по моему глубочайшему убеждению, могут быть распространены на любые другие операционные системы. Я уже рассказывал в первых трех частях о правилах модульности, ясности и композиции. Сегодня дело дошло до четвертого правила —

Правило разделения: отделяйте правила от механизма, а интерфейсы от движка («бизнес-логики») (Rule of Separation: Separate policy from mechanism; separate interfaces from engines)

Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments11

Внедрение ERP системы в 3-х актах, с прологом и эпилогом

Reading time2 min
Views15K
Некоторые утверждают, что серьезные ERP-системы имеют 100% внедряемость и поддержку производителя.

На практике это обычно выглядит так:

Пролог — охмурение. К гендиру/заму/главбуху еженедельно (а то и ежедневно) ходят люди с горящим взором и вдохновенно рассказывают о чудесах такой-то системы, демонстрируя красивую полиграфию. Сулят счастье, радость, откаты и путевки на курорты. Называют громкие имена и бренды. Контракт подписан.
Читать дальше →
Total votes 80: ↑72 and ↓8+64
Comments87

8 вещей, которые я хотел бы знать, когда начинал свой бизнес

Reading time3 min
Views12K

Предисловие


В мире, наполненном стартапами, успех или неудачу сложно предсказать. Но одно можно сказать точно: тот, кто решается открыть своё дело, уже никогда не будет таким, как прежде. Постоянные трудности, связанные с появлением новых возможностей и проблем, делают процесс удивительным и интересным. Я думаю, что именно поэтому многие люди начинают своё дело, несмотря на наличие другой (более простой) альтернативы — работать на кого-то другого.
За свою жизнь я открыл несколько фирм и могу сказать, что некоторые извлечённые мной уроки были интуитивно понятны и доступны, в то время как другие — далеко не так просты и очевидны. Однако, учитывая временные и денежные затраты на понимание этих уроков, ни один из них я не могу назвать дешёвым.
Эти уроки изменили моё мировозрение, изменили меня как личность. Я рад, что мне пришлось столкнуться с ними, но это не значит, что я не хотел бы знать их изначально.
Вот эти восемь вещей, которые я хотел бы знать, когда начинал своё первое дело.
Читать дальше →
Total votes 166: ↑147 and ↓19+128
Comments64

Улучшаем border-radius.htc

Reading time1 min
Views17K
Думаю многим верстальщикам известно решение, которое заставляет IE рисовать скругленные уголки: «curved-corner» (или border-radius.htc).

В этой статье я расскажу, как избавиться от ошибок «Invalid argument» при его использовании, а также как в разы ускорить его работу.
Читать дальше →
Total votes 78: ↑73 and ↓5+68
Comments34

Концептуальная уязвимость в механизме загрузки DLL (MSA2269637)

Reading time3 min
Views17K
На прошлой неделе на Хабре уже писали о заявлении HD Moore и найденной им уязвимости, которая содержится в достаточно большом количестве приложений и работает на всех версиях MS Windows. Но все оказалось куда серьезнее, так как речь идет не просто о найденной уязвимости, а о концептуальной ошибке в дизайне механизма загрузки динамических библиотек. По этому поводу вчера Microsoft официально выпустила Security Advisory (2269637), что означает официальное признание серьезности данной уязвимости. Но давайте попробуем разобраться в сути этой проблемы, так как она ничуть не менее серьезная, нежели недавно найденная уязвимость в загрузке LNK-файлов.

Уязвимость заключается в том, что многие программы при вызове функции LoadLibrary() не проверяют корректность пути, по которому эта библиотека может быть загружена. Таким образом, они позволяют произвести подмену выполняемой библиотеки. Это связано с тем, что поиск загружаемой библиотеки осуществляется в первую очередь в директории, содержащей образ исполняемого файла, который породил процесс (подмененная библиотека выполняется с привилегиями пользователя, запустившего процесс). К примеру, Georgi Guninski предложил следующую демонстрацию (PoC) данной уязвимости:
Читать дальше →
Total votes 80: ↑59 and ↓21+38
Comments73

Анализ защищенности утилиты удаления продуктов Лаборатории Касперского

Reading time3 min
Views2K
Общая надежность защиты системы определяется ее наименее стойким компонентом. Если конструктор защиты забывает об этом правиле, она рано или поздно рушится…
Возникла на днях проблема — удалить заклинившего Касперского. Старый ни в какую не хотел удаляться, новый не желал ставиться. Великий и могучий Гугл выдал решение проблемы — «Утилиту удаления продуктов Лаборатории Касперского», собственно, за авторством самой Лаборатории. Программка оказалась на редкость интересная, поэтому сразу возникло желание ее поковырять…
Ломаем каптчу под катом
Total votes 106: ↑101 and ↓5+96
Comments58

Д'Артаньян и интернет, или работа над проблемой битых ссылок

Reading time8 min
Views16K
Picture 1
Господа, хватит уже рассматривать ссылки исключительно в контексте их количества, купли/продажи и считать PR сайта, где они расположены. Пора заботиться не о роботах, а о людях. Работать с интернетом становится все невыносимее. Цветут и множатся фермы автогенерируемых сайтов с говнотекстами, да простят меня дамы. Из-за них невозможно найти даже технические материалы, не говоря про обыкновенные. Но я бы так не переживал про поиск технических материалов, если бы в них были корректные ссылки. Ссылки дохнут как мухи и, читая пост годичной давности в форуме или блоге, нет почти никаких надежд перейти по указанным ссылкам.

Я считаю нерабочие ссылки очень большой проблемой современного интернета, хотя про нее как-то не говорят или не задумываются. Думаю пора делать хоть что-то. Мы уже что-то делаем, про это и расскажу. Надеюсь, пример кого-то воодушевит, и он тоже захочет позаботиться о своих пользователях.

Читать дальше →
Total votes 76: ↑57 and ↓19+38
Comments58

Жесты несколькими пальцами в Ubuntu 10.10

Reading time2 min
Views2.1K
Марк Шаттлворт только что сообщил в своём блоге, что Ubuntu 10.10 Maverick Meerkat, выходящая 10 октября 2010 года (10.10.10), будет поддерживать мультитач-интерфейс.

Созданный Canonical для этой цели фреймворк под названием UTouch был включён в состав Maverick.

Читать дальше →
Total votes 82: ↑73 and ↓9+64
Comments35

Поклонники открытого ПО не склонны делиться. Логика автостопщиков

Reading time3 min
Views772
Данная статья является переводом статьи Мэтта Эсея «Open source's ardent admirers take but don't give. Free riders' self-defeating logic», опубликованной 13 августа 2010 года в The Register.

Matt AsayПО с открытым исходным кодом уже давно является чем-то обыденным. Поэтому тем более жалко, что многие из самых горячих его поклонников до сих пор не понимают принципов, лежащих в его основе.

Спросите, к примеру, команду ИТ-директоров, как это недавно сделала Accenture: почему они столь ревностно внедряют ПО с открытым исходным кодом — а внедряют они его действительно ревностно, поскольку:
  • 50% опрошенных «полностью преданны» открытому ПО;
  • 69% планируют увеличить инвестиции в него;
  • 38% вообще планируют перевести всё критичное для своего бизнеса ПО на открытые альтернативы уже в 2010 году.

И что же вы услышите в ответ?
Читать дальше →
Total votes 90: ↑70 and ↓20+50
Comments101

Неприступный почтовый сервер, или жизнь без спама

Reading time11 min
Views198K
Борьба со спамом — это головная боль всех ответственных администраторов почты. Чего только они не изобретают, чтобы любимым пользователям лучше жилось. Однако, как показала практика общения со многими системными администраторами, почему-то далеко не все представляют как правильно фильтровать спам.

Чаще всего встречается подход «добавим кучу RBL (DNSBL) и будем радоваться жизни». Подход не верный чуть более, чем полностью. Второй по популярности — контент-фильтры, зачастую купленные за бешеные деньги. Такой подход тоже в большинстве случаев совершенно неоправдан.

А ведь всё так просто, для спокойной жизни достаточно всего лишь пристально присматриваться к трём заголовкам входящей SMTP сессии. Порывшись на Хабре и в закоулках интернета так и не нашёл исчерпывающей статьи на тему правильной настройки SMTP сервера с точки зрения противодействия спаму. Поэтому решил расписать всё, что знаю на эту тему сам и чем успешно пользуюсь.

Кстати: эта статья конечно ориентирована в первую очередь на администраторов, желающих сделать качественный фильтр спама. Однако с другой стороны она содержит очень важные сведения для тех, кому приходится просто работать с почтой, но кто плохо разбирается во всех тонкостях процесса электронной пересылки корреспонденции.

Итак, если вы хотите обезопасить своих пользователей от спама или наоборот, хотите чтобы кто-то случайно не обезопасил пользователей от ваших писем — добро пожаловать под кат.

Читать дальше →
Total votes 158: ↑140 and ↓18+122
Comments149

Системы eCommerce на Python — техническое сравнение

Reading time3 min
Views26K
В краткий обзор вошли веб-приложения на Python с открытым исходным кодом и возможностью расширения: GetPaid, EasyShop, LFS, Satchmo, Perfect Sale.
Материал публикуется с целью привлечь внимание отечественных разработчиков к e-commerce open source решениям на python в продолжение темы Open Source решений для электронной коммерции на PHP: habrahabr.ru/blogs/open_source/101072
Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments25

BSOD – не повод для паники. Выясняем природу «экрана смерти»

Reading time2 min
Views29K
До недавних пор я думал, что единственный способ узнать о причине BSOD'а – это белые буковки на синем «экране смерти». Недавние события немного расширили мои познания в области диагностирования неполадок, и этими знаниями я хочу поделиться с вами, хабражители.
Случилась очередная поломка системы у очередного клиента. «Синий экран, и нечего не шевелится» — так описала проблему девушка, которая за компьютером работала. Дело было около 18 вечера, и ехать на выезд совсем не хотелось. Перезвонив клиенту, я сказал, что компьютер посмотрю удаленно, хотя сам понимал, что заниматься ним придется завтра. Тем не менее совесть не дала просто забыть о компе до завтра.
Читать дальше →
Total votes 124: ↑98 and ↓26+72
Comments71

Шортлист дьявольского конкурса по юзабилити

Reading time1 min
Views21K
Здравствуй, хабрачеловек!

Ты, наверное, уже и не помнишь, как мы анонсировали «дьявольский конкурс» по юзабилити. За такое хабравчане надавали нам минусов, но и на заявки также не поскупились.

Всего пришло 166 заявок: с нашего блога, с Хабра, с ЖЖ и по почте.

Картинка для привлечения внимания

Каждому, кто к нам обратился, мы выдали рекомендации по улучшению юзабилити.

C трудом мы смогли отобрать 15 сайтов.

Вот эти сайты:
Читать дальше →
Total votes 142: ↑93 and ↓49+44
Comments50

Если команда «ping ya.ru» кажется слишком длинной…

Reading time3 min
Views18K
В этой статье было замечательно подмечено, как проверить связность с Сетью при помощи ping, если у вас поломался DNS и набор привычного
ping ya.ru
уже не помогает. Если же DNS все-таки работает, то, как выяснилось из комментариев, некоторые используют для пинга www.ru или google.com, но большинство всё-таки предпочитает ya.ru просто потому, что меньше букв писать. Оказывается, благодаря солнечным Узбекистану и Туркменистану букв можно писать ещё меньше.
Читать дальше →
Total votes 15: ↑10 and ↓5+5
Comments15

Основы Linux от основателя Gentoo. Часть 1 (3/4): Ссылки, а также удаление файлов и директорий

Reading time6 min
Views94K
Третий отрывок из перевода первой части руководства. Предыдущие: первый, второй.

В этом отрывке рассмотрены жесткие и символические ссылки, а также разобрано удаление файлов и директорий с помощью команд rm и rmdir.
Читать дальше →
Total votes 56: ↑48 and ↓8+40
Comments29

Основы Linux от основателя Gentoo. Часть 1 (2/4): Управление файлами и директориями

Reading time7 min
Views116K
Продолжение перевода первой части руководства. Начало тут.

В данном отрывке рассмотрены команды работы с файловой системой и файлами, такие как ls, mkdir, touch, mv, cp, затронуто использование echo и cat. Рассказано про иноды файловой системы.
Читать дальше →
Total votes 92: ↑78 and ↓14+64
Comments44

Основы Linux от основателя Gentoo. Часть 1 (1/4): BASH, основы навигации

Reading time6 min
Views245K

Предисловие


Об этом руководстве


Добро пожаловать в первую из четырех частей обучающего руководства по основам Linux, разработанного чтобы подготовить вас к сдаче экзамена Linux Professional Institute 101. В нем вы познакомитесь с bash (стандартной оболочкой командного интерпретатора в Linux), узнаете о большинстве возможностей таких стандартных команд Linux, как ls, cp и mv, разберетесь в инодах, жестких и символьных ссылках, и многом другом. К концу этого руководства у вас сформируется некий фундамент знаний, и вы будете готовы к изучению основ администрирования Linux. К концу всего курса (8 частей), у вас будет достаточно навыков, чтобы стать системным администратором Linux и пройти сертификацию LPIC Level 1 от Linux Professional Institute, если конечно захотите.



Данная первая часть руководства отлично подходит для новичков в Linux, а также для тех пользователей, кто хочет освежить или улучшить свое понимание фундаментальных концепций Linux, таких, как копирование и перемещение файлов, создание символических и жестких ссылок, а также стандартных команд обработки текста, включая конвейеры и перенаправления. По ходу мы также дадим множество советов, подсказок и трюков, что делает это руководство насыщенным и практичным, даже для тех, кто уже имеет солидный опыт работы с Linux. Для начинающих большая часть этого материала будет новой, но более продвинутые пользователи Linux найдут это руководство отличным средством, чтобы разложить свои фундаментальные навыки по полочкам у себя в голове.


Читать дальше →
Total votes 150: ↑130 and ↓20+110
Comments50

Python: советы, уловки, хаки (часть 1)

Reading time8 min
Views263K
Предлагаю читателям «Хабрахабра» перевод статьи «Python Tips, Tricks, and Hacks». Статья будет полезна на начальном и среднем этапах изучения Python.

Хотите писать более лаконичный и читаемый код? Вы хотите уместить как можно больше смысла в одно выражение? Считаете, что прочитать о нескольких уловках лучше, чем провести остаток жизни за чтением документации? Вы обратились по адресу. Мы начнем с маленьких уловок, которые вы уже могли встретить, если немного работали с Python. Но я обещаю, что ближе к концу статьи вас ожидает больше безумных вещей.

Содержание

1. Маленькие уловки. Четыре типа кавычек. Правдивость различных объектов. Проверка на вхождение подстроки. Красивый вывод списка. Целочисленное деление и деление с плавающей точкой. Лямбда-функции.
2. Списки. Генераторы списков и выражения-генераторы.
Читать дальше →
Total votes 98: ↑94 and ↓4+90
Comments67

Электронная цифровая подпись для чайников: с чем ее есть, и как не подавиться. Часть 1

Reading time4 min
Views136K
Итак, все чаще в кругах, работающих с документами все чаще звучат слова «электронный документ» и, связанное с ним почти неразрывно «электронная цифровая подпись», иначе — ЭЦП.

Данный цикл статей предназначен для того, чтобы раскрыть «тайное знание» о том, что это такое, когда и как это можно и нужно использовать, какие есть плюсы и минусы.

Естественно, статьи пишутся не для специалистов по криптографии, а для тех, кто эту самую криптографию будет использовать, или же только начинает ее изучение, желая стать специалистом, поэтому я старался максимально упростить понимание всего процесса, приводя аналогии и рассматривая примеры.

Читать дальше →
Total votes 105: ↑85 and ↓20+65
Comments108

pv — маленькая, но очень полезная утилита

Reading time2 min
Views81K
Один мой друг сказал по поводу pv следующее «Я админю семь лет, мне нужна была эта тулза десятки раз, а я даже не знал что она существует». В размышлениях над тем как заполучить инвайт на Харбе, я набрал в поиске pv. И ничего не нашел.
Читать дальше →
Total votes 290: ↑280 and ↓10+270
Comments94

Information

Rating
Does not participate
Location
Хотьково, Москва и Московская обл., Россия
Date of birth
Registered
Activity