Pull to refresh
6
0
Send message

Как работает ChatGPT: объясняем на простом русском эволюцию языковых моделей с T9 до чуда

Level of difficultyEasy
Reading time30 min
Views407K

В последнее время нам почти каждый день рассказывают в новостях, какие очередные вершины покорили языковые нейросетки, и почему они уже через месяц совершенно точно оставят лично вас без работы. При этом мало кто понимает — а как вообще нейросети вроде ChatGPT работают внутри? Так вот, устраивайтесь поудобнее: в этой статье мы наконец объясним всё так, чтобы понял даже шестилетний гуманитарий!

Погнали →
Total votes 299: ↑292 and ↓7+343
Comments283

Авито мертв для бизнеса в 2024?

Reading time12 min
Views10K

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

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

Читать далее
Total votes 17: ↑8 and ↓9+4
Comments31

JSONB запросы в PostgreSQL

Reading time7 min
Views280K
Ранее я писал, как включить поддержку jsonb в postgres/psycopg2. Сегодня экспериментировал с тем, как запрашивать данные в колонках типа JSON.
На эту тему есть документация, но мне было не совсем понятно, как работают различные операции:

CREATE TABLE json_test (
  id serial primary key,
  data jsonb
);

INSERT INTO json_test (data) VALUES 
  ('{}'),
  ('{"a": 1}'),
  ('{"a": 2, "b": ["c", "d"]}'),
  ('{"a": 1, "b": {"c": "d", "e": true}}'),
  ('{"b": 2}');

Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments12

7 способов использовать groupingBy в Stream API

Reading time2 min
Views133K

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


Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments7

Регистрация и авторизация с помощью Spring Security на примере простого приложения

Reading time21 min
Views306K
Добрый день!

В этой статье будет рассмотрено создание простого веб приложения с использованием Spring Boot и Spring Security. В приложении будет реализована регистрация новых пользователей и авторизация, ограничение доступа к страницам сайта в зависимости от роли пользователя.
Главная цель статьи показать как можно ограничить доступ к различным страницам сайта для пользователей с разными ролями.

Что будет представлять из себя приложение


Сайт со следующими страницам:

  • страницы доступные всем пользователям: главная, регистрации и логина;
  • страница доступная для зарегистрированных пользователей: новости;
  • страница доступная для администратора.

Что будем использовать


  • JDK 8+;
  • Intellij Idea;
  • Spring (Spring Boot, Spring MVC, Spring Security);
  • Hibernate;
  • JSP;
  • PostgreSQL.
Читать дальше →
Total votes 13: ↑8 and ↓5+8
Comments10

Пуши Авито: как сделать самый навязчивый формат не таким раздражающим

Reading time10 min
Views7.5K

Привет! Меня зовут Юля Трусова, я старший UX-редактор в Авито. В этой статье я расскажу о мобильных пушах: какого тона мы придерживаемся, как работаем с техническими ограничениями и о чём думаем, чтобы текст звучал складно.

Статья будет полезна редакторам, копирайтерам, маркетологам и CRM-специалистам. Некоторые советы применимы и к другим каналам коммуникации, например письмам.

Осторожно — внутри много картинок с примерами.

Читать далее
Total votes 10: ↑8 and ↓2+7
Comments18

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

Reading time7 min
Views8.1K

Привет, меня зовут Макс, я продакт команды Self-Service в мобильном приложении Тинькофф. У моей команды три основные цели по созданию сервиса: contactless, proactive и self-service.   

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

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

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

Представим, что вы всё записываете в заметки или блокнотик. У здорового продакта возникает логичный вопрос: какие задачи решать в первую очередь? 

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

Раньше я использовал классическую ICE-методику, но в Тинькофф пришлось ее адаптировать. Сейчас расскажу как.

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

Что означает информация в заметке Коммерсанта «Британия морозит «Байкал»

Reading time10 min
Views48K

Газета "Коммерсантъ" опубликовала важный материал "Британия морозит «Байкал». Российские процессоры лишаются доступа к технологиям". К сожалению, авторы заметки никогда не видели то, о чем они написали, то бишь semiconductor IP, и не понимают его природы. Зато его видел я. Поэтому я решил написать к их заметке своего рода толкование:

1. Что именно британские компании ARM и Imagination продают российским лицензиатам, таким как Байкал? (Спойлер: не патенты, хотя патенты в картину входят)

2. Чем Apple отличается от Байкала в лицензировании semiconductor IP?

3. Сколько стоят лицензии на ядра и сколько стоит архитектурная лицензия?

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

5. Были ли прецеденты подобных высоких отношений с китайскими компаниями?

