Pull to refresh
8
0
Дмитрий Савин @peperX

User

Send message

Автоматизация тестирования вебсайта: Pytest, Allure, Selenium + несколько секретных ингредиентов

Reading time5 min
Views19K
Уже больше года у Acronis новый логотип, о том, как он создавался можно прочитать тут. В рамках ребрендинга обновился и сайт www.acronis.com. Для построения сайта мы выбрали CMS Drupal. Сайт получился классный снаружи и непростой внутри: 28 локалей (!), отзывчивый веб-дизайн, карусели, визарды, всплывающие окна… в итоге пришлось задействовать множество различных модулей друпала, некоторые из них кастомизировать и писать собственные. При работе такой динамичной, сложной системы неизбежны ошибки. Их предотвращением и выявлением занимается команда контроля и обеспечения качества вебсайта. В этой статье мы хотим поделиться своим успешным рецептом автоматизации тестирования нашего сайта.


Добро пожаловать под кат!
Total votes 16: ↑16 and ↓0+16
Comments10

40 ключевых концепций информационных технологий доступно и понятно

Reading time16 min
Views159K
Представляю вашему вниманию перевод очень ёмкой, и в то же время достаточно краткой (для такого масштаба проблемы) статьи Карла Чео. Я решил, что очень хочу сделать её перевод практически сразу, как только начал читать, и очень рад, что в итоге сделал это.
Для того, чтобы сделать обучение более веселым и интересным, представляю вам перечень важных теорий и концепций информатики, объяснённых с помощью аналогий с минимальным количеством технических деталей. Это будет похоже на очень быстрый курс информатики для всех с целью просто дать вам общее представление об основных концепциях.

Важные замечания:
  • Пункты с неуказанным источником написаны мной самостоятельно. Поправьте меня, если вы заметите какие-то неточности. Предложите лучшую аналогию, если это возможно.
  • Заголовки ссылаются на соответствующие им статьи в Wikipedia. Пожалуйста, читайте эти статьи для более серьезных и детальных объяснений.
  • Аналогии — отличный способ объяснить материал, но они не идеальны. Если вы хотите по-настоящему понять перечисленные концепции, вам следует начать с фундаментальных азов и рассуждать, исходя из них.

Также зацените эту инфографику (вариант на русском), если вы просто начинающий программист.
Читать дальше →
Total votes 104: ↑96 and ↓8+88
Comments37

Сети для Самых Маленьких. Микровыпуск №5. FAQ по сетевым технологиям

Reading time12 min
Views104K
Пока весь мир с замиранием ждёт 11-го выпуска СДСМ, посвящённого MPLS BGP L3VPN, я решил сделать вольный перевод неплохой статьи Джереми Стреча с Packetlife.net.

Это подборка небольших FAQ для новичков.

#На каком уровне OSI работает протокол Ч?
#Какая разница между маршрутизатором и многоуровневым коммутатором?
#Какая разница между forwarding и control planes?
#Какая разница между MTU и MSS?
#Какая разница между интерфейсами VLAN и BVI?
#Как работает туннельный интерфейс?
#Что означают четыре типа адресов в NAT?
#Могу ли я использовать адрес сети и широковещательный адрес в NAT-пуле?
#Почему нам нужны IP-адреса? Разве нам не хватит MAC-адресации для всего?
#Позволяет ли QoS расширить пропускную способность?
Читать дальше →
Total votes 32: ↑32 and ↓0+32
Comments7

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

Reading time4 min
Views220K
Введение

В былые времена я увлекался компьютерной графикой, как 2х так и 3х мерной, в том числе математическими визуализациями. Что называется just for fun, будучи студентом, написал программу визуализирующую N-мерные фигуры, вращающиеся в любых измерениях, хотя практически меня хватило только на определение точек для 4-D гиперкуба. Но это только присказка. Любовь к геометрии осталась у меня с тех пор и по сей день, и я до сих пор люблю решать интересные задачи интересными способами.
Одна из таких задач попалась мне в 2010 году. Сама задача достаточно тривиальна: необходимо найти, пересекаются ли два 2-D отрезка, и если пересекаются — найти точку их пересечения. Более интересно решение, которое, я считаю, получилось достаточно элегантным, и которое я хочу предложить на суд читателя. На оригинальность алгоритма не претендую (хотя и хотелось бы), но в сети подобных решений я найти не смог.
Читать дальше →
Total votes 22: ↑15 and ↓7+8
Comments34

