Pull to refresh
21
Александр Алексеев @alekseev_apread⁠-⁠only

Программист, фотограф, видео-оператор любитель

Send message

Моя большая практическая шпаргалка SQL (SQLite) с готовыми запросами

Level of difficultyMedium
Reading time54 min
Views76K

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

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

Все примеры изначально писались для СУБД SQLite, но почти всё из этого применимо также и к другим СУБД.

Здесь есть и примеры довольно сложных запросов с агрегирующими функциями, триггерами, длинными подзапросами, с оконными функциями. Помимо этого, часть примеров посвящена работе с SQL в Python, используя sqlite3, pandas, polars. Этот список запросов с комментариями можно использовать как наглядное пособие для изучения SQL.

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

Как из браузера открыть папку в проводнике Windows

Reading time2 min
Views18K
Представьте, что у вас возникла необходимость прямо с веб-страницы заказа в вашей CRM-системе открывать папку с файлами, которые к этому заказу относятся. Но не просто отображать содержимое папки, а прямо на компьютере открывать проводник с этой папкой.

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

Вы можете резонно предположить, что есть протокол file:// (я позволю себе использовать здесь и далее слово протокол, хотя правильнее, конечно, схема URI), который позволяет браузерам открывать локальные файлы, но с ним также есть две проблемы:

1) он не может отобразить список файлов в папке;
2) такие ссылки нельзя открывать с внешних (не локальных) веб-страниц.

Чтобы решить данную проблему, мы будем использовать свой протокол с собственным обработчиком. Метод будет работать в Windows и потребует некоторых (очень простых) действий на компьютере.
Читать дальше →
Total votes 36: ↑25 and ↓11+14
Comments20

Бессердечная биохимия. Как был открыт и укрощён талидомид

Reading time8 min
Views22K

Некоторое время назад, когда «все переквалифицировались в вирусологов» и костерили вакцину «Спутник-V», на Хабре всплыла острая тема «этичности» и «поспешности» клинических исследований в медицине. Тогда же в довольно интересных статьях, например, здесь и здесь, всплывала тень талидомида – одного из самых жутких фармацевтических просчётов XX века. Тем не менее, подробной статьи о талидомиде на Хабре я пока не нашёл (возможно, потому, что статьи на Хабре принято иллюстрировать). Сегодня хотелось бы кратко рассказать об этом препарате, а также – о его трудном и грозном возрождении, случившемся в последние 20 лет.

К середине XX века в развитых странах разразилась настоящая эпидемия злоупотребления барбитуратами. Барбитураты применялись в качестве успокоительных и снотворных, при этом быстро вызывали привыкание. Наиболее известный препарат такого класса, веронал, был назван в честь Вероны (города, в котором разворачивается трагедия Ромео и Джульетты). Веронал не составляло труда приобрести в аптеке. Cреди известных жертв веронала – Акутагава Рюноскэ (1927) и Стефан Цвейг с женой (1942). Широко известна также зависимость от барбитуратов (барбитуризм), приводящая к отмиранию нейронов головного мозга и умственной деградации. К началу 1950-х активные поиски безвредного снотворного и успокоительного привели немецких фармацевтов из компании Хеми-Грюненталь к созданию талидомида, синтезированного в 1954 году. В 1956 году он был лицензирован в ФРГ, а позже в Великобритании в качестве безрецептурного седативного и транквилизатора. Но препарат оказался настолько модным, что его также назначали при пневмонии, простуде и гриппе. Также выяснилось, что талидомид облегчает симптомы токсикоза на ранних сроках беременности.

Читать далее
Total votes 131: ↑126 and ↓5+121
Comments59

Несколько советов по работе с CORS для начинающих разработчиков

Reading time8 min
Views67K

В этой статье мы с вами разберемся, что такое CORS, CORS-ошибки и из-за чего мы можем с ними сталкиваться. Я также продемонстрирую возможные решения и объясню, что такое предварительные (preflight) запросы, CORS-заголовки и в чем заключается их важность при обмене данными между сторонами.

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

Читать далее
Total votes 14: ↑13 and ↓1+12
Comments2

Классификация эмоций ОСС+

Reading time20 min
Views2.9K

.Что такое эмоции и нужны ли они роботам? Конечно, нужны. Без эмоций общение с роботом будет подобно бутерброду без масла, т.е. чисто информационным, скучным и неполноценным.  К сожалению, современная психология не  может сформулировать единого согласованного определения понятия эмоции. Существует около сотни разных определений. Это то, что касается общего понятия. Кроме этого существует множество конкретных эмоций: страх, гнев, интерес и т.п. Каждая конкретная эмоция тоже требует своего определения. Ясно, что эмоции состоят, как минимум из двух составляющих: субъективного ощущения и когнитивной структуры. Субъективное ощущение свое у каждой эмоции и, возможно, его природа это величайшая загадка, к разгадке которой нет даже разумных гипотез. Очень содержательные размышления на эту тему есть на Хабре см. @codecity «Семь маргинальных гипотез о природе эмоций».

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

ОСС+
Total votes 9: ↑8 and ↓1+7
Comments47

Тихая установка программ на удалённый компьютер. Для самых маленьких

Reading time7 min
Views63K

Предлагаю вашему вниманию статью об удалённой установке программ штатными средствами Windows 10 и бесплатными консольными утилитами.

Рассмотрим установку двух наиболее часто встречающихся типа установочных файлов .exe и .msi...

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

Грамматический разбор для естественных языков. Ч.1: Языки описания языков

Reading time4 min
Views5.7K

Исторически первой попыткой формализовать язык и автоматизировать его разбор были регулярные выражения, придуманные С.К. Клейни в 1951. Регулярное выражение составляется из символов языка ("терминалов"), и трёх операций: конкатенация, чередование и замыкание. Для разбора регулярных выражений достаточно ДКА без памяти: разборщик знает, в каком состоянии он находится сейчас, но не помнит ничего о своих прошлых состояниях. Это значит, что языки, допускающие вложенные конструкции — например, язык вложенных скобок (n)n и язык самих регулярных выражений — невозможно описать регулярными выражениями. Естественные языки тоже допускают конструкции неограниченной вложенности ("Вот два петуха, которые будят того пастуха, который бранится с коровницей строгою, которая доит корову безрогую, лягнувшую старого пса без хвоста, который за шиворот треплет кота, который пугает и ловит синицу, которая часто ворует пшеницу, которая в тёмном чулане хранится в доме, который построил Джек."), поэтому для описания естественных языков регулярные выражения недостаточно выразительны.

Более выразительный способ описания языков — формальные грамматики — предложил Н. Чомски в 1956. Предложения на английском довольно неплохо поддаются такому описанию:

Читать далее
Total votes 35: ↑31 and ↓4+27
Comments19

Грамматический разбор для естественных языков. Ч.2: Алгоритм Кока—Янгера—Касами (CYK)

Reading time8 min
Views3.9K

(Ч.1: Языки описания языков)

В идеале нам хотелось бы разбирать текст за линейное время и за один проход. Регулярные выражения это позволяют, но уже с CFG это не получится: например, S → A | B; A → a | x A; B → b | x B превращает строку x…xa в дерево из узлов A, а строку x…xb в дерево из узлов B — и пока разборщик не увидит последний символ строки, он не знает, что делать со всеми предыдущими символами. Поэтому на грамматики для языков программирования накладывают дополнительные ограничения — по сути, чтобы для разбора не приходилось "заглядывать вперёд" — позволяющие разбирать текст программы за один проход. Кто ковырялся в компиляторах, тот наверняка знаком с LL- и LR-разбором, и имеет опыт "подгонки" грамматики языка под требования конкретного алгоритма разбора. Но при работе с естественными языками нет возможности "подправить" язык для удобства разбора — приходится работать с тем языком, какой есть.

В 1960-х был разработан алгоритм CYK для разбора произвольного CFG. Считается, что впервые его опубликовали — независимо друг от друга — И. Сакаи из японского НИИ Минобороны в 1961 и Дж. Кок из Нью-Йоркского университета в 1962. В 1966 тот же самый алгоритм публиковали — опять независимо — Д. Янгер из General Electric и Т. Касами из Университета Иллинойса. Янгер в своей публикации упоминает имена Кока и Сакаи, но не ссылается ни на какие конкретные их работы: по всей видимости, работы Кока и Сакаи Янгеру — как и мне сейчас — не были доступны. Чтобы никому из изобретателей алгоритма не было обидно, его называют в честь сразу троих, хотя они, скорее всего, даже не были между собой знакомы.

Читать далее
Total votes 19: ↑16 and ↓3+13
Comments2

VCL, избавляемся от мерцания, раз и навсегда

Reading time34 min
Views44K

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


И если в случае с наследниками от TWinControl частичным решением проблемы является установка свойства DoubleBuffered в True, что заставляет контрол отрисовываться в буфере (однако DoubleBuffered работает тоже не идеально, к прим.: контрол перестает быть прозрачным), то в случае с TGraphicControl решение с DoubleBuffered просто невозможно, из-за отсутствия у TGraphicControl окна, установка же DoubleBuffered в True у родителя не помогает, из-за того что отрисовка вложенных TGraphicControl-ов происходит уже после прорисовки родителя в буфере.


Обычно остается только одно — смириться с мерцанием, и максимально упростить отрисовку для минимизации эффекта, или использовать по возможности исключительно TWinControl-ы, что не всегда возможно и удобно.


Однажды намучившись с мерцанием, я не выдержал и решил решить эту проблему, раз и навсегда!


Как мне удалось решить проблему?

Читать дальше →
Total votes 55: ↑51 and ↓4+47
Comments181

Средства консоли Chrome, которыми вы, возможно, никогда не пользовались

Reading time7 min
Views52K
Консоль инструментов разработчика Chrome — это, вероятно, одно из самых широко используемых и самых полезных специализированных средств браузера. Консоль даёт программисту множество интересных возможностей. Она помогает в отладке, профилировании и мониторинге кода страниц.



Материал, перевод которого мы сегодня публикуем, посвящён рассказу о некоторых возможностях консоли Chrome, которые известны не так широко, как они того заслуживают.
Читать дальше →
Total votes 94: ↑94 and ↓0+94
Comments27

Огромный открытый датасет русской речи версия 1.0

Reading time2 min
Views18K

image


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


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

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

Как не нужно составлять согласие на обработку персональных данных

Reading time5 min
Views71K
И какие согласия не стоит подписывать.



Доброго времени суток, Хабр!

Эта статья родилась совершенно спонтанно из такой вот истории.

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

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

Под катом разберемся, что с согласием не так и почему оно незаконно.
Читать дальше →
Total votes 123: ↑121 and ↓2+119
Comments115

Ускорение поиска сцен в видео с помощью табличного представления

Reading time5 min
Views4.2K

Что такое табличное представление видео?


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

image
Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments11

Быстрое обнаружение контуров в 4К видео: цвет и сложные формы

Reading time3 min
Views2K
В предыдущей части «Тренировочные наборы из видео — быстро и качественно» речь шла о сложности применения нейронных сетей для любой задачи, связанной с редкими, необычными или попросту сложными объектами. Обязательно посмотрите примеры, они того стоят.


Классические алгоритмы компьютерного зрения, как оказалось, могут сильно помочь с получением качественных тренировочных наборов. Естественно, такой подход применим не во всех случаях, с чем и необходимо разобраться.
Total votes 10: ↑6 and ↓4+2
Comments5

Камеры глубины — тихая революция (когда роботы будут видеть) Часть 2

Reading time15 min
Views33K


В первой части этого текста мы рассмотрели камеры глубины на основе структурного света и измерения round-trip задержки света, в которых в основном применяется инфракрасная подсветка. Они отлично работают в помещениях на расстояниях от 10 сантиметров до 10 метров, а главное — весьма дешевы. Отсюда массовая волна их текущего применения в смартфонах. Но… Как только мы выходим на улицу, солнце даже сквозь облака засвечивает инфракрасную подсветку и их работа резко ухудшается. 

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


Источник: Innoviz Envisions Mass Produced Self-Driving Cars With Solid State LiDAR

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

Кому интересно — добро пожаловать под кат!
Читать дальше →
Total votes 87: ↑87 and ↓0+87
Comments59

Перевод SDL Game Framework Series. Часть 1 — SDL Tutorial Basics

Reading time10 min
Views63K
Я поискал по хабру перевод уроков с этого сайта, но нашлось только одно упоминание, да и то — в комментариях:



Потому и решил исправить положение, попытался дополнить и разнообразить примеры своими наработками, а заодно попрактиковался в переводе. Также, поскольку моей любимой ОС сначала была WinXP а теперь Ubuntu, постараюсь сделать кроссплатформенные примеры, захватив как можно больше нюансов настройки для этих платформ. В данной серии уроков рассматривается создание фрэймфорка, достаточного для начала разработки 2D игр.
Что из этого получилось
можно посмотреть под катом
Total votes 31: ↑27 and ↓4+23
Comments17

Чат-бот для Вконтакте на ASP.NET Core C#

Reading time5 min
Views61K

В данной статье представлен пошаговый пример создания простого чат-бота в социальной сети VK на ASP.NET Core C#.


Глава 1. Подготовка


Начнем с создания и настройки сообщества.


Читать дальше →
Total votes 38: ↑36 and ↓2+34
Comments11

Вы знаете кило, мега и гига. Как насчёт ронна и куэкка?

Reading time3 min
Views16K

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

Предложение, поданное в Международное Бюро Мер и Весов (BIPM) в Париже, рекомендует новые названия – ронна и куэкка – в качестве префиксов 1027 и 1030 соответственно. К ним присоединятся их микроскопические коллеги, ронто – 10-27, и куэкто – 10-30. В случае одобрения новые префиксы могут быть официально введены в 2022 году. Это будут первые префиксы, добавленные с 1991 года.
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments34

42 оператора расширенного поиска Google (полный список)

Reading time15 min
Views278K
Те, кто давно занимается поисковой оптимизацией, хорошо знают об операторах расширенного поиска Google. Например, почти все знают об операторе site:, который ограничивает поисковую выдачу одним сайтом.

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

В этой статье я поделюсь советами, которые помогут освоить поисковые операторы для 15 конкретных задач.
Читать дальше →
Total votes 127: ↑124 and ↓3+121
Comments40

Так устроен поиск заимствований в Антиплагиате

Reading time11 min
Views41K
Мы уже рассказывали вам об интересных статистиках текстов, делали обзор статей применений автокодировщиков в анализе текстов, удивляли нашими свежими алгоритмами поиска переводных заимствований и парафраза. Я решил продолжить нашу корпоративную традицию и, во-первых, начать статью с «Т», а во-вторых, рассказать:

  • как быстро найти абзац текста среди сотен миллионов статей;
  • во что превращается документ после загрузки в систему Антиплагиат, и что с этим делать дальше;
  • как формируется отчет, который почти никто не смотрит, а стоило бы;
  • как проиндексировать не все, но достаточно.


Антиплагиат в естественной среде, полетели
Total votes 29: ↑28 and ↓1+27
Comments31

Information

Rating
Does not participate
Location
Чебоксары, Чувашия, Россия
Date of birth
Registered
Activity