Как стать автором
Обновить
-3
0.2

Пользователь

Отправить сообщение

Создание favicon для сайта 2020

Время на прочтение10 мин
Количество просмотров140K

Что такое favicon и для чего он нужен?


Favicon – это значок (иконка), который отображается во вкладке браузера, закладках, а также в сниппетах результатов поиска.

image

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

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

Какой формат использовать для favicon?


Раньше в качестве основного формата использовали ICO. Особенность данного формата – мульти-размерность. Данный файл может хранить в себе несколько размеров иконки. На смену ICO пришел формат PNG. ICO все еще поддерживаемый, но большинство современных браузеров выбирают PNG формат иконки, который легче. Некоторые браузеры не могут выбрать правильный значок в файле ICO, что приводит к неправильному использования значка с низким разрешением.

О каких платформах пойдет речь в этой статье?


  • Десктопные браузеры
  • Chrome на Android
  • Иконка закладки в iOS (PWA)
  • macOS
  • Windows

Читать дальше →
Всего голосов 44: ↑42 и ↓2+46
Комментарии30

Архитектурное мышление на примере одиночного велопутешествия по Алтаю

Время на прочтение11 мин
Количество просмотров16K

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


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


image


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

Читать дальше →
Всего голосов 23: ↑22 и ↓1+30
Комментарии51

“Чистый код”: пять ключевых моментов из обязательной к прочтению книги для программистов

Время на прочтение5 мин
Количество просмотров59K

Недавно я написал о «Пять книг, которые изменили мой стиль программирования». В комментариях несколько читателей рекомендовали «Чистый код» Роберта С. Мартина. В результате я прочитал книгу и нашел ее достойной углубленного обзора.


Читать дальше →
Всего голосов 59: ↑57 и ↓2+66
Комментарии69

Разрабатываем самый удобный в мире* интерфейс для просмотра логов

Время на прочтение6 мин
Количество просмотров19K

Если Вам приходилось когда-нибудь пользоваться веб-интерфейсами для просмотра логов, то Вы наверняка замечали, насколько, как правило, эти интерфейсы громоздки и (зачастую) не слишком-то удобны и отзывчивы. К некоторым можно привыкнуть, некоторые совсем ужасны, но, как мне кажется, причина всех проблем заключается в том, что мы неправильно подходим к задаче просмотра логов: мы пытаемся создать веб-интерфейс там, где лучше работает CLI (интерфейс командной строки). Мне лично очень комфортно работать с tail, grep, awk и прочими, и поэтому для меня идеальным интерфейсом для работы с логами было бы что-то аналогичное tail и grep, но которое при этом можно было использовать для чтения логов, которые пришли с множества серверов. То есть, конечно же, читать их из ClickHouse!


*по личному мнению хабрапользователя youROCK

Читать дальше →
Всего голосов 20: ↑18 и ↓2+28
Комментарии32

Практические советы, примеры и туннели SSH

Время на прочтение13 мин
Количество просмотров215K

Практические примеры SSH, которые выведут на новый уровень ваши навыки удалённого системного администратора. Команды и советы помогут не только использовать SSH, но и более грамотно перемещаться по сети.

Знание нескольких трюков ssh полезно любому системному администратору, сетевому инженеру или специалисту по безопасности.
Читать дальше →
Всего голосов 69: ↑66 и ↓3+63
Комментарии29

Полное практическое руководство по Docker: с нуля до кластера на AWS

Время на прочтение39 мин
Количество просмотров1.6M



Содержание



Вопросы и ответы


Что такое Докер?


Определение Докера в Википедии звучит так:


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



Ого! Как много информации.

Читать дальше →
Всего голосов 125: ↑124 и ↓1+123
Комментарии44

Лабораторная работа: введение в Docker с нуля. Ваш первый микросервис

Время на прочтение26 мин
Количество просмотров340K
Привет, хабрапользователь! Сегодня я попробую представить тебе очередную статью о докере. Зачем я это делаю, если таких статей уже множество? Ответов здесь несколько. Во-первых не все они описывают то, что мне самому бы очень пригодилось в самом начале моего пути изучения докера. Во-вторых хотелось бы дать людям к теории немного практики прямо по этой теории. Одна из немаловажных причин — уложить весь накопленный за этот недолгий период изучения докера опыт (я работаю с ним чуть более полугода) в какой-то сформированный формат, до конца разложив для себя все по-полочкам. Ну и в конце-концов излить душу, описывая некоторые грабли на которые я уже наступил (дать советы о них) и вилы, решение которых в докере просто не предусмотрено из коробки и о проблемах которых стоило бы задуматься на этапе когда вас распирает от острого желания перевести весь мир вокруг себя в контейнеры до осознавания что не для всех вещей эта технология годна.

Что мы будем рассматривать в данной статье?

В Части 0 (теоретической) я расскажу вам о контейнерах, что это и с чем едят
В Частях 1-5 будет теория и практическое задание, где мы напишем микросервис на python, работающий с очередью rabbitmq.
В Части 6 — послесловие
Читать дальше →
Всего голосов 108: ↑107 и ↓1+106
Комментарии36

