Search
Write a publication
Pull to refresh
34
0
ionicman @ionicman

User

Send message

Git: Больше чем commit и push. 5 команд, которые спасут вашу репутацию (и нервные клетки)

Level of difficultyEasy
Reading time6 min
Views30K

git commit -m "WIP" — три слова, после которых начинается настоящий ад.

Доброго времени суток. Такая технология как Git в представлении не нуждается. Все знают add, commit, push — это как азбука. Но что делать, когда что‑то пошло не так? Ошибочный коммит прокатился по ветке? Надо срочно переключиться, но незавершенные правки мешают? Нужно перенести только одно исправление из другой ветки?

Знакомая ситауция? Тогда давайте разберем 5 команд, которые выходят за рамки базового workflow и реально спасают репутацию (и ваши нервные клетки).

Спасти нервные клетки

Как приручить AI-пиксель-арт

Level of difficultyMedium
Reading time5 min
Views7.9K

За последние пару лет генеративные нейросети стали волшебной кисточкой для всего: концепт‑артов, иконок, иллюстраций, обложек, аватаров, спрайтов… Особенно — пиксель‑арта. В Midjourney, Stable Diffusion, Dall‑E, Image-1 и в других моделях можно просто вбить: «Pixel art goose with goggles in the style of SNES» — и получить шикарного пиксельного гуся за 10 секунд.

Но если ты пробовал вставить такого гуся в игру — ты уже знаешь боль.

Я решил вкопаться в эту тему поглубже и сделать open‑source‑инструмент, который автоматизирует превращение AI‑generated pixel art в pixel‑perfect pixel art.

Читать далее

Дружеское знакомство с SVG

Level of difficultyMedium
Reading time13 min
Views2.4K

SVG – одна из самых интересных технологий браузера. С его помощью можно делать массу полезных и интересных компонентов. Это неотъемлемая часть моего стека.

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

Для понимания этой статьи не требуется специальных знаний и опыта работы с SVG, но предполагается, что вы знакомы с основами HTML/CSS/JS.

Читать далее

Фундаментальные шаблоны проектирования на Python

Level of difficultyMedium
Reading time12 min
Views8.3K

Разбор самых фундаментальных шаблонов проектирования на языке программирования python: наблюдатель, адаптер, команда, компоновщик, декоратор, фасад, фабрика, итератор, заместитель, одиночка, состояние, шаблонный метод.

Читать далее

Vue: Composables и TS это вам не Mixins и JS. С ними сложнее

Level of difficultyHard
Reading time3 min
Views3K

Пришел к хитрому паттерну. Делюсь.

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

Поехали!

Как я собеседовался в Ozon, Т-Банк, Mindbox и другие крупные компании

Level of difficultyEasy
Reading time25 min
Views145K

