Как стать автором
Обновить
3
0
Sergej Tankov @SergejT

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

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

Ультимативный ресурс по программированию: сборник бесплатных чит-листов по программированию

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

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

Обязательно сохраняйте в закладки!

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

Стать программистом: не с нуля не до профи (Flutter и не только)

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

Как найти первую работу в IT? Что нужно знать для этого? На сколько это вообще сложно?

Обо всём по-подробнее здесь.

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

CSS-классы вредны

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

Если вы когда-нибудь заглядывали за кулисы пользовательских веб-интерфейсов, то знаете для чего нужно свойство class. Оно ведь нужно для связи HTML с CSS, правда? Сейчас я расскажу о том, почему настало время отказаться от него. Имена классов — это архаичная система, используемая как неудачный посредник для примитивов UI; ещё хуже то, что они создают ужасные сочетания, приводящие к комбинаторному взрыву странных пограничных случаев. Давайте изучим этот вопрос, начав со скучного урока истории, который вы уже слышали миллион раз.
Читать дальше →
Всего голосов 75: ↑66 и ↓9+79
Комментарии113

.NET Aspire — империя дотнета наносит ответный удар

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

Когда я первый раз услышал про .NET Aspire, я подумал что это какая-то очередная лажа от Майкрософта, про которую все забудут через неделю.

Особенно, учитывая какую дичь часто завозят в шарп (например те же ужасно спроектированные Primary Constructor'ы про которые я писал, или вот прикол-пропозал от самого Тоуба). Так что ожидания у меня, честно говоря, были ниже нуля.

Но попробовав его лично, я был, честно говоря, шокирован. Трепещите, жависты!! Трепещите гошники! Трещепищите питонисты - такого вы еще точно не видели.

Я даже представить не мог, что DevEx можно сделать настолько офигительным.

Узнать про Aspire без смс и регистрации
Всего голосов 38: ↑36 и ↓2+42
Комментарии51

Навигация в приложениях Flutter: разбираем Navigator, Router и лучшие библиотеки

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

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

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

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

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

Обобщённые типы. Часть 3/3. Применение контейнерных типов

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

В последней третьей части обзора продемонстрировано, как на основе обобщённых типов-контейнеров реализуются различные ФП-техники “чистого” построения “эффективных” программ. В заключении будет отмечена роль теории категорий в обосновании важности абстракций, построенных над обобщёнными типами.

Читать третью часть обзора
Всего голосов 6: ↑6 и ↓0+7
Комментарии3

Вычислительные выражения: Введение

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

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


Группа энтузиастов давно (и с переменным успехом) пытается перевести руководство Скотта на русский.


Я завершаю перевод цикла, посвящённого одной из самых сакральных тем языка — вычислительным выражениям. Это как монады, только в .NET.


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


Далее передают слово автору. Перед вами — первая статья цикла.




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


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


Введение


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


С одной стороны, их достаточно легко применять. Любой, кто написал достаточно кода на F# наверняка использовал стандартные конструкции, такие как seq{...} или async{...}.


Но как вы можете создать новую похожую конструкцию? Как они работают за кулисами?

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

Вычислительные выражения: Разбираемся с продолжениями

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

Вторая часть из цилка статей про вычислительные выражения в F#. Здесь Скотт Влащин рассказывает про функции-продолжения. Сложная, но очень важная тема.

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

Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 4. Расширения, обобщения и методы

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

В прошлой части мы научились определять собственные типы и модули. Мы облекли все достопримечательности в конкретные типы и теперь можем снабдить их индивидуальными свойствами-ребрами (см. рисунок ниже).

В этой части речь в первую очередь пойдёт про Fluent API, но мы также поковыряем тему параметров в дженериках и функциях. Это последняя статья, где детально разбирается AST. Я определённо будут возвращаться к кодогену, но предметом разбирательств будут принципы формирования выходного кода, а их реализация ввиду их линейности будет выноситься за скобки.

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

Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 3. Модули и типы

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

В прошлых двух частях мы ознакомились с синтаксической моделью F#-кода и с инструментами для неё. Объёмный пример туда уже не влез, но необходимость в нём осталась. Так родились ещё две заключительные части цикла. Их объединяет общий проект, но в остальном они представляют собой сборную солянку фактов, практик и наблюдений, которые было бы трудно разместить в каталогизированной документации.

Мы возьмём сугубо игровую задачу с понятным результатом и на её примере узнаем:

• на какие ноды AST стоит обратить внимание в первую очередь;
• где Fantomas-у нельзя доверять;
• где можно хакать;
• где лучше придерживаться пуризма;
• и как на F# можно строить Fluent API.

В этой части мы сосредоточимся на общей организации генератора, входных данных и основных элементах AST. В следующей сделаем то же самое, но на более сложном уровне, сместив повествование в сторону устройства Fluent API.

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

Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 2. Собираем AST

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

В прошлой части мы познакомились с Abstract Syntax Tree (AST).
В этой займёмся его сборкой в полезных объёмах и генерации конечного кода.

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

Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 1. Знакомимся с содержимым синтаксического древа

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

В этом многословном, но сравнительно простом цикле я дам введение в генерацию F#-кода.
Как правило, для этих целей в сообществе рекомендуют использовать Myriad, что, по-моему, не совсем правильно, но на его примере можно увидеть, что тема кодогенерации очень объёмна.

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

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

Использование возможностей Angular. Часть 2

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

Как работают utility types, для чего они нужны и как использовать в работе. Для чего нужен infer, in, extends

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

Вы за это заплатите! Цена Чистой Архитектуры. Часть 1

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

Всем привет, меня зовут Артемий, я работаю старшим Android-разработчиком в команде пользовательского профиля в RuStore. Мой опыт в индустрии уже 8 лет. За это время я успел поработать в разных проектах и компаниях. У меня был опыт работы в проекте, в котором было свыше 300 модулей и больше 60 Android-разработчиков. Такие условия заставляют задуматься о масштабируемости на принципиально ином уровне.

Сегодня я расскажу о способах обеспечения масштабируемости проекта и как этому может навредить неправильное восприятие Чистой Архитектуры (далее — ЧА). Предупреждаю сразу, это лонгрид в двух частях!

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

Аналог Duolingo для продвинутых — одна хорошая книга для пополнения словарного запаса в английском языке

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

Наткнулся недавно на книгу "1100 words you Need to Know" by Murray Bromberg and Melvin Gordon" (для уровня C1-C2). Она легко гуглится в Яндексе.

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

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

Как изучить Haskell всего за 15 лет

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

Haskell — это язык программирования, изобретённый в 20-м веке шотландскими логиками в качестве пранка (вероятно). Примерно пятнадцать лет назад я начал изучать Haskell по причинам, которые уже и не упомню. Сегодня я наконец написал полезную программу на Haskell и уверен, что смогу сделать это снова, если мне когда-нибудь понадобится ещё одна компьютерная программа.

Я не знаю, как изучал функциональное программирование в целом и Haskell в частности. В 2006-м я следил за проектами why the lucky stiff и читал передовой тамблелог Леа Нойкирхен Anarchaia, и какой-то из этих источников познакомил меня с миром за пределами ООП. В декабре 2006 года Леа опубликовала на Anarchaia ссылку на Pandoc, и тогда я впервые узнал о своём любимом ПО и языке, на котором оно было написано.
Читать дальше →
Всего голосов 43: ↑38 и ↓5+52
Комментарии9

Как я устроился в Амазон и перестал переживать за свой английский

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

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

Меня зовут Андрей Столбовский, последние 5 лет я работал в Яндексе, а в прошлом году перешёл в Амазон и теперь работаю Software Development Manager в AWS Redshift – это мой первый полноценный опыт работы в международной компании. 

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

Итак, поехали. 

Поехали!
Всего голосов 235: ↑232 и ↓3+275
Комментарии160

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

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

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

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

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

Практическое руководство по Rust. 1/4

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



Hello world!


Представляю вашему вниманию первую часть практического руководства по Rust.



Другой формат, который может показаться вам более удобным.


Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые уверенно владеют любым современным языком программирования. Еще раз: это руководство не рассчитано на тех, кто только начинает кодить 😉

Читать дальше →
Всего голосов 24: ↑19 и ↓5+22
Комментарии12

300 книг для разработчиков игр: обновление Gamedev библиотеки

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

С Новым Годом уважаемые читатели! Год назад я публиковал подборку из 150-ти книг для тех, кто делает игры и в ней я обещал, что буду постоянно обновлять ее и добавлять в нее новые книги. Время не заставило себя ждать и количество книг в подборке увеличилось в двое и если вы ищите что почитать, то заходите или добавляйте в закладки!

Читать далее...
Всего голосов 11: ↑9 и ↓2+8
Комментарии0
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Hennef, Nordrhein-Westfalen, Германия
Дата рождения
Зарегистрирован
Активность