Search
Write a publication
Pull to refresh
23
0
Anton MegaPort @AlexTest

Magento, Telegram bots

Send message

Проблемы HR и поиск IT специалистов

Reading time5 min
Views9K
Привет, уважаемые пользователи.

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

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

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

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

Итак, вы специалист с опытом работы более 5 лет. У вас за плечами опыт работы в разных компания, включая крупные и известные. Так же вы обладаете приличным портфолио небанальных работ. В сети есть ваши публикации. Например, о разработке, о разных проектах и т.п.
Читать дальше →

Поняв Docker

Reading time14 min
Views223K

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


К вашему сведению! В этой статье мы рассматриваем само явление docker-контейнеров, а не составляем список микросервисов, которые гнездятся внутри. Этим мы займемся в следующей серии, во имя справедливости!


UPDATE: пришлось заменить «докер» на «docker», иначе статья не ищется. Заранее прошу прощения за все «docker'ы» в тексте. Селяви.


Что мы имеем сегодня


  • Зоопарк дубовых VPS-хостингов.
  • Дорогие IaaS и PaaS с гарантированным vendor lock in.
  • Уникальные сервера-снежинки.
  • Ворох устаревших зависимостей на неподдерживаемой операционке.
  • Скрытые связи частей приложения.
  • Незаменимый админ полубог на скейтборде.
  • Радуга окружений: development, testing, integration, staging, production.
  • Генерация конфигов для системы управления конфигами.
  • Feature flagging.
docker run docker

«Золотая лихорадка» в технологическом развитии Африки

Reading time8 min
Views11K

Африка приближается к каким-то серьёзным событиям. На этот счёт, кажется, уже имеется не высказываемое явно, осмотрительное согласие в некоторых инвестиционных сообществах. Прошлый год был отмечен возникновением множества центров технологических стартапов по всему континенту от Лагоса и Кигали до Агадира. Модель американского технического предпринимательства, как представляется, начинает медленно разгораться под небом «Кремниевой Сахары».

По мере того как внимание американского венчурного капитала сосредотачивается на африканских предпринимателях, выясняется, что многие вопросы пока не имеют ответа. Станет ли Африка тем местом, где разразится следующая мировая технологическая «золотая лихорадка»? Могут ли эти рынки оставаться достаточно стабильными, чтобы выросли новые интернет-компании стоимостью в миллиарды долларов? Есть ли у Африки то, что требуется для воспроизводства Кремниевой долины? Ответом является ясное «Да». Африканские технологии ждёт большое будущее.
Но для понимания восходящей звезды для Африки следует сначала понять, почему дорога в Африку идёт через Китай.
Читать дальше →

Архитектура чистого кода и разработка через тестирование в PHP

Reading time13 min
Views34K

Перевод статьи Vitalij Mik Clean Code Architecture and Test Driven Development in PHP

Понятие «архитектура чистого кода» (Clean Code Architecture) ввел Роберт Мартин в блоге 8light. Смысл понятия в том, чтобы создавать архитектуру, которая не зависела бы от внешнего воздействия. Ваша бизнес-логика не должна быть объединена с фреймворком, базой данных или самим вебом. Подобная независимость даёт ряд преимуществ. К примеру, при разработке вы сможете откладывать какие-то технические решения, например выбор фреймворка, движка/поставщика БД. Также вы сможете легко переключаться между разными реализациями и сравнивать их. Но самое важное преимущество такого подхода — ваши тесты будут выполняться быстрее.

Просто подумайте об этом. Вы действительно хотите пройти роутинг, подгрузить абстрактный уровень базы данных или какое-нибудь ORM-колдовство? Или просто выполнить какой-то код, чтобы проверить (assert) те или иные результаты?
Читать дальше →

Как поймать много лидов и не остаться без штанов

Reading time8 min
Views26K
Лидогенерация — это процесс получения контактной информации о потенциальных клиентах. Именно эта информация станет вершиной воронки продаж, которая приведет бизнес к готовому заплатить клиенту.
Им, например, может стать любитель ловли нахлыстом, который оставил свой e-mail на сайте магазина “Рыболов-охотник” чтобы получить специальную скидку.



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

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

