Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Как LLM могут повлиять на труд разработчиков (и не только их)

Уровень сложности Простой
Время на прочтение 15 мин
Количество просмотров 93

Если взглянуть на ИТ индустрию изнутри, хотя бы за последние 20 лет, то технологии и продукты сменяли друг друга довольно активно, вознося на пик спроса то одних специалистов, то совершенно других. Если брать рынок РФ, то в крупном корп секторе таких волн было несколько: была волна разработчиков OEBS (который, все еще работает в очень крупных компаниях, начиная с телекома, заканчивая известными интернет компаниями), был взлет и падение SAP/ABAP, был Siebel CRM, в части интеграции были монстры типа Oracle SOA или Tibco, в BI - Oracle BI и Sap Bobj, но сейчас все эти продукты, а вместе с ними тысячи их разработчиков перешли в разряд legacy с исчезающе малым числом вакансий и низкими зарплатами. И каждый раз, находясь в казалось бы несущемся вперед поезде очередного OEBS, находились люди, видевшие, что поезд уже горит и пора "соскакивать". На этом фоне, [backend] разработка казалась чем-то стабильным, несмотря на смены парадигм и фреймворков.

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

Читать далее
Рейтинг 0
Комментарии 0

Новости

SQL HowTo: один индекс на два диапазона

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 66

В прошлой статье я показал, как условие с парой однотипных неравенств, плохо поддающееся индексации с помощью btree, можно переделать на эффективно gist-индексируемое в PostgreSQL условие относительно диапазонных типов, а наш сервис анализа планов запросов explain.tensor.ru подскажет, как именно это сделать.

Но что делать, если неравенств у нас не два, а целых четыре, да еще и с разными типами участвующих полей? Например, для целей бизнеса это может быть задачей вроде "найди мне все продажи за декабрь на сумму 10-20K", что на SQL будет выглядеть примерно так:

dt >= '2023-12-01'::date AND dt <= '2023-12-31'::date AND

sum >= 10000::numeric AND sum <= 20000::numeric

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Проектирование боевых систем в играх: с чего начать

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 110

Большинство игровых продуктов в том или ином виде сталкиваются с боёвкой. Где-то это эпический кошмар уровня Dark Souls, где-то полуавтоматический бой между группами чибиков в мобильном батлере. В этой статье я покажу один из подходов, используемый геймдизайнерами при проектировании боевой системы для конкретной игры.

Читать далее
Рейтинг 0
Комментарии 0

Наш путь в создании информационной системы проверок контрагентов || Laravel having no problems

Время на прочтение 9 мин
Количество просмотров 53

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

Мы создали систему, которая позволила оптимизировать работу по проверке контрагентов из открытых источников. Рассказываем, как она устроена.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 0

Истории

Марафон DataYoga “Ничего лишнего” — кому будет полезна неделя лучших практик визуализации данных

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 224

Привет, Хабр! Сегодня мы хотим поделиться одним интересным событием, которое не может оставить равнодушным никого из сферы BI и визуализации данных. Марафон  будет проходить с 18 по 22 марта в онлайн-режиме (разумеется бесплатно) и включит в себя наработки ведущих визуализаторов и дата-йогов. Это будет настоящее погружение для тех, кто уже в BI и аналитике, а также для тех, кто еще только думает о расширении своих компетенций (или пока вообще не понимает, почему за “построение диаграмм” сегодня обещают хорошие зарплаты). Все подробности о Марафоне и ссылка на регистрацию — под катом.

Хочу стать дата-йогом!
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 0

Как быстро и качественно импортозаместить UI

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 922

Всем привет.

Хочу рассказать о своем опыте импортозамещения UI.

Не предлагаю ничего нового, просто известный подход, приложенный к конкретной ситуации.

Совсем кратко задачу можно описать так:

Есть: Исходный проект с множеством таблиц и форм.

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

Решение:

1.       Автоматически собрать необходимую информацию из исходного проекта в файл.

2.       Дополнить этот файл в той части которую не получилось собрать автоматически.

3.       Создавать нужные файлы по шаблону заменяя подстановочные символы в шаблоне значениями из файла. Полученные файлы могут быть если необходимо доработаны.

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

 

Читать далее
Всего голосов 7: ↑0 и ↓7 -7
Комментарии 5

Drag and Drop в Jetpack Compose

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 205

В январе 2024, крупное обновление Jetpack Compose добавило два новых модификатора: dragAndDropSource и dragAndDropTarget. В этой статье я расскажу как реализовать эффект Drag and Drop в Jetpack Compose.

Читать далее
Рейтинг 0
Комментарии 0

