Обновить
-1
@4xrtvb51ruiread⁠-⁠only

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

Отправить сообщение

Почему эффективной сове не выгодно нанимать даже тушканчика (а увольнять, наоборот, выгодно)

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

Открываю с утра новости, а там – ни разу не было и вот опять:

Нехватку (высококвалифицированных низкооплачиваемых) специалистов выявили благодаря опросу Института экономической политики им. Гайдара (ИЭП), с результатами исследования ознакомился РБК.

Население при этом: ну да ну да.

Весной 2023 года только 2% сообщили, что в связи с СВО у них выросла зарплата, за последний год материальное положение в той или иной степени улучшилось у 15%, тогда как ухудшилось у 33%, поскольку увеличились текущие расходы (39%), а некоторые (7%) потеряли часть сбережений и/или доходов. Савин, Институт социологии РАН. «Вестник РУДН. Серия: Социология», №4, 2023

Читать далее

Hard Fault (или Вы в Самом Деле Хотите Стать Программистом Микроконтроллеров?)

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

В этом тексте я напишу о буднях программиста МК в РФ.

Вы сможете прикинуть нужна ли Вам эта профессия.

Особенности российского-национального программирования микроконтроллеров.

Что вообще пишут программисты МК и на чем?

Основной язык программирования это С. Языку С уже более 50лет. Кроме микроконтроллеров С уже практические никому не нужен. Навыки программирования на С очень слабо конвертируются. В свое время, видимо на С написали компилятор для С++ и нужда в С для desktop как таковая отпала. A сам С остался для сборки артефактов для микроконтроллеров с экстремально малыми ресурсами. Хотя и сейчас большинство компаний в ЕС уже микроконтроллерные сборки собирают на С++ 17. 

Читать далее

Неприступный почтовый сервер, или жизнь без спама

Время на прочтение11 мин
Количество просмотров201K
Борьба со спамом — это головная боль всех ответственных администраторов почты. Чего только они не изобретают, чтобы любимым пользователям лучше жилось. Однако, как показала практика общения со многими системными администраторами, почему-то далеко не все представляют как правильно фильтровать спам.

Чаще всего встречается подход «добавим кучу RBL (DNSBL) и будем радоваться жизни». Подход не верный чуть более, чем полностью. Второй по популярности — контент-фильтры, зачастую купленные за бешеные деньги. Такой подход тоже в большинстве случаев совершенно неоправдан.

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

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

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

Читать дальше →

Почему уходят из 1С?

Время на прочтение29 мин
Количество просмотров154K

Скромная "ответочка" на статью про то, что 1С-ники гораздо умнее коллег из других ЯП.

Как IT специалист, знакомый с теми и другими, постараюсь оппонировать утверждениям из оригинальной статьи.

Читать далее

Безумные и забавные факты о SQLite

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

  1. SQLite — самая часто разворачиваемая и используемая база данных. На текущий момент активно используется более одного триллиона (1000000000000 или миллиона миллионов) баз данных SQLite.

    Её поддерживают три человека. Они не допускают внешних контрибьюторов.
Читать дальше →

Исповедь перекупа: я слежу за оборачиваемостью, продаю на 50 млн в месяц на маркетплейсах, но заработаю только если

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

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

Читать далее

Сэм Альтман знает, как достичь AGI. Я тоже, и сейчас расскажу как

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

«Теперь мы уверены, что знаем, как построить AGI в том виде, в каком мы традиционно его понимали… Сейчас это звучит как научная фантастика, и даже говорить об этом как-то безумно. Все в порядке — мы уже были там раньше и не против оказаться там снова.» Такое сообщение 6 января опубликовал Сэм Альтман.

Человечество нашло дорогу, по которой можно дальше и дальше улучшать качество моделей, и мы не видим здесь никакого предела. Про эту дорогу знает Альтман, и скоро узнаете вы.

Поехали в AGI

Почему я провалю ваше техническое собеседование

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

Считается, что собеседования предназначены для выбора подходящих кандидатов на должность. Соответственно, технические собеседования, предположительно, нужны для оценки кандидатов на технические роли.

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

Я считаю, что это должно быть важно для вас, ведь вы, вероятно, отфильтровываете кандидатов, которые могли лучше подойти под ваши требования. Кандидатов, которые соответствуют реальной должности и повседневной работе на ней. К тому же вы, вероятно, впустую тратите на это лишние ресурсы (время и усилия).

