Pull to refresh
1
0.7

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

Send message

Актуально ли сегодня ООП?

Level of difficulty Medium
Reading time 11 min
Views 40K

Почти каждый день возникают дискуссии с критикой или восхвалением объектно-ориентированного программирования. «Java устарела!», «Java потрясающая!». В этой статье я проведу прагматичное исследование ООП на 2024 год.

Термин объектно-ориентированное программирование придумал Алан Кэй. Кэй был членом команды PARC, которая изобрела графический интерфейс пользователя, сделавший таким полезным современный Интернет, персональные компьютеры, планшеты и смартфоны. Ещё она изобрела некоторые из объектно-ориентированных языков, на которых мы сегодня реализуем эти GUI.

Если отсечь все эмоции, связанные с ООП, то что останется? По-прежнему ли ООП является эффективным инструментом разработки ПО, или оно превратилось в устаревшее увлечение? Профессионалам важно знать ответ на этот вопрос!
Читать дальше →
Total votes 89: ↑71 and ↓18 +53
Comments 137

Безопасная параллельная разработка. Istio

Level of difficulty Medium
Reading time 6 min
Views 3.9K

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

Мобильный банк сейчас обслуживает 450+ микриков. Над которыми работают более 90 команд. Так как у нас в проекте нет code ownership, то каждая команда вносит изменения в нужные им микрики. Чтобы избежать различного рода сложностей, которые приводят к увеличению времени time to market, нужно было развести разработку отдельных команд так, чтобы они не влияли друг на друга и могли работать параллельно.

Читать далее
Total votes 15: ↑14 and ↓1 +13
Comments 7

Отдаем рутину нейро-руководителю: ежедневный репост новостей в Telegram канал

Level of difficulty Easy
Reading time 4 min
Views 1.8K

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

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

Ложь по спасение в попытке доказать, что клиент мамонт или как Тинькофф врет и ЦБ РФ и суду

Level of difficulty Easy
Reading time 1 min
Views 47K

Получил тут возражения Тинькофф по суду и мягко сказать офигел от глупости и наглой лжи Тинькофф.

Так ЦБ РФ Тинькофф пишет

Читать далее
Total votes 171: ↑152 and ↓19 +133
Comments 337

Обмани меня, если сможешь

Level of difficulty Easy
Reading time 13 min
Views 9.4K

Первый игровой автомат Atari Pong, был выпущен в 1972 году. Это игра для двух игроков, основанная на настольном теннисе, где каждый игрок управляет ракеткой и должен отбить мяч на другую сторону. Если игрок промахивается, соперник набирает очки. Первый кто наберет 11 очков становится победителем. Kent Steven в своей книге "The Ultimate History of Video Games" (Вся история видеоигр) описывает, что проект был отдан инженеру Aлану Алькорну (Alan Alcorn), который до этого не занимался играми и игровыми автоматами. Учитывая, что в кармане основателя Atari было немногим больше 500$, и привлечь опытных разработчиков для работы над неизвестным проектом шансы были минимальные, то Нолан Бушелл представил это как выполнение контракта для General Electric.

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

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

Давайте разберем к каким уловкам прибегают игры, чтобы играть было интересно.

Осторожно, много картинок
Total votes 26: ↑24 and ↓2 +22
Comments 15

Костыли из 90-х и принцип HTML First

Level of difficulty Medium
Reading time 7 min
Views 13K

Кадр из презентации Frontmania 2022: Kilian Valkhof — Stop using JavaScript for that

Недавно на Хабре публиковался перевод статьи «Вам не нужен для этого JavaScript» с примерами, где код JS легко заменить на HTML.

На самом деле возврат к основам HTML, простым сайтам и читаемому коду без сложных фреймворков — довольно популярная идея. Сейчас всё больше сайтов создаётся по принципу HTML First.
Читать дальше →
Total votes 84: ↑80 and ↓4 +76
Comments 37

Новинки КОМПАС-3D v22 Home

Level of difficulty Medium
Reading time 22 min
Views 13K

В начале сентября мы выпустили новую версию системы КОМПАС-3D Home для любительского 3D-моделирования и домашнего использования. Мейкерам, умельцам, 3D-печатникам, домашним мастерам и блогерам доступны все возможности профессиональной САПР.

Что же нового появилось в КОМПАС-3D v22 Home?

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

Маркетплейс или облачный интегратор: дилемма “одного окна” в корпоративных ИТ

Level of difficulty Medium
Reading time 8 min
Views 1K

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

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

Групповые P2P-чаты и первый мессенджер без ID

Reading time 3 min
Views 8.9K

Схема маршрутизации по протоколу SimpleX Messaging Protocol (SMP) напоминает луковую маршрутизацию

Недавно в списке защищённых мессенджеров появилось несколько интересных разработок. Среди них первый распределённый групповой P2P-чат Quiet и первый мессенджер без использования идентификаторов пользователей SimpleX, о котором уже упоминали на Хабре.
Читать дальше →
Total votes 23: ↑23 and ↓0 +23
Comments 21

Прощайте, базы данных, да здравствуют векторные базы данных

Level of difficulty Easy
Reading time 11 min
Views 62K

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

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

Читать далее
Total votes 53: ↑51 and ↓2 +49
Comments 55

Лаборатория-мастерская в деревне. Малыми средствами, своими руками, с самого начала

Level of difficulty Medium
Reading time 7 min
Views 22K

Квартирный вопрос, испортивший, как всем известно, людей нашего времени, тем не менее решается. И решается куда как проще на некотором удалении от столиц и крупных городов, а в глуши и вовсе зачастую приходится только набраться решимости и закатать рукава… Речь пойдёт о строительстве небольшого приусадебного всепогодного и всесезонного помещения в основном для некрупного настольного технического творчества. Строительство при этом велось весьма невеликими средствами, в одиночку, без применения строительной техники и почти без использования наёмной рабочей силы. С другой стороны, и публика мы непривередливая и некапризная.
Читать дальше →
Total votes 195: ↑194 and ↓1 +193
Comments 144

«Лицензии должны быть по запросу!»: поднимаем сервер лицензирования 1С в облаке

Reading time 9 min
Views 3K

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

Чтобы минимизировать подобные риски, необходимо централизовать хранение и выдачу программных клиентских и серверных лицензий 1С. Это можно сделать, разместив их на отдельной машине — сервере лицензирования. Под катом разбирается, как это сделать.
Читать дальше →
Total votes 41: ↑40 and ↓1 +39
Comments 8

Вышел LibreOffice 24.2: что нового и что это за версия такая? Подробности о релизе

Reading time 4 min
Views 27K

Разработчики офисного пакета LibreOffice представили новую версию. Сразу стоит сказать, что в заголовке не опечатка и не ошибка (ну, вдруг, вы не знаете) — это просто новая нумерация версия. Она привязывается к датам, отображая как год, так и месяц формирования релиза. Соответственно, поскольку новинка появилась в феврале 2024 года, то и нумерация такая. Но кроме этого, у пакета есть еще немало нововведений и изменений. Подробности — под катом.
Читать дальше →
Total votes 59: ↑59 and ↓0 +59
Comments 33

Как мошенники научились подтверждать личность в банке. Всё оказалось проще…

Reading time 5 min
Views 153K

Наступил 2024 год. Год технологий и новых мошеннических схем!

25 января

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

Читать далее
Total votes 313: ↑306 and ↓7 +299
Comments 788

Каскадное шифрование редуцированным алгоритмом RSA

Level of difficulty Medium
Reading time 4 min
Views 3.1K

Данная публикация была написана в результате применения общей идеи каскадирования, взятой из радиотехники, к широко известному теоретико-числовому алгоритму RSA, но, правда, в его облегченном (редуцированном) виде. Облегчение RSA компенсируется идеей каскадирования. Таким образом возник вариант методики улучшения криптостойкости RSA в противовес классическому удлинению ключа.

Для предварительных исследований использовались возможности встроенной Big Integer арифметики языка Python, а также функция factorint(.) библиотеки SymPy, позволяющая раскладывать числа на простые множители

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

Хитросплетения орбит или как сосуществовать с Круитни

Reading time 10 min
Views 4.7K