Использование Redis почти как SQL БД: Реализация чата с кешированием сообщений

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 1.9K

Допустим, мы хотим создать чат и хранить сообщения для него. Вполне возможно, мы можем добавить для этого простую базу данных (БД), такую как MySQL или даже NoSQL БД.

Обычно многие используют Redis как key‑value (dictionary) хранилище. Тем не менее, Redis — это несколько большее, чем key‑value, как многие привыкли думать.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 0

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера для чайников

Уровень сложности Простой
Время на прочтение 36 мин
Количество просмотров 13K

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

Вы, наверняка, помните отличный цикл статей на Хабре в прошлом году от пользователя MiraclePtr, который рассказывал о разных методах блокировок, о разных методах обхода блокировок, о разных клиентах и серверах для обходов блокировок, и о разных способах их настройки (раз, два, три, четыре, пять, шесть, семь, восемь, десять, десять, и вроде были еще другие), и можете спросить, а зачем еще одна? Есть две основные причины для этого.

Читать далее
Всего голосов 115: ↑113 и ↓2 +111
Комментарии 29

Высказывания 3-х известных людей о проблемах современной разработки ПО

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 1.9K

Думаю, что после прочтения статьи Никиты Прокопова «JavaScript Bloat in 2024» (рус. «Насколько потолстел JavaScript к 2024 году?») не я один стал с пессимизмом смотреть на будущее веб-разработки. Хотя тема раздутия JavaScript не нова (одним из первых на эту проблему обратил внимание Эдди Османи в своей статье-отчете «The Cost Of JavaScript» (рус. «Сколько стоит JavaScript?») в 2017 году), но здесь поражает масштаб проблемы, обозначенный автором статьи.

Нечто подобное было с HTML (и в какой-то степени с графикой) на ранних этапах развития Всемирной паутины (далее веб). Проблему раздутия HTML удалось практически полностью решить к середине 00-х за счет внедрения веб-стандартов и совершенствования WYSIWYG-редакторов HTML. Появление технологии AJAX и одностраничных приложений (SPA) сместило акцент на JavaScript, но это не привело к мгновенному утяжелению веб-приложений (например, первые версии Gmail прекрасно работали даже на самых медленных dial-up-соединениях).

Ситуация начала меняться в худшую сторону где-то на рубеже 00-х и 10-х, когда стали появляться первые смартфоны. Разработка ПО стала постепенно усложняться, дорожать и носить более конвеерный характер. Начался массовый найм разработчиков, повсеместное внедрение гибких методологий разработки и стала расти доля работы, отдаваемой на аутсорс. В веб-разработке наступила эпоха фреймворков и инструментов сборки для фронтенда. Со временем подходы, которые были призваны снизить порог входа в профессию, временные и финансовые издержки, стали давать обратный эффект.

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

Читать далее
Всего голосов 15: ↑12 и ↓3 +9
Комментарии 10

Птицу узнают по перьям… или профзащита от спама

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 584
Часто у каждого из нас возникает желание найти похожих на себя (в профессиональном смысле), но в то же время размещение в публичных сетях своей контактной информации может породить кучу спама (ах эти древние консервы).
На помощь в этом случае приходит общее знание — образовательный ценз в профессиональной области — которое не даст воспользоваться данными «непосвящённым».

Примите и эту простую защиту персональных данных для математиков и программистов.
Читать дальше →
Всего голосов 3: ↑0 и ↓3 -3
Комментарии 3

Как машинлернеры меряли экспрессию генов от воздействия лекарств

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 714

Привет! Меня зовут Дима и я веду канал про соревновательный МЛ. Недавно мы выиграли приз в довольно престижном соревновании и я сделал обзор всех лучших решений

Хочу вам рассказать о Open Problems, где не удалось взять золото, но все равно все очень довольны, ведь мы взяли 13 место и специальные приз жюри, который позволил нам выступить на NeuralIPS.

Начнем с краткого описания соревнования:

Компания-организатор занимается тем, что пытается оптимизировать проведение дорогостоящих экспериментов с препаратами на живых, но отделенных от самих созданий клетках 🧪 (in vitro) 🧪. У клеток много разных типов и препарат лечащий одну клетку мог спокойно убить все клетки другого типа в том же организме. Взяли много таких экспериментов, в том числе контрольные. Можно увидеть на картинке подробности того, как проводился тест

Читать далее
Всего голосов 9: ↑7 и ↓2 +5
Комментарии 2

Частые ошибки при освоении профессии QA Engineer

Время на прочтение 2 мин
Количество просмотров 676

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

Читать далее
Всего голосов 9: ↑2 и ↓7 -5
Комментарии 2

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн

WordPress: разбор уязвимости в Discount Rules for WooCommerce

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 641

Добрый день, уважаемые читатели! Сегодня мы разберем одну старую уязвимость в плагине Discount Rules for WooCommerce < 2.2.0 для WordPress.

WooCommerce - это плагин для создания онлайн-магазина на движке WordPress, а WooCommerce Discout Rules - дополнение для WooCommerсe для предоставления и управления скидками на товары.

Суть уязвимости заключается в возможности использовать некоторые методы плагина через admin-ajax.php, которые позволяют перечислять товары, пользователей, а самое главное - сделать товар бесплатным посредством добавления правила на скидку.

Читать далее
Всего голосов 7: ↑4 и ↓3 +1
Комментарии 0

Deepvoice = Deep Trouble. Новая схема атаки с помощью генерации голоса знакомых и коллег

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 1.6K

В начале 2024 года в России появилась новая схема атак на людей — в ней злоумышленники вымогают деньги голосами родственников и друзей, а в корпоративных фродах — голосами руководителей. 

Генерация голоса уже замечена в схеме Fake Boss, схеме с поддельным фото банковской карты и схеме угона аккаунта в соцсетях. Больше всего случаев встречается в Телеграме — мошенники взламывают аккаунт, генерируют голос владельца аккаунта и рассылают по всем чатам короткое голосовое сообщение с просьбой выслать денег. 

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

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 4

Как с помощью системного подхода повысить эффективность блока закупок в компании

Время на прочтение 8 мин
Количество просмотров 389

Всем привет! Я Антон Филимонов, руководитель ИТ-проектов Первой грузовой компании (ПГК). В своей работе мы активно применяем системный подход, позволяющий делать оптимальный выбор и внедрять изменения для решения бизнес-проблемы. В статье я собрал практические советы для тех, кто столкнулся с трудностями в своем деле. В качестве примера возьмем решение задачи для блока закупок ПГК.

Читать далее
Всего голосов 7: ↑4 и ↓3 +1
Комментарии 2

Новый виток стоимости чипов? На Тайване дорожает электричество — что это принесёт отрасли

Время на прочтение 4 мин
Количество просмотров 866

Производство полупроводниковых компонентов — весьма энергоёмкое направление. И чем дороже кВт·ч, тем выше себестоимость самих чипов. Зависимость там нелинейная, но влияние всё равно достаточно сильное. И каким оно будет, мы узнаем в ближайшем будущем. Дело в том, что на Тайване собираются поднять тарифы на электроэнергию. А ведь именно там располагается крупнейший в мире контрактный производитель чипов — компания TSMC. О том, что может произойти, — под катом.

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Комментарии 5

Пользовательские карты в Дельта BI

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 148

В функционале Дельты есть возможность импорта пользовательских карт, которые можно в дальнейшем использовать вместо стандартных форм, входящих  в геопространственную базу данных Дельты. Такая возможность может быть полезна, например, если требуется создать карту, отображающую крупные регионы, объединяющие несколько стран (Евросоюз, СНГ, страны Азиатско-Тихоокеанского региона и т.п.)

Или, как будет рассмотрено в данном примере, будет загружена карта административных округов Москвы.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

6 важных принципов GDPR

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 754

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

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

GDPR выступает не как какой-то набор ограничений, а как стимул для повышения качества работы с данными.

Санкции за несоблюдение GDPR могут быть очень большими, в некоторых случаях доходя до 10 миллионов евро или 2% от общего мирового годового оборота за предыдущий финансовый год, а в других случаях — до 20 миллионов евро или до 4% от общего мирового годового оборота. Размер штрафа оценивается индивидуально и зависит от множества факторов, как серьезность нарушения, степень причиненного ущерба, наличие умысла, и многое другое​​.

В этой статье мы рассмотрим несколько основных принципов GDPR.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 5

Интеграция нативных SDK во Flutter-приложение

Время на прочтение 9 мин
Количество просмотров 693

Мир мобильной разработки постоянно меняется. В поиске эффективных решений разработчики пошли по пути новых технологий и интеграций. Одним из самых ярких маяков на этом пути стал Flutter — набор инструментов пользовательского интерфейса от Google, который позволяет пользователям создавать нативно скомпилированные приложения для веб, mobile и desktop с единой кодовой базой.

Преимущество Flutter — в его возможности создавать приложения «похожие» на нативные. Это реально благодаря большому выбору настраиваемых виджетов, которые позволяют быстро создавать «нативные» интерфейсы. Но даже с такими широкими возможностями бывают случаи, когда приложениям Flutter необходимы определенные функции нативных SDK.

Читать далее
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 1