Search
Write a publication
Pull to refresh
13
0
Максим Михеев @Ceiceron

IT-директор

Send message

StableBit DrivePool — дисковый массив с дублированием файлов

Reading time4 min
Views105K
Я постоянно пытаюсь найти какие-то альтернативы RAID'ам в плане объединения нескольких жестких дисков в единый массив. Пробовал много что, но ни на чем так и не остановился окончательно. RAID не нравится тем, что штука достаточно капризная, негибкая и требовательная до дискового пространства.

image

Что мне вообще хочется:
  1. Объединить диски с данными в один массив большого объема, чтобы не приходилось вручную сортировать файлы — что возникает при нескольких дисках (пусть даже при монтировании их в папки).
  2. Иметь возможность добавлять/удалять/заменять диски в любой момент без развала массива.
  3. Независимость информации на дисках друг от друга — чтобы смерть одного из них не приводила к недоступности остальных.
  4. В идеале — какой-то метод хранения одного файла на нескольких дисках. Бэкапы — это хорошо и я их делаю, но лучше, когда к их помощи не приходится прибегать.


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

Верстка email рассылок от А до Я для чайников

Reading time9 min
Views414K
Уже 3 с лишним года занимаюсь дизайном и версткой почтовых рассылок, которые ориентированы на англоязычных пользователей. За время работы перелопатили огромную кучу информации, перепробовали много вариантов верстки, набили достаточное количество шишек. Были найдены и исправлены типичные баги, которые в той или иной мере повторялись во всех почтовых клиентах. Также нашлись проблемы с некоторыми CSS свойствами — различные почтовые клиенты интерпретировали их по разному. Каждое письмо тестировалось на самых популярных почтовых клиентах: Gmail, Outlook, Yahoo, Android, iOS, MozillaThunderbird, Microsoft Outlook, The Bat. Рассылки ходят на сотни миллионов пользователей и приносят очень хорошие результаты. Итак, приступим к изучению.
Читать дальше →

Web PUSH Notifications быстро и просто

Reading time17 min
Views364K

Добрый день. В этой небольшой заметке я хочу рассказать как быстро и просто настроить push-уведомления на вашем сайте. Эта статья ни в коем случае не претендует на звание исчерпывающего руководства, но, я надеюсь, что она даст точку старта для дальнейшего изучения.


Информации по этой теме в интернете полно, но она фрагментирована, разбросана по разным ресурсам и перемешена с уведомлениями для мобильных устройств с примерами на Java, C++ и Python. Нас же, как веб-разработчиков, интересует JavaScript. В этой статье я постараюсь саккумулировать всю необходимую и полезную информацию.


Web PUSH Notifications


Я думаю, вы уже знаете что такое push-уведомления, но я всё же напишу коротко о главном.


Пользователь, заходя на сайт, вытягивает (pull) с него данные. Это удобно и безопасно, но с развитием интернет ресурсов, появилась необходимость оперативно доставлять информацию пользователям не дожидаясь пока те сами сделают запрос. Так и появилась технология принудительной доставки (push) данных с сервера клиенту.

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

Лабораторная работа «Обучаемся настраивать сети в GNU/Linux»

Reading time9 min
Views48K
Никто не любит длинные вступления, поэтому сразу к сути.
В данной импровизированной лаборатории я хотел бы осветить работу с сетями в GNU/Linux
и рассмотреть следующие темы:

  1. Изучаем vlan. Строим сеть между vm1, vm2 в одном vlan. Пингуем, ловим пакеты, изучаем заголовки.
  2. Разбиваем vm1 vm2 на разные vlan. Настраиваем intervlan routing с помощью R1.
  3. Iptables. Настраиваем маскарад. Имитируем выход во внешние сети.
  4. Iptables. Настраиваем port forwarding для сервисов на vm1 и v2, которые находятся за NAT.
  5. Iptables. Настраиваем security zones. Изучаем tcp сессии.


З.Ы. все люди ошибаются, я открыт для ваших комментариев, если я написал какую-то глупость, готов ее исправить!
Читать дальше →

Browser Fingerprint – анонимная идентификация браузеров

Reading time14 min
Views225K


Валентин Васильев (Machinio.com)


Что же такое Browser Fingerprint? Или идентификация браузеров. Очень простая формулировка — это присвоение идентификатора браузеру. Формулировка простая, но идея очень сложная и интересная. Для чего она используется? Для чего мы хотим присвоить браузеру идентификатор?


  • Мы хотим учитывать наших пользователей. Мы хотим знать, пришел ли пользователь к нам первый раз, пришел он во второй раз или в третий. Если пользователь пришел во второй раз, мы хотим знать, на какие страницы он заходил, что он до этого делал. С анонимными пользователями это невозможно. Если у вас есть система учета записей, пользователь логинится, мы все про него знаем — мы знаем его учетную запись, его персональные данные, мы можем привязать любые действия к этому пользователю. Здесь все просто. В случае с анонимными пользователями все становится гораздо сложнее.

Создание зашифрованной флешки Kali Linux Encrypted Persistence

Reading time3 min
Views47K
В данной статье описывается метод создания загрузочной флешки с системой Kali Linux, функционал которой позволяет создать зашифрованный раздел, где будут храниться все её параметры, установленные программы и данные. Шифрование производится посредством алгоритма aes c ключом 256 бит (настроить шифрование вы можете на свой вкус, изучив команду cryptsetup).

1. Создание загрузочной флешки


Для записи образа используйте программу Rufus. Выберите устройство, на которое будет распакован образ, далее выберите iso-образ системы и из выпадающего списка выберите DD-образ.

image

После развертывания образа структура разделов флешки примет следующий вид:

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

Собственная платформа. Часть 0.1 Теория. Немного о процессорах

Reading time9 min
Views51K

Здравствуй, мир! Сегодня у нас серия статьей для людей со средними знаниями о работе процессора в которой мы будем разбираться с процессорными архитектурами (у меня спелл чекер ругается на слово Архитектурами/Архитектур, надеюсь я пишу слово правильно), создавать собственную архитектуру процессора и многое другое.


4004


Принимаются любые замечания!


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

6 концепций функционального программирования. Польза и примеры использования

Reading time9 min
Views41K
Доброго времени суток! Меня зовут Иван Смолин, я разработчик мобильных приложений на платформе iOS. Сегодня предлагаю вам окунуться в мир функционального программирования. Статья носит по большей части теоретический характер, нежели практический. В ней я постараюсь дать определения основным понятиям функционального программирования и покажу примеры реализации на C, Objective-C, Swift, Haskell.

Функциональное программирование — это парадигма программирования, которая акцентируется на вычислении через функции в математическом стиле, неизменяемость, выразительность и уменьшение использования переменных и состояний (ссылка).

Существует 6 основных концепций:

  • концепция первого класса и функций высшего порядка
  • концепция чистых функций
  • концепция неизменяемого состояния
  • концепция опциональности и сопоставления с образом
  • концепция ленивости и бесконечных структур данных
  • концепция лямбда-исчислений

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

7 сервисов для мониторинга сайтов

Reading time4 min
Views136K
Здравствуйте! Часто перебои в работе сайта могут привести к потере клиентов, репутации, минусам в карму и прочим неприятностям. После покупки виртуального или выделенного сервера важно вовремя получать информацию о недоступности, поэтому сегодня я хочу рассказать о нескольких сервисах мониторинга сайтов/серверов и провести их сравнение.

image

На обозрение представлены следующие сервисы:
  1. host-tracker.com
  2. monitis.com
  3. monitorus.ru
  4. pingup.ru
  5. site24x7.com
  6. uptimerobot.com
  7. webopulsar.ru

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

Что делает программное обеспечение качественным?

Reading time21 min
Views19K
image
КДПВ

