Search
Write a publication
Pull to refresh
0
0
Андрей @andreypaa

User

Send message

Создание окружения для веб-разработки на основе Docker

Reading time5 min
Views61K
Под катом расскажу как я усовершенствовал автоматическое создание и разворачивание окружения для веб-разработки на основе Docker, Fig, DNSMasq и nsenter. По сути, это разворачивание LAMP сервера и запись о нем в DNSMasq, но приоритетами являются незасоренность хост-машины ненужным софтом типа web-, db-серверов на хост машине и минимальное количество команд для запуска
Читать дальше →

Эксперимент: 10 вещей, которые я узнал, употребляя только воду в течение месяца

Reading time10 min
Views257K
image

Мы продолжаем знакомить вас с переводами статей Chris Bailey, где он делится советами, которые извлек во время проекта «a Year of Productivity». Ранее мы публиковали статьи этого автора, они доступны в нашем блоге в разделе «личная продуктивность». Хотим напомнить, что общая цель всех статей, поделиться опытом автора как стать более успешным и эффективным везде: в личной жизни, отношениях с друзьями, самим собой и конечно же на работе (чем бы вы не занимались)!

Итак, даем слово Крису!
Читать дальше →

Интеграция Fail2ban с CSF для противодействия DDoS на nginx

Reading time12 min
Views34K
Набор скриптов ConfigServer Security & Firewall (CSF) изначально обладает достаточно богатыми возможностями по организации защиты сервера хостинга Web с помощью фильтра пакетов iptables. В частности с его помощью можно противостоять затоплению атакуемого хоста пакетами TCP SYN, UDP и ICMP слабой и средней силы. Дополняет CSF встроенный Login Failure Daemon (lfd), который осуществляет мониторинг журналов на предмет наличия многочисленных неудачных попыток авторизации в различных сетевых сервисах с целью подбора пароля. Такие попытки блокируются путем внесения адреса IP злоумышленника в черный список CSF.
Читать дальше →

Что нужно знать, чтобы хорошо рисовать?

Reading time5 min
Views268K


Давид Ревуа — прекрасный художник, работающий со свободным программным обеспечением, постоянный член сообществ Krita Foundation и Blender Institute, концепт-художник анимационных проектов Gooseberry Open Movie Project, Mango Open Movie Project (Tears of Steel) и Durian Open Movie Project (Sintel). В этой статье он делится с начинающими художниками списком знаний, которые необходимо приобрести, чтобы работы получались реалистичными. Он обращает внимание, что для рисования «в цифре» следует обзавестись теми же навыками, что и в традиционной технике. Итак, приобщимся к его опыту.
Читать дальше →

Философия программирования — трёхнаправленное программирование

Reading time11 min
Views105K
Программирование рассматривается как процесс создания компьютерных программ. Слово процесс в этом определении не лишнее. Обычно рассуждают в духе «посмотрите, какую замечательную структуру данных можно описать на данном языке программирования». Философия программирования подразумевает оглянуться по сторонам, да и в глубь копнуть.

Собственно разделение на кодирование, и создание алгоритмов это уже специфика, сначала идёт жизнь, то есть человек опирается на некую мысль вроде «напишу-ка я фреймворк с такими-то свойствами». И вот это начальное направление это вопрос философии. Проблема в том, что часто жена программиста лучше его самого знает, на философском уровне, что он делает и почему. Элементарные философские категории: мышление, сознание, обусловленность программисту неведомы. И это странно, если сравнить способность программиста мыслить, например, читая статьи по функциональному программированию или алгоритмам поиска, вперемешку со статьями видных русских или европейских философов, окажется, что собственно навык мышления у программистов развит не меньше, а то и больше. Вот только язык программиста очень богат пока он рассуждает о паттерн-матчинге и жалок и органичен когда ему надо выйти из своей песочницы, оторваться от IDE и файлового менеджера.
Читать дальше →

Pillow 2.7 — Существенное улучшение качества и производительности

Reading time6 min
Views43K
Первого января 2015 года по расписанию вышла новая версия библиотеки для работы с изображениями Pillow 2.7. Так как многие изменения в ней были сделаны командой Uploadcare, мы рады представить вам расширенную версию заметок о релизе этой версии.

Для начала вспомним, с чего все началось. Pillow — дружественный форк (как называют его авторы) популярной библиотеки PIL, Python Imaging Library. Последняя версия PIL 1.1.7 вышла в 2009 году и в основном содержала исправления ошибок. Изначально Pillow задумывался как проект только по приведению в порядок сборки PIL, и разработчики рекомендовали отправлять все баги, не связанные со сборкой, в оригинальный PIL. Но время шло, PIL стремительно устаревала, багов не уменьшалось, тут еще Python 3 маячил на горизонте. Поэтому с версией Pillow 2.0 все изменилось. «Pillow 2.0.0 добавляет поддержку Python 3 и включает много багфиксов со всего интернета» гласит описание проекта на PyPI. И с тех пор понеслось. Каждые три месяца выходили версии с огромным количеством багфиксов и другими улучшениями от различных разработчиков. Самым значительным нововведением за это время было, пожалуй, поддержка форматов WebP и JPEG2000. Теперь пришло время следующего большого шага.
Читать дальше →