Как известно, Луна по меркам Земли — огромный естественный спутник. Из всех других планет земной группы только у Марса есть два крошечных спутника Фобос и Деймос, и это обычные астероиды, подхваченные Марсом. Однако в окрестностях Земли с условным радиусом 200 миллионов километров (1,3 астрономические единицы, а.е.) находится перигелий множества околоземных объектов — астероидов и глыб — которые могут входить с Землёй в орбитальный резонанс и на сотни лет превращаться в естественные спутники нашей планеты. Целенаправленный поиск таких объектов ведётся с середины XIX века, многие «находки» оказывались сомнительными или мнимыми. Но два квазиспутника Земли заслуживают более подробного описания. Это Круитни и Камоалева, о которых преимущественно пойдёт речь под катом.

На Хабре есть интересный блог уважаемого пользователя @AstroTubo в котором автор пишет об околоземных кометах и астероидах. В частности, 30 августа 2023 года он разместил статью «Астероид Камоалева — квазиспутник Земли», а 25 декабря 2023 года — «Астероид Круитни: квазиспутник Земли и эволюция его орбиты». К сожалению, при всей интересности и грамотности обе эти публикации очень невелики и представляют собой развёрнутые комментарии к размещённым в них же видеороликам с YouTube.

Я же узнал о Круитни ещё около 2015 года, когда вёл Живой Журнал, и на его страницах мне довелось общаться с 3753_cruithne — девушкой из Бреста, которая на тот момент казалась мне удивительно вдумчивой, глубокой и недооценённой представительницей своего поколения. Не представляю, как сложилась её жизнь, однако без упоминания её и её никнейма эта статья была бы неполной.

Читать далее
Total votes 67: ↑66 and ↓1 +65
Comments 6

Топ-10 блоков питания в 2023 году: от бюджетных и компактных до дорогих и мощных

Level of difficulty Easy
Reading time 14 min
Views 28K

Какой выбрать блок питания и на что стоит обратить внимание. Ведь именно он отвечает за безопасность и стабильность всех комплектующих. При покупке нового устройства смотрите на его мощность, наличие сертификатов от 80 Plus и Cybenetics, КПД, уровень шума, виды разъёмов и гарантийный период.

В подборке представлено 10 блоков питания от известных брендов: Corsair, Cooler Master, MSI, Thermaltake, SilverStone, EVGA и XPG. Большинство из них формата ATX.

Информация и цены актуальны на момент написания статьи.

Читать далее
Total votes 8: ↑8 and ↓0 +8
Comments 14

Большая миграция из Кремниевой долины не удалась. Люди едут обратно

Level of difficulty Easy
Reading time 7 min
Views 40K

Три года назад разработчики начали «побег из Сан-Франциско». Люди бежали от высоких цен на недвижимость, от аренды по $3600 в месяц за односпальную квартиру, от засилья бездомных и наркоманов на улицах. Самым популярным направлением во время ковида стал Остин, столица штата Техас. Где вроде как не должно было быть всех проблем, постигших «либеральную» Калифорнию.

Но оказалось, что проблемы там были, просто не совсем такие, как все ожидали. И теперь пошел уже «побег из Техаса».

Читать далее
Total votes 85: ↑76 and ↓9 +67
Comments 394

Как я перестал бояться и полюбил Vim

Reading time 9 min
Views 44K

Я работаю программистом уже почти десять лет. И, как и для каждого, кто посвящает работе до 2/3 суток, удобный инструментарий имеет для меня огромное значение. Сегодня я хочу как следует порефлексировать, поэтому статья выйдет слегка необычной. Сразу же хочу дать дисклеймер: всё, что вы прочтете ниже, носит субъективный характер. Поэтому будьте открыты и снисходительны.

Читать далее
Total votes 65: ↑55 and ↓10 +45
Comments 444

Clickhouse — непростая жизнь в продакшене

Level of difficulty Hard
Reading time 13 min
Views 20K

Около двух лет назад вышла небольшая статья Kafka Streams — непростая жизнь в production, в которой я описывал сложности, с которыми наша команда столкнулась при попытке решить задачи проекта с помощью kafka-streams. Эксперимент вышел неудачным, и мы в итоге совсем отказались от этой технологии. Вместо нее решили попробовать Clickhouse (CH), и сейчас уже можно сказать, что эта база нам очень хорошо подошла и отлично решает почти все задачи, которые нам ставит бизнес. В этой статье я расскажу об особенностях использования CH.

Читать далее
Total votes 41: ↑41 and ↓0 +41
Comments 7

Information

Rating
1,433-rd
Registered
Activity