Всем привет. Я сеньор и тимлид на .NET (C#). До недавнего времени работал в Росатоме, пока там внезапно не сократили целую дирекцию по цифровизации. Так что пришлось срочно выходить на рынок, причём, впервые в моей жизни (до этого работа находила меня сама). По результатам нескольких циклов собеседований получился неплохой дневник, который я здесь привожу.

История длинная, но интересная

Да, этот HTML и CSS старый, но всё ещё полезный

Reading time6 min
Views12K

Привет, Хабр!

Следя за развитием HTML и CSS, очень сложно запомнить всё. Я заметил это, ведя свой канал и общаясь с коллегами. Многие люди не знают про возможности HTML и CSS, которые были внедрены в браузеры 6 лет назад или раньше.

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

Давайте посмотрим, что я подготовил.

Читать далее

Установка Windows через CMD

Level of difficultyMedium
Reading time6 min
Views19K

Приходилось ли вам устанавливать современные версии Windows? Если да, то вам точно знаком установщик, каждый этап которого прогружается несколько секунд, и который яростно навязывает вам использование аккаунта Microsoft, с каждым обновлением делая использование локального аккаунта всё труднее и труднее.

Но существует альтернативный способ установить Windows — более быстрый, не требующий подключения к интернету и не навязывающий никаких сервисов — ручная установка с использованием CMD.

Читать далее

Что делает enumerate() и почему это лучше, чем range(len(...))

Level of difficultyEasy
Reading time4 min
Views8K

Привет, Хабр!

Сегодня коротко, но по существу разберёмся, зачем вообще нужен enumerate() в Python и почему он почти всегда лучше, чем старый добрый range(len(...)).

Читать далее

Главное по ML/DL, часть 2: Вопрос → Краткий ответ → Разбор → Пример кода. SVD/PCA. Bias-variance. Деревья. Бустинг

Level of difficultyMedium
Reading time23 min
Views2K

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

Времени мало, объема много, цели амбициозные - нужно научиться легко и быстро объяснять, но так же не лишая полноты!

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

Будет здорово получить ваши задачи и в следующих выпусках разобрать!

Мы продолжаем. Обязательно испытайте себя в предыдущей [1] части!

Взглянуть на старое под новым углом →

Почему твой await fetch тормозит — и как это исправить

Level of difficultyEasy
Reading time5 min
Views16K

Привет, Хабр!

В этой статье рассмотрим, почему безобидная строчка await fetch() неожиданно превращается в тормоз, где именно она зарывает драгоценные миллисекунды — и что можно сделать с этим.

Читать далее

Автоматический подбор браузером контрастного цвета в CSS

Level of difficultyEasy
Reading time10 min
Views2.2K

Вам когда-нибудь хотелось, чтобы можно было написать простой CSS для объявления цвета, после чего браузер сам бы определял, чёрный или белый должен сочетаться с этим цветом? Теперь это возможно благодаря contrast-color(). В статье мы объясним, как это работает.

Представьте, что вы разрабатываете веб-сайт или веб-приложение, и в дизайне требуется куча кнопок с разными цветами фона. Для обработки цвета фона можно создать переменную --button-color, а затем присваивать ей разные значения.

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

Читать далее

Любителям x86-64 assembler посвящается: DIY волокна в C++

Level of difficultyHard
Reading time26 min
Views15K

Нас ждёт мозговыносящая смесь 64/32-битного ассемблера и старого-доброго C++. Мы сделаем собственную реализацию... Волокон (fibers) без вызова Win API и звонков в службу спасения.

Читать далее

Как мы под Новый Год загрузили в PostgreSQL петабайт данных и что из этого вышло

Level of difficultyMedium
Reading time19 min
Views15K

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

А началось всё просто: пока все вокруг спорят как настраивать железо и тюнить операционные системы дабы выжать лишних TPS, мы решили проверить как отреагирует движок PostgreSQL если загрузить в него действительно большой объём данных. Например, давайте сделаем базу размером один петабайт и посмотрим как он это переживёт.

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

Читать далее

Веб-разработка на ванильном HTML, CSS и JavaScript

Level of difficultyMedium
Reading time19 min
Views16K

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

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

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

Почему мы выбрали TypeScript — и ни о чём не жалеем

Level of difficultyMedium
Reading time16 min
Views3.8K

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

Читать далее

Подмена E-EDID на Windows

Level of difficultyMedium
Reading time5 min
Views2.8K

Если вы когда-нибудь, запуская рабочую станцию с операционной системой Windows, обнаруживали, что ваш Full HD монитор показывает лишь изображение с разрешением не более 1024x768 и определяется как «Стандартный не Plug-n-Play монитор», и по какой-то причине вы не имеете возможности переключить монитор на другой видеовход, не поленитесь заглянуть под кат, где я растолкую, как «временно» выкрутиться минимальными усилиями.

Читать далее

Еще пара слов об устройстве NVRAM в UEFI-совместимых прошивках (про Dell DVAR)

Level of difficultyMedium
Reading time7 min
Views3.4K

Здравствуй, читатель. С моих прошлых статей про NVRAM прошло некоторое количество времени (за эти почти 10 лет мало что изменилось, и все эти форматы до сих пор с нами практически без модификаций), а моя работа на одну фруктовую компанию не позволяла мне писать статьи, тесты и посты без одобрения кучей непонятных людей, но теперь эта работа осталась в прошлом, а желание писать так и не пропало. 

Эта статья - практическая реализация этого желания, а поговорим мы в ней о формате Dell DVAR, и немного о декларативном языке для написания парсеров Kaitai Struct, на котором я недавно переписал парсеры всех известных UEFITool NE форматов NVRAM. 

DVAR я дрожащая, или право имею?

Быстрое приближённое умножение и деление чисел с плавающей точкой

Level of difficultyHard
Reading time27 min
Views7K

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

Читать далее
1
23 ...

Information

Rating
6,516-th
Registered
Activity