И я обещаю, что эти стратегии лидогенерации не разрушат Ваш маркетинговый бюджет!
Читать дальше →

Критическая уязвимость библиотеки glibc позволяет осуществлять удаленное выполнение кода

Reading time3 min
Views29K


Исследователи Google обнаружили критическую уязвимость в библиотеке glibc (GNU C Library). В функции getaddrinfo(), которая отвечает за разбор доменных имен, происходит переполнение буфера — ошибка позволяет злоумышленникам осуществлять удаленное выполнение кода.

Эксплуатация уязвимости, получившей обозначение CVE-2015-7547, возможна в случаях, когда уязвимые устройства или приложения отправляют запросы контролируемым хакерами доменам и серверам, а также в случае проведения атаки типа man-in-the-middle.
Читать дальше →

Надёжен ли твой компьютер?

Reading time9 min
Views25K
Представляю вашему вниманию перевод статьи Джеффа Атвуда о тестировании новых компьютеров. Я не видел ни одной статьи подобного качества на эту тему; в статье приведена вся необходимая информация и ничего лишнего, а так же хорошо структурирован материал. Надеюсь, и вам она придётся по нраву.

Джефф — основатель StackOverflow. Ныне он работает над проектом Discourse.

Оригинальная статья: Is Your Computer Stable?

Дисклеймер: Хоть статья и называется "Надёжен ли твой компьютер?", речь идет не о надёжности как термине(англ. reliability), а, скорее, о стабильности (англ. stability). Статья о том, как автор тестирует новые компьютеры на стабильность и прочность.


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

Например, вот что может понадобится для сборки Scooter Computer:

  1. Нанести немного термопасты на верхнюю часть корпуса.
  2. Поместить в корпус материнскую плату.
  3. Прикрутить материнскую плату к корпусу.
  4. Вставить плату SSD.
  5. Вставить плату RAM.
  6. Подключить внешнее питание.
  7. Загрузиться.

Вот и все.



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

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

Математика на пальцах: методы наименьших квадратов

Reading time8 min
Views236K

Введение




Я математик-программист. Самый большой скачок в своей карьере я совершил, когда научился говорить:«Я ничего не понимаю!» Сейчас мне не стыдно сказать светилу науки, что мне читает лекцию, что я не понимаю, о чём оно, светило, мне говорит. И это очень сложно. Да, признаться в своём неведении сложно и стыдно. Кому понравится признаваться в том, что он не знает азов чего-то-там. В силу своей профессии я должен присутствовать на большом количестве презентаций и лекций, где, признаюсь, в подавляющем большинстве случаев мне хочется спать, потому что я ничего не понимаю. А не понимаю я потому, что огромная проблема текущей ситуации в науке кроется в математике. Она предполагает, что все слушатели знакомы с абсолютно всеми областями математики (что абсурдно). Признаться в том, что вы не знаете, что такое производная (о том, что это — чуть позже) — стыдно.

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

Можно натренироваться обманывать тело, будто оно получило лекарство

Reading time9 min
Views57K
Маретт Флайс (Marette Flies) было 11 лет, когда её иммунная система восстала против неё. В 1983 году у девочки нашли волчанку. Системная красная волчанка — это аутоимунное заболевание, при котором антитела повреждают ДНК здоровых клеток. От иммуноподавляющих препаратов лицо Маретт опухло, а волосы выпадали. Позже начали воспаляться почки, появились судороги и поднялось кровяное давление.

В 1985 году антитела атаковали факторы свёртывания в крови. Маретт удалили матку — девочка могла истечь кровью во время месячных. Несмотря на множество препаратов кровяное давление росло. Появились проблемы с сердцем, и врачи решили применить Цитоксан, крайне токсичное лекарство, которое могло убить девочку.

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

image
Aaron Tilley and Kerry Hughes
Читать дальше →

Как в Badoo генерируются изображения для «шаринга» в соцсетях