Независимое воспроизведение реактора холодного синтеза Андреа Росси в России

Reading time5 min
Views106K
image

Возможно, вы уже читали о реакторе холодного синтеза Андреа Росси. Этот реактор вызывает крайне противоречивые мнения, и очень многие относятся к нему как к мошенничеству, которое не заслуживает серьезного рассмотрения и вообще противоречит основным законам ядерной физики. Тем не менее, появляются все новые свидетельства, что данный реактор действительно работает. И вот теперь работающий реактор из России…
Читать дальше →

То, что вам нужно* (в сложном 2015)

Reading time5 min
Views31K
Эта статья одобрена Григорием bobuk Бакуновым и Чаком Норрисом**


Григорий как бы говорит нам: “01110011 01100101 01100101 00100000 01111001 01101111 01110101 00100000 01101111 01101110 00100000 01110100 01101000 01100101 00100000 01101111 01110100 01101000 01100101 01110010 00100000 01110011 01101001 01100100 01100101“

Вы стопудово прочитали (или, как минимум, видели в лентах) с десяток вангующих статей, но ни одна из них не была написана по материалам выступления “the geekiest geek в России”***

2015 – год фатально разрушенных планов или волшебно возникающих возможностей? Ответов столько же, сколько тех, кто задаёт себе этот вопрос. Ясно только одно – IT проекты имеют больше шансов взлететь, если обратят внимание на то, что рассказал нам Григорий Бакунов.

Читать дальше →

Грандиозное тестирование батареек

Reading time4 min
Views368K
Каждый раз при покупке батареек у меня возникало много вопросов:

Насколько дорогие батарейки лучше дешёвых?
Насколько ёмкость литиевых батареек больше обычных?
Насколько ёмкость солевых батареек меньше, чем у щелочных?
Отличаются ли батарейки для цифровых устройств от обычных?
Какие из батареек, стоящих одинаково, лучше покупать?

Чтобы получить ответы на эти вопросы я решил протестировать все батарейки АА и ААА, которые удастся найти в Москве. Я собрал 58 видов батареек АА и 35 видов ААА. Всего было протестировано 255 батареек — 170 АА и 85 ААА.


Читать дальше →

freelance — you're doing it wrong!

Reading time39 min
Views82K
Доброго времени суток уважаемые хаброжители, меня зовут Юра, и сегодня я поведаю вам о проблемах высокотехнологичного отпрыска удалённой работы — фриланса, а именно о разработке мобильных, десктопных и вэб-приложений, вёрстке и дизайне. Работаю я в этой сфере достаточно недавно, буквально с 2008го, и опыта хорошего и плохого у меня накопилось достаточно много. Цель данной публикации — показать разницу между простыми сотрудниками и фрилансерами, а также — показать основные организационные проблемы, которые возникают при разработке и проектировании программного обеспечения. Я надеюсь, что этот пост поможет прояснить некоторые производственные моменты, которые могли бы быть не совсем очевидны для разработчиков и их руководства.

Суждения в данной статье субъективны — сплошная концентрированная «отсебятинка».
Они основаны на моём личном опыте и опыте людей с которыми я общаюсь.
PAIN INSIDE

Достойный встраиваемый цифровой усилитель НЧ своими руками за разумные деньги

Reading time4 min
Views88K
Добрый день, Хабр!

Наша прошлая статья о DIY-аудиотехнике вызвала довольно большой резонанс и сегодня мы хотели бы рассказать о другой нашей разработке из области аудио — высококачественном УНЧ. Устройство было создано Олегом Тетушкиным для собственных нужд. Но в результате усилитель прижился в офисе. Собран, разумеется, из того, что плохо лежало было под рукой на складе. В данном случае он собран в самодельном корпусе. Но по сути, его можно встроить куда угодно — хоть в мебель. На что хватит фантазии.

В комментах к вышеупомянутой статье разгорелся спор о том, что можно и что нельзя называть HiFi или даже просто качественным. Поэтому хочется пояснить — определение «качественный» основывается исключительно на нашем чувстве прекрасного. Мы считаем, что звук данного усилителя вполне достойный и удовлетворит любого среднего человека. Хотя у аудиофилов может быть другое мнение по этому поводу.


Вот такой красавец должен получиться в результате

Читать дальше →

Несколько советов по ускорению Drupal

Reading time5 min
Views10K
Drupal постоянно ругают за его медлительность, за огромное количество запросов к базе данных и неповоротливость. Наиболее часто это решается с помощью Memcached или Varnish. В этой статье я хотел бы добавить еще несколько советов, использование которых позволит не сделать Drupal еще медленее. Тех, кому это интересно, прошу пожаловать под кат.
Читать дальше →

Дайджест интересных материалов из мира Drupal #1