Кто-то создает программное обеспечение с открытым исходным кодом, а я провожу много времени размышляя над тем, как сделать программное обеспечение лучше. Бесконечный поток просьб о помощи на форумах Stack Overflow, GitHub, Slack, в электронных письмах и личных сообщениях неизбежен. К счастью, в итоге вы знаете многих людей, которые добились определенного успеха и сделали фантастические вещи, и знание о том, что вы приняли в этом участие благодаря вам и вашей помощи, является хорошей мотивацией для новых достижений.

У вас возникает вопрос: какие качества программного обеспечения приводят разработчика к успеху или к неудаче? Как я могу улучшить свой софт и помочь бо́льшему количеству людей стать успешным? Я могу ясно сформулировать некоторые основные принципы или полагаюсь на интуицию в зависимости от конкретного случая? (Рождение и воплощение одной мысли это два совершенно разных действия).

Возможно это что-то вроде принципов Дитера Рамса, способствующих качественному дизайну программного обеспечения?

  • Хороший проект является инновационным.
  • Хороший проект делает продукт полезным.
  • Хороший проект эстетичен.
  • Хороший проект делает продукт понятным.
  • Хороший проект ненавязчив.
  • Хороший проект честен.
  • Хороший проект длителен.
  • Хороший проект продуман до мельчайших деталей.
  • Хороший проект безвреден для окружающей среды.
  • В хорошем проекте дизайна настолько мало, насколько это возможно.
Читать дальше →

Как мы боролись с парсерами

Reading time16 min
Views36K
image
Ключевые моменты:
* Реализация скрипта для проверки PTR посетителей;
* Конфигурирование nginx в IfIsEvil-style с ветвлениями map;
* Имена location в переменных map;
* Управление ветвлением через try_files /nonexist $map_var.

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

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

Коллекция практических советов и заметок по вёрстке

Reading time32 min
Views184K

CSS Refresher


Это большая коллекция практических советов и заметок по вёрстке. Своеобразная памятка для тех, кто каждодневно использует CSS. Освещаются самые разные темы, от деталей поведения плавающих элементов до использования SVG и спрайтов. Проект постоянно обновляется, активное сообщество github также принимает в нем участие, там добавляются интересные замечания, о которых, возможно, вы и не слышали.

От переводчика


Приветствую всех, меня зовут Максим Иванов, и сегодня я подготовил для вас перевод заметок разработчика из Сан-Франциско Васанта Кришнамурти (Vasanth Krishnamoorthy) «CSS Refresher». Web-программирование одна из самых быстро развивающихся отраслей в наше время. Казалось бы, возьми какой-нибудь видеокурс на tuts+ и освой html-верстку, однако, как говорил разработчик Opera Software Вадим Макеев, выступая на конференции CodeFest, они все равно это делают плохо. Но давайте посмотрим, может мы итак все это знаем.

Содержание


  1. Позиционирование (position)
  2. Отображение элемента в документе (display)
  3. Плавающие элементы (float)
  4. CSS селекторы
  5. Эффективные селекторы
  6. Переотрисовка и перерасчет
  7. CSS3 свойства
  8. CSS3 медиа-запросы
  9. Адаптивный web-дизайн
  10. CSS3 переходы
  11. CSS3 анимации
  12. Масштабируемая векторная графика (SVG)
  13. CSS спрайты
  14. Вертикальное выравнивание
  15. Известные проблемы

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

Мастер-класс Бориса Вольфсона. Основы Agile

Reading time25 min
Views114K
image

Этот пост написан по мотивам мастер-класса Бориса Вольфсона (директора по развитию HeadHunter), посвященного (сюрприз!) основам Agile. Материал будет полезен всем, кто либо совсем не знаком с данной методологией разработки сложного ПО, либо имеет о ней смутное представление.
Читать дальше →

8 принципов планирования разработки, упрощающих жизнь

