Pull to refresh
2
0
Send message

О ненадежных рассказчиках, апокрифистике и нестандартном взгляде на «Вархаммер»

Level of difficultyEasy
Reading time7 min
Views6.9K

Представь, читатель, что ты родился в мире «Вархаммера 40к», где-нибудь на самом дне города-улья, которое никогда не покидал. Всё детство ты слушал проповеди о Боге-Императоре и его сыновьях-полубогах, о сорокатысячелетней истории человеческой цивилизации, об Империуме, простирающем свою власть над всей галактикой; об опасностях Варпа и жутких демонах, таящихся в нем, о злобных и безумных демонопоклонниках, предавших человечество; а самыми любимыми твоими историями были рассказы про Ангелов Смерти: сверхлюдей, что несут в себе частичку Его замысла и стоят на страже Империума, сокрушая чужаков и демонов...

Читать далее

ChatGPT и Gemini не могут справиться даже с простой математической задачкой на логику

Level of difficultyEasy
Reading time5 min
Views46K

Сегодня увидел на репетиторском канале простенькую задачку на логику. И решил попробовать скормить ее ChatGPT и Gemini. Просто интереса ради. Вспомнил, что когда вышла ChatGPT 4-o в демках показывали, как она якобы может заменить учителей.

Читать далее

Как написать ТЗ на простую программу (калькулятор)

Level of difficultyEasy
Reading time11 min
Views14K

Рассмотрим, как может выглядеть работа по созданию ТЗ на несложную программу.

Возьмём калькулятор, который будет выполнять базовые арифметические операции (+, -, *, /).

Работу можно построить в 2 этапа:

Читать далее

PostgreSQL — особенности работы с памятью для 1С-систем. Часть 1

Level of difficultyMedium
Reading time14 min
Views14K

Этой статьей мы начинаем цикл, посвященный различным настройкам по оперативной памяти в PostgreSQL. Тема непростая, даже сложная. Понятной информации по ней крайне мало (по состоянию на октябрь 2024). Поэтому будем разбираться, шаг за шагом, вдумчиво и, как принято у нас в блоге, подкреплять все выводы исследованиями и картиной из программы мониторинга PERFEXPERT (версия для PG).

Читать далее

Проблема неактивной кнопки отправки формы

Reading time3 min
Views13K

Недавно попалась мне на глаза рекомендация от коллег из Яндекса. Они делали аудит рекламы одного из моих клиентов и заодно дали советы по сайту. Меня как ux-дизайнера удивили несколько из этих советов, сегодня расскажу об одном:

«Рекомендуем сделать кнопку отправки формы не активной до тех пор, пока пользователь не заполнит все обязательные поля».

Сразу хочется спросить: «Зачем?»

Давайте попробуем сравнить два сценария.

Читать далее

Как нарисовать квадрат 3 × 3 см на веб-странице*

Reading time5 min
Views30K

* Не привлекая внимания санитаров

Меня зовут Илья, я занимаюсь фронтенд-разработкой вот уже 10 лет. Представьте, что вам нужно сделать стили для печати документов, а бегать к принтеру с линейкой, чтобы убедиться в корректности фактических размеров отдельных элементов, очень не хочется. Было бы куда проще иметь возможность приложить ту же линейку к экрану. Но размеры элементов на экране почти всегда не соответствуют их физическим размерам при печати. Казалось бы, зачем это вообще может быть кому-то нужно. Но это бывает важно. Например, в типографиях.

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

Что ж, вызов был брошен. И я поставил себе задачу (вы же тоже сами ставите себе задачи?) — нарисовать красивый красный квадратик размером 3 × 3 см. Тому, что у меня в итоге получилось, и посвящён мой необычный рассказ. 

Читать далее

Пишем приложение на C#-стеке

Level of difficultyMedium
Reading time10 min
Views13K

Всем привет! Меня зовут Дмитрий Бахтенков, и я .NET-разработчик. Сегодня мы проведем эксперимент — напишем полноценное веб-приложение с использованием решений, которые написаны на C# и платформе .NET. Больше моих статей можно прочитать в медиа вАЙТИ.

Что я имею в виду?

Как мы знаем, в общем случае веб-приложение состоит из бэкенда, фронтенда, базы данных и иногда из кеша. С бэкендом и фронтендом всё понятно: у нас есть замечательный фреймворк ASP.NET Core для сервера и blazor или razor pages для клиента. Однако инфраструктурные части приложения — БД, кеши — чаще всего пишутся на других, более низкоуровневых языках, таких как C и C++.

К счастью, недавно Microsoft выпустила решение для кеширования — аналог Redis, который называется Garnet. В качестве основной базы данных можно использовать документную БД RavenDB, которая как раз написана на C#.

Читать далее

Пара тупых ответов про эволюцию

Reading time9 min
Views66K


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

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

Крыло работает только тогда, когда целое. Половина крыла не даёт оторваться от земли.

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

Ну или вот хвост павлина. Как можно развить такую длинную бесполезную штуку, которая люто нравится хищникам? Разве не должны были выжившие павлины стать ловкими и короткохвостыми?

Свои ответы я получил уже довольно поздно, но помню, как был рад их услышать. И наблюдая за идущим сейчас холиваром про теорию Дарвина, вижу много людей, которые задают те же самые вопросы.
Читать дальше →

BPMN 2.0 универсальный подход при построении диаграмм

Level of difficultyEasy
Reading time6 min
Views33K

Я написал этот гайд для использования аналитиками в компании (мы интегратор решений 1С в медицине), как настольная шпаргалка и некий базовый «стандарт унификации» формируемых диаграмм данного типа.

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

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

Читать далее

Подробно про JWT

Level of difficultyMedium
Reading time6 min
Views49K

О чем эта статья: мы разберемся, что такое JSON Web Token, как он устроен и для чего используется, рассмотрим такие приемы, как «black-list токенов» и «контроль версий» токенов. Для наглядности, в конце будут блок-схемы клиент-серверных запросов с пояснениями.

Для кого эта статья: для тех, кто хочет детально понять что такое JWT, а так же для тех, кто просто ищет схему реализации.

Читать далее

Хватит использовать Telegram для работы: Выбираю лучший профессиональный мессенджер

Reading time11 min
Views83K

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

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

На всякий случай отмечу, что идея этой статьи родилась за пару недель до ареста Павла Дурова и никак не связана с этим ужасным случаем.

#freedurov

Тест на жизнь и нежизнь

Level of difficultyEasy
Reading time5 min
Views3.4K

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

В новой книге «Жизнь, какой её никто не знает: физика возникновения жизни», вышедшей 6 августа, Сара Уолкер, физик из Университета штата Аризона, предлагает теорию, которая, по её мнению и мнению её коллег, способна придать жизни смысл. «Теория сборки», как они её называют, рассматривает всё во Вселенной с точки зрения того, как оно было собрано из более мелких частей. Жизнь, утверждают учёные, возникает, когда Вселенная находит способ создавать исключительно сложные вещи.

Читать далее

Чистая Windows и разработка «без всего»

Level of difficultyHard
Reading time11 min
Views23K

Есть компьютер с чистой копией Windows, без доступа в интернет и без каких‑либо установленных средств разработки. Только одна чистая пользовательская «венда». Не поверите, но даже в таких спартанских условиях возможно написать и запустить полноценную программу. И сейчас я расскажу как.

Читать далее

Сравнение технологий для написания оконных приложений

Level of difficultyMedium
Reading time9 min
Views16K

Как-то раз в одном чате прозвучала идея сравнить разные технологии для написания оконных приложений. В частности, под Windows. Используя средства языка C#. То есть, конечно, можно это сделать и с помощью C++, Python, Rust, JS и других языков, но мы же шарписты, нам интереснее именно то, что мы можем сами использовать, не меняя язык программирования.

Итак, оконные приложения на C#.

Читать далее

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

Level of difficultyEasy
Reading time10 min
Views54K

Недавно в комментариях к тексту про построение личной базы знаний на Хабре читатель отметил, что в таких статьях не хватает примеров работы с техническими данными. Давайте это исправим. Мы спросили у инженеров YADRO и технарей из сообщества «Цеттелькастен и Персональные базы знаний», как и для чего они ведут свои заметки.  Герои статьи используют Obsidian и Emacs, а также личные Telegram-каналы, чтобы изучать новые языки программирования, проходить технические собеседования и вести рабочие записи.

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

Читать далее

4 тысячи заметок?! Как я веду личную базу знаний в Obsidian

Reading time6 min
Views72K

В моей базе знаний 4 000 заметок.

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

Читать далее

Кроссплатформенный фреймворк FireMonkey, Delphi

Level of difficultyEasy
Reading time6 min
Views7.6K

В этой статье я покажу, что из себя представляет фреймворк FireMonkey, на что он способен и в чем его основная идея. Подробно рассматривать технические отличия от VCL не буду, но некоторых вещей обязательно коснусь. Прошу не судить строго за статью, я постараюсь следить за ошибками в тексте и постараюсь донести свою мысль. Также, знаю, как сейчас относятся к Delphi, но тем не менее статья именно о нём. И первым делом, хотелось бы немного об этом поговорить. 

Ну, говори

Асинхронный телеграм бот на bash, глазами C# программиста

Reading time7 min
Views5.1K

В интернете много статей о том, как создавать простых bash-телеграм ботов. Часто это сводиться к вечному циклу, который раз в несколько секунд дергает tg-api. А что, если у меня хотелок больше чем может предоставить такое решение?

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

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

Читать далее

Моржовый оператор := в Python

Level of difficultyEasy
Reading time9 min
Views40K

Python постоянно развивается: с каждой новой версией появляются различные оптимизации, активно внедряются новые инструменты. Так, в Python 3.8 появился моржовый оператор (:=), который стал причиной бурных споров в сообществе. О нем и пойдет речь в этой статье.

А начнем мы с истории о том, как моржовый оператор довел Гвидо ван Россума, создателя Python, до ухода с должности "великодушного пожизненного диктатора" проекта по разработке языка.

Читать далее

Пишем за неделю 3D-редактор на C

Level of difficultyMedium
Reading time6 min
Views11K
Прошлой осенью я участвовал в недельном мероприятии по программированию Wheel Reinvention Jam. Смысл этого джема заключается в том, чтобы взглянуть по-новому на уже существующие программные системы. Я написал для него 3D-редактор под названием ShapeUp. Пост будет понятнее, если вы сначала посмотрите видео-демо ShapeUp. Можно попробовать ShapeUp в браузере.

Вот, как он выглядит:

Майк Вазовски!

3D-редактор


Я ненавижу тормознутость компилятора Typescript (поверьте, это относится к теме статьи). Джем показался мне подходящей возможностью реализовать более быстрое подмножество Typescript, обгоняющее по скорости tsc. Мне показалось, что проект можно реализовать, если начать с парсера Typescript esbuild or Bun. Но потом ко мне пришло понимание, что успешный результат будет выглядеть как команда терминала, выполняющая работу быстрее другой. Не особо впечатляюще в качестве демо. Мне хотелось создать крутое демо, поэтому я выбрал 3D.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity