Яндекс выложил код счётчика Метрики в opensource
Почти за 15 лет его код пережил множество рефакторингов, мы улучшали и оптимизировали его, придумали много неочевидных решений, чтобы обеспечить высокую скорость и качество его работы. Мы считаем, что все эти наработки могут быть полезны сообществу, поэтому сегодня выкладываем код счётчика в опенсорс.
Открытый нами код — это JS-бандл, который загружается вместе со страницей сайта и фиксирует различные события, происходящие на сайте. Теперь каждый разработчик может подробно изучить код счётчика и пересобрать его в той конфигурации, которая необходима для его проекта.
https://habr.com/ru/company/yandex/news/t/717296/
👉@Bookflow
Почти за 15 лет его код пережил множество рефакторингов, мы улучшали и оптимизировали его, придумали много неочевидных решений, чтобы обеспечить высокую скорость и качество его работы. Мы считаем, что все эти наработки могут быть полезны сообществу, поэтому сегодня выкладываем код счётчика в опенсорс.
Открытый нами код — это JS-бандл, который загружается вместе со страницей сайта и фиксирует различные события, происходящие на сайте. Теперь каждый разработчик может подробно изучить код счётчика и пересобрать его в той конфигурации, которая необходима для его проекта.
https://habr.com/ru/company/yandex/news/t/717296/
👉@Bookflow
👍7
Дженерики в TypeScript
Привет, я Сергей Вахрамов, занимаюсь фронтенд-разработкой на Angular в компании Тинькофф. Во фронтенд-разработку вошел напрямую с тайпскрипта, просто перечитав всю документацию. С того момента и спецификация ECMAScript расширилась, и TypeScript сильно подрос. Казалось бы, почему разработчики могут бояться дженериков, ведь бояться там нечего? Мой опыт общения с джуниор-разработчиками говорит, что во многом ребята не используют обобщенные типы просто потому, что кто-то пустил легенду об их сложности.
Эта статья для тех, кто не использует generic-типы в TypeScript: не знают о них, боятся использовать или используют вместо реальных типов — any.
https://habr.com/ru/company/tinkoff/blog/588655/
👉@Bookflow
Привет, я Сергей Вахрамов, занимаюсь фронтенд-разработкой на Angular в компании Тинькофф. Во фронтенд-разработку вошел напрямую с тайпскрипта, просто перечитав всю документацию. С того момента и спецификация ECMAScript расширилась, и TypeScript сильно подрос. Казалось бы, почему разработчики могут бояться дженериков, ведь бояться там нечего? Мой опыт общения с джуниор-разработчиками говорит, что во многом ребята не используют обобщенные типы просто потому, что кто-то пустил легенду об их сложности.
Эта статья для тех, кто не использует generic-типы в TypeScript: не знают о них, боятся использовать или используют вместо реальных типов — any.
https://habr.com/ru/company/tinkoff/blog/588655/
👉@Bookflow
Хабр
Дженерики в TypeScript
Привет, я Сергей Вахрамов, занимаюсь фронтенд-разработкой на Angular в компании Тинькофф. Во фронтенд-разработку вошел напрямую с тайпскрипта, просто перечитав всю документацию. С того момента и...
👍1
Forwarded from Книги по Java | Books Java 📚
Java: The Complete Reference, Twelfth Edition, 12th Edition
Автор: Herbert Schildt (2021)
Полное Руководство по Java 17
Автор бестселлеров по программированию Herbert Schildt охватывает весь язык Java, включая его синтаксис, ключевые слова и фундаментальные принципы программирования.
Скачать
👉 @java_360
Автор: Herbert Schildt (2021)
Полное Руководство по Java 17
Автор бестселлеров по программированию Herbert Schildt охватывает весь язык Java, включая его синтаксис, ключевые слова и фундаментальные принципы программирования.
Скачать
👉 @java_360
👍2
Forwarded from Базы данных (Data Base)
Вопрос с собеседования Amazon
Напишите запрос, который будет идентифицировать возвращающихся активных пользователей. Вернувшийся активный пользователь — это пользователь, совершивший вторую покупку в течение 7 дней после любой другой покупки. Выведите список user_id этих вернувшихся активных пользователей.
Ответ
#db
👉 @database_info
Напишите запрос, который будет идентифицировать возвращающихся активных пользователей. Вернувшийся активный пользователь — это пользователь, совершивший вторую покупку в течение 7 дней после любой другой покупки. Выведите список user_id этих вернувшихся активных пользователей.
amazon_transactions
id:int
user_id:int
item:varchar
created_at:datetime
revenue:intОтвет
SELECT
DISTINCT(a.user_id)
FROM amazon_transactions a
JOIN amazon_transactions b
ON a.user_id = b.user_id
WHERE a.created_at - b.created_at BETWEEN 0 AND 7
AND a.id != b.id#db
👉 @database_info
👍17
Пишем умный поиск по коду с Open AI
В этой статье мы кратко рассмотрим технологию, которая лежит в основе ChatGPT — эмбеддинги, и напишем простой интеллектуальный поиск по кодовой базе проекта.
https://habr.com/ru/post/717576/
👉@Bookflow
В этой статье мы кратко рассмотрим технологию, которая лежит в основе ChatGPT — эмбеддинги, и напишем простой интеллектуальный поиск по кодовой базе проекта.
https://habr.com/ru/post/717576/
👉@Bookflow
👍1
Go — самый быстрорастущий язык по популярности на GitHub.
https://ossinsight.io/blog/explore-deep-in-4.6-billion-github-events/#go-the-new-favorite-and-the-fastest-growing-programming-language
👉@Bookflow
https://ossinsight.io/blog/explore-deep-in-4.6-billion-github-events/#go-the-new-favorite-and-the-fastest-growing-programming-language
👉@Bookflow
👍6👎4🤔1
Python's filter(): Extract Values From Iterables
https://realpython.com/python-filter-function/
👉@Bookflow
https://realpython.com/python-filter-function/
👉@Bookflow
Forwarded from Базы данных (Data Base)
Вопрос с собеседования Microsoft
Найдите общее количество загрузок для платных и бесплатных пользователей по дате. Включайте только те записи, в которых неоплачиваемые клиенты имеют больше загрузок, чем платные клиенты. Вывод должен быть сначала отсортирован по самой ранней дате и содержать дату в 3 столбцах, бесплатные загрузки, платные загрузки.
Ответ
👉 @database_info
Найдите общее количество загрузок для платных и бесплатных пользователей по дате. Включайте только те записи, в которых неоплачиваемые клиенты имеют больше загрузок, чем платные клиенты. Вывод должен быть сначала отсортирован по самой ранней дате и содержать дату в 3 столбцах, бесплатные загрузки, платные загрузки.
ms_user_dimension
user_id:int
acc_id:int
ms_acc_dimension
acc_id:int
paying_customer:varchar
ms_download_facts
date:datetime
user_id:int
downloads:intОтвет
with out AS(select date
, Sum (downloads) Filter(Where paying_customer = 'no') as non_paying
, Sum (downloads) Filter(Where paying_customer = 'yes') as paying
From ms_download_facts fact
Left Join ms_user_dimension a
on fact.user_id = a.user_id
Join ms_acc_dimension acc
on a.acc_id = acc.acc_id
Group by date
order by date)
Select date , non_paying , paying
From out
Where non_paying > paying👉 @database_info
👍5👎1
Forwarded from DevOps
Зеркалирование GitHub-проектов в 2023 году
По ряду причин я решил зеркалировать свои открытые GitHub-проекты на другие платформы совместной разработки. Сделать это оказалось не так просто. В этой короткой статье описаны трудности, с которыми мне пришлось столкнуться, и итоговое рабочее решение.
https://habr.com/ru/company/pt/blog/714316/
#devops #девопс
Подпишись 👉@i_DevOps
По ряду причин я решил зеркалировать свои открытые GitHub-проекты на другие платформы совместной разработки. Сделать это оказалось не так просто. В этой короткой статье описаны трудности, с которыми мне пришлось столкнуться, и итоговое рабочее решение.
https://habr.com/ru/company/pt/blog/714316/
#devops #девопс
Подпишись 👉@i_DevOps
👍6
Пишем игру змейка (Snake) на C++
Управление змейкой клавишами управления курсором. Esc — завершение игры. Для выхода из игры надо нажать Esc или клавишу N на вопрос «Once more?». Змейка не должна натыкаться на стенки и на собственный хвост. Это — смерть. Змейка не умеет ползать хвостом вперёд. Попытаться заставить её это сделать — верная смерть. Кормить змейку надо, естественно, долларами. Когда змейка ест, она растёт.
https://itmozg.ru/pishem-igru-zmejka-snake-na-c/
👉@Bookflow
Управление змейкой клавишами управления курсором. Esc — завершение игры. Для выхода из игры надо нажать Esc или клавишу N на вопрос «Once more?». Змейка не должна натыкаться на стенки и на собственный хвост. Это — смерть. Змейка не умеет ползать хвостом вперёд. Попытаться заставить её это сделать — верная смерть. Кормить змейку надо, естественно, долларами. Когда змейка ест, она растёт.
https://itmozg.ru/pishem-igru-zmejka-snake-na-c/
👉@Bookflow
👍3
Forwarded from Библиотека PHP программиста 👨🏼💻👩💻
Laravel Pint - это система исправления стиля PHP-кода для минималистов.
Laravel Pint - это исправление стиля PHP-кода для минималистов. Pint построен на базе PHP-CS-Fixer и позволяет легко убедиться, что стиль вашего кода остается чистым и последовательным.
https://github.com/laravel/pint
👉 @php_lib
Laravel Pint - это исправление стиля PHP-кода для минималистов. Pint построен на базе PHP-CS-Fixer и позволяет легко убедиться, что стиль вашего кода остается чистым и последовательным.
https://github.com/laravel/pint
👉 @php_lib
👍3
Коллекция (в основном) технических вещей, о которых должен знать каждый разработчик программного обеспечения
https://github.com/mtdvio/every-programmer-should-know
👉@Bookflow
https://github.com/mtdvio/every-programmer-should-know
👉@Bookflow
GitHub
GitHub - mtdvio/every-programmer-should-know: A collection of (mostly) technical things every software developer should know about
A collection of (mostly) technical things every software developer should know about - mtdvio/every-programmer-should-know
👍3👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Пятничные клеточные автоматы. 10 удивительных правил с нотацией Хенселя
Продолжим знакомиться с вариациями клеточных автоматов. Ранее мы рассмотрели базовую «life‑like» конфигурацию и расширили её поколениями. Сегодня сделаем ещё один шаг — расширим правила учёта соседей так, что влиять на рождение и выживание клеток будет не только количество живых соседей, но и их расположение.
https://habr.com/ru/post/721178/
👉@Bookflow
Продолжим знакомиться с вариациями клеточных автоматов. Ранее мы рассмотрели базовую «life‑like» конфигурацию и расширили её поколениями. Сегодня сделаем ещё один шаг — расширим правила учёта соседей так, что влиять на рождение и выживание клеток будет не только количество живых соседей, но и их расположение.
https://habr.com/ru/post/721178/
👉@Bookflow
👍3
Forwarded from ITmozg
51 год автору WinRAR и FAR Manager
10 марта 1972 в Челябинске родился Евгений Лазаревич Рошал — российский программист, автор файлового менеджера FAR Manager, формата сжатия RAR (Roshal ARchiver, которому в этом году исполняется 30 лет!), архиваторов RAR и WinRAR.
Евгений начал осваивать программирование ещё в школьные годы, затем окончил Приборостроительный факультет Челябинского политехнического института по специальности «Вычислительные машины, комплексы, системы и сети», где на старших курсах изучал алгоритмы сжатия информации — это же стало и темой его дипломной работы.
Идея создать RAR возникла ещё в 1991-м. Но первая попытка к осязаемому результату не привела. Через год-два Евгений занялся этим опять, и на этот раз более успешно. Первой версией RAR, которую он рискнул отдать нескольким своим знакомым, был RAR 0.1, выпущенный в марте 1993. Потом были версии 0.9, 1.0, 1.1, 1.15, и тому подобные, с вариациями алгоритма сжатия. Но реально RAR пошел в распространение осенью 1993 после выхода версии 1.30. Во-первых, эта версия паковала намного лучше предшествующих за счет 64Kb окна поиска повторяющихся строк, а во-вторых, Евгений тогда познакомился с Андреем Спасибожко, который и помог двинуть RAR в массы.
Желая сосредоточиться на совершенствовании формата и архиваторов RAR и WinRAR, Евгений Рошал в 2000 году прекратил работу над файловым менеджером FAR Manager и передал авторские права на него группе программистов FAR Group, а в 2004 году передал авторские права на программы RAR и WinRAR своему старшему брату Александру (р. 1965), оставшись лишь разработчиком.
@itmozg
10 марта 1972 в Челябинске родился Евгений Лазаревич Рошал — российский программист, автор файлового менеджера FAR Manager, формата сжатия RAR (Roshal ARchiver, которому в этом году исполняется 30 лет!), архиваторов RAR и WinRAR.
Евгений начал осваивать программирование ещё в школьные годы, затем окончил Приборостроительный факультет Челябинского политехнического института по специальности «Вычислительные машины, комплексы, системы и сети», где на старших курсах изучал алгоритмы сжатия информации — это же стало и темой его дипломной работы.
Идея создать RAR возникла ещё в 1991-м. Но первая попытка к осязаемому результату не привела. Через год-два Евгений занялся этим опять, и на этот раз более успешно. Первой версией RAR, которую он рискнул отдать нескольким своим знакомым, был RAR 0.1, выпущенный в марте 1993. Потом были версии 0.9, 1.0, 1.1, 1.15, и тому подобные, с вариациями алгоритма сжатия. Но реально RAR пошел в распространение осенью 1993 после выхода версии 1.30. Во-первых, эта версия паковала намного лучше предшествующих за счет 64Kb окна поиска повторяющихся строк, а во-вторых, Евгений тогда познакомился с Андреем Спасибожко, который и помог двинуть RAR в массы.
Желая сосредоточиться на совершенствовании формата и архиваторов RAR и WinRAR, Евгений Рошал в 2000 году прекратил работу над файловым менеджером FAR Manager и передал авторские права на него группе программистов FAR Group, а в 2004 году передал авторские права на программы RAR и WinRAR своему старшему брату Александру (р. 1965), оставшись лишь разработчиком.
@itmozg
👍23🔥9🎉3
Forwarded from Мобильная разработка #1
This media is not supported in your browser
VIEW IN TELEGRAM
Jetpack Compose for Wear OS
Узнайте о Jetpack Compose для Wear OS, создав специальное приложение для управления временем задержки дыхания, включая секундомер для отслеживания новых рекордов и сохранения их в коллекции. В этом руководстве вы познакомитесь со всеми основными компонентами, такими как Inputs, Dialogs, Progress Indicators и Page Indicators.
https://www.kodeco.com/36067385-jetpack-compose-for-wear-os
#Android
👉 @developer_mobila
Узнайте о Jetpack Compose для Wear OS, создав специальное приложение для управления временем задержки дыхания, включая секундомер для отслеживания новых рекордов и сохранения их в коллекции. В этом руководстве вы познакомитесь со всеми основными компонентами, такими как Inputs, Dialogs, Progress Indicators и Page Indicators.
https://www.kodeco.com/36067385-jetpack-compose-for-wear-os
#Android
👉 @developer_mobila
👍2
The technology behind GitHub’s new code search
https://github.blog/2023-02-06-the-technology-behind-githubs-new-code-search/
👉@Bookflow
https://github.blog/2023-02-06-the-technology-behind-githubs-new-code-search/
👉@Bookflow
👍2
Forwarded from Kotlin
Пишем бота-кликера на Kotlin для Lineage 2
Предвкушая ностальгию я открыл Lineage 2, одну из самых популярных MMORPG “нулевых” на СНГ пространстве. Однако, самому играть уже не хотелось и пришла идея автоматизировать это дело.
https://habr.com/ru/post/711168/
✍️ @kotlin_lib
Предвкушая ностальгию я открыл Lineage 2, одну из самых популярных MMORPG “нулевых” на СНГ пространстве. Однако, самому играть уже не хотелось и пришла идея автоматизировать это дело.
https://habr.com/ru/post/711168/
✍️ @kotlin_lib
👍9
Forwarded from Библиотека C/C++ разработчика
Парсинг веб-страниц с помощью C++
Существует множество вариантов использования веб-скрапинга. Он позволяет получить доступ к данным, которые могут быть недоступны через API, а также к данным из нескольких разрозненных источников. С помощью этого метода можно собрать и проанализировать мнения пользователей о продукте, а также получить представление о состоянии рынка, например, о волатильности цен или проблемах дистрибуции. Однако собрать эти данные или интегрировать их в свои проекты не всегда было просто.
В этом руководстве вы узнаете, как использовать C++ для реализации веб-скрапинга с помощью библиотек libcurl и gumbo. Вы можете следить за развитием событий на GitHub.
👉 @cpp_lib
Существует множество вариантов использования веб-скрапинга. Он позволяет получить доступ к данным, которые могут быть недоступны через API, а также к данным из нескольких разрозненных источников. С помощью этого метода можно собрать и проанализировать мнения пользователей о продукте, а также получить представление о состоянии рынка, например, о волатильности цен или проблемах дистрибуции. Однако собрать эти данные или интегрировать их в свои проекты не всегда было просто.
В этом руководстве вы узнаете, как использовать C++ для реализации веб-скрапинга с помощью библиотек libcurl и gumbo. Вы можете следить за развитием событий на GitHub.
👉 @cpp_lib
👍2
Forwarded from GitHub Сообщество
PikaScript
Ультралегкий интерпретатор Python, работающий всего с 4 КБ оперативной памяти, с нулевыми зависимостями. Он готов к использованию из коробки, не требует конфигурации и легко расширяется с помощью языка C. Похожие проекты: MicroPython, JerryScript.
Все это позволяет вам программировать на языке Python даже для самых маломощных микроконтроллеров семейства STM32
https://github.com/pikasTech/PikaPython
👉 @Githublib
Ультралегкий интерпретатор Python, работающий всего с 4 КБ оперативной памяти, с нулевыми зависимостями. Он готов к использованию из коробки, не требует конфигурации и легко расширяется с помощью языка C. Похожие проекты: MicroPython, JerryScript.
Все это позволяет вам программировать на языке Python даже для самых маломощных микроконтроллеров семейства STM32
https://github.com/pikasTech/PikaPython
👉 @Githublib
GitHub
GitHub - pikasTech/PikaPython: An ultra-lightweight Python interpreter that runs with only 4KB of RAM, zero dependencies. It is…
An ultra-lightweight Python interpreter that runs with only 4KB of RAM, zero dependencies. It is ready to use out of the box without any configuration required and easy to extend with C. Similar pr...
❤2👍1
cheatsheetv1.3-1920x1080.png
346 KB
Шпаргалка по основам ассемблера ARM 32
Эта шпаргалка по основам ARM-ассемблера охватывает регистры, инструкции, ветвление и условное выполнение. Вы можете использовать ее в качестве руководства, если вы начинаете изучать ассемблер ARM и вам нужно немного освежить основы.
Версия 1.2 (январь 2017 года, исправлена опечатка в регистре SP): 1920×1080
👉@Bookflow
Эта шпаргалка по основам ARM-ассемблера охватывает регистры, инструкции, ветвление и условное выполнение. Вы можете использовать ее в качестве руководства, если вы начинаете изучать ассемблер ARM и вам нужно немного освежить основы.
Версия 1.2 (январь 2017 года, исправлена опечатка в регистре SP): 1920×1080
👉@Bookflow
👍3