Как стать автором
Обновить
0
0

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

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

Поиск уязвимостей в смарт-контрактах: обзор конкурса EtherHack на Positive Hack Days 8

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

В этом году на PHDays впервые проходил конкурс под названием EtherHack. Участники искали уязвимости в смарт-контрактах на скорость. В этой статье мы расскажем вам о заданиях конкурса и возможных способах их решения.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии3

Про рынок ИТ в России по-честному

Время на прочтение16 мин
Количество просмотров158K
В последние несколько лет мои переживания по поводу российского рынка ИТ только усиливались. Все началось с кризиса рубля 2014 года (а может, и раньше), и с тех пор меня не покидает ощущение, что многие российские компании, особенно провинциальные, завязали себе глаза, заткнули ватой уши и все еще пытаются сделать вид, что ничего не происходит. Я много общался с разными компаниями, с HR, с разработчиками, и составил список неутешительных тезисов о том, что представляет собой как программистский рынок, так и культура разработки в целом, ведь это вещи взаимосвязанные. По моим субъективным оценкам, эти тезисы справедливы для ~60% российских компаний, хотя, казалось бы, те другие 40% компаний, которые мы знаем и любим, должны были заставить задуматься. Но я очень подозреваю, что это эти 60% просто надеются на русский “авось”, и подвергаются так называемой willful blindness, а иногда и намеренно мутят воду. Итак, по-честному, что же происходит?

Дисклеймер 1. Ни ссылок, ни имен, ни пруфов не будет. Как известно, в Интернете можно найти подтверждение или опровержение любому тезису, поэтому не вижу большого в том смысла, покуда это не диссертация, а мнение. Моя цель — предоставить другую точку зрения, основанную на личностном опыте веры на личном опыте.

Дисклеймер 2. В статье приводится собирательный образ. Вряд ли стоит ожидать, что есть стопроцентное совпадение хотя бы с одной компанией. Те или иные черты могут встречаться там или здесь; важно не то, что есть какие-то конкретные компании с этими проблемами. Важно то, что сами по себе проблемы существуют, и о них надо говорить.
Читать дальше →
Всего голосов 281: ↑250 и ↓31+219
Комментарии1833

Complete Idiot's Guide: Как начать работать с Google Analytics

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

Рассказываем, что освоить в Google Analytics, если вы новичок и делаете новостное издание, блог компании или другой контентный проект.

  • Как строятся отчеты в Google Analytics.
  • За какими метриками следить и какие специальные отчеты настроить.
  • Какие готовые отчеты Google Analytics подключить.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии5

Едем в город южный: как живут разработчики в Ростове-на-Дoну

Время на прочтение6 мин
Количество просмотров53K
Как-то наш юный коллега рассказал, как выбился из депрессивного поселочка «в большой Ростов с его ИТ-компаниями» и за пару лет стал главой отдела верстальщиков. А в ответ услышал: «В Москву тебе надо». Он до сих пор не понимает, зачем ему надо.

Почему не понимает? Если отвечать в одной картинке, то:


Знакомьтесь, это Рита — фронтенд-разработчик в R&D «Юкоз Медиа» в Ростове

А если серьезно, за МКАДом есть айтишная жизнь. И она прекрасна и непредсказуема, как наша Рита. В этой статье расскажем, как живут разработчики в самом крупном городе юга России.
История в четырех действиях
Всего голосов 67: ↑50 и ↓17+33
Комментарии220

Установка и настройка: Nginx + php5-fpm

Время на прочтение4 мин
Количество просмотров194K
В данной заметке, будет показано как поставить связку Nginx + php5-fpm (php5.3) на Debian Lenny и настроить безопасную конфигурацию.
Читать дальше →
Всего голосов 115: ↑89 и ↓26+63
Комментарии129

Что такое шаблоны проектирования?

Время на прочтение11 мин
Количество просмотров79K
Вы когда-либо задавались вопросом, что такое шаблоны проектирования? В этой статье будет разъяснено, почему шаблоны проектирования имеют существенное значение, и будет приведено несколько примеров на PHP, поясняющих, когда и где их следует использовать.

Шаблоны проектирования — это допускающие многократное использование оптимизированные решения проблем программирования, с которыми мы сталкиваемся каждый день. Шаблон проектирования — это не класс или библиотека, которые мы можем просто вставить в нашу систему. Он — много больше. Это — некоторый шаблон, который должен быть реализован в надлежащей ситуации. Он не зависит от языка. Хороший шаблон проектирования должен быть таким, чтобы его можно было использовать с большинством языков (если не со всеми) в зависимости от характеристик языка. Чрезвычайно важно то, что любой шаблон проектирования необходимо использовать очень осторожно — если он применён в ненадлежащем месте, то его действие может быть разрушительным и породить много проблем для вас. Однако применённый в нужном месте в нужное время он может стать вашим спасителем.
Читать дальше →
Всего голосов 35: ↑22 и ↓13+9
Комментарии75

Как по маслу, или анимируем со скоростью 60 FPS на CSS 3

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

Изображения и текст принадлежат их авторам.


Анимация элементов в мобильных приложениях — это просто. Правильная анимация тоже может быть простой… если вы последуете представленным в статье советам.


Сегодня кто только не использует CSS 3 анимацию в своих проектах, тем не менее не только лишь все, но мало кто может делать это правильно. Даже описаны так называемые «лучшие практики», но люди продолжают делать всё по-своему. Скорее всего потому, что просто не понимают, почему всё устроено именно так, а не иначе.


Читать дальше →
Всего голосов 51: ↑49 и ↓2+47
Комментарии27

SEO оптимизация. Начало

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


Здрасте!
Множество информации по SEO (оптимизация, продвижение, вот это вот все) разбросано по просторному интернету, создано множество статей и форумных топиков на эту тему. В данном посте, я собрал рекомендации и инструменты, которые касаются непосредственной страницы сайта (структура, код, вот это вот все).

В статье вы найдете:
  • структурные элементы страницы: заголовки, картинки, URL, контент. Рекомендации по их использованию и оценки важности в ранжировании.
  • микроразметка: кто она и с чем ее едят. Рассмотрены schema.org и OpenGraph
  • дана оценка инструментам с точки зрения важности для ранжирования, usability или же поведенческих факторов
  • на примере крупный процветающих сайтов рассмотрены примеры использования описанного инструментария

Статья носит образовательный характер, и поэтому даже если вы собаку съели в данной области, можете зайти и оставить свой профессиональный комментарий и оценку содержания поста.
Читать дальше →
Всего голосов 69: ↑50 и ↓19+31
Комментарии67

Android string.xml — несколько вещей, которые стоит помнить

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

Доброго времени суток! Представляю вашему вниманию вольный перевод статьи от GDE (Google developer expert) Dmytro Danylyk. Собственно, вот оригинал. Статья описывает правильные подходы для работы со strings.xml и особенно полезно это будет разработчикам, которые разрабатывают мультиязыковые приложения. Прошу под кат.


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

Анализ трафика Android-приложений: обход certificate pinning без реверс-инжиниринга

Время на прочтение4 мин
Количество просмотров45K
Иногда нужно исследовать работу бэкенда мобильного приложения. Хорошо, если создатели приложения не заморачивались и все запросы уходят по «голому» HTTP. А что, если приложение для запросов использует HTTPS, и отказывается принимать сертификат вашего корневого удостоверяющего центра, который вы заботливо внедрили в хранилище операционной системы? Конечно, можно поискать запросы в декомпилированом приложении или с помощью реверс-инжиниринга вообще отключить применение шифрования, но хотелось бы способ попроще.

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

Сделай сам веб-сервис с асинхронными очередями и параллельным исполнением

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

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


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

Читать дальше →
Всего голосов 25: ↑22 и ↓3+19
Комментарии20

Сборник песен под гитару ко дню системного администратора (с аккордами!)

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

Доброго времени суток, товарищи!


Выкладываю сборник пародийных тематических песен на известные мотивы. Тексты переписаны лично мной. Патчи принимаются на гитхабе


Кусочек кода отправлять кому-то

Оригинал: "Философы в тринадцать с половиной"


Em                      Am
Перелистав известные тома,
       D                  G   E
Мы научились понимать английский.
         Am          H         C
Но разве это не свинцовая тюрьма -  
             Am                H
Плутать всю жизнь меж строчек манов к циске?

      E                  Am
И каждый час, и каждую минуту,
          D                 G   E
О чьём-то софте вечная забота.
          Am    H          C
Кусочек кода отправлять кому-то – 
         Am     H          Em (E) 
Такая, брат, у нас с тобой работа.

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

И каждый час, и каждую минуту,
О чьём-то софте вечная забота.
Коммиты патчем направлять кому-то -  
Слова ничто, когда они без кода.

