Pull to refresh
6
0
Алексей Мальцев @TiKo

User

Send message

По локоть в легаси: пошагово перезапускаем устаревший портал на PHP

Level of difficultyMedium
Reading time10 min
Views12K

PHP — один из самых популярных языков веб-разработки уже около 20 лет, а самому языку скоро стукнет 30. За это время на нем написали огромное количество больших и маленьких проектов. Некоторые сайты, созданные в 90-х, 00-х и 10-х, хранят код еще с тех давних времен. И чем больше времени проходит с начала разработки, тем меньше на рынке специалистов, готовых разбираться в легаси и не самых современных технологиях.

В похожей ситуации оказался портал fishingsib.ru — один из крупнейших в рунете сайтов о рыбалке, который посещают больше 10 000 человек ежедневно. Он создавался в начале 2000-х как форум для рыбаков-любителей и пережил несколько довольно серьезных обновлений кодовой базы. Последнее из них — переезд на CakePHP 2 в 2012 году. На этом фреймворке и PHP 5 сайт жил до 2017 года.

Владелец fishingsib.ru планировал поддерживать и развивать сайт, внедрять новую функциональность, однако столкнулся с техническими проблемами. Любые доработки были очень долгими из-за неудачных архитектурных решений и сильной зависимости от устаревающего и не особенно популярного CakePHP 2. После каждого обновления появлялось множество багов. В то же время не удавалось найти новых разработчиков, потому что большинство специалистов не хотели работать в проекте с неактуальным стеком. Развитие проекта сильно замедлилось и стало понятно, что с технической частью нужно что-то делать.

Читать далее
Total votes 57: ↑57 and ↓0+57
Comments15

Школьный класс и маленький этюд социнжиниринга

Reading time5 min
Views51K


В каждом классе есть 3-4 ребёнка, которые орут и ломают весь сюжет, когда остальные пытаются что-то целенаправленно делать. Точнее, как — они просто гиперактивные, и их темп событий не даёт покоя остальным. Они не злонамеренные, а просто хотят причинить добро и радость в особо крупных размерах.

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

И вот, значит, он приходит на игротеку, а там не 3-4 гиперактивных ребёнка, а сразу примерно от четверти до трети класса. И игротека превращается в ад.

То, что придумал Денис — с моей точки зрения, просто прекрасный этюд социнжиниринга. Я сейчас доведу вам вводные, а потом расскажу решение. В промежутке можно будет попробовать придумать своё.
Читать дальше →
Total votes 202: ↑200 and ↓2+198
Comments277

Почему вам должно быть скучно на работе

Reading time3 min
Views60K
Эти советы, возможно, не все найдут полезными. Они адресованы тем, кому на работе бывает скучно. Так скучно, что уныние немного скрашивают лишь утренний контактик и послеобеденный ютубчик. Вот именно от них вам придется отказаться. Зачем? Сейчас узнаете.
Чтобы стало еще скучнее, конечно же!
Total votes 128: ↑114 and ↓14+100
Comments116

Я б в программеры пошёл, пусть меня научат

Reading time15 min
Views73K
Сегодня многие романтизируют ИТ-сферу, стремятся попасть в неё и остаться в облаке славы, денег и всемирной известности. Конечно, всё не так, как кажется: разработка — это сложный интеллектуальный труд, отнимающий кучу времени. Но если вы всё же решились сменить профессию и войти в ряды айтишников, не промахнитесь со способом обучения.

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


Читать дальше →
Total votes 50: ↑41 and ↓9+32
Comments158

Лекции Технотрека. Проектирование СУБД (осень 2016)

Reading time4 min
Views30K

image


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

Total votes 43: ↑40 and ↓3+37
Comments8

10 приложений для защиты устройств на Android

Reading time5 min
Views87K

Недавние исследования показали, что почти 87% устройств на Android уязвимы к атакам.

Это связано с тем, что не проводятся обновления системы безопасности. От интернета не защититься, пока устройство подключено к сети. Обеспечение безопасности в наше время является одной из основных задач, поэтому появилось много сторонних приложений для ее повышения.
Читать дальше →
Total votes 19: ↑11 and ↓8+3
Comments18

Боли в руках при работе за компьютером. Часть 2. Освобождаем надплечья и шею

Reading time4 min
Views70K
Частый совет напряжённому человеку: «Чего напрягся – расслабься, получай удовольствие…». Что происходит в результате? – Человек напрягается еще больше!

В прошлой статье вы познакомились с основными проблемами, вызывающими боли в руках при работе за компьютером.
image

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

Урок займет 15-20 минут, вы можете делать его сидя, не отходя от компьютера. Под катом – видео урока, правила выполнения соматических уроков и текстовая расшифровка расширенной версии урока (осторожно – очень много букв!).

Total votes 28: ↑28 and ↓0+28
Comments33

Боли в руках при работе за компьютером. Часть 1: туннельные синдромы – обзор и диагностика проблем

Reading time3 min
Views97K
Синдром запястного канала — боли, онемение в кисти руки, частый спутник длительно работающих за компьютером людей. Множество популярных публикаций и решений эргономики сводят проблему только к длительной травматизации срединного нерва в запястном канале, что очень упрощает ситуацию и не позволяет получить эффективное решение.

image


Основная проблема в том, что для работы за компьютером используются точные мелкие движения руки в статической позе, из-за чего возникают предпосылки для повреждения сосудисто-нервных пучков на всём протяжении — от шеи до кисти руки. И часто боли в кисти руки являются следствием отдаленных проблем, не связанных с запястным каналом.
Total votes 24: ↑24 and ↓0+24
Comments70

youtube-dl, или как скачать видео с YouTube в качестве 1080p и выше

Reading time5 min
Views334K
Видеохостинг YouTube — второй по посещаемости сайт в мире. Его смотрят с умных телевизоров, игровых и телевизионных приставок, настольных компьютеров и ноутбуков, планшетов и смартфонов. Не все из этих устройств требуют одинаковой картинки. Сетевая природа сервиса и потокового видео предполагает, что на сайте должны быть доступны опции просмотра в разном качестве.

Качество картинки на YouTube варьируется от 144p (144 строчки в прогрессивной развёртке) до 8K 4320p. Последнее видео в четыре раза крупнее 4К 2160p, в шестнадцать — 1080p, в тридцать шесть — 720p, который также называют HD.


Мало какой компьютер может проиграть это видео в его полном разрешении, а доступных по цене 8K-мониторов в мире просто нет.

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

Несколько лет назад пользователи YouTube заметили введение DASH по тому, что буферизация видео больше не шла до конца ролика, а ограничивалась примерно минутой. Около того же времени другая проблема возникла у скачивающих видео с YouTube. Внезапно обнаружилось, что ролики с качеством 1080p доступны в виде файлов без звука. Сайты-сервисы, которые раньше выдавали ссылки на скачивание видео, отдавали лишь 720p, не выше. Около 1080p стояло «без звука» или «только видео».
Читать дальше →
Total votes 58: ↑50 and ↓8+42
Comments98

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

Reading time7 min
Views180K
Всем привет! В этой статье собраны одни из лучших подкастов по программированию как на русском так и на английском языках, которые позволят вам быть всегда в курсе последних новостей.

Подкасты представляют собой звуковые файлы, которые можно слушать в любое время на вашем компьютере или другом устройстве (IPod, IPad, смартфон и т.д.). Это самый портативный способ потреблять контент и узнавать что-то новое. Популярность подкастов росла на протяжении многих лет и теперь они охватывают очень широкий круг вопросов.

И да, есть много интересных и популярных подкастов для разработчиков и программистов. Подкасты невероятно полезны, они будут держать вас в курсе всего что происходит в интересующей вас сфере, а также помогут вам развить более широкий взгляд на постоянно развивающуюся область информационных технологий.
Читать дальше →
Total votes 74: ↑71 and ↓3+68
Comments63

Аудиодайджест #6: «Сделай сам», интересное о звуке и аудиотехнологиях

Reading time3 min
Views15K
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments0

Viber для Windows и история сообщений

Reading time2 min
Views314K
Работаю я обычным эникейщиком, и произошла как-то у меня тоже вполне обычная история — переезд человека на новый другой компьютер. Не буду особо вдаваться в подробности, просто скажу, что возникла необходимость переноса истории Viber, которая была этому человеку жизненно необходима.

Читать дальше →
Total votes 24: ↑17 and ↓7+10
Comments58

Создание веб-сайта. Курс молодого бойца

Reading time24 min
Views817K
Как-то меня попросили провести небольшой семинар в лицее, где я когда-то учился, по созданию веб-сайта. В процессе написания речи я подумал, что она может вылиться в материал, который, возможно, будет полезен многим начинающим в области веб-дизайна, вёрстки веб-страниц и пр. Я не претендую на истину в первой инстанции и всё изложенное носит чисто личностный взгляд на работу с дизайном и кодом. Статья даёт поверхностный взгляд на понятия и средства, которые, на мой взгляд, могут стать неплохим стартом для того, кто готов идти дальше.
Читать дальше →
Total votes 86: ↑77 and ↓9+68
Comments46

Осенние онлайн-курсы от Computer Science Center и Академического университета

Reading time3 min
Views30K

Этой осенью СПб АУ РАН и CS центр предлагают несколько новых бесплатных онлайн-курсов на разные темы: от теории графов до программирования на языке Haskell, и перезапускают некоторые из прочитанных ранее. Год назад состоялся первый запуск онлайн-курсов CS центра. Сначала появились курсы по программированию, а весной их дополнили курсы по математике, подготовленные вместе с Академическим университетом. Все онлайн-курсы разработаны на платформе Stepic.org.


  • Java. Базовый курс (А. А. Владыкин)
  • Алгоритмы: теория и практика. Методы (А. С. Куликов)
  • Введение в архитектуру ЭВМ. Элементы операционных систем (К. В. Кринкин)
  • Введение в математический анализ (А. И. Храбров)
  • Ликбез по дискретной математике (А. В. Омельченко)
  • Основы перечислительной комбинаторики (А. В. Омельченко)
  • Основы теории графов (А. В. Омельченко)
  • Погружение в СУБД (Д. В. Барашев)
  • Программирование на языке C++ (А. В. Смаль)
  • Функциональное программирование на языке Haskell (Д. Н. Москвин)

Часть курсов входит в годовую онлайн-программу по основам программирования.
Подробнее о курсах
Total votes 24: ↑24 and ↓0+24
Comments12

Правильное использование Exception’ов в PHP

Reading time16 min
Views120K
Я рад бы написать что “эта статья предназначена для новичков”, но это не так. Большинство php-разработчиков, имея опыт 3, 5 и даже 7 лет, абсолютно не понимают как правильно использовать эксепшены. Нет, они прекрасно знают о их существовании, о том что их можно создавать, обрабатывать, и т.п., но они не осознают их удобность, логичность, и не воспринимают их как абсолютно нормальный элемент разработки.

В этой статье не будет мануала по эксепшенам — это все отлично описано в документации php. Здесь я я расскажу о преимуществах использования эксепшенов, и о том, где их, собственно говоря, надо использовать. Все примеры будут для Yii, но это не особо важно.
Читать дальше →
Total votes 46: ↑42 and ↓4+38
Comments70

Чистим интернет от назойливой рекламы (AD Blocker для MikroTik)

Reading time6 min
Views141K


Данная статья является логическим завершением небольшой дискуссии с тов. vvzvlad, которая развернулась под топиком "Чистим домашний интернет от очень назойливой рекламы (Ad's blocker для OpenWRT)", где автор с помощью wget, sed и cron на OpenWRT успешно сливает файлы рекламных хостов, парсит и подсовывает dns-серверу dnsmasq.

Переадресовывая клиента при запросе «рекламного» домена, например, на loopback (127.0.0.1 — 127.255.255.255), вместо котента рекламы клиент получит благодатное «ничего» (разумеется, при условии, что у нас не работает локальный веб-сервер который слушает локалхост). Механизм фильтрации довольно старый и не лишен недостатков. Например, нельзя указать маски хостов (*.ad-domain.tld) или «вырезать» рекламу, баннеры которой хостятся на запрашиваемых ресурсах. Но зато не привязан к какому-то либо протоколу и довольно прост в эксплуатации. Более того, если его использовать, например, на домашнем или офисном маршрутизаторе, который используется в качестве DNS сервера, реклама успешно порежется на всех гаджетах, где IP нашей железки прописан первым в качестве DNS сервера.

Но что если у нас вместо роутера с кастомной прошивкой используется… MikroTik (RouterOS), функционал которого накладывает некоторые ограничения? Под катом вы узнаете каким образом удалось успешно "сконвертировать" файл хостов в пригодный для него формат, как автоматизировать это дело и что для хабралюдей в качестве бонуса был создан небольшой сервис как раз для автоматизации этого процесса (маленький, абсолютно бесплатный и с открытыми исходниками).
Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments63

Типовая схема биллинга

Reading time6 min
Views56K
Я как человек измученный различными АСР и сам принимавший участие в разработке АСР регулярно сталкивался с отсутствием какой-то типовой схемы, которую можно было бы посмотреть для оценки АСР, а так же перед созданием своей АСР. В сети есть некоторое количество работ по этой теме к примеру я в свое время при написании диплома изучал вот этот вот труд Методы моделирования и разработки биллинговых систем. Диплом же и есть диплом и тащить из него схемы странное занятие, так-как реалиям он не отвечает.
Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments62

Шпаргалка по mongodb: e-commerce, миграция, часто применяемые операции и немного о транзакциях

Reading time40 min
Views66K

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


Не хотелось бы, чтобы пост воспринимался в ключе холиваров на тему SQL vs. NOSQL И так понятно что везде есть свои плюсы и минусы, в данном случае это просто где-то немного справки, где-то немного примеров из того, с чем приходилось сталкиваться. Примеры на mongo shell и на python.


  1. Миграция в на новые версии в mongodb
  2. Запросы сравнения и логические
  3. Полнотекстовый поиск в Mongodb, regexp, индексы и пр.
  4. Атомарные операторы (модифицирующие данные )
  5. Немного о транзакциях в Mongodb
  6. Агрегационный фреймворк и JOIN-ы в Mongodb
  7. Примеры
  8. Небольшая песочница на Python

Читать дальше
Total votes 47: ↑42 and ↓5+37
Comments14

Переезд KodiCMS с фреймворка Kohana на Laravel 5

Reading time5 min
Views19K


При написании статей на Хабре я заметил, что многим не по душе умерший Kohana framework, и слышал много критики в адрес проекта по этой причине и задумался над вопросом: « Как быть и что делать с Kohana?», ведь фреймворк совершенно не способствует развитию CMS на протяжении года.
Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments31

Освоение Composer: советы и приемы использования

Reading time11 min
Views163K
Предлагаю читателям «Хабрахабра» перевод статьи «Mastering Composer – Tips and Tricks» за авторством Bruno Skvorc.

Composer logo

Composer произвел революцию в управлении пакетами в PHP и помог разработчикам по всему миру создавать независимый от фреймворков и разделяемый код. Но все же мало кто выходит за рамки основ его функционала, так что данная статья постарается осветить некоторые полезные приемы его использования.
Читать дальше →
Total votes 33: ↑27 and ↓6+21
Comments4
1
23 ...

Information

Rating
Does not participate
Location
Фрязино, Москва и Московская обл., Россия
Registered
Activity