Reading time4 min
Views51K
Скажем прямо, русскому человеку планировать тяжело. Люди в России сильны импровизацией и умением собираться в критический момент, выдавая поразительные результаты. Но жизнь показывает, что команда программистов на подобной идеологии далеко не уедет. Героические усилия в одно время не смогут компенсировать пофигизм в другое.


Что общего у зомби-апокалипсиса и разработки ПО? Простые правила помогают пережить и то, и другое
Читать дальше →

Устройство файла UEFI BIOS, часть первая: UEFI Capsule и Intel Flash Image

Reading time7 min
Views213K
Выпуск материнских плат на чипсетах Intel шестой серии (P67 и его братьях) принес на массовый рынок ПК новый вариант BIOS — UEFI. В этой статье мы поговорим об устройстве файлов UEFI Capsule и Intel Flash Image.
Структура EFI Firmware Volume и полезные в хозяйстве патчи будут описаны во второй части.
Читать первую часть

Прочь из моей головы. GTD в разработке

Reading time10 min
Views45K
Если на вашем столе стоит чашка остывшего желанного кофе или чая, значит, что-то не так. Во всяком случае, так наверняка подумал бы Дэвид Аллен, автор знаменитого метода GTD (Getting Things Done). Мы хватаемся за тысячу дел, пытаясь попутно не забыть про бытовые мелочи, часто забываем о цели, но помним о неотвратимо приближающихся дедлайнах. Порой страх перед лавиной задач буквально парализует мозг и наступают апатия, прокрастинация, депрессия. Работа в такие моменты движется медленно, кажется, даже курсор мыши еле ползёт по монитору. Такая ситуация тем опаснее, чем больше человек работает в команде, особенно, если речь идёт о команде разработчиков.


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

Подборка бесплатных инструментов для разработчиков

Reading time28 min
Views188K
Сегодня мы представляем вашему вниманию адаптированную подборку инструментов (в том числе облачных) для разработчиков, которые позволяют создавать по-настоящему качественные проекты. Здесь представлены исключительно SaaS, PaaS и IaaS сервисы, предоставляющие бесплатные пакеты для разработчиков инфраструктурного ПО.

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

Облако для компаний-разработчиков: конструктор системы достижений BadgeKeeper — сервис для разработчиков

Reading time7 min
Views3.5K

Мы продолжаем рассказывать о применении облака Microsoft для компаний-разработчиков решений (ISV). В этом выпуске мы представляем историю от компании Badge Keeper, создающую конструктор системы достижений. Пожалуйста, оставляйте свою обратную связь в комментариях.


Всем привет, в этом посте я хочу рассказать, как мы хотели добавить систему достижений в своё приложение, а вместо этого сделали отдельный сервис.Что такое «достижения» или «achievements», для чего они используются в приложениях, думаю, рассказывать не надо, поэтому перейду прямо к рассказу о сервисе и тому, как мы реализовали его облачную версию в Azure.
Читать дальше →

Ещё раз про семь основных методологий разработки

Reading time8 min
Views1.1M
Разработка программного продукта знает много достойных методологий — иначе говоря, устоявшихся best practices. Выбор зависит от специфики проекта, системы бюджетирования, субъективных предпочтений и даже темперамента руководителя. В статье описаны методологии, с которыми мы регулярно сталкиваемся в Эдисоне.


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

Как определить дубликаты картинок с помощью PHP

Reading time4 min
Views47K
В любом проекте человеческий фактор никто не отменял, и если пользователи самостоятельно грузят картинки на сайт – появления дубликатов не избежать. Когда доходит до тысяч файлов, глазами всего не пересмотреть, а повторяющиеся картинки мало того, что никому не нужны, так еще и занимают место, тратят ресурс и в конце концов тормозят работу.



Потому рано или поздно встает вопрос автоматизации процесса поиска повторов, и тут мы рассмотрим основные, а также попробуем в деле.
Читать дальше →

Information

Rating
Does not participate
Location
Дубна, Москва и Московская обл., Россия
Date of birth
Registered
Activity