Основы Docker за Х часов и Y дней

Время на прочтение8 мин
Количество просмотров162K

0. Вступление


Цель данной статьи собрать в небольшую кучку основную информацию, минимально достаточную для того, чтобы начать работать с докер на ежедневной основе и удалить с рабочей машины локально установленные apache, mysql, virtualenv, python3, mongodb, memchaced, redis, php5, php7 и весь остальной зоопарк, который мы используем при разработке, и который зачастую еще и конфликтует между собой от версии к версии.
Читать дальше →
Всего голосов 43: ↑41 и ↓2+39
Комментарии16

Docker + php-fpm + PhpStorm + Xdebug

Время на прочтение8 мин
Количество просмотров64K
Не так давно тимлид нашей команды сказал: ребята я хочу, чтобы у всех была одинаковая среда разработки для наших боевых проектов + мы должны уметь дебажить всё — и web приложения, и api запросы, и консольные скрипты, чтобы экономить свои нервы и время. И поможет нам в этом docker.

Сказано — сделано. Подробности под катом.
Читать дальше →
Всего голосов 31: ↑27 и ↓4+23
Комментарии80

Чистые тесты на PHP и PHPUnit

Время на прочтение11 мин
Количество просмотров31K

В экосистеме PHP существует много инструментов, обеспечивающих удобное тестирование на PHP. Одним из самых известных является PHPUnit, это почти синоним тестирования на этом языке. Однако о хороших методиках тестирования пишут не так много. Есть много вариантов, для чего и когда писать тесты, какого рода тесты, и так далее. Но, честно говоря, не имеет смысла писать тест, если позднее вы не сможете его прочесть.

Тесты — это особая разновидность документации. Как я ранее писал о TDD на PHP, тест всегда будет (или хотя бы должен) ясно говорить о том, в чём заключается задача конкретной части кода.

Если один тест не может выразить эту идею, то тест плохой.

Я подготовил набор методик, которые станут подспорьем для PHP-разработчиков в написании хороших, удобочитаемых и полезных тестов.
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии23

Тёмная сторона работы в Яндекс.Маркете

Время на прочтение7 мин
Количество просмотров225K

Я уволился из Яндекс.Маркета, отработав там почти 15 месяцев. Сегодня я хочу поделиться своим взглядом на работу в Яндекс.Маркете и рассказать о причинах ухода.


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


Я ни в коем случае не претендую на объективность, это моё личное мнение.


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


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


Читать дальше →
Всего голосов 402: ↑371 и ↓31+466
Комментарии806

Использование Google Cloud Speech API v2 в Asterisk для распознавания русской речи

Время на прочтение6 мин
Количество просмотров46K
Добрый вечер, коллеги. Недавно возникла необходимость добавить систему голосовых заявок в нашу ticket-систему. Но не всегда удобно каждый раз прослушивать голосовой файл, поэтому возникла идея добавить к этому систему автоматического распознавания голоса, к тому же в будущем она бы пригодилась в других проектах. В ходе этой работы были испробованы два варианта API наиболее популярных систем распознавания речи от google и yandex. В конечном итоге выбор пал на первый вариант. К сожалению, не нашел подробной информации об этом в интернете, поэтому решил поделиться полученным опытом. Если интересно, что из этого получилось добро пожаловать под кат.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии10

Docker-образы с поддержкой ГОСТ-сертификатов в openssl, curl, php, nginx

Время на прочтение8 мин
Количество просмотров48K

В этой статье я расскажу о том, как я решал задачу об интеграции в тестовом режиме с сервисами, которые работают с использованием алгоритмов, определенных ГОСТ Р 34.10-2001 (устарел) и ГОСТ Р 34.10-2012. Приведу примеры некоторых проблем, с которыми столкнулся при решении задачи, дам ссылки на готовое решение и покажу несколько примеров их использования.

Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии28

Анализ логов веб-сервера с помощью GoAccess

Время на прочтение1 мин
Количество просмотров30K
image
Не так давно мы натолкнулись на утилиту GoAccess, которая позволяет анализировать логи веб серверов и строить отчеты. Утилита написана на C и имеется почти во всех репозиториях дистрибутивов Linux. Адрес проекта.

В данной заметке не будет ничего революционного, лишь краткое HOWTO, большую часть из которого вы сможете найти в документации.
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии7

Как грамотно отправлять почту из скриптов (в частности — на PHP)

Время на прочтение5 мин
Количество просмотров38K
Первая часть текста взята из инструкции хостинг-провайдера Netangels. Вторая — авторская.

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

Для того, чтобы быть уверенным, что ваше сообщение отправляется действительно верно, необходимо иметь по меньшей мере базовые представления о формате почтового сообщения. Формат почтового сообщения описан в нескольких стандартизирующих документах, основными из которых являются RFC 822 (описывает формат передачи простого текста на английском языке) и RFC 2045 и далее (описывает расширения этого формата для передачи произвольных данных).
Читать дальше →
Всего голосов 59: ↑56 и ↓3+53
Комментарии76

HowTo: DMARC

