Pull to refresh
0
0
Send message

19 советов по повседневной работе с Git

Reading time14 min
Views287K


Если вы регулярно используете Git, то вам могут быть полезны практические советы из этой статьи. Если вы в этом пока новичок, то для начала вам лучше ознакомиться с Git Cheat Sheet. Скажем так, данная статья предназначена для тех, у кого есть опыт использования Git от трёх месяцев. Осторожно: траффик, большие картинки!

Содержание:
  1. Параметры для удобного просмотра лога
  2. Вывод актуальных изменений в файл
  3. Просмотр изменений в определённых строках файла
  4. Просмотр ещё не влитых в родительскую ветку изменений
  5. Извлечение файла из другой ветки
  6. Пара слов о ребейзе
  7. Сохранение структуры ветки после локального мержа
  8. Исправление последнего коммита вместо создания нового
  9. Три состояния в Git и переключение между ними
  10. Мягкая отмена коммитов
  11. Просмотр диффов для всего проекта (а не по одному файлу за раз) с помощью сторонних инструментов
  12. Игнорирование пробелов
  13. Добавление определённых изменений из файла
  14. Поиск и удаление старых веток
  15. Откладывание изменений определённых файлов
  16. Хорошие примечания к коммиту
  17. Автодополнения команд Git
  18. Создание алиасов для часто используемых команд
  19. Быстрый поиск плохого коммита

Читать дальше →
Total votes 152: ↑149 and ↓3+146
Comments62

Еще один способ отключения сбора телеметрии в OC Windows 10

Reading time10 min
Views353K
Микрософт с помощью пасьянса и косынки учила пользователей пользоваться мышью,
теперь с помощью windows 10 учит читать лицензионное соглашение.

После выхода windows 10 сразу появились сообщения о сборе информации о действиях пользователей и много обсуждений, что делать. Достаточно быстро пользователи составили список основных серверов, собирающих информацию и попытались их заблокировать через файл hosts. Но скептики сразу выдвинули здравое предположение, что MS мог предусмотреть этот метод и некоторые адреса прописать в коде. Тем более, что MS всегда может актуализировать адреса серверов через windows update.

В нашей компании начали появляться первые пользователи windows 10, и мы решили опробовать блокировку передачи телеметрии через встроенный windows firewall.
Читать дальше →
Total votes 97: ↑89 and ↓8+81
Comments245

Правильная работа с датой и временем в Ruby on Rails

Reading time14 min
Views31K
Всем привет! Меня зовут Андрей Новиков и в последнее время я работаю над проектом по разработке приложения, которое используется в разных частях нашей страны и автоматизирует работу людей. В каждом конкретном часовом поясе нашему приложению необходимо правильно получать, сохранять и отображать время, причём как в прошлом, так и в будущем – например, рассчитать начало рабочей смены и так же правильно его отображать: отсчитать время до конца смены, показать, сколько люди ехали до точки назначения и определить, уложились ли они в норматив, в также многое-многое другое.



За те уже несколько лет, что я пишу на Ruby on Rails, мне не приходилось сталкиваться с подобными проблемами — до этого все мои приложения работали в одном часовом поясе. А тут неожиданно пришлось немало попотеть, отлавливая самые разные ошибки и пытаясь выяснить, как же работать с датой и временем так, чтобы их в дальнейшем избежать.

В результате, сегодня мне есть, чем с вами поделиться. Если вы регулярно встречаетесь с тем, что время сохраняется или отображается некорректно с характерным разбросом в несколько часов (3 часа для Москвы), какие-то ночные записи перекочёвывают на соседние дни, а время упорно отображается не так, как хотят пользователи, и вы не знаете, что со всем этим делать — добро пожаловать под кат.
Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments16

Основы GNS3. Обзор

Reading time5 min
Views181K
Здравствуйте, коллеги! Относительно недавно я публиковал пару статей о созданном курсе для внутреннего обучения — «Курс молодого бойца». Курс был достаточно тепло принят в рунете, в результате чего было принято решение о создании еще одного — “Основы GNS3”.
Cisco Packet Tracer очень полезная и удобная штука, имеет множество преимуществ. Но наши знания и задачи уже выходят за рамки возможного у данного симулятора. Мы уже выросли из “штанишек” Cisco Packet Tracer. И теперь нас ждет GNS3! Практически все темы, которые будут затронуты уже наверняка есть в сети Интернет, я просто попытаюсь систематизировать имеющиеся данные и свести в один курс. Всем кто заинтересовался, добро пожаловать под кат…
image
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments2