Reading time11 min
Views20K
Социальные сети — важный источник трафика. Нам выгодно, когда пользователи делятся контентом, и мы даем им такую возможность — у нас есть несколько видов контента, которым можно поделиться:

  • свой профиль;
  • чужой профиль (если его владелец это разрешил);
  • свой рейтинг, отражающий популярность пользователя на сайте;
  • награды, полученные пользователем за свои действия или действия других пользователей.

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



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

Вы не того параноите! (пред-пятничный пост)

Reading time3 min
Views40K
— А прикинь — сказал наш админ весело — если во вторник в московский полдень вся винда по стране одновременно выполнит команду «UNINSTALL»? Типа «ваш регион больше не поддерживается, доллар неустойки за серийник и подпись на еуле получите лично в нашем оофисе в Риге»… Ну закладка была не в свежем апдейте, а ещё в новогоднем — его не столь сурово тестили.
Я прикинул — число бухгалтерий, банков и касс — и понял, что отмена товарно-денежных в одной отдельно взятой может случиться «са-а-а-всэм нэ так», как мечтали классики…
— Не-е-е, уже успели — линуксы развернуть. Хоть ~как-то ~где-то. Это отрефлексированная угроза.
Лучше вот смотри: силовой контактор солидной фирмы. В любом большом щите таких — рядами. Для электрика это атомарная вещь — простая и надёжная.
Устроен, думаете, элементарно? – от малой кнопки катушка соленоида тянет якорь — замыкает контакты с большими токами и напряжениями:

Ха! как бы не так. Внутри у ей - ... компьютер!

43 полезных сервиса для управления проектами. Без эпитетов

Reading time13 min
Views694K
Дано: собственные и аутсорс-проекты, некоторые участники работают удаленно.

Требуется: необходимо быстро назначать задачи исполнителям, планировать спринты, трекать выполнение и статусы, визуализировать процессы и делиться результатами с заказчиками.

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

Изначально сервисов было более 100, но постепенно список сокращался, и мы остановили наш выбор на трех, удовлетворяющих вместе наши нужды лучше всего: Jira, Slack и GanttPro. Но, если вдруг эти сервисы не помогут вам в планировании задач и работы с командой, делюсь с вами полным списком:

Процесс поиска очень часто усложняется тем, что все сервисы, как один, пишут «Лучший сервис, помогающий превратить ваши идеи в реальность и реализовать ваши проекты. Сегодня.». Так, а что вы делаете-то? Поэтому в этом списке без лишних эпитетов, только что какой сервис умеет. :)




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

Кейс: Как определить готовность лида к покупке без раздражающих телефонных звонков?

Reading time4 min
Views4K
image

Кейс «Конгру» по внедрению системы персонифицированной аналитики
Читать дальше →

Linux демон на PHP5

Reading time8 min
Views29K
Доброго времени суток, сегодня я буду описывать довольно забавную задачку, из области мало связанной напрямую с web-программированием, а точнее создание демона на PHP. Понятное дело что первым вопросом будет: «А зачем это надо?» Ну что ж, будем разбираться последовательно.

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

Что новенького предлагает Git 2.7

Reading time5 min
Views48K
Всего через два месяца после версии 2.6 вышел Git 2.7 с новыми возможностями, исправлениями и улучшениями производительности. Что интересного он нам приготовил? Я расскажу о нескольких новинках, которые показались интересными команде Bitbucket.

Полноценный набор команд git worktree


Команда git worktree появилась в Git 2.5, она позволяет выгружать и одновременно работать со многими ветками репозитория в отдельных папках. Например, если нужно сделать срочную правку, но при этом не хочется трогать текущую рабочую копию, можно просто выгрузить нужную ветку в новую папку с помощью команды:
$ git worktree add -b hotfix/BB-1234 ../hotfix/BB-1234
Preparing ../hotfix/BB-1234 (identifier BB-1234)
HEAD is now at 886e0ba Merged in bedwards/BB-13430-api-merge-pr (pull request #7822)

Что же привнёс Git 2.7?

Photoshop, Sketch инструментарий UI/UX-дизайнеров: что выбрать для разработки интерфейсов?

Reading time5 min
Views43K
В последнее время вопрос инструментария UI/UX-специалистов стоит очень остро: какое ПО использовать для разработки интерфейсов? Мы в нашей компании также горячо обсуждаем этот вопрос. И дискуссия часто имеют очень острый характер. Что выбрать для работы? Какой редактор более функционален для той или иной задачи дизайнера? Перечень наших задач достаточно широк, начиная с создания фирменного стиля и заканчивая полным циклом разработки сложных диджитал продуктов. Например, мобильных приложений для управления системами умного дома, полнофункциональных e-commerce систем.
Я не буду первым, кто поднял эти вопросы, но постараюсь дать на них ёмкие ответы. Возможно, моя статья будет интересна начинающим дизайнерам, которые еще не определились окончательно с направлением своей деятельности, или дизайнерам, которые хотят переквалифицироваться из одной специальности в другую.



Подробности

Удаленная работа: как продать услуги и сделать клиента счастливым

Reading time5 min
Views12K
Всем привет. Чего боятся клиенты веб-студий «на удаленке», как бороться с их страхами?
Хочу поделиться накопленным опытом того, какие особенности есть в удаленной продаже услуг. Мы занимаемся заказной веб-разработкой сложных нестандартных проектов, поэтому наш опыт будет наиболее полезен коллегам по разработке. Хотя, конечно, советы достаточно универсальны и применимы ко всем направлениям digital, где есть удаленная продажа B2B услуг.
Читать дальше →

Конец эры глобального CSS

Reading time6 min
Views62K
Все CSS-селекторы живут в глобальной области видимости.

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

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

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

Так не должно быть. Пора оставить позади эру глобальных стилей. Наступило время закрытого CSS.
Читать дальше →

Добавление оператора диапазона в PHP

Reading time14 min
Views17K
image
На картинке — Ancient Psychic Tandem War Elephant © Adventure Time

В этой статье будет рассмотрен процесс внедрения в PHP нового оператора. Для этого будут выполнены следующие шаги:

  • Обновление лексического анализатора: он будет знать о синтаксисе нового оператора, что позволит потом превратить его в токен.
  • Обновление парсера: система будет знать, где может использоваться этот оператор, а заодно какова его приоритетность и ассоциативность.
  • Обновление этапа компиляции: здесь происходит обработка (traverse) дерева абстрактного синтаксиса (AST) и извлечение из него кодов операции.
  • Обновление виртуальной машины Zend: во время выполнения скрипта она используется для обработки интерпретации нового кода операции для оператора.

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

DevConf 2015: видео докладов секции PHP

Reading time4 min
Views17K
Ежегодная конференция профессиональных веб-разработчиков DevConf проходит с 2010 года. Она состоит из нескольких секций, посвященных самым популярным языкам и технологиям веб-разработки. В 2015 году году компания Badoo взяла на себя важную миссию — записать видео выступлений, чтобы те, кто не смог посетить конференцию, могли посмотреть их в любое время.

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

Секция PHP конференции DevConf 2015

В первую очередь хотелось бы отметить доклад Дмитрия Стогова (Zend Technologies) «Релиз PHP 7: что нас ждет в октябре 2015». Не будем мучить вас переводом «чейнджлога» седьмой версии, а скажем просто: смотреть всем, кто имеет хоть какое-то отношение к PHP. Если вы за свою жизнь написали хотя бы строчку кода на PHP, то, скорее всего, уже слышали про сумасшедшую производительность, JIT и spaceship operator. JIT в PHP так и не появился, но оптимизации проведены масштабные. В докладе Дмитрий рассказывает много о внутренней кухне PHP, есть графики производительности разных версий PHP и HHVM на реальных приложениях. Badoo сейчас как раз в процессе перехода на PHP 7, нам пришлось сильно «перекопать» инфраструктуру тестирования и переписать кучу расширений, но мы на финишной прямой и можем подтвердить, что PHP 7 действительно показывает очень серьезный рост производительности. Какой именно получается прирост? Пока секрет. Ждите от нас отдельной статьи на эту тему, когда мы поборем последние косяки, отлавливаемые на продакшн-трафике.


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

Information

Rating
Does not participate
Registered
Activity