Как стать автором
Обновить
9
0

Fullstack developer

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

Как я выиграл $2 750 с помощью JavaScript, ИИ и банки WD-40

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

За последние десять лет я выиграл во многих маркетинговых видео-конкурсах, используя проверенные техники. Но конкретно этот случай стал первым, в котором значительную роль сыграло программирование и инструменты ИИ.

В этой статье я опишу, как с помощью ChatGPT и JavaScript выяснил, что реально могу победить в конкурсе, и как в итоге пришёл к победе.
Читать дальше →
Всего голосов 36: ↑32 и ↓4+43
Комментарии10

Ultimatum — очередной форк chromium-а или сказ о том как я кеши приручал

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

image


Добрый день! Меня зовут Тимур и я программист.


Сегодня я предлагаю рассмотреть очередную мою работу. Я пробросил в js прямой доступ к кешам chromium-a и теперь ими можно манипулировать из расширений браузера (при наличии соотв. permissions). Если вас не интересуют кресты а хочется халяльного js кода — переходите сразу в конец статьи, там описано реализованное api и как им пользоваться.


Итак, о чем речь и зачем это нужно?

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

Хранение данных в Postgresql

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

В этом тексте хочется подробнее рассмотреть хранение данных в PostgreSQL на физическом уровне.

Для начала определимся с общеизвестными вещами. Данные хранятся в таблицах, таблицы находятся в схемах, схемы, в свою очередь, в базах данных. Под данными я тут подразумеваю одну или несколько строк. В качестве примера будем рассматривать эталон критики, по моему личному мнению, цитаты Линуса Торвальдса.

Подробнее под катом
Всего голосов 11: ↑10 и ↓1+12
Комментарии2

Pipeline для личных фото и видео

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

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

Моё медиа хранилище в 948,4 GiB выглядит сейчас вот так (фото начинаются с 2001 года)

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

Зачем нужны ключи в JavaScript фреймворках и библиотеках?

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

Всем привет! В данной статье я бы хотел рассказать о таком понятии как "ключи" в JavaScript фреймворках и библиотеках; зачем они используются и как помогают при работе с DOM.

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

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

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

Как обойти фильтры на hh.ru и сделать ваше резюме магнитом для рекрутеров

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

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

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

Загруженность GPU — не самая репрезентативная метрика

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

В командах ML-инженеров часто пользуются метрикой «GPU Utilization» (Загруженность процессора), чтобы понять, насколько активно задействуется в работе процессор. Чтобы узнать эту информацию, обычно достаточно выполнить команду nvidia-smi в строке терминала. Во многих интегрированных наблюдательных инструментах загруженность процессора также отслеживается как основная характеристика производительности. Но иногда, как ни удивительно, эта метрика даёт не слишком точное представление о производительности GPU. На самом деле, GPU можно загрузить на 100%, выполняя лишь операции чтения и записи (в памяти), но при этом 0 вычислений. Эта статья – не о том, как мы это выяснили, а о том, что нам удалось узнать по ходу дела.

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

Практика: фронтенд для начинающих

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

Это простое руководство для тех кто хочет развернуть локально проект и начать уже писать код.

Стек: typescript, vue, vitejs, primevue

Полетели
Всего голосов 2: ↑1 и ↓10
Комментарии3

Я наконец-то нашел лучшие аналоги YouTube — Платформа и Дзен… ох если бы это было правдой

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

На протяжении последних недель я разбираю аналоги YouTube и пора закончить эту трилогию последними российскими сервисами. Смог ли Дзен под руководством Яндекса и полностью скопированная оболочка под названием Платформа победить западного брата? Сегодня разберу их интерфейс и удобство, а также наконец закончу эту сагу.

Узнать финал истории
Всего голосов 8: ↑3 и ↓50
Комментарии4

Алгоритм управления доставкой по расписанию и динамичесий прайсинг. Как мы сделали это в Купере

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

Привет! Меня зовут Юрий Беляков, я старший ML-инженер в Купере. Сегодня предлагаю вместе разобраться, что такое плановая доставка и как устроен алгоритм управления слотами в Купере. Обсудим, как проходило тестирование и масштабирование от одного магазина до всех гипермаркетов, на какие грабли мы наступили и как на той же базе реализовать динамическое ценообразование.

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

Код как данные: пишем Python на Python

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров15K
Идея о том, что язык программирования может реализовать сам себя, удивительна. Она вызывает сильное любопытство: «Как это вообще может выглядеть?» С момента своего появления в начале 60-х это мог делать Lisp.

В начале 60-х Джон Маккарти придумал серию примечательных идей, хорошо сочетающихся друг с другом и актуальных даже спустя десятки лет. Сначала он сформулировал их в статье о Lisp, а чуть позже — в руководстве по Lisp 1.5.


