Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Умный экспорт из SVN с помощью консоли

Управление проектами *
Использовать svn я начал, работая в windows и соответственно в качестве клиента использовал TortoiseSVN.
В то время я был очень рад новой возможности, описанной в статье Умный экспорт из SVN при помощи TortoiseSVN.
Совсем недавно сделал то, что давно не находилось времени сделать — поставил на свой рабочий компьютер linux.
И вот незадача, ни в одном из графических клиентов, опробованных мной, не обнаружил схожей функциональности.
Мало того. Почитав svn --help не нашёл опции, дающий такой результат.
Обидно. Учитывая, что приучил уже отдел делать такие экспорты для плавного обновления проектов.
В-общем, не буду тянуть: написал на bash скрипт, реализующий сравнение и экспорт отличий между двумя ревизиями.

Читать дальше →
Всего голосов 26: ↑25 и ↓1 +24
Просмотры 2.6K
Комментарии 34

Как мне помог meld

Чулан
Meld — это программа для сравнения файлов и каталогов, умеющая, помимо прочего, работать с системами контроля версий.

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

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

С помощью Meld мне удалось сделать это в рекордные сроки, ибо он очень прост и функционален. Рекомендую всем, кто ищет хорошую программу для сравнения файлов и каталогов под linux
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 388
Комментарии 9

FireDiff — расширение для FireBug, позволяющее отслеживать изменения в DOM и CSS

Разработка веб-сайтов *
Перевод
Kevin Decker выпустил FireDiff — замечательное расширение для Firebug, которое отслеживает изменения в DOM и в таблицах стилей HTML-страницы.
Читать дальше →
Всего голосов 49: ↑48 и ↓1 +47
Просмотры 1.6K
Комментарии 25

Файл⇨строка или активность работы над файлом

Системы управления версиями *
Большинство разработчиков знакома с таким продуктом, как визуализатор code_swarm (на google code). Как минимум каждый третий наверняка выгружал для него лог и создавал видео, которое визуализирует процесс разработки приложения, в котором видно активность программистов. Ну и конечно каждый второй видел видео подобного рода. Практически все эти видео делались на срезе отношения программист⇨файл.
В этой статье будет описан процесс формирования лога в срезе отношения файл⇨строка, то есть с генерированное видео будет демонстрировать активность работы над файлом.

Кому это интересно под прошу под кат.
В статье будет использованы:
  • Git — VCS
  • code_swarm — визуализатор истории репозиториев.
  • gource — визуализатор истории репозиториев.
  • Эмулятор среды linux в Windows или UNIX OS (с git уже идет для win эмулятор msysgit)
  • MEncoder — свободный кодировщик видео
  • ffmpeg — программа для конвертации видео с использованием различных кодеков.
Далее...
Всего голосов 44: ↑42 и ↓2 +40
Просмотры 1.9K
Комментарии 12

Обзор инструментов для визуального сравнения и разрешения конфликтов слияния

Разработка веб-сайтов *Системы управления версиями *
На хабре уже было много статей о распределенных системах управления версиями (DVCS), их сравнений, а также сравнений GUI-клиентов для них. Также были обсуждения плагинов к IDE для работы с git и mercurial. Но практически не было информации об инструментах визуального сравнения и разрешения конфликтов слияния.

diff and merge
Недавно я «перескочил» с mercurial (который до сих пор считаю более удобным и логичным) на git, потому что, подавляющее большинство проектов, которые мне интересны, используют git и хостятся на github. В связи с этим, встал вопрос о пересмотре арсенала инструментов, в частности вопрос выбора инструмента визуального сравнения и слияния (diff and merge). Дабы восполнить недостаток информации на хабре, я решил написать этот мини-обзор. Как говориться — по горячим следам.

Под катом Вы также найдете примеры настроек Git для использования с DiffMerge и WinMerge под Windows. Думаю многим сэкономит время.
Читать дальше →
Всего голосов 53: ↑46 и ↓7 +39
Просмотры 115K
Комментарии 45

Разработка патчера к игре

.NET *Разработка игр *
После написания первой игры перед нами встала задача, о которой мы даже не задумывались ранее. Это разработка патчера к игре. Для нашего патчера мы определили следующие требования:

  • Поддержка юнити игр
  • Дружелюбность к пользователю
  • Отображение игровых новостей
  • Универсальность для всех игр разработанных нашей студией
  • Гибкость настройки
  • И самое важное: умение делать небольшие патчи для больших файлов

Ссылка на исходники патчера в конце статьи.
Читать дальше →
Всего голосов 39: ↑37 и ↓2 +35
Просмотры 25K
Комментарии 28

Протокол Railgun для сжатия трафика

Go *


CDN-провайдер CloudFlare в прошлом году разработал протокол Railgun для сжатия сетевого трафика. Бинарный протокол, написанный на языке программирования Google Go, передаёт хэши веб-страниц и diff’ы между ними, с поддержкой версионности. После внедрения этой технологии степень сжатия в некоторых случаях достигает 99.6%, что недостижимо с помощью gzip. Сайты 4Chan и Imgur после внедрения Railgun сократили некэшируемый трафик примерно на 50%.

Сейчас компания CloudFlare объявила, что поддержка протокола реализована также у Amazon Web Services и около 30 крупнейших хостинговых компаний. Поставить Railgun теперь как никогда просто: есть плагины для WordPress, Joomla, Drupal и прочих CMS, выпущены пакеты для большинства популярных дистрибутивов Linux и BSD.
Читать дальше →
Всего голосов 90: ↑85 и ↓5 +80
Просмотры 33K
Комментарии 42

Upsource: новая платформа от JetBrains

Блог компании JetBrains Программирование *Kotlin *
В прошлом месяце, на конференции JetBrains Day мы объявили о новой платформе Upsource, над которой работаем. В этом обзоре предлагаем вам познакомиться с ней поближе.

Как знают многие пользователи наших продуктов, JetBrains разработала и поддерживает гибкую расширяемую платформу IntelliJ, служащую фундаментом для всех наших интегрированных сред разработки, включая IntelliJ IDEA, PhpStorm, WebStorm, RubyMine, PyCharm и AppCode, а также для Android Studio от Google. Именно IntelliJ обеспечивает всю основную функциональность этих IDE; остальные особенности и «примочки», придающие индивидуальность каждой из IDE, — не более чем набор плагинов к платформе.

Несмотря на успешность этой модели, мы поняли, что платформу IntelliJ необходимо развивать. Поэтому вот уже более года мы ведем работу над внутренним проектом по ее модуляризации, с целью предоставления ее возможностей в «бескорпусном» исполнении. Это должно открыть путь для целого ряда новых применений, одним из которых является Upsource — тоже платформа, но серверная.

image
Подробности далее
Всего голосов 100: ↑95 и ↓5 +90
Просмотры 37K
Комментарии 56

Diff-алгоритм React

JavaScript *Алгоритмы *ReactJS *
Перевод
React — это JavaScript библиотека для создания пользовательских интерфейсов от Facebook. Она была разработана «с нуля», с упором на производительность. В этой статье я расскажу вам о diff-алгоритме и механизме рендеринга, который использует React, что позволит вам оптимизировать ваши приложения.

Diff Алгоритм


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

var MyComponent = React.createClass({
  render: function() {
    if (this.props.first) {
      return <div className="first"><span>A Span</span></div>;
    } else {
      return <div className="second"><p>A Paragraph</p></div>;
    }
  }
});

В любой момент времени вы можете описать, как будет выглядеть ваш UI. Важно понимать, что результат рендеринга не является фактическим DOM деревом. Это всего лишь легковесные JS объекты, которые мы называем «виртуальный DOM».
Читать дальше →
Всего голосов 49: ↑48 и ↓1 +47
Просмотры 25K
Комментарии 4

JetBrains Upsource EAP: продукт для просмотра репозиториев и code review, с которым теперь можно поиграться

Блог компании JetBrains Программирование *
Хабр, привет!
image
Меньше года назад мы рассказывали о разработке нашей новой веб-платформы для просмотра исходного кода.

За прошедшее время Upsource претерпел массу мелких и крупных изменений и стал, в частности, инструментом для code review. На днях же мы открыли программу EAP (Early Access Program), и предрелизные билды Upsource теперь доступны для всех желающих. На момент написания статьи число желающих стремительно приближается к тысяче, и не исключено, что вам тоже будет интересно лично познакомиться с нашим новым продуктом.
Знакомимся с Upsource
Всего голосов 60: ↑58 и ↓2 +56
Просмотры 22K
Комментарии 51

Встречайте разъединённые разности версий

GitHub
Перевод
[пример разъёдинённых диффов]

Теперь есть два варианта разностей версий: объединённые и разъединённые. При помощи переключателя в верхней правой части страницы вы можете переключаться между ними в запросах на слияние, на страницах сравнений и в коммитах. Последний из использованных вами режимов станет предпочитаемым по умолчанию.

[:metal:]
Всего голосов 72: ↑58 и ↓14 +44
Просмотры 7.8K
Комментарии 12

(Квест) Привет, мы Сфера. Мы тут решили $1500 в эквиваленте подарить

Блог компании Офтальмологическая клиника «Сфера» Киберпанк Лайфхаки для гиков Логические игры Будущее здесь


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

Сфера ждет. Время пошло

Читать дальше →
Всего голосов 24: ↑17 и ↓7 +10
Просмотры 12K
Комментарии 131

Как мы придумали TableAdapter и упростили работу с UITableView

Разработка под iOS *Разработка мобильных приложений *Swift *
Из песочницы


При работе с UITableView хотелось избежать написания шаблонного кода, который еще больше усложняется, если нужно обновлять состояние таблицы анимировано. Apple представила свое решение этой проблемы на WWDC 2019, но оно работает только с iOS 13. А у нас, как у студии разработки мобильных приложений, нет такой роскоши в выборе минимальной версии iOS.


Поэтому мы реализовали наше видение data-driven подхода для работы с таблицами, попутно упростив настройку ячеек. И добавили анимированное обновление таблицы, которое основано на автоматическом подсчете различий между старыми и новыми данными за линейное время O(n). Все это мы оформили в небольшую библиотеку, которую назвали TableAdapter.


О том, что у нас получилось и как мы к этому пришли, и пойдет речь в статье.

Читать дальше →
Всего голосов 23: ↑22 и ↓1 +21
Просмотры 4.1K
Комментарии 6

Статический анализ: baseline файлы vs diff

Программирование *Совершенный код *Управление разработкой *Управление продуктом *

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


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


Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Просмотры 2.4K
Комментарии 3

Static Analysis: baseline VS diff

Блог компании PVS-Studio Программирование *Совершенный код *Управление разработкой *Управление продуктом *
Перевод
If you use static analyzers, you will have, sooner or later, to address the task of making their integration into existing projects easier, where fixing all warnings on legacy code is unfeasible.

The purpose of this article is not to help with integration but rather to elaborate on the technicalities of the process: the exact implementations of warning suppression mechanisms and pros and cons of each approach.

image1.png

Read more →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 602
Комментарии 0

OllyDbg при смерти — спасение наработок отладочной сессии

Assembler *Системное программирование *Отладка *Реверс-инжиниринг *

Если вы используете OllyDbg не для отладки собственных приложений, для которых у вас есть отладочная информация, а для реверс-инжиниринга или исследования сторонних, типичная ваша деятельность — это вникание в машинный код чужого продукта, осознание сути происходящих вещей и расстановка большого числа меток (labels) и комментариев по всему коду, а также по секциям данных. Вы планомерно разведываете суть процедур/функций и переменных и даёте им имена, отражающие ваше понимание их предназначения.


OllyDbg не нуждается в представлении для всех, кто занимается отладкой, реверс-инжинирингом приложений, исследованием или обходом механизмов защит и т.п. Это один из лучших user-modeных отладчиков для Windows, хотя нельзя замалчивать и большое число недостатков и недоработок в нём.
И вот спустя несколько часов (а то и дней) работы, когда вы разобрались и подписали сотни, а то и тысячи процедур и переменных, OllyDbg внезапно зависает или вылетает, унося в небытие все ваши наработки (в которые могут входить не только labels и comments в большом числе, но и расставленные в нужных местах брекпоинты и модификации). Это потеря времени и чудовищно демотивирующий фактор, от которого опускаются руки и бледнеет лицо.


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

Читать дальше →
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 6.2K
Комментарии 44

Ломай дату полностью: сравниваем подходы к качеству данных у крупных компаний (Lyft, Shopify) на Data Quality Meetup

Блог компании Datafold Восстановление данных *Big Data *Машинное обучение *Data Engineering *

Привет, Хабр! Современный высокотехнологичный бизнес немыслим без глубокой аналитики и отработки гипотез с помощью ML. Однако это накладывает особые требования на качество данных: все мы знаем, что ерунда на входе = ерунда на выходе. Прекрасно понимая, что стоит на кону у большого бизнеса, мы организовали большой митап, посвящённый подходам к качеству данных в больших компаниях уровня Lyft и Shopify. 

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

Далее краткий пересказ докладов Datafold, Lyft, Shopify и HealthJoy. Текст будет интересен в первую очередь дата-инженерам и тем, кто обеспечивает хранение, предоставление и тестирование данных.

Заходите
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 1.4K
Комментарии 2