А если не справляешься один -  
Бредёшь на форум в поисках подмоги.
Часами в ожидании сидишь,
Под спойлер заворачивая логи.

И каждый час, и каждую минуту,
О чьём-то софте вечная забота.
Скупой багрепорт отсылать кому-то -  
Такая, брат, у нас с тобой работа.

С трудом по клаве мечется рука -  
Луна на стол сквозь окна блики стелит,
Да плещется в измученных зрачках
Счастливый сон о выспавшемся теле.

И каждый час, и каждую минуту,
Об общем софте вечная забота.
Лицом на клаве засыпать под утро -  
Такая, брат, сейчас цена свободы.

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

И каждый час, и каждую минуту,
Об общем софте вечная забота.
Держать для сна одну шестую суток -  
Такая, брат, сейчас цена свободы.
Читать дальше →
Всего голосов 45: ↑29 и ↓16+13
Комментарии24

Опасный target="_blank"

Время на прочтение2 мин
Количество просмотров200K
Большинство создают внешние ссылки через target="_blank" и не знают одного интересного нюанса — страница, на которую мы попадем таким образом, получит частичный контроль над ссылающейся на нее страницей через js свойство window.opener.

Через window.opener.location мы сможем сделать редирект на, к примеру, фишинговую страницу. Это своего рода tabnabbing, только более продвинутый. Так как жертва меньше всего ожидает подмены страницы, в открытой ранее, доверенной вкладке браузера.
Читать дальше →
Всего голосов 132: ↑126 и ↓6+120
Комментарии136

Как создать своего бота для Skype. Что не написано в документации

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


Некоторое время назад я рассказывал о своем боте для Telegram, который умеет данные из Google Analytics показывать. А тут Microsoft объявила о запуске ботов в Skype — самое время изучить как это работает. Под катом — небольшое описание возможных проблем. Кому не терпится посмотреть результат, вот он — MetricsBot Add Bot to Skype.
Куда смотреть и что делать?
Всего голосов 31: ↑28 и ↓3+25
Комментарии31

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

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

К сожалению, не у всех есть браузер/устройство, поддерживающие flexbox. Это руководство в виде шпаргалки, в котором предлагаются альтернативы обратной совместимости для свойств flexbox.

Хотя некоторый CSS-код в этом руководстве, возможно, покажется очевидным, я собираюсь бросить вызов flexbox, а также предложить простые решения проблем, которые возникали, пока он не обрёл популярность.

Читать всю статью
Всего голосов 41: ↑32 и ↓9+23
Комментарии59

Памятка пользователям ssh

Время на прочтение13 мин
Количество просмотров1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Всего голосов 360: ↑352 и ↓8+344
Комментарии148

ES5 руководство по JavaScript

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

JavaScript quality guide


С помощью советов предложенных в данном руководстве вы будете писать код, понятный любой команде разработчиков.

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


Всем привет, с вами Максим Иванов, и сегодня мы поговорим о правилах оформления кода на языке JavaScript. Николя Бэвакуа (Nicolás Bevacqua), автор книги «Дизайн JavaScript-приложений» (JavaScript Application Design), разработчик из Аргентины, опубликовал данное руководство достаточно давно, первая запись появилась еще в 2014 году, многое написано по стандарту ES5, однако, в наши дни это все равно актуально, сейчас, когда ES6 еще нигде полноценно не работает без babel и прочих транспайлеров. Хотя мы видим прогресс в топовых десктопных браузерах (Google Crhome, Firefox), где уже реализовано 70-90% задуманного, мы видим, что они стремятся поддерживать новый стандарт, но, к сожалению, ещё нет браузеров, которые полностью могли бы поддерживать ES6. К слову, я буду очень рад вашим комментариям. В общем, удачи и давайте начнем.
Читать дальше →
Всего голосов 29: ↑23 и ↓6+17
Комментарии35

Настройка sendmail для отправки почты через gmail.com

Время на прочтение2 мин
Количество просмотров60K
Долго искал внятное объяснение как заставить локальный sendmail, установленный на компьютере во внутренней сети, отправлять почту во внешний мир. В качестве relay был выбран smtp.gmail.com.

Перекопал и испробовал кучу описаний в сети как это должно делаться. Результат оказался пшиком.

Предлагаю скомпилированный из разных источников и собственных ошибок результат действий который увенчался успехом. Возможно кому-нибудь сэкономит время.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии7

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность