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

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

Send message

MySQL — Использование переменных в запросе

Reading time7 min
Views68K
Довольно часто спрашивают, есть ли аналоги аналитических (оконных) функций в MySQL. Примечание. На момент написания статьи таких аналогов не было, однако статья и ныне представляет собой академический интерес в плане разбора оригинального для MySQL подхода к использованию переменных.

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

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

Одним из этих средств является уникальный, нехарактерный для прочих СУБД механизм работы с переменными внутри запроса SQL. Мы можем объявить переменную внутри запроса, менять ей значение и подставлять в SELECT для вывода. Причем порядок обработки строк в запросе и, как следствие, порядок присвоения значений переменным можно задать в пользовательской сортировке!

Предупреждение. В статье подразумевается, что обработка выражений в предложении SELECT осуществляется слева направо, однако официального подтверждения такого порядка обработки в документации MySQL нет. Это необходимо иметь в виду при смене версии сервера. Для гарантии последовательности вычисления можно использовать фиктивный оператор CASE или IF.

Аналог рекурсии


Рассмотрим простой пример, который генерирует последовательность Фибоначчи (в последовательности Фибоначчи каждый член равен сумме двух предыдущих, а первые 2 равны единице):
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments10

Создана основа для обобщённой теории нейросетей

Reading time7 min
Views11K

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





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

Однако одну из самых важных технологий современного мира мы, по сути, проектируем вслепую. Мы играемся с различными схемами, различными настройками, но пока мы не запустим пробный прогон системы, мы на самом деле не имеем понятия, что она сможет сделать, или где она откажется работать.
Читать дальше →
Total votes 57: ↑30 and ↓27+3
Comments13

Как логировать в NodeJS, чтобы пацаны во дворе уважали

Reading time6 min
Views27K


Что вас бесит сильнее всего, когда вы пытаетесь организовать читаемые логи в вашем NodeJS приложении? Лично меня чрезвычайно напрягает отсутствие каких-либо вменяемых зрелых стандартов по созданию trace ID. В этой статье мы поговорим о том, какие есть варианты создания trace ID, разберемся на пальцах как работает continuation-local storage или CLS и призовем на помощь силу Proxy, чтобы завести все это с абсолютно любым логером.

Читать дальше →
Total votes 22: ↑17 and ↓5+12
Comments13

Технология, которая приблизит запуск квантовых сетей

Reading time3 min
Views7.8K
Физики из Университетов Торонто, Осаки и Тоямы представили концепцию квантового повторителя, который не использует ячейки квантовой памяти и способен работать при комнатной температуре. В перспективе он позволит реализовать масштабные квантовые сети.

Рассказываем, в чем заключается инновация.

Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments2

Неразгаданная тайна зрения

Reading time19 min
Views18K
Вопрос устройства зрения заметная часть нейробиологии. Данному вопросу посвящены огромные объемы литературы и четыре нобелевские премии, но в сложившейся ситуации нельзя не заметить то, что изложенное в учебниках устройство зрения млекопитающих не справляется с поставленной задачей. Цель данного эссе показать свод причин, почему не стоит закрывать на это глаза. По сути, будет предъявлен портрет тайны зрения, начиная от разнообразия мелких деталей в самом начале потока зрительной информации у млекопитающих, угрозы от их игнорирования, и заканчивая ворохом проблем в понимании обработки мозгом в конце пути.

Устройство системы зрения


На взгляд любого учебника о зрении мы видим в три этапа. Первый этап: свет попадает на сетчатку и преобразуется в нервное возбуждение фоторецепторов – сенсорных нейронов сетчатки. Кроме того глаз нормализует контрастность и яркость, фокусирует изображение.
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments5

Анализ подходов к связыванию модулей в Node.js

Reading time7 min
Views3.4K
Многие разработчики Node.js для связывания модулей используют исключительно создание жёсткой зависимости с помощью require(), однако существуют и другие подходы, со своими плюсами и минусами. О них я в этой статье и расскажу. Будут рассмотрены четыре подхода:

  • Жёсткие зависимости (require())
  • Внедрение зависимостей (Dependency Injection)
  • Локаторы служб (Service Locator)
  • Контейнеры внедряемых зависимостей (DI Container)
Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments0

Полное руководство по профессиональному поиску скрытых камер и шпионских устройств

Reading time9 min
Views107K


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

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

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

В статье мы опишем точный пошаговый процесс, который мы используем для поиска скрытых устройств слежения и камер. Начнём!
Читать дальше →
Total votes 55: ↑44 and ↓11+33
Comments53

Математические модели хаоса

Reading time11 min
Views31K

Введение


На Habr уже обсуждалась теория хаоса в статьях [1,2,3]. В этих статьях рассмотрены следующие аспекты теории хаоса: обобщённая схема генератора Чуа; моделирование динамики системы Лоренца; программируемые логическими интегральными схемами аттракторы Лоренца, Ресслера, Рикитаке и Нозе-Гувера.

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

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

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

Статья написана с целью обучения, но позволит, даже не имеющему опыта программирования читателю, используя приведенные программы, самостоятельно решить большинство новых учебных задач по теме моделирования явлений хаоса.
Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments10

Как усилить защищенность веб-приложений при помощи HTTP заголовков

Reading time18 min
Views32K
image

Это третья часть серии по веб-безопасности: вторая часть была «Web Security: введение в HTTP», первая "Как работают браузеры — введение в безопасность веб-приложений".

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

В настоящее время браузеры внедрили очень широкий спектр заголовков, связанных с безопасностью, чтобы злоумышленникам было труднее использовать уязвимости. В этой статье мы попытаемся обсудить каждый из них, объясняя, как они используются, какие атаки они предотвращают, и немного истории по каждому заголовку.
Читать дальше →
Total votes 35: ↑34 and ↓1+33
Comments9

«Домашние локалки» возрождаются в виде mesh-сетей. LibreRouter и другие свободные маршрутизаторы

Reading time3 min
Views36K


На Земле немало удалённых регионов, куда практически невозможно провести интернет. Что делать жителям? Не всякий позволит себе спутниковый канал, Для связи между членами общины можно организовать собственную сеть без всяких коммерческих провайдеров (community network). Именно для таких проектов предназначен новый свободный маршрутизатор LibreRouter. Конечно, это довольно специфическое и специализированное железо. Но люди живут не только в мегаполисах, а для самоорганизации групп, удалённых от цивилизации, такое устройство может стать незаменимым.

Ну и подобные сети, словно «домашние локалки» в пост-СССР, будут дешёвой или бесплатной альтернативой интернету в бедных районах стран третьего мира.
Читать дальше →
Total votes 37: ↑36 and ↓1+35
Comments49

Новый квантовый парадокс уточняет, в каком случае наши представления о реальности оказываются неверными

Reading time12 min
Views67K

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



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

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

Новый мысленный эксперимент бросает вызов этим предположениям и раскачивает основы квантовой физики. Он, конечно, и сам странный. К примеру, он требует проводить измерения, способные стереть любые воспоминания о только что проделанном наблюдении. С людьми это невозможно, а квантовые компьютеры могли бы провести такой странный эксперимент и, теоретически, найти различия между разными интерпретациями квантовой физики.
Читать дальше →
Total votes 28: ↑22 and ↓6+16
Comments50

Дорожная карта математических дисциплин для машинного обучения, часть 1

Reading time6 min
Views97K

Вместо предисловия


Допустим, сидя вечерком в теплом кресле вам вдруг пришла в голову шальная мысль: «Хм, а почему бы мне вместо случайного подбора гиперпараметров модели не узнать, а почему оно всё работает?»
Читать дальше →
Total votes 40: ↑39 and ↓1+38
Comments42

Шизотипическое расстройство: взгляд изнутри

Reading time16 min
Views278K


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

Читать дальше →
Total votes 168: ↑165 and ↓3+162
Comments282

В Google рассказывают, как «экспоненциальный» рост ИИ изменяет саму природу вычислений

Reading time5 min
Views14K

Программист из Google Клиф Янг объясняет, как взрывное развитие алгоритмов глубинного обучения совпадает с отказом закона Мура, десятилетиями работавшего эмпирического правила прогресса компьютерных чипов, и заставляет разрабатывать принципиально новые вычислительные схемы




Взрывное развитие ИИ и алгоритмов машинного обучения изменяет саму природу вычислений – так говорят в одной из самых крупных компаний, практикующих ИИ – в Google. Программист из Google Клиф Янг выступил на открытии осенней конференции по микропроцессорам, организованной компанией Linley Group – популярном симпозиуме по теме компьютерных чипов, проводимом почтенной компанией, занимающейся полупроводниковым анализом.

Янг сказал, что использование ИИ перешло в «экспоненциальную фазу» в тот самый момент, когда закон Мура, десятилетиями работавшее эмпирическое правило прогресса компьютерных чипов, полностью затормозилось.
Читать дальше →
Total votes 19: ↑16 and ↓3+13
Comments6

Искусственный интеллект, занимающийся физикой, может выводить законы воображаемых вселенных

Reading time4 min
Views14K

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




Есть знаменитая история о том, как Галилей наблюдал за качанием лампы в Пизанском соборе, и замерял его по отношению к своему пульсу. Он пришёл к выводу, что период постоянен и не зависит от амплитуды.

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

Совершая открытие, гений Галилея проигнорировал все неприятные детали, которые можно было бы учесть – сопротивление воздуха, температуру, мерцание света, шум, других людей, и т.п. Он рассмотрел простейшую модель качающейся лампы, используя только её период, концентрируясь на самой заметной особенности.
Читать дальше →
Total votes 16: ↑13 and ↓3+10
Comments7

До свидания, Electron. Здравствуйте, настольные PWA

Reading time5 min
Views36K
Автор материала, перевод которого мы сегодня публикуем, говорит, что он, возможно, слишком торопится, но то, о чём он хочет рассказать, представляет собой, по меньшей мере, весьма интересную новость. Речь идёт о настольных прогрессивных веб-приложениях, которые вполне могут значительно потеснить позиции приложений, основанных на Electron.

image
Читать дальше →
Total votes 40: ↑35 and ↓5+30
Comments140

Перспективная технология магнитной записи MAMR: что нас ожидает в ближайшем будущем?

Reading time4 min
Views9K
К 2025 году общемировой объем сохраненных данных достигнет 163 зеттабайт — к такому выводу пришли аналитики консалтинговой компании International Data Corporation (IDC) в своем докладе “The Data Age 2025”. Для сравнения, в 2016 году эта цифра составляла всего 16 зеттабайт — таким образом, мы получим практически десятикратный прирост объема сохраненной информации.

Виноваты в этом отнюдь не видео в формате 4K и не компьютерные игры весом от 100 ГБ и выше: столь бурный рост связан с повышенным интересом к Big Data со стороны бизнеса. Стремясь предсказать поведение потенциальных клиентов и лучше понять целевую аудиторию, крупные корпорации фиксируют буквально каждое действие, совершаемое человеком в глобальной паутине. Ситуацию усугубляют и такие перспективные направления, как машинное обучение и интернет вещей: миллиарды устройств ежесекундно генерируют огромное количество информации, а нейросети требуют все больше сведений для анализа и обработки.

Перечисленные факторы определяют спрос на более вместительные накопители, но реально ли в принципе удовлетворить потребности современного рынка? Мы утверждаем — да, с появлением MAMR нет ничего невозможного! Специально для тех, у кого нет времени на чтение объемных материалов, мы подготовили короткий видеоролик, освещающий основные преимущества накопителей, выполненных по технологии MAMR.


Если же вы хотите узнать “грязные подробности”, добро пожаловать под кат!
Total votes 22: ↑21 and ↓1+20
Comments27

Квантовые сети: перспективы и сложности реализации

Reading time4 min
Views25K
По оценкам немецких исследователей из Общества Макса Планка, глобальную квантовую сеть удастся реализовать уже в ближайшие несколько лет. Расскажем, какие здесь есть сложности.

Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments39

Как работает Android, часть 4

Reading time26 min
Views94K


Всем привет! Мы нашли время продолжить серию статей про внутреннее устройство Android. В этой статье я расскажу о процессе загрузки Android, о содержимом файловой системы, о том, как хранятся данные пользователя и приложений, о root-доступе, о переносимости сборок Android и о проблеме фрагментации.

Читать дальше →
Total votes 51: ↑51 and ↓0+51
Comments25

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

Reading time4 min
Views55K

В марте 2016 года Роберт Дж. Лемке-Оливер и Каннан Соундарараджан из Стэнфордского университета открыли новый шаблон в распределении простых чисел. Оказалось, что простые числа специфически распределяются по числовому пространству. Подробнее см. перевод статьи «Структура и случайность простых чисел» на Хабре.

К изучению темы подключились специалисты из других областей, в том числе химии. И успешно. Профессор теоретической химии Сальваторе Торкуато вместе с теоретиком чисел Мэтью де Курси-Айрлэнд нашли новые шаблоны в распределении простых чисел, о которых раньше не было известно. Оказалось, что распределение простых чисел образует фракталоподобную дифракционную картину, чем-то похожую на картину дифракции у экзотических квазикристаллов.
Читать дальше →
Total votes 64: ↑61 and ↓3+58
Comments56

Information

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

Specialization

Fullstack Developer, Web Developer
Lead
Git
Linux
OOP
PHP
MySQL