Search
Write a publication
Pull to refresh
1
0
bolnikh @bolnikh

User

Send message

Badoo PHP Code Formatter. Теперь в open source!

Reading time13 min
Views28K
Несколько лет назад компания Badoo начала значительно расти по числу сотрудников, с 20 до 100 и более. Это потребовало серьезной перестройки многих процессов, касающихся разработки. Одна из проблем, с которой мы столкнулись, — как заставить всех разработчиков следовать единому стандарту кодирования, чтобы весь наш код выглядел единообразно и был легко поддерживаемым?

Для решения этой задачи мы решили внедрить инструмент для форматирования кода, который умел бы следующее:

  1. выводить сообщения о несоответствии стандарту форматирования в виде списка, не трогая сам файл;
  2. автоматически исправлять все найденные проблемы с форматированием;
  3. уметь форматировать только часть файла (нам не нужно переформатировать репозиторий сразу целиком, чтобы не потерять историю).

Мы рассматривали два проекта, которые можно было бы взять за основу для написания такого инструмента — PHP Beautifier и PHP Code Sniffer. Первый умел форматировать код, но не умел печатать диагностику, а второй — наоборот, умел печатать диагностику, но не умел форматировать файлы. К сожалению, оба этих проекта, по нашей оценке, были не слишком пригодны для того, чтобы добавить в них недостающую нам функциональность, поэтому была написана новая утилита — phpcf (PHP Code Formatter). Уже в течение двух лет она работает как git pre-receive hook, настроенный на отклонение (!) изменений, которые не оформлены по нашему стандарту кодирования.

Наконец настало время открыть исходные тексты нашей утилиты для широкой публики: github.com/badoo/phpcf
Читать дальше →

Гарвардский курс по основам программирования CS50 теперь на русском

Reading time4 min
Views183K
image

Предыстория: кто мы и как дошли до жизни такой

Мы — команда проекта JavaRush. А JavaRush, кто еще не в курсе, — это полностью автоматизированный обучающий онлайн-курс по Java. Когда-то давно, именно благодаря поддержке хаброюзеров и статьям на хабре, JavaRush и появился. В то время мы собирались переучить на программистов миллион человек.
Читать дальше →

PayPal заставляет файлообменники проверять файлы. UPD: Официальное заявление PayPal

Reading time4 min
Views14K
Операторы немецкого облачного хостинга Seafile.de опубликовали сообщение о прекращении приёма платежей через систему PayPal. В связи с форс-мажором все платные аккаунты временно переводятся в статус бесплатных.

На такой неординарный шаг компания Seafile.de была вынуждена пойти в связи с тем, что платёжная система PayPal отказала ей в предоставлении услуг на основании нарушения пользовательского соглашения и правил Acceptable Use Policy. Дело в том, что хостер не захотел сканировать трафик своих клиентов и проверять их файлы на наличие противоправного контента.

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

Создаем приложение на JavaScript с помощью React Native

Reading time27 min
Views159K
В этом уроке мы будем изучать React Native – фреймворк от компании Facebook для создания нативных приложений под iOS и Android. У него много общего с другим очень популярным фреймворком от Facebook – React Javascript, который предназначен для построения декларативных пользовательских интерфейсов.


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

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

Reading time15 min
Views41K
Не так давно на одном из проектов во время инвентаризации была выявлена очень большая недостача. Как результат, одно из важнейших требований клиента по проекту было: разобраться с тем, что у него происходит в системе, и привести остатки, как он выразился, «в адекватное состояние».

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

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

Обзор семинара Тони Роббинса «Освободите внутреннюю силу». День 3: Идите напролом к своей новой жизни (часть 2)

Reading time5 min
Views15K
image

На прошлой неделе мы поделились с вами переводом первой части обзора третьего дня семинара Тони Роббинса. Сегодня — вторая часть, в которой описана Дьявольская процедура — весьма эффективное для саморазвития действие.
Читать дальше →

Создание арканоида на чистом JavaScript с нуля. CANVAS

Reading time1 min
Views21K
Началось все с небольших уроков на тему того, как сделать игровой цикл, как организовать отрисовку, как заставить работать клавиатуру и т.д. И на фоне этих небольших уроков пришла мысль сделать полноценную (почти) игру, так же, с нуля.
Желание воплотилось в виде 7 уроков, которые я бы и хотел представить ниже.
Читать дальше →

Как стать тестировщиком или каких знаний мы ждём от джуниора

Reading time6 min
Views511K

image