Джон Маккарти

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

Такая унификация кода и данных глубоко укоренилась в Lisp, она обеспечивает уровень выразительности, позволяющий языку естественным образом быть выраженным в самом себе.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+20
Комментарии8

Кастомизация окна прогресса в оболочке Windows

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

Для запуска Dolus на вашей системе мы используем кастомный загрузчик. Этот скромный исполняемый файл скачивает последнюю версию программы и сразу всё настраивает. Процесс происходит быстро и легко, плюс вы всегда оказываетесь при последней версии.

Но есть здесь и нюанс: загрузчик — это первое, что встречают пользователи, поэтому ему нужен GUI. А поскольку написан он на C# и с целью сохранения лёгкости компилируется перед исполнением (AOT, ahead-of-time), традиционные решения исключаются. Соблазнительным вариантом выглядит Avalonia, но в этом случае сам установщик станет больше той программы, которую он должен устанавливать.

Итак, что у нас остаётся? Можно углубиться в Windows API и создать собственное «окно», но это кроличья нора, сулящая кошмары при обслуживании. К счастью, в Windows есть диалоговое окно прогресса.
Читать дальше →
Всего голосов 27: ↑26 и ↓1+38
Комментарии10

Следим за производительностью SDK. Доклад Яндекса

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

Влад Бардин, iOS‑разработчик в команде Яндекс Маркета, выступил с докладом конференции Яндекс Go Dev Day&Night. Он рассказал, зачем следить за производительностью, когда вы разрабатываете такой фундаментальный SDK, какие метрики стоит собирать и как взаимодействовать с потребителями, а именно с продуктовыми командами, которые используют ваш SDK в своих приложениях.

Переложили выступление Влада в текст для удобства читателей Хабра.

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

Как проверить наличие слежки со стороны телефона. Мифы и реальность

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

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

Читать далее
Всего голосов 15: ↑1 и ↓14-12
Комментарии7

PostgreSQL 17: Часть 5 или Коммитфест 2024-03

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


После выхода релиз-кандидата версии 17 в плане выпуска осталась последняя незакрытая дата: 26 сентября 2024 года. На этот день намечен официальный выпуск PostgreSQL 17.


В этой статье рассказывается о патчах, принятых в ходе последнего мартовского коммитфеста. Предыдущие статьи о коммитфестах 17-й версии: 2023-07, 2023-09, 2023-11, 2024-01.


Все вместе они дают подробное представление о новой версии СУБД.

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

Буфер обмена веб-приложений и как он хранит различные данные

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

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

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

Давайте начнем с исследования различных API и их истории. Эти API имеют весьма интересные ограничения по типам данных, и мы увидим, как некоторые компании обошли эти ограничения. Мы также рассмотрим некоторые предложения, которые направлены на устранение этих ограничений (наиболее примечательное из них — Web Custom Formats).

Если вам хотя бы раз было интересно, как работает веб-буфер обмена, то эта статья для вас.

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

Обходим блокировку VPN

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

Мой провайдер помимо замедления (читай полная блокировка) YouTube так-же стали блокировать соединения с моими рабочими VPN. Работодатель не очень любит, когда на встречах на вопрос о прогрессе, я неделю отвечаю, что у меня не работает VPN! Своими действиями, мой провайдер сам меня подтолкнул к поиску обходных путей.

Сразу скажу, обходной путь придумал не сам, мне его подсказал автор проекта zapret, а точнее его комментарий, более того, я использую его проект, чтоб смотреть нормально YouTube. Спасибо огромное!

Добавлю, я использую nftables и nfqws, если этот вариант работает у меня — это не значит, что оно заработает и у вас! Возможно, вам придётся изменить некоторые параметры.

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

Программирование для детей 7 лет: ТОП-30 бесплатных видеоуроков

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

Научиться программировать может даже ребенок 7 лет. В этом ему помогут вводные языки и среды вроде Scratch и Kodu Game Lab. О них и поговорим в этой статье и прикрепим ссылки на уроки.

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

Хочу отметить 3 направления обучения для начинающих: Scratch Junior, Kodu Game Lab и Scratch. Давайте рассмотрим каждое и ознакомимся с тематическими уроками: это поможет погрузиться в основы IT и попрактиковаться, решая различные задачи по понятным примерам.

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

Применение систем позиционирования персонала на современных дискретных производствах

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

Применение систем позиционирования персонала на современных дискретных производствах

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

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

Как Linux создаёт и подсчитывает сокеты

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

Подробно о том, что происходит под капотом в ядре Linux, когда вы выполняете очередной системный вызов при работе с сокетами.

Читать далее
Всего голосов 31: ↑30 и ↓1+42
Комментарии1
1

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность