В этой статье я подключу в проект внешний файловый сервер https://min.io и напишу дополнительные бэкенд и фронтенд модули для интеграции с ним.
Читать далееВыбрали четыре, на наш взгляд, лучших бесплатных систем управления контентом (CMS) для интернет-магазина.
У всех CMS из нашего списка:
Понятные функции и интерфейс — в большинстве CMS не нужны глубокие знания программирования, разберется даже начинающий. В открытом доступе к каждой CMS есть документация и гайды по настройке.
Настройка за счет плагинов. Можно дополнить каждую CMS плагинами — дополнениями, которые устанавливаются поверх основного приложения и расширяют его возможности. Например, с помощью плагинов можно подключить к сайту сервис курьерской доставки или мессенджеры для общения с клиентами.
Открытый исходный код — можно доработать CMS под задачи проекта.
Что и почему выбралиПривет Хабр! Меня зовут Татьяна Ошуркова, я разработчик, аналитик и автор телеграм-канала IT Talks. В продолжение к одной из моих предыдущих статье по user stories, где я подробно рассказала про различные техники работы с пользовательскими историями, в этой статье я разберу семь разных методик к проработке и уточнению пользовательских историй: INVEST, MoSCoW, DEEP, 3Cs, SMART, Kano Model и RICE.
Читать далееПривет, друзья! Сегодня рассмотрим реализацию паттерна «Строитель» в Java. Паттерн может превратить необъятный хаос параметров в аккуратную и управляемую конструкцию. И всё это на примере наших пушистых друзей — котиков.
Читать далееКогда дизайнер проектирует что-то сложнее посадочной страницы, возникает необходимость в разных состояниях экранов. Чаще всего дизайнеры получают одни и те же правки: «Тут нужен лоадер» или «Как выглядит ошибка?». Полный набор состояний никогда не появляется без пинка аналитика.
Годами я наблюдаю бессмысленный пинг-понг. Дизайнер рисует экран и ждёт ревью. Аналитик через пол дня открывает ссылку и просит дорисовать состояние загрузки. Задачка висит в статусе «ин-прогресс» и не уходит в разработку. Сроки растягиваются, релизы переносится.
Сегодня разберёмся с запросами и состояниями экрана раз и навсегда. На примере ресторана узнаем, как приложение общается с сервером и как процессы на бэкенде влияют на интерфейс. Чек-лист по отрисовке всех состояний экрана ждёт вас в конце статьи.
Получить чек-листПродолжаем истории быдлокодера, который пытается стать миллионером. В данном тексте вас ждет новое слово в науке и технике, а также очередные поучительные истории внедрения инженерного софта в суровых условиях зоны рискованного земледелия среднерусской возвышенности и солнечного ковбойского штата Техас.
Этот текст у меня родился после посещения конференции, где наш заказчик (внезапно для нас) рассказал, как он с помощью нашей библиотеки моделирования теплогидравлических систем и библиотеки нейронных сетей обрабатывает данные, полученные с летательных аппаратов, используя 1D математическую модель системы кондиционирования воздуха.
Читать далееПривет, Хабр! Язык запросов DAX популярен и эффективен для построения дашбордов в Business Intelligence, и за счет свой функциональной природы DAX в чем-то ближе к реляционной алгебре, по сравнению с SQL. Особенности DAX удобно рассмотреть на основе примеров DAX-запросов, переведенных на реляционную алгебру. В частности, использование ALL в итераторе SUMX в рамках наиболее популярной DAX функции SUMMARIZECOLUMNS позволяет рассмотреть некоторые нюансы DAX. Если интересно описание ALL в DAX с точки зрения реляционной алгебры — добро пожаловать под кат! :)
Читать далееКогда закончил писать механизм своего торгового робота обнаружил, что самое главное всё таки не сам механизм, а стратегия, по которой этот механизм будет работать.
Первый тесты на истории показали что с доходностью и тем более с тем как доходность портфеля компенсирует принимаемый риск (коэффициент Шарпа) проблемы, но неудачный опыт тоже опыт, поэтому решил описать его в статье.
Первый и самый важный вопрос - при помощи чего проводить тесты торговой стратегии на исторических данных? В какой программе или при помощи какой библиотеки создавать стратегию и потом прогонять её на истории?
Раз мой торговый робот создан в среде исполнения JavaScript Node.js, то и тесты в идеале должны проводится на чём-то схожем. Но забегая немного вперёд скажу что получилось по другому - Python пришёл на помощь.
Разбираюсь и ищуНовый цикл статей, посвящённый процессору и памяти хронологически второй и, вероятно, самой неудачной машины Единой системы — ЕС-1030.
Читать далее Итак, спонсор сегодняшнего выпуска — чёртова ангина. Поскольку ничего умного голова делать не может, а руки делать что‑то точное отказываются — на арене нашего цирка очередная велосипедная чушь. А поскольку я сейчас тормоз — речь тоже сейчас буду вести о себе подобных.
Хорошо, когда у тормозных колодок большой ход! Даже после не самых удачных приземлений ничего не начинает затирать и не требует срочно ловить миллиметры в условиях нанотехнологической мастерской, которые так часто встречаются в лесах. Но большой ход означает большое плечо рычага. А большое плечо рычага означает, что для их сжатия потребуется сверхчеловеческое усилие на ручке. Нет, хорошо, когда у тормозных колодок маленький ход! Вот, например, дисковые тормоза... гидравлика... погнутые ди... ой, стоп, это уже лишнее. Что ж делать‑то?
Попробуем сделать большой ход, чтобы нам было всё равно, что уж там у нас потеряло заводскую форму после «уборки» в какой‑нибудь пень — ну, а усилие прижима колодок возьмём, собственно, от момента вращения колеса, а не чисто от ручки тормоза.
Здравствуй, Хабр!
С момента написания первой части о приключении студентов-ракетчиков прошло 2 года. Проект «простой ракеты на ЖРД» завершился, автор выпустился и пошел работать на одно из предприятий ракетно-космической отрасли. Пришло время рассказать о всем, что произошло, всех ошибках, радостях и достижениях, на которые наткнулся данный проект аж за 4 года работы! (обещаем, что не надо будет ждать очередные 2 года до следующей статьи)
Сегодня - о расчетах!
Читаем!Изучение истории помогает понять, как формировались текущие концепции, как появлялись какие‑то решения, в чем была разница в культурных подходах различных стран.
Рассуждения Э. Дейкстры о роли программирования, научного подхода и этики дают пищу для размышлений, которые актуальны даже в наши дни.
Истории первых программистов демонстрируют, что компьютерные науки развивались в условиях большой неопределённости. Что может мотивировать современных инженеров в широком смысле слова, быть изобретательными и открытыми к новому.
Поэтому я решила проанализировать интервью 2021 года Ф. Франы с Э. Дейкстрой (ссылки на источники в конце). Это позволяет не только раскрыть мысли героя интервью, но и напомнить о начале истории программирования, почему оно получилось таким, а не другим.
Читать далееО радиации я уже писал. Про то, как не подорваться на конденсаторе или аккумуляторе — тоже. Осталось написать о том, как не отравиться.
В составе электронных устройств присутствуют элементы буквально всей таблицы Менделеева и самые разнообразные химические соединения. Неудивительно, что некоторые из них опасны для здоровья, а часть из них — опасны серьезно. В этой статье я хочу рассмотреть основные токсичные вещества, содержащиеся в электронных устройствах и технику безопасности обращения с ними.
Читать далееЕсли вы стоите перед выбором между PostgreSQL и Oracle DB, то эта статья для вас. Разберем где PostgreSQL побеждает Oracle. Будет код и примеры — всё, что нужно для практического сравнения.
P.S: эта статья не про то, какой PSQL хороший в отличии от Oracle, а про то, в чем PSQL по мнению автора лучше.
Читать далееВсем привет!
Поговорим про геолокацию и геокодирование, я даже немного удивлен, что на хабре про это ни слова.
Но сначала немного предыстории.
Лет 10 назад мне нужно было найти одну организацию в Праге и у меня был адрес. Прибыв туда я увидел огромное(по площади) старое здание с кучей входов, никак не обозначенных. Я два раза обходил его, пока не нашел нужно место. И тогда я задумался о чем то более точном чем адрес, но более удобном к запоминанию и использованию, чем пара координат(широта и долгота).
Я перелопатил кучу возможных решений вроде "what three words", но все это не достаточно подходило.
Хотелось бы(в том числе) и чтобы глядя на закодированное место и текущее местоположение можно было понять в какую сторону идти. В общем я начал думать над собственным решением по кодированию координат. Крутил кучу мыслей, но спустя какое-то время наткнулся на проект, который делал работник швейцарского Гугла(у дураков мысли схожи), который делал именно то, что мне было нужно(с некоторыми допущениями). Называлась она Plus Codes.
Теперь, спустя года, заходя на Гугл карты, вы можете видеть в том числе и подобные метки(HFVQ+M3 Бенальмадена, Испания).
Они просты к записи, использованию и легко узнаваемы(когда я думал над собственным решением, мне хотелось какой-то символ, который бы обозначал координаты) благодаря плюсу внутри.
Штука эта хорошая, но плохо ложиться на российские реалии из-за латиницы, подумал я спустя несколько лет и форкнул репозиторий с намерением поменять алфавит на общеприменимый. Символы, используемые в Rus Codes были выбраны так, чтобы их можно было использовать как людям, использующим латинский алфавит, так и использующим кириллицу, а так же уменьшить вероятность ошибки при написании(ноль и О исключить например).
Читать далееПривет, Хабр! Сегодня быстро разберём, как разные СУБД справляются с геоданными. Вопрос простой: если нужно работать с координатами, полигонами, считать расстояния — какая база справится лучше? В сравнение пойдут PostgreSQL (с его крутым PostGIS), MySQL, Oracle, SQL Server и MongoDB.
Читать далееБудучи постоянным автором издания "Элементы", недавно получил заказ на статью о Нобелевской премии за открытие микроРНК, вручённой этой осенью. Писал статью с особенным чувством — ведь в истории микроРНК есть параллели с моим биоинформатическим проектом по совсем другой тематике — но тоже связанным с происхождением многоклеточности.
Дело в том, что значимость открытия микроРНК определяется не их медицинским применением (его так пока толком и не придумали). МикроРНК — это история про то, что делало и делает наш мир многоклеточным. Потому что у одноклеточных эукариот этих микроРНК — кот наплакал. Экспансия микроРНК в геноме, резкий рост их числа обычно совпадали с появлением многоклеточности — а таких случаев, как мои подписчики наверняка уже знают, было более 20 во всём живом мире.
МикроРНК довольно мало меняются в ходе эволюции. И, хоть они короткие, методы биоинформатики вполне позволяют отследить их эволюцию. МикроРНК возникали не только на заре развития зелёных растений и животных. Ими обзаводились бурые водоросли. Их обретали разные группы слизевиков — с их-то простой агрегативной многоклеточностью, обречённой на эволюционный тупик в плане сложности! И каждый раз к идее микроРНК они приходили независимо. Конвергентно. Все многоклеточные эукариоты.
Сам по себе этот факт удивляет и, видимо, он ещё ждёт своего детального объяснения. Да и вдумайтесь только — фактически, Нобелевка за микроРНК — это Нобелевка за механизмы многоклеточности.
Но есть и другой удивительный факт. Похожий паттерн наблюдается в случае со многими сигнальными веществами, с помощью которых клетки общаются между собой. Например, у простагландинов и лейкотриенов — веществ, запускающих боль и воспаление в нашем организме — также есть аналоги почти у всех многоклеточных эукариот... и даже многоклеточных прокариот типа цианобактерий и миксобактерий. Если до микроРНК — по крайней мере, в их классическом воплощении — додумались только эукариоты, то до оксилипинов (так называется эта группа химических веществ) первыми, по-видимому, додумались ещё цианобактерии, когда опробовали первую в истории Земли многоклеточность. Это было примерно во время Кислородной катастрофы. Ну то есть парочку миллиардов лет назад.
Читать далееПрошел месяц, даже чуть больше, а в целом близиться конец года, в моих фантазиях было желание к этому времени сделать целую альфу. Но за весь год поменял три концепции игры.
Читать далееВ последнее время можно видеть тенденцию в разрыве научного и философского мировоззрения. Даже значительные ученые высказывают мнение о бесполезности философии для современной науки, забывая о том, что сам научный подход бы предложен философией. Стивен Хокинг в своей книге «Краткая история времени» пишет о том, что в современном мире физики так продвинулись в понимании природы пространства и времени, что философия, которая традиционно рассматривала эти вопросы стала не актуальной. Стереотипным мнением так же является то, что математика является исключительно строго логической дисциплиной и развивается строго последовательно. Наша задача показать, что это не так и показать, что математика и философия всегда двигались вместе.
Философию зачастую определяют как историю идей. Математика всегда была частью философии. Считается, что Пифагор ввел понятие «философия», а основой философии самого Пифагора была мысль, что числа — мера всего. Платон считал математику единственной подлинной наукой в силу ее четкой определенности, которая оперирует с незыблемым и неподвижным миром идей. Важной частью метафизики Аристотеля так же являются абстракции, которые всегда относили к математическими. Такое как целое и части, множества, целые и непрерывные величины.
Крупные математические прорывы в основе своей несли прежде всего философский смысл. Уже в арифметике мы сталкиваемся с таким философским понятием, как бесконечность. Еще Аристотель в «Физике» отмечал то, что хотя натуральный счет в математике корректно отображает физический счет предметов, в физическом мире понятие бесконечности теряет смысл. Так же сложной философской проблемой является понятие точки, которая ни имеет размера. Не имея физического аналога базовое математическое понятие, тем не менее корректно описывает физический мир на языке геометрии.
Читать далееВ Godot 4.3 было добавлено три класса наследующих AudioStream: AudioStreamInteractive, AudioStreamPlaylist и AudioStreamSynchronized. Сейчас нам интересен класс AudioStreamInteractive, который позволит нам сделать нашу музыку динамической.
Динамическая (адаптивная) музыка — это музыка, ритм или тон которой меняется в зависимости от текущих действий в игре.
Проще говоря, если, например, в игре вокруг спокойствие, рядом никого нет, игрок в безопасности, то на фоне играет спокойная мелодия, но стоит появиться какому-нибудь монстру в поле зрения игрока, как тут же спокойная мелодия дополняется новыми элементами, тем самым превращаясь в боевую.
Читать далее