Reading time4 min
Views7.3K
В последнее время в веб-разработке уследить за всеми техническими новинками и трендами становится практически невозможно из-за их взрывного роста. А держать руку на пульсе все-таки хочется, так как, я думаю, двигаться вперед и предлагать конкурентоспособный продукт можно только аккумулируя опыт других людей – кроме, конечно, случаев счастливых озарений или случайности.
На Хабре в последнее время стали популярны дайджесты с обзорами изменений, которые происходят в мире каждый день по самой различной тематике – и это, признаться, становится едва ли ни единственным окном в мир смежных знаний, которые мне любопытны.
Хочу продолжить славную традицию очередным дайджестом – на этот рад по фреймворку из мира PHP – о Drupal.
Надеюсь, что данный дайджест найдет своего читателя, как среди людей постоянно практикующих эту систему, так и из смежных технологий, фреймворков. На собственном опыте, я знаю, как полезно бывает почерпнуть знания из других систем, так как бывают материалы абсолютно универсальные: посвященные архитектуре приложений, оценкам, работе с требованиями, заказчиком, HTML/CSS/JS, виртуализации, сервисам и т.п.
Читать дальше →

Продолжаем ставить OpenWrt на всё что угодно. D-link DNS-320L

Reading time5 min
Views62K
Приобрел я этот NAS с четкой целью, он должен работать на OpenWRT. Сам я в linux не силен, так что собирал информацию по крупицам с интернета. В русскоязычной части ничего не было найдено, поэтому решил написать инструкцию для народа + сохранить что-то, так как памяти своей я не доверяю.

В итоге получился NAS, который загружает прошивку с внутренней памяти и монтирует жесткий диск, подключенный по usb, как основную память.
Читать дальше →

Поиск на сайте своими руками

Reading time15 min
Views198K


Наверное, многие когда-нибудь задумывались, как сделать поиск на сайте? Безусловно, для крупных сайтов с большим количеством контента поиск является просто незаменимой вещью. В большинстве случаев пользователь, впервые посетив Ваш сайт в поисках чего-либо важного, не станет разбираться в навигационных панелях, выпадающих меню и прочих элементах навигации, а в спешке попытается найти что-нибудь похожее на поисковую строку. И если такой роскоши на сайте не окажется, либо он не справится с поисковым запросом, то посетитель просто закроет вкладку. Но статья не о значении поиска для сайта и не о психологии посетителей. Я расскажу, как реализовать небольшой алгоритм полнотекстового поиска, который, надеюсь, избавит начинающих разработчиков от головной боли.
Читать дальше →

Слайдшоу на CSS (Sass)

Reading time7 min
Views28K
Тема, мягко говоря, не новая, существует ряд статей — на Smashing Magazine и в блогах, а так же просто реализации (исходный код, только та часть, которая касается анимации). Но, помимо фатального недостатка, у данных реализаций есть недостатки фактические — первые два варианта не предоставляют управления, а последний хоть и предоставляет, но при переключении слайдов анимация останавливается и её приходится запускать снова. Пожалуй, можно сказать что это фича, но мне хотелось полностью спародировать поведение слайдшоу как если бы оно было написано на javascript (что в итоге всё равно не удалось) — то есть при переклчении анимация продолжается, но начинается с выбранного слайда.
Кому лень читать — сразу конечный результат.


Читать дальше →

Анализ дружеских связей VK с помощью Python. Продолжение

Reading time14 min
Views69K
В предыдущей статье мы на основе общих друзей ВКонтакте строили граф, а сегодня поговорим о том, как получить список друзей, друзей друзей и так далее. Предполагается, что вы уже прочли предыдущую статью, и я не буду описывать все заново. Под хабракатом большие картинки и много текста.
Читать дальше →

Postgres. Выборка N случайных записей

Reading time6 min
Views38K
При работе над одним проектом возникла необходимость написать некое подобие тестовой системы. Задача формулировалась примерно так:

  • из N записей в базе необходимо выбрать m (3-5) случайных строк в серии из k выборок (преимущественно k=2).

А теперь то же самое человеческим языком: из таблицы нужно два раза выбрать по 3-5 случайных записей. При этом не должно быть дубликатов и выборка должна происходить случайным образом.

Первое, что приходит в голову:

 SELECT *
  FROM data_set
  WHERE id NOT IN (1,2,3,4, 5)
  ORDER BY random()
  LIMIT 5;

И это даже будет работать. Вот только цена такого решения…
Читать дальше →

Мобильная версия для Django-проекта

Reading time8 min
Views26K


С каждым днем пользователи смартфонов занимают все большую долю интернета. По данным LiveInternet доля российских пользователей OS Android уже превысила долю Windows7. В выходные дни пользователи мобильных платформ пользуются интернетом значительно чаще. Та же тенденция наблюдается и в мире. Все это еще раз доказывает необходимость адаптации сайта для смартфонов и планшетов.

О том, как можно адаптировать ваш Django-проект для мобильных устройств, я расскажу в этой статье. Но сначала давайте разберем, какие есть варианты создания мобильной версии сайта.
Читать дальше →

Information

Rating
Does not participate
Location
Мордовия, Россия
Date of birth
Registered
Activity