Время на прочтение6 мин
Количество просмотров115K
Недавно пришлось столкнуться со спамящим php-скриптом. Виновник был найден и уничтожен, дыра закрыта… Оставался вопрос с блэклистами. В частности перестала доходить почта на Gmail (reject).
Решил я настроить почту «как надо» — SPF, DKIM и попробовать настроить DMARC.
Оговорюсь сразу — я даже не пробовал разобраться с макросами и не настраивал aspf/adkim (хоть и написал о них).

Что такое DMARC?


Описан в RFC7489.
DMARC задает политику как проверять приходящую почту в этом домене и что делать если письма не проходят аутентификацию SPF или DKIM. На картинке показано на каком этапе вступает в работу DMARC.
image: DMARC and the Email Authentication Process
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии0

Как в ЦРУ десятилетиями читали зашифрованную переписку союзников и противников

Время на прочтение33 мин
Количество просмотров78K

Более полувека правительства всех стран доверяли единственной компании сокрытие переписки, которую вели их шпионы, солдаты и дипломаты




Эта компания, Crypto AG, первого своего успеха добилась, заключив во время Второй Мировой войны контракт на создание кодирующих машин для пехоты армии США. Как следует заработав на этом, она на десятилетия стала доминирующим производителем шифровального оборудования, и шла на переднем крае технологий, переходя от механических шестерней к электронным схемам, и, наконец, к кремниевым чипам и программному обеспечению.

Эта швейцарская фирма заработала миллионы долларов, продавая оборудование в более чем 120 стран, не только в XX, но и в XXI веке. Среди её клиентов были правительство Ирана, военные хунты Латинской Америки, обладатели ядерного оружия и соперники Индия и Пакистан, и даже Ватикан.

Однако все эти клиенты не подозревали, что ЦРУ в рамках совершенно секретного партнёрства с западногерманской разведкой тайно владела Crypto. Эти разведывательные агентства подправляли устройства компании так, что легко могли взламывать коды, используемые странами для обмена зашифрованными сообщениями.

И теперь этот договор, длившийся несколько десятилетий, вместе с другими тщательно охраняемыми секретами Холодной войны, принадлежавшими обширной истории операций ЦРУ, был раскрыт благодаря материалам, полученным газетой The Washington Post и немецким СМИ ZDF.
Всего голосов 91: ↑88 и ↓3+110
Комментарии222

Ошибки при работе с датой и временем в SQL Server

Время на прочтение24 мин
Количество просмотров82K

Перевод статьи подготовлен специально для студентов курса "MS SQL Server разработчик".





Содержание


Читать дальше →
Всего голосов 17: ↑16 и ↓1+22
Комментарии9

Пишем умный контракт на Solidity. Часть 1 — установка и «Hello world»

Время на прочтение6 мин
Количество просмотров134K

Люди, интересующиеся темой блокчейна, уже не раз слышали о проекте российско-канадского программиста Виталика Бутерина — Ethereum, а в вместе с ним и о так называемых умных контрактах. В данном цикле статей я постараюсь максимально просто описать суть Ethereum, умных контрактов, концепцию газа и показать, как пишутся умные контракты.


Smart Contract & Gas


Если на пальцах, "умный контракт" — это некоторый код, живущий внутри блокчейна. Любой участник сети может его вызвать за небольшую плату. Эта плата и называется Gas, дословно "топливо". Зачем это нужно? Для защиты майнера от злоупотребления мошенником его ресурсов.


Немногие знают, но даже в биткоине есть возможность писать эти самые контракты, но в силу некоторых причин этим мало кто занимается. Одна из главных проблем — язык Script не Тьюринг-полный и написать что-то более менее серьезное непросто (чтобы вы понимали масштаб проблемы — нет даже возможности добавить цикл). В случае с Ethereum все чуть по другому, языки Тьюринг-полные, и есть риск, что кто-то напишет контракт вида


// Это псевдокод
foo = 0;
while (True) {
    foo++;
}

Понятно, что майнер, запустивший этот контракт, закончит нескоро и по факту просто потратит в никуда свои ресурсы. Вот чтобы такого не произошло, разработчики Ethereum и придумали газ — в реальности запускать код вроде того, что я написал, будет просто экономически нецелесообразно, потому что вызвавшему придется заплатить за каждое действие контракта.

Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии16

Двухметровый квадрокоптер на бензине держится в воздухе более 3 часов с грузом

Время на прочтение3 мин
Количество просмотров62K

Канистры с 18,9 л топлива на корпусе двухметрового гибридного квадрокоптера Airborg H8 10K. Фото: Top Flight Technologies

Компания Top Flight Technologies предложила интересную концепцию гибридных квадрокоптеров, которые могут находиться в воздухе несколько часов, летать на большие расстояния и перевозить тяжёлые грузы. Пока до 15 кг, но в будущем — до 100 кг, то есть одного-двух человек.

Такие «способности» квадрокоптер получил благодаря гибридной силовой установке: энергия для 10-киловаттного электродвигателя добывается сжиганием бензина.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии85

Информация

В рейтинге
2 426-й
Зарегистрирован
Активность