Пара вводных слов
Всем доброго времени суток, меня зовут Туманов Дима. Сейчас я работаю в компании Rambler&Co и отвечаю за тестирование на проектах Афиши. В рамках данной статьи я развею несколько мифов об IT и тестировании в частности. Кроме того, приведу примеры из жизни как “не зная ничего” стать Junior QA Engineer в крупной компании.


Начало пути
Проработав почти два года в одной “мирной” госкорпорации в должности “ненастоящего инженера”, я осознал, что развитие остановилось. Я мог сидеть на одном месте и почти ничего не делать. В конечном итоге мои знания бы совсем отстали от реальной действительности и я бы стал невостребованным на рынке. В этот момент я принял решение о смене места и сути своей работы.

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

Пять секретов воспитания силы воли от агента ФБР

Reading time3 min
Views17K
image

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

Как заработать максимум на своем сайте. 22 способа и 240+ ссылок

Level of difficultyEasy
Reading time17 min
Views473K


Эта статья родилась из личного опыта. Я искал самые эффективные способы монетизации сайта (ныне уже проданного на Telderi) и в какой-то момент понял, что тема очень обширная и требует подробного исследования. А его результаты могут быть интересны не мне одному.

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

Статья ввиду большого объема писалась не один месяц, поэтому не серчайте сильно, если где-то встретите неточности (в расценках, форматах). Просто напишите об этом в комментариях.
Читать дальше →

Бесплатные панели управления хостингом. Богиня Vesta

Reading time12 min
Views86K
Когда ты работаешь в хостинг-компании большинство друзей и знакомых, все свои вопросы касательно хостинга решают через тебя. Это позволяет быть в тренде последних новинок, а также не только приумножать свои скиллы, но и держать их в тонусе. Как только спец. задачи ребят стало сложно решать на хостинг-сервере, как правило из-за отсутствия возможности установить необходимый софт для работы того или иного скрипта, я сразу подумал о недорогом виртуальном сервере, тем более они у нас появились. Также мы понимали, что работать с сервером будет проще через удобный веб-интерфейс, и хорошая панель управления будет, как-ни-как, кстати. А если она будет еще и бесплатной, то мы будем только в плюсе. Не долго думая, открыл браузер и начал гуглить бесплатные панели управления хостингом.

Понимая, что изучение каждой потребует время, я решил также спросить совета у нашего опытного администратора, на что получил короткий ответ:
Смотрите в сторону Vesta.
С моей стороны была попытка обратить его внимание на то, что есть и другие бесплатные продукты:
Да, слышал
, а вообще их достаточно: Ajenti, CentOS Web Panel и т.п.
Но руководитель тех. отдела дал довольно ожидаем ответ:
Эти не очень популярны в наших кругах.
Вот так произошло мое первое знакомство с одной из самых популярных бесплатных панелей управления хостингом в рунете — Vesta CP. Мне бы хотелось рассказать Вам, как решение поставленных задач приводит не только к написанию туториалов, но и позволяет познакомиться с интересными людьми, которые вкладывают свою душу в то дело, которые реально приносит им удовольствие. И как следствие, мы с Вами получаем замечательный программный продукт. Ну разве это не чудесно? Приятного и конструктивного Вам чтения…
Читать дальше →

Проблема мошенничества размером в 8,2 млрд долларов в сфере онлайн-рекламы, которую все игнорируют

Reading time5 min
Views11K


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

Согласно отчету, выпущенному агентством Interactive Advertising Bureau (IAB) в декабре прошлого года (данный отчет, к слову, является первым исследованием подобного рода), убытки, вызванные махинациями в сфере рекламы, в среднем составляют 8,2 млрд долларов за год. Это примерно на 10% больше цифры в 7,5 млрд долларов, которую в июне 2013 года неофициально озвучил автор известного блога о рекламе The Ad Contrarian Боб Хоффман (Bob Hoffman), в прошлом генеральный директор и глава совета директоров агентства Hoffman/Lewis Advertising.
Читать дальше →

Обзор 30 хостингов изображений для быстрой публикации

Reading time16 min
Views279K
Представлен список хостингов изображений, отобранный по необычному, но в особых случаях важному признаку — возможности опубликовать фото без авторизации на сайте. Фотохостинги, которые утверждают, что они «free», но при этом забывают об этой важной степени свободы, безжалостно отсеяны, но где-то в конце обзора на самые популярные из них, всё же, даны ссылки. Не забыты остальные важные условия попадания в список — надёжность и длительность хранения, удобство пользования и отсутствие навязчивой рекламы. Впоследствии стоит выбрать из всего списка 5-7 наиболее достойных и удобных хостингов.



UPD 2022-04: из 30 хостингов с живыми ссылками на изображения в 2022 году осталось два: imgur.com и thumbsnap.com.

Особые случаи, для которых сделан этот обзор — публикация некоторого изображения (картинки, рисунки, фотографии, скриншоты, графики) на чужих (не собственных) ресурсах, особенно там, где решений для публикации фото нет совсем (Хабр в том числе) или они неудобны. Это — статьи на чужих ресурсах или в своих блогах на чужих хостингах (пример — blogger.com) с неудобным или ущербным управлением рисунками, на онлайновых аукционах, комментарии в блогах и форумах.

Хостинги для такой публикации предоставляют текстовые ссылки в виде HTML-, BB- кодов или прямые ссылки на изображение и страницу просмотра, превью (они же миниатюры, thumbnails) различного размера и ряд других удобств. Рассмотрим их все и расположим найденные хостинги в порядке убывания некоторого усреднённого удобства. В конце, в качестве бонуса — ссылки на некоторые другие ресурсы онлайновой подготовки изображений, тоже придерживающиеся правила необязательной авторизации.
Читать дальше →

Бесплатные панели управления хостингом. «Монетка»

Reading time7 min
Views26K
Наступает момент когда виртуального хостинга становится недостаточно и Ваш проект так и «просится» на сервер. Не всегда для новых задач Вам понадобится сразу выделенный сервер, но как минимум с виртуального сервера начать стоит. При этом многие из Вас, что бы как то сэкономить начинают искать партнера(ов) для аренды более производительной услуги. Также, одним из вариантов экономии бюджета — есть использование бесплатного программного обеспечения.

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



Думаю многие из Вас догадались, что речь пойдет о CentOS Web Panel (CWP). В отличие от многих других панелей управления CWP позволит автоматически развернуть полный стек LAMP с кэшированием на уровне веб-сервера посредством Varnish Cache — это замечательно решение для хранения «горячего» кэшируемого контента Ваших веб-страниц в оперативной памяти. Оно позволит ускорить Ваш веб-сайт, и в то же время уменьшит нагрузку на процессор.
Читать дальше →

Что я понял о контент-маркетинге, когда проанализировал 614 постов

Reading time5 min
Views7K

ad63411113337f93035278a70b76af4e

Cоздатель маркетинговой стартегии Amazon, NBC, GM, HP и основатель компании KISSmetrics Неил Патель проанализировал посты в собственном блоге и рассказал, как окупается контент, для чего подходят разные форматы и какими текстами делятся. Материал переведен командой Newочём для Relap.io.
Читать дальше →

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

Reading time8 min
Views27K
Самая ужасная страшилка для желающих разместить написанный компьютером контент на своих сайтах — санкции поисковых систем. Нас тоже в свое время пугали тем, что сайт с неуникальными и /или сгенерированными текстами, будет плохо индексироваться или что он вообще попадет под бан. При этом точных требований к текстам никто нам сказать не смог. Вообще тема уникального контента и его роли в продвижении сайтов больше похожа на оккультные знания. Каждый следующий «специалист» обещает на своей странице открыть страшную правду, но правда так и не открывается, а суть многих дискуссий на форумах сводиться к тому, что, скажем, Яндекс, распознает сгенерированный контент с помощью магии. Не такими словами, но смысл в этом.

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

Russian AI Cup 2015: гонки на выживание для программистов

Reading time1 min
Views20K


Мы рады сообщить о начале очередного международного чемпионата по программированию искусственного интеллекта — Russian AI Cup. В этот раз чемпионат получил название CodeRacing. Храбрецам, которые отважатся принять участие, предстоит программировать искусственный интеллект для управления гоночным автомобилем. Но он должен будет не просто исполнять роль водителя, но и одновременно расстреливать соперников. В «игровом» мире предусмотрено четыре типа юнитов: кодемобили, снаряды, бонусы и лужи мазута. Самые «грязные» приёмы на трассе будут только поощряться: можно толкать чужие машины, повреждать их и ломать.
Читать дальше →

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

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

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

Как зарабатывать на Upwork?

Reading time1 min
Views17K
Это очередной доклад фрилансера с апворка для начинающих или сомневающихся, некоторые tips & tricks и чёткий алгоритм действий по достойному заработку на Upwork.



Содержание доклада
  1. Сколько можно зарабатывать?
  2. Как выводить деньги?
  3. Налоги
  4. Конкуренция
  5. Заполнение профиля
  6. Поиск первых заказов для рейтинга
  7. Разбор примера объявления и заявки
  8. Трекинг времени
  9. Анализ эффективности поиска работы
  10. Поиск работы мечты

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

Прошу подписаться на канал, кому интересна тематика/личность/манера подачи. В будущем также планирую много видео по игровому обучению, программированию и подобным тематикам.

Information

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