Так думаю не только я: несколько лет назад Университет штата Северная Каролина совместно с компанией Microsoft пришли к таким же выводам: «Собеседования в технологическом секторе оценивают уровень стресса, а не навыки разработки ПО».

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

T-Lite и T-Pro – открытые русскоязычные опенсорс-модели на 7 и на 32 млрд параметров

Уровень сложностиСложный
Время на прочтение9 мин
Количество просмотров45K

Всем привет! Я Толя Потапов, MLE в Т-Банке. Руковожу командой разработки фундаментальных моделей. 

Почти два года мы плотно работаем с LLM, развиваем продукты на базе больших языковых моделей. Например, Вселенную ассистентов, которая входит Gen-T — семейство собственных специализированных языковых моделей. 

Сегодня мы открываем две большие языковые модели — T-Lite и T-Pro, над которыми работали последние полгода, их можно скачать с huggingface. Они распространяются под лицензией Apache 2.0. Для адаптации моделей под бизнес-кейсы рекомендуем воспользоваться нашей библиотекой turbo-alignment с инструментами для полного цикла работы над LLM. 

Читать далее

Как писать, чтобы тебя читали

Время на прочтение16 мин
Количество просмотров27K

Можно читать и не понимать, можно читать и понимать, а можно читать и понимать даже то, что не написано. Всё зависит от того, как, в какой форме и с каким настроением автор создал текст, передал ли он смысл, поделился ли ценной информацией или крутой историей. Ежедневно на Хабре выходит около 60-70 статей, не считая новостей — какие-то набирают десятки тысяч просмотров, какие-то еле дотягивают до тысячи. Иногда причины очевидны, а иногда даже мы, опытная команда Хабра, теряемся в догадках, что же не понравилось (или понравилось) читателям. Анализ чужих и собственных публикаций подтолкнул меня к этому лонгриду. Читать — не перечитать.

Читать далее

Как я использую git

Время на прочтение11 мин
Количество просмотров18K

Недавно я пытался объяснить коллеге, какие у меня критерии при формировании пул реквеста — когда стоит объединять что‑либо в один пул реквест, а когда нет. И я заметил за собой фразу «ну, кроме…» несколько раз и решил записать, как я использую git — чтобы разобраться в особенностях моего подхода, как я мог бы улучшить его и, возможно, поделиться чем‑то полезным.

Поскольку это интернет, давайте сразу обговорим: то, как я использую git основывается на последних 12 годах работы в компаниях с относительно небольшими (до 50 человек) командами. В каждой из них мы использовали только git и GitHub; изменения выполнялись в отдельных ветках, предлагались в виде пул реквестов и сливались в основную ветку. В последние несколько лет, после введения GitHub squash‑merging, мы использовали его.

Я никогда не использовал какую‑либо другую систему контроля версий. Я не могу и не буду сравнивать git с Mercurial, jj, Sapling, и т. д.

Итак, вот как я использую git.

Читать далее

Делают всё роботы, а не человек! Как работать меньше, но продуктивнее? Обзор шести нейросервисов

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

Нейросети — настоящая суперсила в современном мире: мгновенный анализ огромных объёмов данных, оптимизация процессов и автоматизация рутины. Это уже не просто инструменты — это высвобождение времени и конкурентное преимущество. Рекомендации по выбору и использованию классных нейросервисов! Будьте осторожны, это довольно объёмный обзор.

Читать далее

Мелкая питонячая радость #2: Starlette

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


Туннельное зрение


Так уж сложилось, что на Python пишут много веб-приложений. Эту нишу Python разработки почти полностью поделили между собой два здоровых игрока — Django и Flask. Поэтому большой процент программистов, пишущих на Python, заточен на работу с этими двумя фреймворками.


По этой причине у многих Python-разрабов складывается некое подобие туннельного зрения — их инженерный подход заперт между этими двумя библиотеками.

Читать дальше →

От документации к готовому API: Генерация кода из Swagger для FastAPI

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

В статье вы узнаете, как с помощью OpenAPI Generator преобразовать OpenAPI-документацию в рабочие роуты и Pydantic модели для FastAPI. Один раз настроив конфигурацию, вы сможете за секунды создавать готовый код, что значительно ускоряет разработку и упрощает поддержание API.

Итак, давайте разбираться!

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

Время на прочтение13 мин
Количество просмотров25K

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

Читать далее

Разрабатываем первое AI приложение

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

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

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

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

Читать далее

Основы правил проектирования базы данных

Время на прочтение11 мин
Количество просмотров286K

Введение


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

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

Для начала, разберем создание базы данных в MS SQL Server для сервиса поиска соискателей на работу.

Этот материал можно перенести и на другую СУБД такую как MySQL или PostgreSQL.
Читать дальше →

Связи между таблицами базы данных

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

1. Введение


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

1.1. Для кого эта статья?


Эта статья будет полезна тем, кто хочет разобраться со связями между таблицами базы данных. В ней я постарался рассказать на понятном языке, что это такое. Для лучшего понимания темы, я чередую теоретический материал с практическими примерами, представленными в виде диаграммы и запроса, создающего нужные нам таблицы. Я использую СУБД Microsoft SQL Server и запросы пишу на T-SQL. Написанный мною код должен работать и на других СУБД, поскольку запросы являются универсальными и не используют специфических конструкций языка T-SQL.

1.2. Как вы можете применить эти знания?


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

2. Благодарности


Учтены были советы и критика авторов jobgemws, unfilled, firnind, Hamaruba.
Спасибо!

3.1. Как организовываются связи?


Связи создаются с помощью внешних ключей (foreign key).
Внешний ключ — это атрибут или набор атрибутов, которые ссылаются на primary key или unique другой таблицы. Другими словами, это что-то вроде указателя на строку другой таблицы.

3.2. Виды связей


Связи делятся на:

  1. Многие ко многим.
  2. Один ко многим.
    • с обязательной связью;
    • с необязательной связью;
  3. Один к одному.
    • с обязательной связью;
    • с необязательной связью;

Рассмотрим подробно каждый из них.
Читать дальше →

А ваша служба является RESTful? Все что необходимо/обязательно знать про веб службы и REST

Время на прочтение18 мин
Количество просмотров159K

Введение


Вот не люблю я изобретать велосипед и статью я бы эту не написал, но пришлось. Про REST сказано уже довольно много. Многие поставщики веб служб готовы клясться, что их службы являются RESTful. Во время собеседования вы точно услышите хотя бы несколько вопросов про REST, независимо от того это собеседования для бэкенд, мобайл или фронтенд разработчика. Я вот помню как-то во время одного собеседования меня задали такой вопрос: «Вот вы написали в своем резюме, что знайте REST․ Ответьте пожалуйста, какой HTTP код вы получите, если при запросе к RESTful сервису ресурс не найден?». Ответ 404 был принят единогласно. Если честно, я так и не понял, как этот вопрос помог понять знаю ли я REST или нет, но одно могу уверенно сказать: REST понимают далеко не все. Вот некоторые вопросы, которые мучали меня долгое время:

  1. Зачем REST стал таким трендовым? Это архитектура была же предложена еще в 2000 году?
  2. Что я получу если моя служба будет RESTful?
  3. Как определить является ли служба RESTful или нет?
  4. Как правильно должны создаваться URL REST служб?
  5. Какие http методы и коды должны быть использованы в RESTful службе?

Если вы не можете дать исчерпывающего ответа хотя бы на один из этих вопросов, то продолжайте чтение. Если вы можете однозначно ответить на все эти вопросы, можете привести формат правильного URL, считайте, что GET, POST, PUT, DELETE обязательно должны соответствовать CRUD операциям с ресурсами, то вам обязательно надо продолжать чтение.
Читать дальше →

REST API Best Practices

Время на прочтение7 мин
Количество просмотров459K
Привет, Хабр! Представляю вашему вниманию перевод статьи "REST API Best Practices" автора Krishna Srinivasan.

REST становится общим подходом для представления сервисов окружающему миру. Причина его популярности заключается в его простоте, легкости использования, доступе через HTTP и другие. Существует неправильное представление о том, что все данные, доступные через сеть, считаются REST, но это не так. В этой статье я собираюсь объяснить вам некоторые best practices, которые вы должны всегда помнить при реализации собственного REST приложения. Я бы хотел услышать ваш опыт в REST приложениях, поэтому если вы знаете best practies, которые не упомянуты в этой статье, пожалуйста, поделитесь с нами в комментариях.

Disclamer: все best practies основаны на моем личном опыте. Если вы имеете другое мнение, не стесняйтесь отправлять его мне на email, и мы обсудим его.

Здесь представлен список best practices, которые будут обсуждаться в этой статье:

1. Конечные точки в URL – имя существительное, не глагол
2. Множественное число
3. Документация
4. Версия вашего приложения
5. Пагинация
6. Использование SSL
7. HTTP методы
8. Эффективное использование кодов ответов HTTP
Читать далее

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность