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

PHP

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

Компьютерное зрение и машинное обучение в PHP используя библиотеку opencv

Время на прочтение9 мин
Количество просмотров34K
Всем привет. Это моя юбилейная статья на Хабре. За почти 7 лет я написал 10 статей (включая эту), 8 из них — технические. Общее количество просмотров всех статей — около полумиллиона.
Основной вклад я внёс в два хаба: PHP и Серверное администрирование. Мне нравится работать на стыке этих двух областей, но сфера моих интересов гораздо шире.

Как и многие разработчики я часто пользуюсь результатами чужого труда (статьи на Хабре, код на гитхабе, ...), поэтому я всегда рад делиться с сообществом своими результатами в ответ. Написание статей — это не только возврат долга сообществу, но так же позволяет найти единомышленников, получить комментарии от профессионалов в узкой сфере и ещё больше углубить свои знания в исследуемой области.

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


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

Документируем код эффективно при помощи Doxygen

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


Данная статья входит в получившийся цикл статей о системе документирования Doxygen:

  1. Документируем код эффективно при помощи Doxygen
  2. Оформление документации в Doxygen
  3. Построение диаграмм и графов в Doxygen

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

В этой статье мы сначала познакомимся с самой системой и её возможностями, затем разберёмся с её установкой и базовыми принципами работы, и, наконец, завершим знакомство рассмотрением различных примеров документации, примеров того, как следует документировать те или иные части кода. Словом, познакомимся со всем тем, что позволит вам освоиться и начать работать с этой замечательной системой.
Читать дальше →
Всего голосов 52: ↑52 и ↓0+52
Комментарии39

«Относитесь к собеседованию, как к свиданию» — 5 причин, почему разработчики не могут найти работу

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров17K

Привет, Хабр! На связи Василий Беляев – руководитель группы разработки интерфейсов компании «Криптонит». Во фронтенд-разработке я уже 16 лет. Так сложилось, что ко мне регулярно обращаются за помощью друзья, знакомые и бывшие коллеги, которые хотят устроиться на работу, но почему-то боятся и сомневаются в себе.

Что же смущает разработчиков, не даёт им откликаться на вакансии и уверенно держаться на собеседованиях? Через личный опыт и опыт коллег по цеху выделил для себя 5 основных причин, о каждой из которых я расскажу подробнее.

Читать далее
Всего голосов 31: ↑16 и ↓15+1
Комментарии66

Новая блокировка OpenVPN и Wireguard замедляет интернет в России

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

Позавчера, 15 января ночью, по всему Рунету пошли сигналы, что протоколы WireGuard/OpenVPN массово «отвалились». Судя по всему, с понедельника Роскомнадзор снова взялся за VPN, экспериментируя с блокировками OpenVPN и Wireguard в новом масштабе.

Мы в Xeovo заметили это по большому наплыву пользователей, которые вообще не знали что протоколы блокируются (где они были все это время). Уже учения были много раз, и мы предупреждали клиентов, но, видимо, OpenVPN и WireGuard до сих пор очень хорошо работали у всех. На настоящий момент блокировка продолжается. Возможно, тестируют, как все работает перед выборами. 

Читать далее
Всего голосов 142: ↑106 и ↓36+70
Комментарии378

Скрытые возможности элемента <input>

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров17K

Элемент <input> в HTML самый интересный.

Большинство его собратьев вне зависимости от своих атрибутов ведут себя одинаково. При этом атрибут type элемента <input> может принимать 22 разных значения, которые не только меняют его поведение, но и влияют на внешний вид (зачастую в ущерб стилистике).

Элемент <input> отвечает за всё, начиная с текстового ввода и чекбоксов, заканчивая переключателями и кнопкой для сброса всех полей в форме. В этой статье я опишу не только различные типы <input>, но и сопутствующие атрибуты, о которых вы могли не знать, и которые делают этот элемент более удобным и применимым в различных ситуациях. Приступим!
Читать дальше →
Всего голосов 103: ↑102 и ↓1+101
Комментарии22

Как я создал электронную проходную по Qr-кодам

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров17K

Будучи являясь студентом, нам предложили поучаствовать в одной программе. В данной программе нам преподавали курсы из различных областей, как бизнеса, так и программирования. Вот некоторые из них: «Основы.NET и знакомство с платформой разработки веб‑приложений», «Азы программирования на основе 1С», «HTML и CSS», «Навыки работы с системой управления версиями Git», «Javascript».

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

Читать далее
Всего голосов 12: ↑9 и ↓3+6
Комментарии21

Какой длины должны быть классы — когда «чистый» код на самом деле не так уж и хорош

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

Привет, Хабр!

Наши коллеги из beeline cloud подкинули интересную статью для перевода про разработку на PHP, плохие практики и не только. Это история о том, как правила чистого кода могут подорвать его фактическое качество. Материал содержит много рассуждений на эту тему и будет полезен всем, кто только начинает свой путь в разработке. Приятного чтения!

Иду читать
Всего голосов 21: ↑18 и ↓3+15
Комментарии27

Особенности проксирования через CDN/Websocket/gRPC для обхода блокировок

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров61K

Эта статья — заключительная (наконец‑то!) из моего огромного цикла про недетектируемые инструменты для обхода блокировок. В предыдущих публикациях я упоминал, что клиенты и серверы XRay (форк V2Ray) и Sing‑box при использовании протоколов VLESS/VMess/Trojan могут работать через веб‑сокеты и gRPC, что позволяет подключаться к даже заблокированным Роскомнадзором прокси‑серверам через CDN (content delivery или content distribution network) и дает дополнительные преимущества. Сегодня мы поговорим об этом поподробнее.

Читать далее
Всего голосов 80: ↑78 и ↓2+76
Комментарии148

Разбираемся с Redis

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

Этот материал представляет собой глубокое исследование всего, что связано с Redis. В частности — речь пойдёт о различных способах организации хранилищ Redis, о постоянном хранении данных, о форках процессов.

Читать далее
Всего голосов 64: ↑63 и ↓1+62
Комментарии7

DOMPDF – экспорт данных из PHP в PDF

Время на прочтение7 мин
Количество просмотров57K
С помощью библиотеки DOMPDF можно создавать PDF файлы из HTML кода. Нужно только сверстать некий HTML шаблон и передать его DOMPDF и уже на выходе получить сгенерированный PDF файл. Но не надо забывать и то, что эта библиотека не движок для обработки веб-страниц, а значит и шаблоны должны быть сверстаны с использованием самых базовых средств: HTML тегов и CSS стилей. Хотя разработчики заявляют, что их библиотека поддерживает стандарты CSS 2.1 и даже некоторые свойства CSS 3. С полным их перечнем можно ознакомиться здесь. Есть, кстати, один минус – она является довольно “прожорливой” к оперативной памяти. Поэтому возможно придется задуматься об аренде виртуального выделенного сервера. Но это зависит от содержания и объема планируемых PDF документов. С другой стороны она вам может помочь сэкономить много времени на разработку различных отчетов в формате PDF.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии23

Как прокачаться в PHP: 70 ресурсов из опроса русскоязычного сообщества

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

В чаты по PHP часто приходят с вопросами про развитие: какие книги стоит прочитать в первую очередь, на какие каналы подписаться, какие курсы хороши. Если повезет, в ответ чат поделится парой рекомендаций. Мы решили агрегировать их в список и собрали 150+ мнений по актуальным ресурсам для PHP-разработчика. 

Без длинных интро. Самые упоминаемые ресурсы идут первыми в разделах, а те, которые советовали новичкам, отмечены флажком 🚩. 

Читать далее
Всего голосов 35: ↑32 и ↓3+29
Комментарии5

Vue.js для начинающих, урок 1: экземпляр Vue

Время на прочтение5 мин
Количество просмотров88K
Сегодня мы предлагаем вашему вниманию перевод первого урока учебного курса по Vue.js для начинающих. Его порекомендовала Наталья Теплухина, Staff Engineer в Gitlab и Core Team Member фреймворка Vue (Q/A сессия с Наташей прошла в нашем инстаграм, а расшифровку можно прочитать здесь)

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


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

Разбираемся с асинхронным PHP

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

Как перенести обработку электронных писем в отдельный процесс, чтобы он не блокировал исходный веб-запрос? Именно это мы и рассмотрим в данной статье, в частности, всевозможные способы решения данной проблемы на PHP, используя новую инфраструктуру (или без нее).

Читать далее
Всего голосов 23: ↑19 и ↓4+15
Комментарии30

Как программисту составить классное резюме и портфолио

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

Точки зрения о том, нужны ли программисту резюме и портфолио для успешного трудоустройства, разнятся до противоположности. Кто-то считает, что содержательный профиль на GitHub важнее, а традиционная анкета на HH с перечислением мест учёбы, работы и навыков постепенно уходит в прошлое. Другие не торопятся «хоронить» традиционные резюме, ведь так работодателю и соискателю проще найти друг друга.

В этой статье отвечаем на вопросы:

— зачем программисту резюме или портфолио и что из этого важнее;

— как должно выглядеть резюме программиста и на какие детали стоит обратить внимание;

— почему портфолио и резюме — это не одно и то же; 

— как составить резюме, если сомневаетесь в своих силах, и какие удобные сервисы существуют для этих целей;

— что должно быть в портфолио, чтобы оно работало.

Читать далее
Всего голосов 16: ↑8 и ↓80
Комментарии7

Простым языком об HTTP

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

HTTP — широко распространённый протокол передачи данных, изначально предназначенный для передачи гипертекстовых документов (то есть документов, которые могут содержать ссылки, позволяющие организовать переход к другим документам).

Аббревиатура HTTP расшифровывается как HyperText Transfer Protocol, «протокол передачи гипертекста». В соответствии со спецификацией OSI, HTTP является протоколом прикладного (верхнего, 7-го) уровня. Актуальная на данный момент версия протокола, HTTP 1.1, описана в спецификации RFC 2616.

Протокол HTTP предполагает использование клиент-серверной структуры передачи данных. Клиентское приложение формирует запрос и отправляет его на сервер, после чего серверное программное обеспечение обрабатывает данный запрос, формирует ответ и передаёт его обратно клиенту. После этого клиентское приложение может продолжить отправлять другие запросы, которые будут обработаны аналогичным образом.

Задача, которая традиционно решается с помощью протокола HTTP — обмен данными между пользовательским приложением, осуществляющим доступ к веб-ресурсам (обычно это веб-браузер) и веб-сервером. На данный момент именно благодаря протоколу HTTP обеспечивается работа Всемирной паутины.
Читать дальше →
Всего голосов 94: ↑82 и ↓12+70
Комментарии35

30+ примеров цепляющих сопроводительных писем

Время на прочтение8 мин
Количество просмотров203K
Хватит неубедительных конструкций вроде «с огромной радостью стал бы частью компании», «для меня станет честью», «я действительно с удовольствием» — пробегая глазами по этим фразам HR просто утирает слезу и хватается за словарь синонимов. Разнообразие, эмоции, истории (сторителлеры, привет!) и шутки — пишите интересно. И будет вам крутая работа.

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

Книги по SQL: что почитать новичкам и специалистам

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

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

Читали ли вы какие-нибудь из них? Или, может, вы можете дополнить этот список? Делитесь в комментариях!
Читать дальше →
Всего голосов 46: ↑43 и ↓3+40
Комментарии23

Гайд: работающие способы вывести деньги за рубеж / завести в Россию

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

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

Читать далее
Всего голосов 116: ↑103 и ↓13+90
Комментарии173

Малоизвестные, но крутые атрибуты в HTML

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


Спросите случайного фронтендера, какие атрибуты HTML он использует — и услышите что-то вроде «src, href, style, class...» и прочую чепуху, которую всем ещё в младенчестве вживили на чипе агенты IETF. Между тем, стандарты веба не стоят на месте, и с каждым годом в браузерах появляются всё более крутые фичи не только для монструозного CSS, но и для обычных элементов HTML. Вы знали, что с помощью атрибутов можно пинговать* произвольный адрес, а элементы формы могут многократно переопределять её поведение? Вряд ли.
Всего голосов 67: ↑65 и ↓2+63
Комментарии15

Забудьте про div, семантика спасёт интернет

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

Давным-давно (лет пятнадцать назад) почти все делали сайты и не переживали о том, что под капотом. Верстали таблицами, использовали всё, что попадётся под руку (а попадались в основном <div> и <span>) и не особо заморачивались о доступности. А потом случился HTML5 и понеслось.

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

Дисклеймер: статья может обидеть тех, кто прикипел к вёрстке дивами. Но <div> — не приговор, и мы не призываем от него целиком отказываться. Ну и всегда можно договориться.

Читать далее
Всего голосов 56: ↑50 и ↓6+44
Комментарии55

Информация

В рейтинге
Не участвует
Откуда
Воронеж, Воронежская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer, Web Developer
HTML
CSS
JavaScript
JQuery
Web development
WordPress
OpenCart
Twitter Bootstrap
PHP
CMS «1С-Bitrix»