Ruby On Rails и взаимодействие с REST Qiwi Shop

Reading time6 min
Views7.7K
Имею огромное желание рассказать о том, как просто работать с QIWI Shop, используя Ruby on Rails.

Для чего нужен QIWI Shop? Например, у Вас есть свой онлайн-магазин и Вам необходимо принимать платежи от пользователей. Qiwi достаточно распространен в мире. Он не требует наличия персонального аттеста для вывода средств, как это, например, требуют в WebMoney. Поэтому QIWI достаточно привлекателен для интеграрации в онлайн-магазины.


Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments11

Иерархия контроллеров

Reading time3 min
Views12K
В большинстве встречавшихся мне rails проектов, структура контроллеров не имеет никакой организации и проект растет как придется. В больших проектах это приводит к тому что контроллеры становятся огромными (с десятками actions), а условные фильтры растягиваются на весь экран. Разобраться в таком коде бывает очень не просто.

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

Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments29

PostgreSQL: Приемы на продакшене

Reading time9 min
Views90K
Можно прочитать много книг по базам данных, написать кучу приложений на аутсорс или для себя. Но при этом невозможно не наступить на грабли, при работе с действительно большими базами/таблицами особенно, когда downtime на большом проекте хочется свести к минимуму, а еще лучше совсем избежать. Вот здесь самые простые операции, как например изменение структуры таблицы может стать более сложной задачей. Наиболее интересные случаи, проблемы, грабли и их решения из личного опыта с которыми нам на проекте Pushwoosh пришлось столкнуться описаны под катом. В статье нет красивых картинок, зато есть много сухого текста.

image
Читать дальше →
Total votes 75: ↑70 and ↓5+65
Comments18

Monstroid: шаблон для WordPress на стероидах

Reading time3 min
Views39K
Привет Хабр! Вчера мы зарелизили «Monstroid» – тему-конструктор для WordPress. Новый продукт подойдёт пользователям WP самого разного уровня, а также поможет создавать сайты разной сложности, включая интернет-магазины.


Читать дальше →
Total votes 82: ↑47 and ↓35+12
Comments23

Как работает Интерактивное и Цифровое ТВ от ОнЛайм

Reading time8 min
Views82K
Интерактивное ТВ и Цифровое ТВ, они же IPTV и DVB-C, имеют много общего, например, позволяют смотреть современное телевидение в отличном качестве. В то же время, они являются разными услугами, рассчитанными на разную аудиторию и предоставляющими разный подход к просмотру телевизора. В этом материале мы рассмотрим обе услуги и расскажем о том, как они работают, что у них общего и что их различает.


Читать дальше →
Total votes 30: ↑26 and ↓4+22
Comments47

Как правильно организовать распределенное проектирование БД?

Reading time4 min
Views3.7K
В последнее время я занимался развертыванием проектов на базе таких приложений как Magento и Odoo (OpenERP). Оба приложения позволяют сторонним разработчикам создавать модули/расширения, встраиваемые в основное приложение. С Odoo у меня опыта поменьше, но вот с Magento я общался довольно плотно. И вопрос, который у меня возник, я вынес в заголовок статьи.
Читать дальше →
Total votes 7: ↑3 and ↓4-1
Comments0

Refurbished — восстановленная электроника. Стоит ли покупать?

Reading time5 min
Views196K
Джон Смит из Нью-Йорка уже несколько месяцев ждал выхода нового MacBook Air, и как только тот появился в Apple Store, сразу же оформил покупку. Джону повезло — его заказ обработали в числе первых, и уже через четыре дня MacBook к порогу квартиры привезли курьеры UPS. Распаковывая покупку, Джон не мог сдержать радости: не верилось, что уже сегодня вечером он сменит своего старичка Dell на самый миниатюрный, лёгкий и долгоиграющий лэптоп от Apple! И вот, разобрав коробку, Джон включает новый MacBook и сразу замечает то, от чего настроение мигом падает — с экраном что-то не так: по центру проходят две странные тёмные полосы. Очевидный брак, компьютер нужно менять.



Да уж, бывает и такое… Но не волнуйтесь, через две недели Джон получил свой новый, на этот раз полностью исправный MacBook Air, и уже долгое время с удовольствием пользуется им, будучи в разъездах. А в этой статье мы осветим другой вопрос: как сложилась судьба того первого нетбука с дефектным дисплеем, который сразу после покупки вернули производителю, ведь, разумеется, когда Apple получили обратно неисправный компьютер ценой в 900$, никто не стал его списывать. Только вот после ремонта этот MacBook однозначно нельзя будет выставить на продажу как New — им уже пользовались. Но в то же время он и не Used.
Читать дальше →
Total votes 47: ↑43 and ↓4+39
Comments60

Учим Raspberry Pi принимать Telegram'мы с помощью Bot API и Python

Reading time7 min
Views49K
Давно хотел прикрутить к своей домашней Raspberry Pi удобный интерфейс «общения», который бы удовлетворял главному требованию — простота и лёгкость, с доступом из любой точки мира и с помощью любого оборудования (но в первую очередь — со смартфона).

В связи с отсутствием дома выделенного IP и наличием сурового и неподкупного NAT варианты с SSH клиентами и web-интерфейсами отпали сразу. Для небольших потребностей решение тоже должно быть простое, быстрое и, в качестве бонуса, надежное. Так что идея использования протокола одного из распространенных мессенджеров показалась мне весьма привлекательной. Под прицел попали Jabber, Telegram и WhatsApp.

Против Jabber сыграло нежелание устанавливать лишний клиент. Ну а так как Telegram — это, IMHO, тот же WhatsApp, только лучше и удобнее (и даже чуточку безопаснее), то именно на нём я и решил остановить свой выбор. К тому же появившаяся недавно в Telegram возможность создавать своих рабов ботов и взаимодействовать с ними с помощью очень простого API позволяет избавиться от необходимости регистрировать новый аккаунт, а так же дает некоторые очень полезные и удобные возможности.

На самом деле всё действительно настолько просто, что опытным человекам хватит и 30 минут, чтобы разобраться, поднять и настроить своего бота. Остальным же: Добро Пожаловать!
Читать дальше →
Total votes 21: ↑16 and ↓5+11
Comments10

200 блогов по разработке и проектированию

Reading time8 min
Views46K


Привет, Хабр! Мы решили посмотреть на то, как крупнейшие бизнесы и студии делятся своими наработками, и адаптировали подборку технологических блогов. Уверены, что опыт коллег поможет нам всем сделать Хабр еще интереснее.
Читать дальше →
Total votes 36: ↑28 and ↓8+20
Comments34

Построение приложений командной строки (CLI)

Reading time30 min
Views92K
Данная статья написана под влиянием книги Дэвида Коупленда «Build Awesome Command-Line Application in Ruby» (купить, скачать и изучить дополнительные материалы). Большая её часть будет посвящена проектированию дизайна CLI-приложений вне зависимости от используемого языка. По ходу будут обсуждаться и вещи специфичные для ruby, но не страшно, если вы его не знаете, кода будет не слишком много. Можно считать эту статью довольно подробным обзором вышеупомянутой книги с вкраплениями собственного опыта. Книжку рекомендую!

Для начала я задам вопрос. Если посмотреть на сообщества IT-шников, можно заметить, что несмотря на обилие программ с красивым графическим интерфейсом, приложения командной строки остаются весьма популярны. Почему?
Ответов несколько. Во-первых, это красиво удобно — если вы можете описать задачу командой в командной строке, то её гораздо проще автоматизировать, чем если вам приходится анализировать передвижения мыши и клики на разные пункты меню. Во-вторых, это даёт возможность комбинировать программы невероятным числом способов, чего сложно добиться с помощью графических интерфейсов.
В значительной степени философия Unix базируется на том принципе, что множество маленьких утилит, каждая из которых умеет делать свою конкретную задачу — это лучше, чем одна многофункциональная программа-универсал. И это одна из причин успеха Unix-систем в мире IT-шников.
Наверное, каждый понимает, что обычного пользователя вряд ли удастся сманить от GUI к CLI, давайте сосредоточимся на нас, «компьютерщиках» и конкретизируем наши пожелания к CLI-приложениям.
Читать дальше →
Total votes 78: ↑72 and ↓6+66
Comments31

Brubeck — быстрый, statsd-совместимый агрегатор метрик от GitHub

Reading time3 min
Views19K


История появления


Одной из главных целей команды разработчиков GitHub всегда была высокая производительность. У них даже существует поговорка: «it's not fully shipped until it's fast» (продукт считается готовым только тогда, когда он работает быстро). А как понять, что что-то работает быстро или медленно? Нужно мерять. Измерять правильно, измерять надёжно, измерять всегда. Нужно следить за измерениями, визуализировать всевозможные метрики, держать руку на пульсе, особенно, когда дело имеешь с высоконагруженными онлайн системами, такими как GitHub. Поэтому метрики — это инструмент, позволяющий команде предоставлять столь быстрые и доступные сервисы, почти без даунтаймов.

В своё время GitHub одними из первых внедрили у себя инструмент под названием statsd от разработчиков из Etsy. statsd — это агрегатор метрик, написанный на Node.js. Его суть состояла в том, чтобы собирать всевозможные метрики и агрегировать их в сервере, для последующего сохранения в любом формате, например, в Graphite в виде данных на графике. statsd — это хороший инструмент, построенный на UDP сокетах, удобный в использовании как на основном Rails приложении, так и для сбора простейших метрик, наподобие вызова nc -u. Проблема с ним начала проявляться позже, по мере роста количества серверов и метрик, отправляемых в statsd.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments11

Popcorn Time для порно

Reading time2 min
Views46K


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

Из истории развития технологий известно, что порноиндустрия традиционно находится на переднем краю научно-технического прогресса и неизменно в числе первых пробует все технические новинки, от онлайн-платежей до медиастриминга. Так вышло и с инновационной P2P-системой распространения видеофильмов Popcorn Time, которая предусматривает передачу фильмов по протоколу BitTorrent с возможностью почти сразу начать просмотр любого фильма в каталоге. Ею заинтересовалась порноиндустрия.
Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments32

API Медузы: пишем полнотекстовый RSS

Reading time2 min
Views25K
Как и многих других, кто использует RSS, меня напрягают фиды, которые возвращают новость не целиком, а лишь краткую версию. В таком случае нет возможности читать фид в офлайне.

Meduza.io — не исключение: текст приходит урезанный, приходится каждый раз переходить из ридера в браузер для прочтения одной новости. Особенно это выглядело ужасным, когда на Медузе не было нормальной мобильной версии, веб-версия на телефоне сильно тормозила.

Существуют различные сервисы для парсинга html в rss, но когда я наткнулся на консольный клиент для Медузы, у меня сразу же возник вопрос, а какое API там используется и можно ли его заюзать для написания своего приложения?

image
Читать дальше →
Total votes 34: ↑23 and ↓11+12
Comments6

Тест бесплатных программ для восстановления данных. Версия читателей Хабра

Reading time7 min
Views93K
Приветствую всех Хабровчан!

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

  1. R.Saver 2.8
  2. Handy Recovery 5.5
  3. GetDataBack 1.0
  4. PhotoRec/TestDisk 7.0
  5. RecoveRx 3.0
  6. DMDE 2.10.2
  7. Zero Assumption Recovery 9.2
  8. Active@ File Recovery 14

Мы протестировали их. Результаты тестов ниже.

Внимание! Много скриншотов.

UPD Добавлены тесты еще двух утилит.
Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments43

Интервью с Эриком Михаельс-Обером, RubyHero-2014

Reading time4 min
Views6.7K
Эрик — Ruby-герой 2014 года, популярный ментор среди разных Ruby-сообществ (Ruby Summer of Code, Google Summer of Code и Rails Girls Summer of Code) и просто интересный человек. Изначально интервью должно было выглядеть в стиле «коротко продолжи фразу», но Эрик подошел к делу творчески, поэтому публикую его полностью.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments3

Information

Rating
Does not participate
Registered
Activity