6. Почему в статье упоминается МЦСТ (Эльбрус)? Они же вроде сами спроектировали CPU собственной архитектуры? (Спойлер: а GPU?)

7. Могут ли британские патенты стать проблемой для разработчиков российcких ядер с архитектурой RISC-V?

8. Что логично ожидать от российских полупроводниковых стратегов?

Читать далее
Total votes 193: ↑185 and ↓8+231
Comments84

Странности Generic типов Java

Reading time3 min
Views47K

Я множество раз слышал о том, что дизайн Generic типов в Java является неудачным. По большей части претензии сводятся к отсутствию поддержки примитивных типов (которую планируют добавить) и к стиранию типов, а конкретнее — невозможности получить фактический тип параметра в рантайме. Лично я не считаю стирание типов проблемой, как и дизайн Generic-ов плохим. Но есть моменты, которые меня порядком раздражают, но при этом не так часто упоминаются.


1


Например, мы знаем, что метод Class#getAnnotation параметризован и имеет следующую сигнатуру: public <A extends Annotation> A getAnnotation(Class<A> annotationClass). Значит, можно писать вот такой код:


Deprecated d = Object.class.getAnnotation(Deprecated.class);

Тут я решаю вынести Object.class в отдельную переменную и код перестаёт компилироваться:


Class clazz = Object.class;
// incompatible types:
// java.lang.annotation.Annotation cannot be converted to java.lang.Deprecated
Deprecated d = clazz.getAnnotation(Deprecated.class);

Где я ошибся?

Читать дальше →
Total votes 33: ↑27 and ↓6+21
Comments24

Подробно о PECS

Reading time5 min
Views53K

Всем привет. Сегодня я хочу поговорить о принципе PECS. Понимаю, что сейчас гуру программирования и многоопытные сеньоры в очередной раз впечатали ладонь в лицо, ибо «Java Generics появились в JDK 1.5, которая вышла 30 сентября 2004 года…». Но если есть те, для кого принцип PECS остаётся туманным и непонятным, а упорное гугленье только сгущает «туман», добро пожаловать под кат, будем вместе разбираться до полного духовного просветления. Хочу сразу предупредить, что в данной заметке не рассматривается, что такое дженерики и что такое wildcard. Если вы не знакомы с данными понятиями, то перед чтением необходимо с ними разобраться.

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

Как посчитать всё на свете одним SQL-запросом. Оконные функции PostgreSQL

Reading time5 min
Views573K

Я с удивлением обнаружил, что многие разработчики, даже давно использующие postgresql, не понимают оконные функции, считая их какой-то особой магией для избранных. Ну или в лучшем случае «копипастят» со StackOverflow выражения типа «row_number() OVER ()», не вдаваясь в детали. А ведь оконные функции — полезнейший функционал PostgreSQL.
Попробую по-простому объяснить, как можно их использовать.


Читать дальше →
Total votes 75: ↑73 and ↓2+71
Comments54

Понимание джойнов сломано. Это точно не пересечение кругов, честно

Reading time4 min
Views329K

Так получилось, что я провожу довольно много собеседований на должность веб-программиста. Один из обязательных вопросов, который я задаю — это чем отличается INNER JOIN от LEFT JOIN.


Чаще всего ответ примерно такой: "inner join — это как бы пересечение множеств, т.е. остается только то, что есть в обеих таблицах, а left join — это когда левая таблица остается без изменений, а от правой добавляется пересечение множеств. Для всех остальных строк добавляется null". Еще, бывает, рисуют пересекающиеся круги.


Я так устал от этих ответов с пересечениями множеств и кругов, что даже перестал поправлять людей.


Дело в том, что этот ответ в общем случае неверен. Ну или, как минимум, не точен.

Читать дальше →
Total votes 179: ↑138 and ↓41+97
Comments225

Советская «Семерка», современная космонавтика и Илон Маск

Reading time15 min
Views32K


Этот текст написан инженером-ракетостроителем, который не один десяток лет посвятил работе на «РКЦ Прогресс». Это предприятие производит и модернизирует одну из самых известных и востребованных в мире ракет – «Союз». Эта ракета исторически развивается от легендарной Р-7, сконструированной под руководством Сергея Королёва, и запустившей первый спутник, первого человека, первые автоматические межпланетные станции… Ниже будет много букв об уникальности конструкции ракеты, о секретах её успеха, об особенностях технологии производства, и о том, чему у советских инженеров научился Илон Маск.
Читать дальше →
Total votes 124: ↑119 and ↓5+146
Comments99

Как я полюбила подготовку типовых документов

Reading time5 min
Views7.1K

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

Почему квалифицированные специалисты до сих пор занимаются рутиной, а бизнес всё это оплачивает?  Какие технологии помогут экономить время и деньги? На этот вопрос я как заместитель руководителя отдела внедрения департамента систем управления документами ЛАНИТ постоянно ищу ответ. К поиску решения я привлекла одного из основателей профессиональной платформы подготовки документов Doczilla Pro Кирилла Бурякова. Постараюсь изложить наши выводы в этой статье. 

Читать далее
Total votes 46: ↑37 and ↓9+38
Comments7

Как работает цикл заказа такси в Яндекс Go. История вопроса

Reading time9 min
Views32K
Меня зовут Илья, я отвечаю за инфраструктуру пользовательских продуктов в Яндекс Go. Мы строим цикл заказа такси — процессы, происходящие под капотом после того, как пользователь нажимает «Заказать». Поиск машины, назначение водителя, изменение адреса, оплата поездки — всё это части цикла. Ещё мы делаем инфраструктуру создания циклов, которая используется в Еде, Лавке, Доставке и других направлениях внутри Яндекса.

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

Как всё начиналось


В 2011 году мы запустили сервис заказа такси. В первой реализации в бэкенде был endpoint /create-order, внутри которого мы создавали заказ, искали ближайшую машину и отправляли заказ водителю (кстати, если вы не знали о том, как устроен поиск водителя, то обязательно почитайте).


Читать дальше →
Total votes 27: ↑26 and ↓1+32
Comments39

Яндекс.Практикум: самый подробный отзыв

Reading time31 min
Views298K

Хочу поделиться личным опытом (об/м)учения в Яндекс.Практикуме на курсе "Веб-разработчик", и почему, вернувшись на год назад в прошлое, я бы никогда не стал там учиться даже за бесплатно.

Для начала расскажу о причинах, по которым я решил войти в IT (спойлер: и в итоге всё-таки вполз), и почему я выбрал именно Яндекс.Практикум.

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

1) прибыльную (на комбинате я получал 24 тысячи в месяц);

2) перспективную (в IT действует меритократия, а в строительной сфере без связей, которых у меня нет, далеко на уедешь и высоко не взлетишь);

3) интересную и интеллектуальную. 

У меня есть старший брат – веб-разработчик с 10-летним стажем, за плечами которого опыт разработки в Яндексе, TopTal и нынешняя работа senior-программистом в Amazon. Я специально так подробно рассказываю о своём брате, т. к. далее эта информация понадобится для понимания контекста.

Брат, видя, как я страдаю от невозможности реализовать себя в профессии, на обучение которой потратил 8 лет, предложил попробовать себя в IT-сфере и посоветовал найти подходящие IT-курсы по профессии веб-разработчик, а он будет меня менторить.

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

Читать далее
Total votes 181: ↑165 and ↓16+193
Comments473

Интеграции бояться — в аналитики не идти

Reading time9 min
Views33K

Всем привет! Я Лейла, системный аналитик в Максилекте. Уже 7 лет работаю в ИТ на проектах разного уровня, в основном это разработка высоконагруженных Enterprise-систем. Подавляющее большинство задач, с которыми мне приходится сталкиваться, – это проектирование интеграционного взаимодействия между системами, так что тема интеграции мне близка. В этой статье хочу рассказать о том, с какой стороны подходить к подобным задачам - как не наступить на грабли. Приведу несколько практических кейсов из своего опыта, а также выделю навыки, которые помогут аналитику решить такие сложные задачи.

Совсем недавно рассказывала об этом на AnalystDays’13. Интерес аудитории к моему докладу сподвиг обобщить мои мысли в виде статьи.

Читать далее
Total votes 11: ↑10 and ↓1+9
Comments3

Стратегия своими руками

Reading time11 min
Views17K
Он стратег, он даже тактик, словом — спец,
Сила, воля, плюс характер — молодец!

В. Высоцкий


Никогда не писал статей для Хабра, даже комментариев. И на тематические порталы не выкладывал ничего лет 5.

Но недавно прочитал на Хабре материал об отсутствии стратегий у компаний и не смог пройти мимо — опросы под статьёй показывают, что проблема волнует многих. Решил поделиться своим опытом и объяснить, почему важно понимать не только куда идти, но и каким маршрутом. К тому же я имею отношение к стратегии самого Хабра (статью, на которую я откликаюсь, можно прочитать здесь).


Читать дальше →
Total votes 20: ↑19 and ↓1+37
Comments20

Information

Rating
Does not participate
Works in
Registered
Activity