Pull to refresh
0
0
Михаил @MuKPo6

Пользователь

Send message

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

Level of difficultyMedium
Reading time10 min
Views13K

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

Угроза появления квантового компьютера для современной криптографии и шифрования

Level of difficultyMedium
Reading time15 min
Views6.3K

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

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

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

Читать далее
Total votes 6: ↑3 and ↓3+3
Comments7

Что именно может происходить с материей при околосветовых скоростях?

Level of difficultyMedium
Reading time4 min
Views18K

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

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

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

Читать далее
Total votes 16: ↑4 and ↓12-6
Comments54

Всё, что вы хотели знать про пирамиду тестирования, но не знали как спросить

Level of difficultyMedium
Reading time10 min
Views15K

Пирамида тестирования — это модель, впервые описанная Майком Коном в книге “Succeeding with Agile: Software Development Using Scrum” в 2009 году. Майк является одним из авторов метода разработки программного обеспечения Scrum.

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

Читать далее
Total votes 7: ↑6 and ↓1+6
Comments0

Правда и мифы об энтропии. Как работает второй закон термодинамики?

Level of difficultyMedium
Reading time22 min
Views40K

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

Читать далее
Total votes 62: ↑58 and ↓4+73
Comments112

Стратегические паттерны DDD

Level of difficultyMedium
Reading time8 min
Views13K

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

Читать далее
Total votes 15: ↑12 and ↓3+9
Comments1

Наноматериалы и нанотехнологии. Часть I

Level of difficultyMedium
Reading time18 min
Views3.1K

Компания Bayer (Германия 2007) запустила реактор мощностью 200 т/год многостенных углеродных трубок, но им пришлось ограничить производство. Многостенные трубки не нашли ожидаемого сбыта, они делались из графита, а не из графена, одного атомного слоя углерода.

Русский автор патента Graphetron Михаил Предтеченский придумал ключевую фразу: «Любым способом создается движущаяся в потоке углеводородного газа частица и на ней растет одностенная трубка». Если в технологии так, то этот патент, если нет, то другой. После этого в патенте можно ничего не называть и не раскрывать. В феврале 2010-го Юрий Коропачинский вместе с Олегом Кирилловым, Юрием Зельвенским и Михаилом Предтеченским создали компанию OCSiAl. Увидеть генератор Graphetron нельзя, он как камень Кааба закрыт занавесом. На сегодняшний момент OCSiAl (с Graphetron) единственный в мире промышленных масштабах производитель одностенных (однослойных) графеновых трубок (SWCNT).  Стремительно расширяются и области применения графеновых нанотрубок.

Для понимания свойств материальных тел на наномасштабном (от 1 до 100 нанометров) уровне необходимо иметь представление о соответствующих их свойствах на макроскопическом и мезоскопическом уровнях. Приставка нано – означает одну миллиардную (10–9) чего-либо, например, метра. Законы термодинамики в нашем мире играют ведущую роль, и она остается справедливой (сохраняется) для тел с нано размерностью, хотя свойства веществ при измельчении претерпевают существенные изменения.

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

0. Есть игра. (следствие нулевого закона термодинамики)
1. Вы не можете выиграть. (следствие первого закона термодинамики)
2. Вы не можете выйти в безубыток. (следствие второго закона термодинамики)
3. Вы даже не можете выйти из игры. (следствие третьего закона термодинамики)

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

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

Читать далее
Total votes 7: ↑3 and ↓4+1
Comments8

Как содержать пароли. Мой сетап

Level of difficultyMedium
Reading time7 min
Views56K

Я долго собирал информацию о том, как организовать свои аккаунты. Как сделать доступ к ним достаточно надёжным и стойким к утере девайсов. 

Меня интересовало, как я могу залогиниться туда, где многофакторная авторизация через телефон, в случае потери телефона. 

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

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

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

Компоненты внутри молекулы, или Электроника в квантовом мире

Level of difficultyEasy
Reading time6 min
Views1.2K

Электронные устройства стали настолько миниатюрными, что подчиняются уже не нашим привычным законам, а живут в мире квантовой механики. Так, Константин Катин, профессор НИЯУ МИФИ, работающий в составе многонациональной международной группы ученых, сообщил о новых исследованиях: прямо сейчас ведутся работы по изучению вольтамперных характеристик нанослоя из иона рутения (относится к платиновым металлам). Конечная цель — создание электронных компонентов, не превышающих по размерам одной молекулы. Звучит фантастически, но, как заявляет Константин, это перспектива ближайших 10-15 лет. Это даст огромный прирост в производительности компьютеров и сильно снизит их энергопотребление — последний шаг миниатюризиции электроники. 

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

Читать далее
Total votes 6: ↑4 and ↓2+7
Comments0

Геном в руках человека: как редактируется ДНК

Level of difficultyEasy
Reading time8 min
Views8.3K

Изменить цвет глаз, «вывести из строя» раковые клетки, восстановить силу мышц — в перспективе у технологий на основе редактирования генома нет границ по применимости. Возможно, сейчас это звучит неправдоподобно, но вспомните, на каком уровне находилась медицина в прошлом веке. «Ещё 100 лет назад диагноз "диабет первого типа" был смертельным и больные жили считанные годы. А теперь мы считаем, что диабет — не смертельное заболевание», — подтверждает заведующий лабораторией молекулярной генетики и генной терапии отдела геномной медицины ФГБНУ НИИ АГиР имени Д. О. Отта Антон Киселев. Действительно, во времена протезов, управляемых силой мысли, роботов размером с клетку крови и операций, проводимых бесконтактным способом, поверить в силу генетики проще.

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

Читать далее
Total votes 13: ↑11 and ↓2+13
Comments3

Философия и физика времени. Презентизм и этернализм. Пространство-время в СТО и ОТО

Level of difficultyMedium
Reading time24 min
Views19K

Время (time) – наиболее часто употребляемое слово в английском языке и третье по употребляемости в русском. Оно есть и в любом другом языке, потому что синхронизация действий во времени так же важна, как и их координация пространстве. Не зная точного времени, невозможно упорядочить свою жизнь и спланировать её наперёд. Если в древние времена можно было полагаться на природные циклы и внутреннее ощущение времени, то в наши дни нужно постоянно иметь при себе часы или телефон. Время – важнейшее из абстрактных понятий, которое мы произносим каждый день. Над проблемой времени хотя бы раз в жизни задумывался каждый мыслящий человек, и на эту тему написано огромное количество философской и научной литературы. Тем не менее, никто не скажет наверняка, что же такое время. Оно реально, или это иллюзия, порождённая нашим сознанием? Существует ли время независимо от пространства и материи? Что первично: время или движение? Возможно ли время без движения и движение без времени? Что определяет разницу между прошлым и будущим? Время необратимо, или нам так только кажется?

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

Читать далее
Total votes 17: ↑14 and ↓3+15
Comments66

300 книг для разработчиков игр: обновление Gamedev библиотеки

Level of difficultyEasy
Reading time12 min
Views24K

С Новым Годом уважаемые читатели! Год назад я публиковал подборку из 150-ти книг для тех, кто делает игры и в ней я обещал, что буду постоянно обновлять ее и добавлять в нее новые книги. Время не заставило себя ждать и количество книг в подборке увеличилось в двое и если вы ищите что почитать, то заходите или добавляйте в закладки!

Читать далее...
Total votes 11: ↑9 and ↓2+8
Comments0

PFGM++: буст генеративных моделей с применением электростатики

Level of difficultyMedium
Reading time9 min
Views3.5K

Новая ступень в развитии диффузионных генеративных моделей ИИ, и новая возможность создавать собственные изображения в 10 раз быстрее, чем раньше. Это стало реальным благодаря удачной попытке совместить знания об электростатике и принципу функционирования привычных нам диффузионных моделей. Так, исследователям из MIT CSAIL удалось воплотить в жизнь инновационную модель PFGM ++, которая по последним данным значительно превосходит своих предшественниц.

Какова физическая природа PFGM ++, и как ее использовать на практике – давайте разбираться далее вместе.

Приятного прочтения!

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

Использование Symfony / PHP (II)

Level of difficultyMedium
Reading time7 min
Views6.2K

Привет! Я, Андрей, Symfony разработчик - мы делаем сайты. Каждый день мы тратим много ресурсов на администрирование и базовые настройки проектов. В этой статье я продолжаю делиться опытом, как можно адаптировать фреймворк Symfony под свои нужды. Сегодня я расскажу как мы работаем с базой данных и Doctrine. Поехали

Читать далее
Total votes 9: ↑8 and ↓1+11
Comments20

Как за 2 недели мы освоили Unreal Engine и запустили собственную игру-портфолио

Level of difficultyEasy
Reading time3 min
Views15K

Привет, Хабр! На связи Антон, креативный директор Пиробайта. В последние недели 2023 года в студии решили изучить игровой движок, чтобы сделать небольшое 3D-портфолио к новому году. Но, как и в большинстве игр, без боссов на пути не обошлось.

В статье рассказал о первом опыте разработки на Unreal Engine: какие шишки набили и что из этого получилось.

Педаль в пол!
Total votes 9: ↑5 and ↓4+1
Comments19

Как выйти из тупика и начать расти: 5 ментальных ловушек, которые мешают это сделать

Level of difficultyEasy
Reading time12 min
Views36K

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

Читать далее
Total votes 47: ↑39 and ↓8+44
Comments14

Уровни изолированности транзакций для самых маленьких

Level of difficultyEasy
Reading time11 min
Views21K

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

Если у вас есть собственные кейсы, которыми вы бы хотели поделиться, пишите в комментариях. 

Читать далее
Total votes 13: ↑10 and ↓3+10
Comments9

Все про this в JavaScript

Level of difficultyMedium
Reading time18 min
Views14K

В этой статье мы узнаем все о this в JavaScript и научимся его определять.
Разберемся с мифической "потерей контекста", узнаем как API среды влияет на this и многие другие вопросы, которые так не хватало времени разобрать.

Читать далее
Total votes 11: ↑7 and ↓4+4
Comments9

Детальный React. Реконсиляция, рендеры, Fiber, виртуальное дерево

Level of difficultyHard
Reading time19 min
Views21K

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

На момент написания статьи, последняя стабильная версия React 18.2.0. За 10 лет разработчики Facebook проделали колосальный объем работы, было реализовано много фич и сделано не мало оптимизаций. За эти годы, так же, происходили и кардинальные архитектурные изменения. Очевидно, одной статьи мало, чтобы покрыть всю механику React, поэтому, данная публикация станет первой в серии статей о внутреннем устройстве React. Здесь мы познакомимся с основными сущностями и архитектурными решениями.

Читать далее
Total votes 15: ↑13 and ↓2+14
Comments10

Как GameDev-специалисту защитить свои права на продукт? Практические рекомендации от юристов

Level of difficultyMedium
Reading time6 min
Views1.4K

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

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

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

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments0

Information

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

Specialization

Fullstack Developer, Web Developer
Lead
Git
Linux
OOP
PHP
MySQL