|
|
habr.com_ru_yandex.rss.xml - sfeed_tests - sfeed tests and RSS and Atom files |
|
|
 |
git clone git://git.codemadness.org/sfeed_tests (git://git.codemadness.org) |
|
|
 |
Log |
|
|
 |
Files |
|
|
 |
Refs |
|
|
 |
README |
|
|
 |
LICENSE |
|
|
|
--- |
|
|
|
habr.com_ru_yandex.rss.xml (67309B) |
|
|
|
--- |
|
|
|
1 <?xml version="1.0" encoding="UTF-8"?> |
|
|
|
2 <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" > |
|
|
|
3 <channel> |
|
|
|
4 <title>Яндекс - Как мы делаем Яндекс / Статьи</title> |
|
|
|
5 <link>https://habr.com/ru/company/yandex/blog/</link> |
|
|
|
6 <description><![CDATA[1 780 статей от авторов компании Яндекс]]></description> |
|
|
|
7 <language>ru</language> |
|
|
|
8 <managingEditor>editor@habr.com</managingEditor> |
|
|
|
9 <generator>habr.com</generator> |
|
|
|
10 <pubDate>Fri, 24 Jun 2022 08:51:23 GMT</pubDate> |
|
|
|
11 |
|
|
|
12 <image> |
|
|
|
13 <link>https://habr.com/ru/</link> |
|
|
|
14 <url>https://habrastorage.org/webt/ym/el/wk/ymelwk3zy1gawz4nkejl_-ammtc.png</url> |
|
|
|
15 <title>Хабр</title> |
|
|
|
16 </image> |
|
|
|
17 |
|
|
|
18 <item> |
|
|
|
19 <title><![CDATA[Яндекс выложил YaLM 100B — сейчас это крупнейшая GPT-подобная нейросеть в свободном доступе. Вот как удалось её обучить]]></title> |
|
|
|
20 <guid isPermaLink="true">https://habr.com/ru/post/672396/</guid> |
|
|
|
21 <link>https://habr.com/ru/post/672396/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog</link> |
|
|
|
22 <description><![CDATA[<img src="https://habrastorage.org/webt/ts/ia/1n/tsia1nfjftapykyt4ywqvegkwe4.png"><br> |
|
|
|
23 <sup>Больше примеров — <a href="https://habr.com/ru/company/yandex/blog/672396/#examples">в конце</a> поста</sup><br> |
|
|
|
24 <br> |
|
|
|
25 В последние годы большие языковые модели на архитектуре трансформеров стали вершиной развития нейросетей в задачах NLP. С каждым месяцем они становятся всё больше и сложнее. Чтобы обучить подобные модели, уже сейчас требуются миллионы долларов, лучшие специалисты и годы разработки. В результате доступ к современным технологиям остался лишь у крупнейших IT-компаний. При этом у исследователей и разработчиков со всего мира есть потребность в доступе к таким решениям. Без новых исследований развитие технологий неизбежно снизит темпы. Единственный способ избежать этого — делиться с сообществом своими наработками. <br> |
|
|
|
26 <br> |
|
|
|
27 Год назад мы впервые <a href="https://habr.com/ru/company/yandex/blog/561924/">рассказали</a> Хабру о семействе языковых моделей YaLM и их применении в Алисе и Поиске. Сегодня мы выложили в свободный доступ нашу самую большую модель YaLM на 100 млрд параметров. Она обучалась 65 дней на 1,7 ТБ текстов из интернета, книг и множества других источников с помощью 800 видеокарт A100. Модель и дополнительные материалы <a href="https://github.com/yandex/YaLM-100B" rel="nofollow noopener noreferrer">опубликованы на Гитхабе</a> под лицензией Apache 2.0, которая допускает применение как в исследовательских, так и в коммерческих проектах. Сейчас это самая большая в мире GPT-подобная нейросеть в свободном доступе как для английского, так и для русского языков.<br> |
|
|
|
28 <br> |
|
|
|
29 В этой статье мы поделимся не только моделью, но и нашим опытом её обучения. Может показаться, что если у вас уже есть суперкомпьютер, то с обучением больших моделей никаких проблем не возникнет. К сожалению, это заблуждение. Под катом мы расскажем о том, как смогли обучить языковую модель такого размера. Вы узнаете, как удалось добиться стабильности обучения и при этом ускорить его в два раза. Кстати, многое из того, что будет описано ниже, может быть полезно при обучении нейросетей любого размера.<br> <a href="https://habr.com/ru/post/672396/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog#habracut">Читать дальше →</a>]]></description> |
|
|
|
30 |
|
|
|
31 <pubDate>Thu, 23 Jun 2022 07:59:03 GMT</pubDate> |
|
|
|
32 <dc:creator>MichaelEk</dc:creator> |
|
|
|
33 <category><![CDATA[Блог компании Яндекс]]></category><category><![CDATA[Open source]]></category><category><![CDATA[Алгоритмы]]></category><category><![CDATA[Машинное обучение]]></category><category><![CDATA[Natural Language Processing]]></category> |
|
|
|
34 <category><![CDATA[gpt-3]]></category><category><![CDATA[yalm]]></category><category><![CDATA[обработка изображений]]></category><category><![CDATA[модели анализа текстов]]></category> |
|
|
|
35 </item> |
|
|
|
36 |
|
|
|
37 |
|
|
|
38 |
|
|
|
39 |
|
|
|
40 |
|
|
|
41 |
|
|
|
42 |
|
|
|
43 <item> |
|
|
|
44 <title><![CDATA[Как Яндекс Карты с помощью отзывов улучшают поиск организаций]]></title> |
|
|
|
45 <guid isPermaLink="true">https://habr.com/ru/post/671504/</guid> |
|
|
|
46 <link>https://habr.com/ru/post/671504/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog</link> |
|
|
|
47 <description><![CDATA[<img src="https://habrastorage.org/webt/4g/eq/mz/4geqmzvgr50wxv0tccxnbslspuk.jpeg"><br> |
|
|
|
48 <br> |
|
|
|
49 Раньше Карты, Поиск и Алиса отвечали на запросы об организациях, во многом основываясь на данных от самих организаций. Это был нормальный компромисс, но всегда можно сделать лучше. <br> |
|
|
|
50 <br> |
|
|
|
51 Теперь учитываются ещё и реальные отзывы людей. Тем самым запросы, по которым раньше выдача была менее релевантной, обрабатываются качественнее, и мы можем решить больше пользовательских задач. Давайте расскажу, как мы к этому шли, и покажу примеры. <br> <a href="https://habr.com/ru/post/671504/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog#habracut">Читать дальше →</a>]]></description> |
|
|
|
52 |
|
|
|
53 <pubDate>Thu, 16 Jun 2022 07:53:11 GMT</pubDate> |
|
|
|
54 <dc:creator>danilchenkoandrey</dc:creator> |
|
|
|
55 <category><![CDATA[Блог компании Яндекс]]></category><category><![CDATA[Поисковые технологии]]></category><category><![CDATA[Алгоритмы]]></category><category><![CDATA[Геоинформационные сервисы]]></category><category><![CDATA[Машинное обучение]]></category> |
|
|
|
56 <category><![CDATA[отзывы]]></category><category><![CDATA[отзывы о компаниях]]></category><category><![CDATA[геопоиск]]></category> |
|
|
|
57 </item> |
|
|
|
58 |
|
|
|
59 |
|
|
|
60 |
|
|
|
61 |
|
|
|
62 |
|
|
|
63 |
|
|
|
64 |
|
|
|
65 <item> |
|
|
|
66 <title><![CDATA[Рефакторинг приложения с десятилетним легаси за три месяца. Опыт Яндекс Музыки]]></title> |
|
|
|
67 <guid isPermaLink="true">https://habr.com/ru/post/671236/</guid> |
|
|
|
68 <link>https://habr.com/ru/post/671236/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog</link> |
|
|
|
69 <description><![CDATA[<img src="https://habrastorage.org/webt/c1/j6/qx/c1j6qxwalh-xtd54yac9gzvqxzq.jpeg"><br> |
|
|
|
70 <br> |
|
|
|
71 Однажды ты просыпаешься и понимаешь: избыточность компонентов и рассинхронизация в твоём приложении начинают вредить пользователям. Однажды ты смотришь на написанное давным-давно ядро, плачешь горькими слезами, и приходит это некомфортное, но вместе с тем немного соблазнительное ощущение — что рефакторинг назрел. Добро пожаловать на экскурсию по рефакторингу Музыки, начиная с ресёрча и заканчивая эксплуатацией! Я покажу вам реальный код и постараюсь в деталях вспомнить, как мы формировали требования к механизмам и разрабатывали их, рисовали у себя в голове и в коде границы ядра, по одной переделывали очереди и внедряли то, что получилось, в SDK.<br> <a href="https://habr.com/ru/post/671236/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog#habracut">Читать дальше →</a>]]></description> |
|
|
|
72 |
|
|
|
73 <pubDate>Wed, 15 Jun 2022 07:56:44 GMT</pubDate> |
|
|
|
74 <dc:creator>Rugged</dc:creator> |
|
|
|
75 <category><![CDATA[Блог компании Яндекс]]></category><category><![CDATA[Разработка мобильных приложений]]></category><category><![CDATA[Проектирование и рефакторинг]]></category><category><![CDATA[Разработка под Android]]></category><category><![CDATA[Kotlin]]></category> |
|
|
|
76 <category><![CDATA[яндекс музыка]]></category><category><![CDATA[рефакторинг]]></category> |
|
|
|
77 </item> |
|
|
|
78 |
|
|
|
79 |
|
|
|
80 |
|
|
|
81 |
|
|
|
82 |
|
|
|
83 |
|
|
|
84 |
|
|
|
85 <item> |
|
|
|
86 <title><![CDATA[Yandex Planner. Как планировать вычислительные мощности]]></title> |
|
|
|
87 <guid isPermaLink="true">https://habr.com/ru/post/564510/</guid> |
|
|
|
88 <link>https://habr.com/ru/post/564510/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog</link> |
|
|
|
89 <description><![CDATA[<img src="https://habrastorage.org/webt/p5/su/nb/p5sunbyggewh4hfebubjmn3e8jq.jpeg"><br> |
|
|
|
90 <br> |
|
|
|
91 Серверные вычислительные ресурсы распределяются между большинством сервисов Яндекса централизованно. Тем самым все команды — и существующие давно, и собранные вокруг небольших экспериментов — получают мощности, которые им необходимы, чтобы сервис бесперебойно и быстро работал у всех пользователей. Однако этим распределением нужно управлять. <br> |
|
|
|
92 <br> |
|
|
|
93 Меня зовут Сергей Фомин, я разработчик Yandex Planner. Мой пост будет посвящён тому, как мы эффективно решаем задачу планирования вычислительных мощностей. <br> |
|
|
|
94 <br> |
|
|
|
95 Сначала я расскажу, что такое Yandex Planner и почему мы решили писать своё решение. После этого мы поговорим про то, в чём заключается задача планирования, почему она не такая простая, как может показаться на первый взгляд. И в качестве одного из способов решения задачи мы рассмотрим дефрагментацию ресурсов. Поехали. <br> <a href="https://habr.com/ru/post/564510/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog#habracut">Читать дальше →</a>]]></description> |
|
|
|
96 |
|
|
|
97 <pubDate>Tue, 07 Jun 2022 07:52:20 GMT</pubDate> |
|
|
|
98 <dc:creator>sergio42</dc:creator> |
|
|
|
99 <category><![CDATA[Блог компании Яндекс]]></category><category><![CDATA[Высокая производительность]]></category><category><![CDATA[Анализ и проектирование систем]]></category><category><![CDATA[Серверная оптимизация]]></category><category><![CDATA[Распределённые системы]]></category> |
|
|
|
100 <category><![CDATA[планирование ресурсов]]></category><category><![CDATA[управление ресурсами]]></category><category><![CDATA[инфраструктура]]></category><category><![CDATA[бэкенд]]></category><category><![CDATA[devtools]]></category> |
|
|
|
101 </item> |
|
|
|
102 |
|
|
|
103 |
|
|
|
104 |
|
|
|
105 |
|
|
|
106 |
|
|
|
107 |
|
|
|
108 |
|
|
|
109 <item> |
|
|
|
110 <title><![CDATA[Память в браузерах и в Node.js: ограничения, утечки и нестандартные оптимизации]]></title> |
|
|
|
111 <guid isPermaLink="true">https://habr.com/ru/post/666870/</guid> |
|
|
|
112 <link>https://habr.com/ru/post/666870/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog</link> |
|
|
|
113 <description><![CDATA[<h2 id="intro-pochemu-ya-napisal-etu-statyu">Интро: почему я написал эту статью</h2><br> |
|
|
|
114 <p>Меня зовут Виктор, я разрабатываю страницу результатов поиска Яндекса. Несмотря на внешнюю простоту, поисковая выдача — сложная штука: на каждый запрос генерируется своя уникальная страница, на которой в зависимости от запроса может присутствовать блок Картинок, Карты, Переводчик, видеоплеер и многие другие компоненты. Все они должны запускаться и работать в памяти обычных бюджетных телефонов, которые использует большинство наших пользователей. Браузерам должно хватать ресурсов, чтобы пользователь не видел вот такого:</p><br> |
|
|
|
115 <p><img src="https://habrastorage.org/webt/wp/li/dm/wplidmelkxo8hx1qxxu0vb71ask.jpeg"></p><br> |
|
|
|
116 <p>На своих серверах мы должны генерировать сотни миллионов уникальных страниц в сутки — это сложнее, чем просто отдавать одни и те же ресурсы. Генерация страницы не должна быть слишком требовательной к памяти сервера.</p><br> |
|
|
|
117 <p>Разрабатывая проект на JavaScript (TypeScript, ClojureScript или каком-то другом языке, транслируемом в JavaScript), мы привыкли создавать объекты, массивы, строки и вообще писать код, как будто память бесконечна. Это не так. Я расскажу о видах проблем с памятью, о том, какие ограничения мы часто забываем и как их можно преодолеть. В ответ браузеры и пользователи скажут вам спасибо.</p><br> |
|
|
|
118 <ul> |
|
|
|
119 <li><a href="https://habr.com/ru/company/yandex/blog/666870/#1">Категории проблем с памятью</a></li> |
|
|
|
120 <li><a href="https://habr.com/ru/company/yandex/blog/666870/#2">Ограничения по памяти для разных типов данных</a><br> |
|
|
|
121 <a href="https://habr.com/ru/company/yandex/blog/666870/#21">Heap</a><br> |
|
|
|
122 <a href="https://habr.com/ru/company/yandex/blog/666870/#22">Buffer, TypedArray</a><br> |
|
|
|
123 <a href="https://habr.com/ru/company/yandex/blog/666870/#23">String</a><br> |
|
|
|
124 <a href="https://habr.com/ru/company/yandex/blog/666870/#24">Map, Set</a><br> |
|
|
|
125 <a href="https://habr.com/ru/company/yandex/blog/666870/#25">Call stack</a><br> |
|
|
|
126 <a href="https://habr.com/ru/company/yandex/blog/666870/#26">Типичные задачи, в которых можно наткнуться на ограничения по памяти</a></li> |
|
|
|
127 <li><a href="https://habr.com/ru/company/yandex/blog/666870/#3">Soft-утечки</a><br> |
|
|
|
128 <a href="https://habr.com/ru/company/yandex/blog/666870/#31">Пример из продакшена</a><br> |
|
|
|
129 <a href="https://habr.com/ru/company/yandex/blog/666870/#32">Как получаются soft-утечки </a><br> |
|
|
|
130 <a href="https://habr.com/ru/company/yandex/blog/666870/#33">Как их обнаружить</a><br> |
|
|
|
131 <a href="https://habr.com/ru/company/yandex/blog/666870/#34">Как найти причину</a><br> |
|
|
|
132 <a href="https://habr.com/ru/company/yandex/blog/666870/#341">1. Memory Allocation Timeline</a><br> |
|
|
|
133 <a href="https://habr.com/ru/company/yandex/blog/666870/#342">2. Техника трёх снапшотов</a><br> |
|
|
|
134 <a href="https://habr.com/ru/company/yandex/blog/666870/#343">3. queryObjects</a><br> |
|
|
|
135 <a href="https://habr.com/ru/company/yandex/blog/666870/#344">Тренируемся находить утечки</a></li> |
|
|
|
136 <li><a href="https://habr.com/ru/company/yandex/blog/666870/#4">Hard-утечки</a><br> |
|
|
|
137 <a href="https://habr.com/ru/company/yandex/blog/666870/#41">Пример из продакшена</a><br> |
|
|
|
138 <a href="https://habr.com/ru/company/yandex/blog/666870/#42">Как бороться</a></li> |
|
|
|
139 <li><a href="https://habr.com/ru/company/yandex/blog/666870/#5">Нестандартные оптимизации памяти в Node.js</a><br> |
|
|
|
140 <a href="https://habr.com/ru/company/yandex/blog/666870/#51">Исходный код</a><br> |
|
|
|
141 <a href="https://habr.com/ru/company/yandex/blog/666870/#52">Module._pathCache</a><br> |
|
|
|
142 <a href="https://habr.com/ru/company/yandex/blog/666870/#53">Несколько версий пакета в node_modules</a><br> |
|
|
|
143 <a href="https://habr.com/ru/company/yandex/blog/666870/#54">require('./data.json')</a></li> |
|
|
|
144 <li><a href="https://habr.com/ru/company/yandex/blog/666870/#6">Заключение</a></li> |
|
|
|
145 </ul> <a href="https://habr.com/ru/post/666870/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog#habracut">Читать дальше →</a>]]></description> |
|
|
|
146 |
|
|
|
147 <pubDate>Thu, 02 Jun 2022 07:56:33 GMT</pubDate> |
|
|
|
148 <dc:creator>victor-homyakov</dc:creator> |
|
|
|
149 <category><![CDATA[Блог компании Яндекс]]></category><category><![CDATA[Разработка веб-сайтов]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Интерфейсы]]></category><category><![CDATA[Node.JS]]></category> |
|
|
|
150 <category><![CDATA[управление памятью]]></category><category><![CDATA[утечки памяти]]></category><category><![CDATA[нехватка памяти]]></category><category><![CDATA[клиентская оптимизация]]></category><category><![CDATA[серверная оптимизация]]></category> |
|
|
|
151 </item> |
|
|
|
152 |
|
|
|
153 |
|
|
|
154 |
|
|
|
155 |
|
|
|
156 |
|
|
|
157 |
|
|
|
158 |
|
|
|
159 <item> |
|
|
|
160 <title><![CDATA[Станция 2. Истории разработки одного из самых сложных устройств Яндекса]]></title> |
|
|
|
161 <guid isPermaLink="true">https://habr.com/ru/post/668660/</guid> |
|
|
|
162 <link>https://habr.com/ru/post/668660/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog</link> |
|
|
|
163 <description><![CDATA[<img src="https://habrastorage.org/webt/kv/7f/s1/kv7fs1htgeubwsgbpyobpr91dzk.jpeg"><br> |
|
|
|
164 <br> |
|
|
|
165 Сегодня стартуют продажи Яндекс Станции 2 — нашего новейшего устройства, которое станет центральным элементом в умном доме с Алисой. Мы полностью переосмыслили и внутренний, и внешний дизайн, добавили световой экран на верхней панели и постарались учесть опыт предыдущего поколения во множестве незаметных с первого взгляда компонентов.<br> |
|
|
|
166 <br> |
|
|
|
167 Я хочу поделиться нашей внутренней кухней в формате, который уже стал традиционным для хабрастатей о новых Станциях. Это снова будут несколько историй про разные аспекты hardware-разработки: поговорим об исследованиях формы комнаты микрофонами, распространении света в прозрачном материале, а ещё о генеративных анимациях и неожиданной пользе от ПЛИС.<br> <a href="https://habr.com/ru/post/668660/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog#habracut">Читать дальше →</a>]]></description> |
|
|
|
168 |
|
|
|
169 <pubDate>Tue, 31 May 2022 07:28:52 GMT</pubDate> |
|
|
|
170 <dc:creator>Leono</dc:creator> |
|
|
|
171 <category><![CDATA[Блог компании Яндекс]]></category><category><![CDATA[Производство и разработка электроники]]></category><category><![CDATA[Гаджеты]]></category><category><![CDATA[Компьютерное железо]]></category><category><![CDATA[Звук]]></category> |
|
|
|
172 <category><![CDATA[яндекс]]></category><category><![CDATA[умные колонки]]></category><category><![CDATA[команда алисы]]></category><category><![CDATA[яндекс станция]]></category> |
|
|
|
173 </item> |
|
|
|
174 |
|
|
|
175 |
|
|
|
176 |
|
|
|
177 |
|
|
|
178 |
|
|
|
179 |
|
|
|
180 |
|
|
|
181 <item> |
|
|
|
182 <title><![CDATA[Про поддержку Certificate Transparency для национальных сертификатов]]></title> |
|
|
|
183 <guid isPermaLink="true">https://habr.com/ru/post/667300/</guid> |
|
|
|
184 <link>https://habr.com/ru/post/667300/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog</link> |
|
|
|
185 <description><![CDATA[<p>Недавно мы рассказывали Хабру про поддержку в Яндекс Браузере тех сайтов, которые перешли на использование национальных TLS-сертификатов. Если вы пропустили, то рекомендуем <a href="https://habr.com/ru/company/yandex/blog/655185/"><u>прочитать</u></a> пост, он содержит ответы на популярные вопросы. </p><p>Сегодня мы расскажем про следующий большой шаг в этом направлении — про обещанную поддержку публичных логов, созданных на базе открытого стандарта Certificate Transparency.</p> <a href="https://habr.com/ru/post/667300/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog#habracut">Читать далее</a>]]></description> |
|
|
|
186 |
|
|
|
187 <pubDate>Mon, 23 May 2022 11:29:34 GMT</pubDate> |
|
|
|
188 <dc:creator>ironpeter</dc:creator> |
|
|
|
189 <category><![CDATA[Блог компании Яндекс]]></category><category><![CDATA[Информационная безопасность]]></category><category><![CDATA[Разработка веб-сайтов]]></category><category><![CDATA[Браузеры]]></category><category><![CDATA[IT-компании]]></category> |
|
|
|
190 <category><![CDATA[яндекс]]></category><category><![CDATA[сертификаты]]></category><category><![CDATA[ssl]]></category><category><![CDATA[tls]]></category><category><![CDATA[безопасность]]></category><category><![CDATA[certificate transparency]]></category> |
|
|
|
191 </item> |
|
|
|
192 |
|
|
|
193 |
|
|
|
194 |
|
|
|
195 |
|
|
|
196 |
|
|
|
197 |
|
|
|
198 |
|
|
|
199 <item> |
|
|
|
200 <title><![CDATA[Находим главное в отзывах. Опыт разработчиков геопоиска Яндекса]]></title> |
|
|
|
201 <guid isPermaLink="true">https://habr.com/ru/post/665132/</guid> |
|
|
|
202 <link>https://habr.com/ru/post/665132/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog</link> |
|
|
|
203 <description><![CDATA[<img src="https://habrastorage.org/webt/tc/rs/lk/tcrslkb4iqhzxup_i-aylbmjqns.jpeg"><br> |
|
|
|
204 <br> |
|
|
|
205 Существует классический способ выбрать, в какое кафе сходить или в какую организацию обратиться: достаточно почитать отзывы (которые, конечно, должны быть защищены от ботов). И такой способ правда популярен — в том числе, уверен, и среди читателей этого поста.<br> |
|
|
|
206 <br> |
|
|
|
207 Для тех, кому важно выбрать быстрее, существует топ отзывов, а также рейтинг заведения. Но в случае с топом по-прежнему нужно вчитываться в мнения людей, а рейтинг скрывает за собой множество деталей — непонятно, учитывает ли он нюансы про еду, обслуживание, спектр услуг и так далее. <br> |
|
|
|
208 <br> |
|
|
|
209 Мы поняли, что нужно учиться систематизировать отзывы и выделять главное. Этот пост — про то, как мы стремились состыковать интересы пользователей с доступными нам технологиями в машинном обучении и на фронтенде. Рассказывать буду достаточно подробно, чтобы вы прошли этот путь вместе со мной и увидели все пробы и ошибки. Возможно, по дороге у вас возникнут свои мысли о том, как можно решать подобную задачу.<br> <a href="https://habr.com/ru/post/665132/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog#habracut">Читать дальше →</a>]]></description> |
|
|
|
210 |
|
|
|
211 <pubDate>Wed, 18 May 2022 07:58:06 GMT</pubDate> |
|
|
|
212 <dc:creator>aim110</dc:creator> |
|
|
|
213 <category><![CDATA[Блог компании Яндекс]]></category><category><![CDATA[Интерфейсы]]></category><category><![CDATA[Геоинформационные сервисы]]></category><category><![CDATA[Машинное обучение]]></category><category><![CDATA[Natural Language Processing]]></category> |
|
|
|
214 <category><![CDATA[отзывы]]></category><category><![CDATA[отзывы о компаниях]]></category> |
|
|
|
215 </item> |
|
|
|
216 |
|
|
|
217 |
|
|
|
218 |
|
|
|
219 |
|
|
|
220 |
|
|
|
221 |
|
|
|
222 |
|
|
|
223 <item> |
|
|
|
224 <title><![CDATA[Гайд по написанию и рефакторингу компонентов, которые хочется переиспользовать]]></title> |
|
|
|
225 <guid isPermaLink="true">https://habr.com/ru/post/662826/</guid> |
|
|
|
226 <link>https://habr.com/ru/post/662826/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog</link> |
|
|
|
227 <description><![CDATA[<img src="https://habrastorage.org/webt/so/ta/qi/sotaqiwk-bcmkriabdlnt4cgarc.jpeg" align="right" width="25%">Случалось ли вам, выполняя какую-то задачу, понять, что самый простой путь — нажать Сtrl+C, Сtrl+V: перетащить из соседней папочки пару файлов, поменять пару строчек, и будет ок? Повторялось ли это ощущение? Я хочу рассказать о том, как боролся с этой проблемой и к чему пришёл вместе с командой. Назовём это решение «универсальные компоненты» (если у кого-то будет более удачное название для концепции, жду в коментариях). Примеры буду приводить в основном на React, но концепции будут общие. <br> <a href="https://habr.com/ru/post/662826/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog#habracut">Читать дальше →</a>]]></description> |
|
|
|
228 |
|
|
|
229 <pubDate>Tue, 26 Apr 2022 08:01:43 GMT</pubDate> |
|
|
|
230 <dc:creator>roaming-light</dc:creator> |
|
|
|
231 <category><![CDATA[Блог компании Яндекс]]></category><category><![CDATA[Разработка веб-сайтов]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Интерфейсы]]></category><category><![CDATA[ReactJS]]></category> |
|
|
|
232 <category><![CDATA[компоненты]]></category><category><![CDATA[переиспользуемые компоненты]]></category><category><![CDATA[архитектура фронтенда]]></category> |
|
|
|
233 </item> |
|
|
|
234 |
|
|
|
235 |
|
|
|
236 |
|
|
|
237 |
|
|
|
238 |
|
|
|
239 |
|
|
|
240 |
|
|
|
241 <item> |
|
|
|
242 <title><![CDATA[Почему GPU обманывают о своей нагрузке и как с этим бороться]]></title> |
|
|
|
243 <guid isPermaLink="true">https://habr.com/ru/post/661989/</guid> |
|
|
|
244 <link>https://habr.com/ru/post/661989/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog</link> |
|
|
|
245 <description><![CDATA[В предыдущем <a href="https://habr.com/ru/company/yandex/blog/589363/">посте</a> я рассказывал о том, как мы строили свои суперкомпьютеры. В этом — поделюсь опытом, который мы накопили, эксплуатируя наши кластеры. Этот опыт будет полезен не только тем, кто обучает огромные ML-модели. На грабли, о которых пойдёт речь, легко наступить, даже если вы специалист с парой GPU. <br> |
|
|
|
246 <br> |
|
|
|
247 <img src="https://habrastorage.org/webt/_v/hs/x-/_vhsx-thqr_kl1rb8txwzcu8wqm.jpeg"><br> |
|
|
|
248 <br> |
|
|
|
249 Почему в распределённом обучении нельзя доверять утилизации GPU? Почему переход в эру распределённого обучения — фундаментальный сдвиг парадигмы мышления, к которому должен быть готов каждый ML-разработчик? Ещё больше «Почему» и ответов на них — под катом.<br> <a href="https://habr.com/ru/post/661989/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog#habracut">Читать дальше →</a>]]></description> |
|
|
|
250 |
|
|
|
251 <pubDate>Thu, 21 Apr 2022 07:59:00 GMT</pubDate> |
|
|
|
252 <dc:creator>dmtrmonakhov</dc:creator> |
|
|
|
253 <category><![CDATA[Блог компании Яндекс]]></category><category><![CDATA[Высокая производительность]]></category><category><![CDATA[Сетевые технологии]]></category><category><![CDATA[Машинное обучение]]></category><category><![CDATA[Суперкомпьютеры]]></category> |
|
|
|
254 <category><![CDATA[суперкомпьютеры]]></category><category><![CDATA[GPU-кластеры]]></category><category><![CDATA[машинное обучение]]></category> |
|
|
|
255 </item> |
|
|
|
256 |
|
|
|
257 |
|
|
|
258 |
|
|
|
259 |
|
|
|
260 |
|
|
|
261 |
|
|
|
262 |
|
|
|
263 <item> |
|
|
|
264 <title><![CDATA[Яндекс выложил в опенсорс YDB]]></title> |
|
|
|
265 <guid isPermaLink="true">https://habr.com/ru/post/660271/</guid> |
|
|
|
266 <link>https://habr.com/ru/post/660271/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog</link> |
|
|
|
267 <description><![CDATA[Сегодня мы выложили в опенсорс систему управления базами данных YDB — плод многолетнего опыта Яндекса в разработке систем хранения и обработки данных. Исходный код, документация, SDK и все инструменты для работы с базой <a href="https://github.com/ydb-platform/ydb" rel="nofollow noopener noreferrer">опубликованы на GitHub</a> под лицензией Apache 2.0. Развернуть базу можно как на собственных, так и на сторонних серверах — в том числе в любых облачных сервисах.<br> |
|
|
|
268 <br> |
|
|
|
269 <img src="https://habrastorage.org/webt/mn/es/dq/mnesdqdj71e0lbeisai6qbmuwro.jpeg"><br> |
|
|
|
270 <br> |
|
|
|
271 YDB решает задачи в одной из самых критичных областей — позволяет создавать интерактивные приложения, которые можно быстро масштабировать по нагрузке и по объёму данных. Мы разрабатывали её, исходя из ключевых требований к сервисам Яндекса. Во-первых, это катастрофоустойчивость, то есть возможность продолжить работу без деградации при отключении одного из дата-центров. Во-вторых, это масштабируемость на десятки тысяч серверов на чтение и на запись. В-третьих, это строгая консистентность данных.<br> |
|
|
|
272 <br> |
|
|
|
273 В посте я расскажу об истории развития технологий баз данных, о том, зачем использовать YDB, как её применяют текущие пользователи и какие плюсы для всех несёт выход в опенсорс. А во второй половине поста поговорим о разных вариантах развёртывания.<br> <a href="https://habr.com/ru/post/660271/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog#habracut">Читать дальше →</a>]]></description> |
|
|
|
274 |
|
|
|
275 <pubDate>Tue, 19 Apr 2022 08:59:14 GMT</pubDate> |
|
|
|
276 <dc:creator>olalala</dc:creator> |
|
|
|
277 <category><![CDATA[Блог компании Яндекс]]></category><category><![CDATA[Высокая производительность]]></category><category><![CDATA[Open source]]></category><category><![CDATA[Администрирование баз данных]]></category><category><![CDATA[GitHub]]></category> |
|
|
|
278 <category><![CDATA[ydb]]></category><category><![CDATA[yandex]]></category><category><![CDATA[yandex cloud]]></category><category><![CDATA[базы данных]]></category><category><![CDATA[открытый код]]></category><category><![CDATA[субд]]></category> |
|
|
|
279 </item> |
|
|
|
280 |
|
|
|
281 |
|
|
|
282 |
|
|
|
283 |
|
|
|
284 |
|
|
|
285 |
|
|
|
286 |
|
|
|
287 <item> |
|
|
|
288 <title><![CDATA[Как мы учимся адаптировать Яндекс Go для незрячих пользователей: ожидания, суровая реальность, чек-лист разработчика]]></title> |
|
|
|
289 <guid isPermaLink="true">https://habr.com/ru/post/660663/</guid> |
|
|
|
290 <link>https://habr.com/ru/post/660663/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog</link> |
|
|
|
291 <description><![CDATA[Может показаться, что работа над доступностью приложения для незрячих пользователей заключается лишь в том, чтобы подписать все элементы интерфейса для скринридера. Мы тоже так раньше думали. Реальность оказалась куда сложнее.<br> |
|
|
|
292 <br> |
|
|
|
293 <img src="https://habrastorage.org/webt/m6/6i/sa/m66isabclypsnafco85hh3zq_zu.jpeg" alt="Девушка пользуется приложением Go"><br> |
|
|
|
294 <br> |
|
|
|
295 Привет! Меня зовут Николай Морев, я разрабатываю iOS-версию приложения Яндекс Go. Не буду скрывать: долгое время незрячим и слабовидящим пользователям было крайне сложно, а порой и невозможно пользоваться нашим приложением. <br> |
|
|
|
296 <br> |
|
|
|
297 Первые попытки, которые мы предприняли, должны были решить проблему малой кровью. Этот подход оказался наивным, но он принёс нам опыт, которым я хочу поделиться с другими разработчиками в этом посте. Под катом расскажу, почему работа над доступностью — это прежде всего работа над UX, а уже во вторую очередь — над API. Покажу примеры, когда эвристики системного скринридера приносили больше вреда, чем пользы. Объясню, почему для работы над доступностью нам потребовалась помощь ещё и бэкендеров. <br> |
|
|
|
298 <br> |
|
|
|
299 Приложению Яндекс Go ещё далеко до идеала, нерешённых проблем хватает. Но, надеюсь, накопленный нами опыт поможет другим.<br> <a href="https://habr.com/ru/post/660663/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog#habracut">Читать дальше →</a>]]></description> |
|
|
|
300 |
|
|
|
301 <pubDate>Thu, 14 Apr 2022 07:58:13 GMT</pubDate> |
|
|
|
302 <dc:creator>k011a</dc:creator> |
|
|
|
303 <category><![CDATA[Блог компании Яндекс]]></category><category><![CDATA[Разработка мобильных приложений]]></category><category><![CDATA[Геоинформационные сервисы]]></category><category><![CDATA[Accessibility]]></category> |
|
|
|
304 <category><![CDATA[доступность]]></category><category><![CDATA[доступность навигации]]></category><category><![CDATA[команда яндекс go]]></category> |
|
|
|
305 </item> |
|
|
|
306 |
|
|
|
307 |
|
|
|
308 |
|
|
|
309 |
|
|
|
310 |
|
|
|
311 |
|
|
|
312 |
|
|
|
313 <item> |
|
|
|
314 <title><![CDATA[Эволюция перевода видео в Яндекс Браузере: от новых языков до интерактивных субтитров]]></title> |
|
|
|
315 <guid isPermaLink="true">https://habr.com/ru/post/658121/</guid> |
|
|
|
316 <link>https://habr.com/ru/post/658121/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog</link> |
|
|
|
317 <description><![CDATA[В сентябре мы <a href="https://habr.com/ru/company/yandex/blog/576438/">рассказывали</a> Хабру о том, как наша команда помогает преодолевать языковой барьер с помощью перевода видео. Эта функция позволяет автоматически переводить видео так, чтобы зритель сразу слышал русскую речь. Пользователи встретили новую возможность тепло: ролики с переводом смотрят больше 200 тысяч раз в день.<br> |
|
|
|
318 <br> |
|
|
|
319 С тех пор мы развиваем перевод видео. Не писали здесь про каждое изменение, потому что <s>скромные</s> по отдельности они не тянут на рассказ. Но сегодня воспользуюсь поводом и расскажу не только про свежую версию, в которую добавили перевод субтитров, но и про предыдущие обновления. <br> |
|
|
|
320 <br> |
|
|
|
321 <img src="https://habrastorage.org/webt/bd/wy/uf/bdwyufkxrc_fi5iiy9cnccplido.jpeg"><br> |
|
|
|
322 <br> <a href="https://habr.com/ru/post/658121/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog#habracut">Читать дальше →</a>]]></description> |
|
|
|
323 |
|
|
|
324 <pubDate>Wed, 30 Mar 2022 08:02:17 GMT</pubDate> |
|
|
|
325 <dc:creator>BarakAdama</dc:creator> |
|
|
|
326 <category><![CDATA[Блог компании Яндекс]]></category><category><![CDATA[Браузеры]]></category><category><![CDATA[Софт]]></category><category><![CDATA[Искусственный интеллект]]></category><category><![CDATA[Изучение языков]]></category> |
|
|
|
327 <category><![CDATA[яндекс браузер]]></category><category><![CDATA[яндекс]]></category><category><![CDATA[команда яндекс.браузера]]></category><category><![CDATA[перевод видео]]></category><category><![CDATA[переводчик]]></category><category><![CDATA[перевод субтитров]]></category><category><![CDATA[машинный перевод]]></category> |
|
|
|
328 </item> |
|
|
|
329 |
|
|
|
330 |
|
|
|
331 |
|
|
|
332 |
|
|
|
333 |
|
|
|
334 |
|
|
|
335 |
|
|
|
336 <item> |
|
|
|
337 <title><![CDATA[Про поддержку сайтов с национальными сертификатами в Яндекс Браузере]]></title> |
|
|
|
338 <guid isPermaLink="true">https://habr.com/ru/post/655185/</guid> |
|
|
|
339 <link>https://habr.com/ru/post/655185/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog</link> |
|
|
|
340 <description><![CDATA[Очень много вопросов по этой теме. Оно и понятно: информации мало, противоречивых интерпретаций много. Для нас тема защиты соединений с сайтами близка. Мы пишем на Хабре об этом уже лет восемь. Например, в своё время мы первыми <a href="https://habr.com/ru/company/yandex/blog/280380/">поддержали</a> DNSCrypt прямо в браузере, первыми начали <a href="https://habr.com/ru/company/yandex/blog/326796/">предупреждать</a> о неизвестных корневых сертификатах в системе, первыми <a href="https://habr.com/ru/company/yandex/blog/267013/">включили</a> шифрование трафика для незащищенных Wi-Fi-сетей. <br> |
|
|
|
341 <br> |
|
|
|
342 Поэтому сегодня мы расскажем сообществу о происходящем чуть более подробно. Тем, кто очень спешит и хочет получить короткие ответы, достаточно прочитать начало поста. Поехали.<br> |
|
|
|
343 <br> |
|
|
|
344 <h2>Коротко о главном</h2><br> |
|
|
|
345 <ol> |
|
|
|
346 <li>Национальный удостоверяющий центр выдаёт сертификаты на домены только тех организаций, которые явно это запросили. Полный список этих доменов публично доступен по адресу <a href="https://www.gosuslugi.ru/tls" rel="nofollow noopener noreferrer">www.gosuslugi.ru/tls</a>.</li> |
|
|
|
347 <li>Яндекс Браузер применяет национальные сертификаты не для всего рунета, а только на тех сайтах, которые есть в списке на <a href="https://www.gosuslugi.ru/tls" rel="nofollow noopener noreferrer">www.gosuslugi.ru/tls</a>. Попытка применить сертификат на других доменах приведёт к стандартной ошибке и недоступности сайта для пользователя. </li> |
|
|
|
348 <li>Национальные сертификаты используют общепринятую открытую криптографию и работают по стандартным правилам (это обычный RSA с длинным ключом, ровно такой же, какой выписывают другие центры сертификации). </li> |
|
|
|
349 <li>Мы работаем над поддержкой стандарта Certificate Transparency и планируем создать публичный лог, в который будут вноситься все выпускаемые национальным центром сертификаты. Мы надеемся, что другие представители индустрии поддержат эту инициативу и запустят дополнительные публичные логи. Это позволит добиться прозрачности в работе с национальными сертификатами. </li> |
|
|
|
350 </ol><br> <a href="https://habr.com/ru/post/655185/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog#habracut">Читать дальше →</a>]]></description> |
|
|
|
351 |
|
|
|
352 <pubDate>Fri, 11 Mar 2022 10:57:33 GMT</pubDate> |
|
|
|
353 <dc:creator>ironpeter</dc:creator> |
|
|
|
354 <category><![CDATA[Блог компании Яндекс]]></category><category><![CDATA[Браузеры]]></category> |
|
|
|
355 <category><![CDATA[яндекс]]></category><category><![CDATA[ssl]]></category><category><![CDATA[tls]]></category><category><![CDATA[сертификаты]]></category><category><![CDATA[безопасность]]></category> |
|
|
|
356 </item> |
|
|
|
357 |
|
|
|
358 |
|
|
|
359 |
|
|
|
360 |
|
|
|
361 |
|
|
|
362 |
|
|
|
363 |
|
|
|
364 <item> |
|
|
|
365 <title><![CDATA[Что считать счастьем покупателя?]]></title> |
|
|
|
366 <guid isPermaLink="true">https://habr.com/ru/post/651751/</guid> |
|
|
|
367 <link>https://habr.com/ru/post/651751/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog</link> |
|
|
|
368 <description><![CDATA[<img src="https://habrastorage.org/webt/mx/p_/hx/mxp_hxr4hg36y3sg9xntdptilo0.jpeg" width="700"><br> |
|
|
|
369 <sub>По запросу [форма] мы должны угадать, что именно нужно покупателю: выпечка, наращивание ногтей, косплеить медсестру или калибратор кубов бетона. Задача — быстро понять, кто перед нами и что сделает человека счастливым.</sub><br> |
|
|
|
370 <br> |
|
|
|
371 Я работаю над качеством поиска в Яндекс.Маркете. И качество поиска прямо связано с ощущением счастья пользователя от шопинга. Счастье нужно измерять. Самый очевидный способ — посмотреть, купил ли что-нибудь пользователь. Но мы не всегда приходим в магазин или на Маркет, чтобы взять что-то конкретное.<br> |
|
|
|
372 <br> |
|
|
|
373 <b>Человек может:</b><br> |
|
|
|
374 <br> |
|
|
|
375 <ul> |
|
|
|
376 <li>Формулировать требования к покупке по мере сравнения вариантов. <br> |
|
|
|
377 <br> |
|
|
|
378 <div class="spoiler" role="button" tabindex="0"> |
|
|
|
379 <b class="spoiler_title">Пример с соковыжималкой</b> |
|
|
|
380 <div class="spoiler_text">Предположим, он ищет соковыжималку, но ещё не знает, какие они бывают. По мере изучения товаров он примерно начинает понимать, что хочет. На старте у него нет ни фиксированного бюджета, ни требований, только мечта. Дальше нужно сопоставить мечту с конкретной карточкой товара. С точки зрения метрики покупки, пользователь будет довольно долго бесцельно бродить в начале — но мы понимаем, что эта часть была очень важна, там он изучал предложение и понимал, как устроен мир.</div> |
|
|
|
381 </div></li> |
|
|
|
382 <li>Приходить с примерным бюджетом и выбирать что-то под него, например, при поиске подарка. В этой ситуации у пользователя даже нет мечты, он ходит по категориям и ищет что-то, что его «зацепит».</li> |
|
|
|
383 <li>Более-менее точно понимать, что хочет купить (часто вплоть до модели товара), но искать лучшее предложение.</li> |
|
|
|
384 <li>Знать модель товара и проверять, насколько честна цена на неё, насколько хороши отзывы и так далее.</li> |
|
|
|
385 </ul><br> |
|
|
|
386 То есть с точки зрения человека покупка — далеко не единственная цель. Маркетплейс используется и для развлечения, и для изучения предложений, и даже для проверки цены, когда стоишь в очереди к кассе в реальном магазине.<br> |
|
|
|
387 <br> |
|
|
|
388 Мы работаем над улучшением поиска по товарам. Поэтому нам нужна была метрика, которая показывает удовлетворённость людей тем, что мы показываем на выдаче. Мы искали её в несколько итераций, и сейчас я хочу рассказать о том, что мы уже придумали.<br> <a href="https://habr.com/ru/post/651751/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog#habracut">Читать дальше →</a>]]></description> |
|
|
|
389 |
|
|
|
390 <pubDate>Wed, 16 Feb 2022 07:53:26 GMT</pubDate> |
|
|
|
391 <dc:creator>art-fomin</dc:creator> |
|
|
|
392 <category><![CDATA[Блог компании Яндекс]]></category><category><![CDATA[Поисковые технологии]]></category><category><![CDATA[Алгоритмы]]></category><category><![CDATA[Разработка под e-commerce]]></category> |
|
|
|
393 <category><![CDATA[качество поиска]]></category><category><![CDATA[маркетплейсы]]></category><category><![CDATA[счастье]]></category><category><![CDATA[команда яндекс.маркета]]></category> |
|
|
|
394 </item> |
|
|
|
395 |
|
|
|
396 |
|
|
|
397 |
|
|
|
398 |
|
|
|
399 |
|
|
|
400 |
|
|
|
401 |
|
|
|
402 <item> |
|
|
|
403 <title><![CDATA[С++23 — итоги февральской встречи международного комитета]]></title> |
|
|
|
404 <guid isPermaLink="true">https://habr.com/ru/post/649497/</guid> |
|
|
|
405 <link>https://habr.com/ru/post/649497/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog</link> |
|
|
|
406 <description><![CDATA[<div style="text-align:center;"><img src="https://habrastorage.org/webt/k3/ay/8j/k3ay8ji3lxa1_bpqaxlkcfsp1da.jpeg" width="70%"></div><br> |
|
|
|
407 Без лишних слов, прямо к делу — вот какие новые вкусности будут нас ждать в C++23:<br> |
|
|
|
408 <br> |
|
|
|
409 <ul> |
|
|
|
410 <li><code>std::expected</code> — новый механизм сообщения об ошибках без использования исключений и без недостатков кодов возврата.</li> |
|
|
|
411 <li>constexpr-математика — теперь на этапе компиляции можно доставать разные части чисел с плавающей запятой, копировать знаки и округлять числа.</li> |
|
|
|
412 <li><code>std::ranges::to</code> — результаты работы алгоритмов можно легко превратить в контейнер.</li> |
|
|
|
413 <li><code>std::views::join_with</code> — добавление разделителя между элементами.</li> |
|
|
|
414 </ul><br> |
|
|
|
415 Что мы <b>не</b> увидим в C++23, на что ещё можно надеяться и что ещё приняли в текущий черновик стандарта? Всё это ждёт вас под катом.<br> <a href="https://habr.com/ru/post/649497/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog#habracut">Читать дальше →</a>]]></description> |
|
|
|
416 |
|
|
|
417 <pubDate>Wed, 09 Feb 2022 07:59:09 GMT</pubDate> |
|
|
|
418 <dc:creator>antoshkka</dc:creator> |
|
|
|
419 <category><![CDATA[Блог компании Яндекс]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[C++]]></category><category><![CDATA[Компиляторы]]></category><category><![CDATA[IT-стандарты]]></category> |
|
|
|
420 <category><![CDATA[с++]]></category><category><![CDATA[c++20]]></category><category><![CDATA[c++23]]></category><category><![CDATA[expected]]></category><category><![CDATA[ranges]]></category><category><![CDATA[constexpr]]></category><category><![CDATA[unreachable code]]></category><category><![CDATA[standard library]]></category><category><![CDATA[join]]></category><category><![CDATA[iota]]></category> |
|
|
|
421 </item> |
|
|
|
422 |
|
|
|
423 |
|
|
|
424 |
|
|
|
425 |
|
|
|
426 |
|
|
|
427 |
|
|
|
428 |
|
|
|
429 <item> |
|
|
|
430 <title><![CDATA[Эволюция UI-тестов в iOS-приложении]]></title> |
|
|
|
431 <guid isPermaLink="true">https://habr.com/ru/post/648723/</guid> |
|
|
|
432 <link>https://habr.com/ru/post/648723/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog</link> |
|
|
|
433 <description><![CDATA[<img src="https://habrastorage.org/webt/ek/km/hj/ekkmhjplrbljb-ncsjb7n5ejavu.jpeg"><br> |
|
|
|
434 Test-driven development — по-прежнему спорная тема. Часто встречается обоснованное, в общем-то, мнение, что такая разработка нужна только большим компаниям, потому что только у них достаточно ресурсов для создания и поддержки большого количества тест-кейсов. Но сегодня на примере iOS-приложения Маркета я покажу, что стремление как раз обратное: хочется, чтобы тесты поглощали как можно меньше времени разработчиков.<br> |
|
|
|
435 <br> |
|
|
|
436 Меня зовут Даша, работаю в команде iOS-разработки Яндекс.Маркета. Два года назад мы поняли, что без автотестов нам тяжело: с их помощью мы снизили вероятность крешей после релиза и ускорили регрессионное тестирование. Релизы приложения происходят еженедельно, и это большая нагрузка на тестировщиков и разработчиков — протестировать всё руками и быстро внести правки за несколько дней не получилось бы. Я постараюсь порефлексировать и рассказать, как эволюционировал наш подход к UI-тестам за это время, и, более конкретно, какие работы мы провели для их «улучшения»: почему решили избавиться от JSON-моков и как справились с этой задачей.<br> <a href="https://habr.com/ru/post/648723/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog#habracut">Читать дальше →</a>]]></description> |
|
|
|
437 |
|
|
|
438 <pubDate>Tue, 01 Feb 2022 07:58:27 GMT</pubDate> |
|
|
|
439 <dc:creator>dasharedd</dc:creator> |
|
|
|
440 <category><![CDATA[Блог компании Яндекс]]></category><category><![CDATA[Разработка под iOS]]></category><category><![CDATA[Разработка мобильных приложений]]></category><category><![CDATA[Swift]]></category><category><![CDATA[Тестирование мобильных приложений]]></category> |
|
|
|
441 <category><![CDATA[ui-тестирование]]></category><category><![CDATA[ui-тесты]]></category><category><![CDATA[json]]></category><category><![CDATA[моки]]></category><category><![CDATA[команда яндекс.маркета]]></category> |
|
|
|
442 </item> |
|
|
|
443 |
|
|
|
444 |
|
|
|
445 |
|
|
|
446 |
|
|
|
447 |
|
|
|
448 |
|
|
|
449 |
|
|
|
450 <item> |
|
|
|
451 <title><![CDATA[Анатомия асинхронных фреймворков в С++ и других языках]]></title> |
|
|
|
452 <guid isPermaLink="true">https://habr.com/ru/post/647853/</guid> |
|
|
|
453 <link>https://habr.com/ru/post/647853/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog</link> |
|
|
|
454 <description><![CDATA[Привет! В этой статье я расскажу об устройстве асинхронных движков с корутинами и без них. Для начала сосредоточимся не на конкретном движке, а на том, почему во всех популярных языках программирования появились корутины и чем они так хороши. Это может быть интересно не только C++-разработчикам, но и всем, кто занимается разработкой сетевых приложений или интересуется архитектурой современных фреймворков.<br> |
|
|
|
455 <br> |
|
|
|
456 Пройдёмся по разным архитектурам построения серверов — от самой простой синхронной к более интересным, посмотрим на типичную архитектуру корутинового движка, а после окунёмся в дебри C++ и взглянем на самое страшное на примере нашего фреймворка userver.<br> |
|
|
|
457 <br> |
|
|
|
458 <a name="top"></a><h3>Пишем синхронный сервер</h3><br> |
|
|
|
459 Представьте, что у вашего сервиса очень маленькая нагрузка — 100 rps, и вам дали задачу написать простой сервер, понятный каждому второму школьнику. У вас получится что-то наподобие следующего: <br> |
|
|
|
460 <br> |
|
|
|
461 <pre><code class="cpp">void naive_accept() { |
|
|
|
462 for (;;) { |
|
|
|
463 auto new_socket = accept(listener); |
|
|
|
464 |
|
|
|
465 std::thread thrd([socket = std::move(new_socket)] { |
|
|
|
466 auto data = socket.receive(); |
|
|
|
467 process(data); |
|
|
|
468 socket.send(data); |
|
|
|
469 }); |
|
|
|
470 |
|
|
|
471 thrd.detach(); |
|
|
|
472 } |
|
|
|
473 }</code></pre> <a href="https://habr.com/ru/post/647853/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog#habracut">Читать дальше →</a>]]></description> |
|
|
|
474 |
|
|
|
475 <pubDate>Thu, 27 Jan 2022 09:14:38 GMT</pubDate> |
|
|
|
476 <dc:creator>antoshkka</dc:creator> |
|
|
|
477 <category><![CDATA[Блог компании Яндекс]]></category><category><![CDATA[Python]]></category><category><![CDATA[C++]]></category><category><![CDATA[C#]]></category><category><![CDATA[Go]]></category> |
|
|
|
478 <category><![CDATA[async]]></category><category><![CDATA[asynchronous]]></category><category><![CDATA[async/await]]></category><category><![CDATA[coroutine]]></category><category><![CDATA[coroutines]]></category><category><![CDATA[event-driven programming]]></category><category><![CDATA[events]]></category><category><![CDATA[python3]]></category><category><![CDATA[c++17]]></category><category><![CDATA[c++20]]></category><category><![CDATA[go]]></category> |
|
|
|
479 </item> |
|
|
|
480 |
|
|
|
481 |
|
|
|
482 |
|
|
|
483 |
|
|
|
484 |
|
|
|
485 |
|
|
|
486 |
|
|
|
487 <item> |
|
|
|
488 <title><![CDATA[Диагностика виртуальной сети в Linux. BPFTrace и skbtrace в опенсорсе]]></title> |
|
|
|
489 <guid isPermaLink="true">https://habr.com/ru/post/646297/</guid> |
|
|
|
490 <link>https://habr.com/ru/post/646297/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog</link> |
|
|
|
491 <description><![CDATA[Привет! Меня зовут Сергей Кляус, и я как разработчик виртуальной сети сопровождаю создателей приложений, размещённых в Yandex.Cloud. При этом диагностические возможности самого облака ограничены: мы не видим метрики пользовательских виртуальных машин, например количество TCP retransmissions, а записывать и анализировать огромные дампы всего сетевого трафика с помощью tcpdump дорого и трудно из-за ограничений безопасности. <br> |
|
|
|
492 <div style="text-align:center;"><img src="https://habrastorage.org/webt/h4/nu/xw/h4nuxwyl2oj9w81uchr0aofjjsi.jpeg" width="80%"></div>К счастью, динамическая трассировка позволяет получить лучшее от двух миров: исполнять произвольный код в момент увеличения метрики, а в самом коде печатать тело пакета. Например, недавно мы диагностировали проблемы с TCP-соединениями у одного из наших managed-сервисов, и оказалось, что теряются на самом деле UDP-пакеты. Гипотеза требовала уточнения, хотя корреляция между ростом метрики и сбоем была поначалу очевидна. В современном Linux динамическая трассировка реализована через eBPF и утилиту BPFTrace, но постепенно мы накопили набор типовых сценариев их использования и сделали обёртку над BPFTrace. Она называется skbtrace и доступна <a href="https://github.com/yandex-cloud/skbtrace" rel="nofollow noopener noreferrer">на GitHub</a>. Про неё я и расскажу под катом.<br> <a href="https://habr.com/ru/post/646297/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog#habracut">Читать дальше →</a>]]></description> |
|
|
|
493 |
|
|
|
494 <pubDate>Thu, 20 Jan 2022 08:00:04 GMT</pubDate> |
|
|
|
495 <dc:creator>myaut12</dc:creator> |
|
|
|
496 <category><![CDATA[Блог компании Яндекс]]></category><category><![CDATA[Open source]]></category><category><![CDATA[Сетевые технологии]]></category><category><![CDATA[Разработка под Linux]]></category><category><![CDATA[Облачные сервисы]]></category> |
|
|
|
497 <category><![CDATA[bpftrace]]></category><category><![CDATA[tcpdump]]></category><category><![CDATA[bpf]]></category><category><![CDATA[ebpf]]></category> |
|
|
|
498 </item> |
|
|
|
499 |
|
|
|
500 |
|
|
|
501 |
|
|
|
502 |
|
|
|
503 |
|
|
|
504 |
|
|
|
505 |
|
|
|
506 <item> |
|
|
|
507 <title><![CDATA[Кодогенерация DTO: зачем она нужна и как её настроить]]></title> |
|
|
|
508 <guid isPermaLink="true">https://habr.com/ru/post/598125/</guid> |
|
|
|
509 <link>https://habr.com/ru/post/598125/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog</link> |
|
|
|
510 <description><![CDATA[<a href="https://ru.wikipedia.org/wiki/DTO" rel="nofollow noopener noreferrer">Data Transfer Object</a> — модель данных, которые мы передаём из одного слоя приложения в другой. В Яндекс Go мы активно используем DTO. Предположим, нужно отобразить в UI приложения для вызова такси экспериментальную кнопку с двумя свойствами — надписью на кнопке и ориентировочным временем ожидания такси. Тогда в сетевом слое надо написать примерно такую DTO-модель:<br> |
|
|
|
511 <br> |
|
|
|
512 <pre><code class="swift">struct OrderButtonExperimentDTO: Decodable { |
|
|
|
513 let buttonTitle: String |
|
|
|
514 let estimationMinute: Int |
|
|
|
515 }</code></pre><br> |
|
|
|
516 Правильно написанная модель позволяет разрабатывать разные слои приложения независимо — но нужно следить за актуальностью самой модели на каждом слое. Например, если в коде выше ожидалось не estimationMinute, а estimationMinutes, то клиент не сможет декодировать полученные из сети данные и пользователь не увидит время ожидания. Такую ошибку легко совершить, в n-й раз перепечатывая названия переменных под каждый слой — а разработчики и правда должны рутинно это делать при любом изменении (или расширении) исходного формата данных. Ещё сложнее заметить ошибку на код-ревью.<br> |
|
|
|
517 <br> |
|
|
|
518 Поэтому мы решили добавить механизм, который сам бы составлял и переписывал код моделей DTO в зависимости от исходного формата.<br> <a href="https://habr.com/ru/post/598125/?utm_source=habrahabr&utm_medium=rss&utm_campaign=corporate_blog#habracut">Читать дальше →</a>]]></description> |
|
|
|
519 |
|
|
|
520 <pubDate>Tue, 28 Dec 2021 08:02:26 GMT</pubDate> |
|
|
|
521 <dc:creator>ksnegov</dc:creator> |
|
|
|
522 <category><![CDATA[Блог компании Яндекс]]></category><category><![CDATA[Разработка под iOS]]></category><category><![CDATA[Разработка мобильных приложений]]></category><category><![CDATA[Геоинформационные сервисы]]></category><category><![CDATA[Swift]]></category> |
|
|
|
523 <category><![CDATA[кодогенерация]]></category><category><![CDATA[кодогенерация swift]]></category><category><![CDATA[dto]]></category> |
|
|
|
524 </item> |
|
|
|
525 |
|
|
|
526 |
|
|
|
527 |
|
|
|
528 |
|
|
|
529 |
|
|
|
530 |
|
|
|
531 |
|
|
|
532 |
|
|
|
533 |
|
|
|
534 |
|
|
|
535 |
|
|
|
536 |
|
|
|
537 |
|
|
|
538 </channel> |
|
|
|
539 </rss> |
|