Лайфхаки для веб-разработчика

Reading time3 min
Views44K
Обожаю трюки и лайфхаки. Каждый раз радуюсь, когда удается упростить очередную рутинную операцию. А так как работаю я, вот уже 8 лет, веб-программистом, то рутинные операции и лайфхаки у меня программерские. Вот этим и хочу с вами поделиться.
Часть трюков до меня уже описали на хабре, часть я взял из других источников, часть придумал сам. Буду благодарен если в комментариях к посту вы напишете, какие трюки используете вы.

Использование ** в zsh


Таким образом я ищу файлы в папке по расширению рекурсивно:
ls **/*.json

файлы с размером выше чем 1 мегабайт:
ls -lh **/*(Lm+1)

Быстро и уверенно удаляем мусор из репозитория в python проекте и судорожно правим. gitignore:
git rm --cached **/*.pyc


Читать дальше →
Total votes 55: ↑35 and ↓20+15
Comments51

PHP: культура программирования

Reading time4 min
Views52K

Когда её нет


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

Во многом такое негативное отношение объясняется отсутствием культуры программирования у большого количества PHP-разработчиков. Почему так происходит? Да, у этого языка действительно низкий порог вхождения и легко освоить его может человек без специального технического образования. Изучив основы, можно сразу делать небольшие проектики и даже продавать свои услуги на биржах фрилансеров. А раз на такое есть спрос, зачем тратить время на углубление своих знаний, когда деньги можно зарабатывать уже сейчас?
Читать дальше →
Total votes 79: ↑45 and ↓34+11
Comments117

Почему именно Vue?

Reading time4 min
Views99K


Библиотека Vue.js с каждым днем набирает все больше и больше популярность, хотя не все понимают почему именно Vue, и в каких именно случаях последнюю можно и нужно использовать.
Читать дальше →
Total votes 32: ↑23 and ↓9+14
Comments36

10 частых ошибок начинающих веб-разработчиков

Reading time7 min
Views56K


Перед современным веб-разработчиком стоит широчайший выбор платформ для хостинга и хранения данных, инструментов для работы с HTML, CSS и JavaScript, способов фактической реализации дизайна, а также всевозможных библиотек и фреймворков. В помощь тем, кто хочет найти свой путь в этом обилии вариантов, сеть услужливо предоставляет массу статей, обсуждений на форумах и примеров «наилучших» решений. Но вне зависимости от того, как и с помощью чего начинающие разработчики создают сайты, многие совершают одни и те же ошибки. Давайте рассмотрим некоторые из них, чтобы в будущем не наступать на эти популярные грабли.
Читать дальше →
Total votes 42: ↑23 and ↓19+4
Comments64

19 советов по повседневной работе с Git

Reading time14 min
Views285K


Если вы регулярно используете Git, то вам могут быть полезны практические советы из этой статьи. Если вы в этом пока новичок, то для начала вам лучше ознакомиться с Git Cheat Sheet. Скажем так, данная статья предназначена для тех, у кого есть опыт использования Git от трёх месяцев. Осторожно: траффик, большие картинки!

Содержание:
  1. Параметры для удобного просмотра лога
  2. Вывод актуальных изменений в файл
  3. Просмотр изменений в определённых строках файла
  4. Просмотр ещё не влитых в родительскую ветку изменений
  5. Извлечение файла из другой ветки
  6. Пара слов о ребейзе
  7. Сохранение структуры ветки после локального мержа
  8. Исправление последнего коммита вместо создания нового
  9. Три состояния в Git и переключение между ними
  10. Мягкая отмена коммитов
  11. Просмотр диффов для всего проекта (а не по одному файлу за раз) с помощью сторонних инструментов
  12. Игнорирование пробелов
  13. Добавление определённых изменений из файла
  14. Поиск и удаление старых веток
  15. Откладывание изменений определённых файлов
  16. Хорошие примечания к коммиту
  17. Автодополнения команд Git
  18. Создание алиасов для часто используемых команд
  19. Быстрый поиск плохого коммита

Читать дальше →
Total votes 152: ↑149 and ↓3+146
Comments62

Ускорение и оптимизация PHP-сайта. Какие технологии стоит выбирать при настройке сервера под PHP

Reading time7 min
Views55K


Эта статья поможет ответить на вопросы владельцев, разработчиков и системных администраторов PHP-сайтов:



  • Как оптимизировать сайт и ускорить его работу?
  • С какой скоростью будет и может работать сайт, в соответствии с теми технологиями на которых он будет запущен?
  • Какие технологии следует использовать настраивая сервер или VPS?


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

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

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

В этом обзоре я протестирую только что установленный сайт на одном из самых распространённых движков управления контентом Drupal 7.33.

Для теста выбрана лишь одна составляющая php-хостинга. Мы будем тестировать web-серверы Nginx и Apache2, модули mod_php и php-fpm, версии php php53 и php56, посмотрим, как влияют оптимизаторы apc и opcache на скорость работы сайта.

Читать дальше →
Total votes 29: ↑20 and ↓9+11
Comments59

Как пасхалки в email помогли компании привлечь внимание к своей конференции

Reading time6 min
Views13K


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

Схема работала так — пользователь должен был найти пасхалку, опубликовать информацию о ней с соответствующим хештегом в Твиттер — и, если он становился первым, получал бесплатный билет, а остальные пользователи принимались за поиск следующего сюрприза. Итак, пять «пасхалок» позволили компании Litmus распродать билеты на свою конференцию, посвященную вопросам дизайна email-рассылок.

Важный момент: письмо получали люди, подписанные на соответствующую рассылку и заинтересованные в подобном контенте.
Читать дальше →
Total votes 38: ↑29 and ↓9+20
Comments1

Отъявленный программист: лайфхакинг из первых рук

Reading time4 min
Views48K
Привет, Хаброжители!
У нас вышла новая книга Игоря Савчука

image

Сделать карьеру программиста намного тяжелее, чем просто быть им. Специфического склада ума, умения мыслить абстрактно, развитой логики мало, главное — сознавать, что работа это не только способ зарабатывания денег. Не так уж много людей соответствуют всем условиям, и именно об этом меньшинстве пойдет речь. Перед вами — сборник откровенных бесед с известными программистами, системными администраторами и другими «айтишниками». Герои книги исповедуют разные взгляды, относятся к разным социальным группам, могут оперировать миллионами долларов, быть героями гламурных тусовок или простыми офисными трудягами-программистами. Объединяет этих людей умение использовать свои увлеченность, страсть и любовь к профессии как рычаг, позволяющий достигнуть принципиально новых вершин в развитии себя и своего бизнеса. Мы постарались найти самых ярких «звезд» компьютерно-сетевой субкультуры и донести до вас максимально разнообразные мнения, дабы читатель, какие бы ни сложились у него личные вкусы, не скучал в этом пестром калейдоскопе персонажей.
Читать дальше →
Total votes 28: ↑22 and ↓6+16
Comments24

Структуры данных. Неформальный гайд

Reading time6 min
Views166K


Конечно, можно быть успешным программистом и без сакрального знания структур данных, однако они совершенно незаменимы в некоторых приложениях. Например, когда нужно вычислить кратчайший путь между двумя точками на карте, или найти имя в телефонной книжке, содержащей, скажем, миллион записей. Не говоря уже о том, что структуры данных постоянно используются в спортивном программировании. Рассмотрим некоторые из них более подробно.
Читать дальше →
Total votes 91: ↑83 and ↓8+75
Comments31

AI для «Дурака»

Reading time11 min
Views36K
Знал бы прикуп — жил бы в Сочи.

       Народная мудрость. 

Под игрока — с семака, под вистующего — с тузующего.

       Ещё одна народная мудрость. 


Похоже, в этом посте всё смешалось. "Дурак" в заголовке, преферансные поговорки в эпиграфе и КДПВ, не имеющая отношения ни к тому ни к другому. Впрочем, само понятие "джокера", к предмету сегодняшнего разговора, отношение имеет самое непосредственное.
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments7

Киски: Рефакторинг

Reading time6 min
Views17K
imageДобрый день, Хабровчане!

Продолжаю совмещать развитие навыков перевода c английского и изучение интересных, с моей точки зрения, материалов по программированию и делюсь с вами слегка адаптированным переводом первой части из небольшого цикла статей про рефакторинг от голландца Matthias Noback, который живет в городе Зейст что вблизи Утрехта.

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

Смысловое значение этой статьи не затронуто, а все изменения (заголовок и пара замен названия сервиса) сделаны лишь с целью разбавить довольную сухую и, надеюсь, простую в плане сложности материала статью, чтобы затем перейти к следующим частям всего цикла.
Все подробности, как обычно, под хабракатом..
Total votes 21: ↑19 and ↓2+17
Comments0

PhpStorm: Tips and tricks. Часть 1

Reading time3 min
Views42K
Сегодня будем говорить о некоторых возможностях замечательной IDE PhpStorm. Программисты из компании Jetbrains вкладывают огромные силы в создание своего продукта, в результате мы имеем мощную и одну из лучших IDE для языка программирования php. Думаю времена, когда хотелось выделиться программированием в Notepad++, практически ушли. Разрабатывать на коленке современные большие проекты с множеством файлов крайне затруднительно без хорошего инструмента.
Читать дальше →
Total votes 38: ↑25 and ↓13+12
Comments52

Vim как IDE для веб-разработки, и не только.

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

Рассмотрена настройка через конфигурационный файл vimrc и приведены ссылки на статьи с описанием отдельных моментов.

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

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

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


Читать дальше →
Total votes 78: ↑75 and ↓3+72
Comments62

36 млн запросов в час, 10000+ постоянно работающих клиентов, на одном сервере, nginx+mysql

Reading time5 min
Views114K
Сложилась ситуация, что участвую в проекте, который работает с достаточно большой нагрузкой. Как уже написал — 36 млн запросов в час. Я много чего прочитал и перепробовал за последний месяц, настраивая сервер; хотелось бы просто сжато и компактно выдать тезисно то, что работает хорошо в такой конфигурации.

Первое, что я заметил — множество советов как все настроить под большую нагрузку. Читайте их внимательно, обычно в тексте найдете, что речь про «высокую нагрузку» в 15-20 тысяч клиентов в сутки. У нас клиентов примерно миллион, активных, ежедневных.

У нас нет денег и мы все делаем за свой счет, поэтому экономим. Итог — весь миллион клиентов обслуживается на одном сервере, вот на таком — EX-60 на hetzner.
Читать дальше →
Total votes 111: ↑96 and ↓15+81
Comments102

Функциональное программирование для всех

Reading time33 min
Views351K

Доброго времени суток. Это статья — перевод заинтересовавшего меня поста в блоге аспиранта Университета штата Нью-Йорк в Стоуни-Брук. Статья в доступной форме описывает основные концепции функционального программирования, их преимущества и недостатки. Думаю она будет полезна широкому кругу читателей, которые сомневаются, нужно ли им углубляться в мир функционального программирования или нет. Пожелания, предложения и замечания по переводу и терминологии принимаются по личной почте.

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

UPD: альтернативный вариант перевода вы можете найти на rsdn (спасибо flamingo за ссылку).
Читать дальше →
Total votes 188: ↑181 and ↓7+174
Comments151

Книги для системного администратора. Моя книжная полка

Reading time6 min
Views478K
Книги.
Я считаю, что важнейшим инструментом получения скилов системного администрирования являются именно они — книги.
Нет специальных факультетов, обучающих «админству» — каждый постигает это самостоятельно. Путем проб, ошибок и боли, потере важных данных различных злоключений.
В начале пути сложно определиться, что же нужно прочесть — ведь массив информации столь огромен!
В данном посте я хочу собрать наиболее важные и значимые труды для системных администраторов.
Уклон будет на *nix админство, но, надеюсь тема окажется небезынтересной и для Windows коллег и в комметариях они заполнят мои пробелы.
Пост субьективен и отражает лишь мой собственный опыт — я раскажу о книгах, которые помогли моему становлению.

Читать дальше →
Total votes 51: ↑46 and ↓5+41
Comments45

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity