Как стать автором
Обновить
8
0
Дмитрий @kasus

Пользователь

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

Git Rebase: руководство по использованию

Время на прочтение 8 мин
Количество просмотров 791K
Rebase — один из двух способов объединить изменения, сделанные в одной ветке, с другой веткой. Начинающие и даже опытные пользователи git иногда испытывают нежелание пользоваться ей, так как не видят смысла осваивать еще один способ объединять изменения, когда уже и так прекрасно владеют операцией merge. В этой статье я бы хотел подробно разобрать теорию и практику использования rebase.

Теория


Итак, освежим теоретические знания о том, что же такое rebase. Для начала вкратце — у вас есть две ветки — master и feature, обе локальные, feature была создана от master в состоянии A и содержит в себе коммиты C, D и E. В ветку master после отделения от нее ветки feature был сделан 1 коммит B.


Читать дальше →
Всего голосов 122: ↑121 и ↓1 +120
Комментарии 169

Как правильно внести свою лепту в Open Source проект: простые подсказки

Время на прочтение 6 мин
Количество просмотров 69K
Open Source проекты с каждым днём набирают всё большие обороты, появляются новые, активно развиваются популярные.
Такие проекты как Bootstrap, Angular.js, Elasticsearch, Symfony Framework, Swift и многие другие привлекают новых разработчиков, их сообщество растёт. Всё это даёт огромный рост проектам, а самим разработчикам интересно поучаствовать в разработке чего-то, чем пользуется весь мир.

Я, как и многие другие программисты, не устоял и также время от времени участвую в разработке Open Source проектов, в основном на PHP. Но когда я начинал, я столкнулся с проблемой — я не знал, как правильно организовать процесс «контрибьютинга», с чего начать, как сделать так, чтобы мой Pull Request рассмотрели и т.д.

Всем начинающим «контрибьютерам», которые столкнулись с похожим проблемами, добро пожаловать под кат.


Читать дальше →
Всего голосов 80: ↑69 и ↓11 +58
Комментарии 41

Битовые операции в PHP на примерах

Время на прочтение 3 мин
Количество просмотров 87K
Навеяно статьей об обработке критических ошибок в PHP. Обратил внимание, что несмотря на то, что коды ошибок в PHP специально заточены под битовые операции, тем не менее, что в примерах статьи, что в комментариях, для проверки кодов ошибок используются обычные операторы сравнения.

Например, встречались такие варианты:
if ($error['type'] == E_ERROR || $error['type'] == E_PARSE || $error['type'] == E_COMPILE_ERROR){…}
или
if(in_array($error['type'], array(E_ERROR, E_PARSE,  E_COMPILE_ERROR)) {…}

В связи с этим решил написать небольшую статью о битовых операциях с примерами их использования.
Читать дальше →
Всего голосов 242: ↑203 и ↓39 +164
Комментарии 162

Как работает реляционная БД

Время на прочтение 51 мин
Количество просмотров 532K
Реляционные базы данных (РБД) используются повсюду. Они бывают самых разных видов, от маленьких и полезных SQLite до мощных Teradata. Но в то же время существует очень немного статей, объясняющих принцип действия и устройство реляционных баз данных. Да и те, что есть — довольно поверхностные, без особых подробностей. Зато по более «модным» направлениям (большие данные, NoSQL или JS) написано гораздо больше статей, причём куда более глубоких. Вероятно, такая ситуация сложилась из-за того, что реляционные БД — вещь «старая» и слишком скучная, чтобы разбирать её вне университетских программ, исследовательских работ и книг.

На самом деле, мало кто действительно понимает, как работают реляционные БД. А многие разработчики очень не любят, когда они чего-то не понимают. Если реляционные БД используют порядка 40 лет, значит тому есть причина. РБД — штука очень интересная, поскольку в ее основе лежат полезные и широко используемые понятия. Если вы хотели бы разобраться в том, как работают РБД, то эта статья для вас.
Читать дальше →
Всего голосов 232: ↑229 и ↓3 +226
Комментарии 134

Секреты коллтрекинга: все о виртуальных номерах и о правильном выборе провайдера

Время на прочтение 4 мин
Количество просмотров 26K
image

Не так давно на Siliconrus была опубликована статья Филлиппа Концаренко: «Кейс из России: Зачем нужен коллтрекинг и как его применять в своём проекте». Для рынка СНГ эта тема, увы, довольно новая. В связи с чем возникает много вопросов о том:

  • где приобрести виртуальные номера?;
  • какой провайдер лучше?;
  • при существенной разнице в цене, есть ли разница в качестве между виртуальным номером Москвы у провайдера А и провайдера Б?

И еще много-много других вопросов, от которых голова идет кругом.

В результате понять, что, где и почем — становиться довольно сложной задачей. Хотелось бы эту ситуацию немного прояснить и предложить какие-то варианты провайдеров достойных доверия.
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 13

Список YouTube-каналов для обучения веб-разработке

Время на прочтение 2 мин
Количество просмотров 217K
image


Привет, хабражители!

Представляю вам список YouTube-каналов для обучения веб-разработке. Список доступен на гитхабе, там он будет пополняться и редактироваться. В планах — создание отдельной странички для фильтрации каналов по тегам и рубрикам.

Также хочу попросить вас о небольшой услуге: если вы знаете канал, не вошедший в список — опубликуйте ссылку на него в комментариях или отправьте pull request. Сообщество будет благодарно вам.

Под катом — текущая версия списка.
Читать дальше →
Всего голосов 64: ↑59 и ↓5 +54
Комментарии 16

Выразительный JavaScript: Регулярные выражения

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

Содержание




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

Юан-Ма сказал: «Требуется большая сила, чтобы резать дерево поперёк структуры древесины. Требуется много кода, чтобы программировать поперёк структуры проблемы».
Мастер Юан-Ма, «Книга программирования»


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

В этой главе мы обсудим такой инструмент – регулярные выражения. Это способ описывать шаблоны в строковых данных. Они создают небольшой отдельный язык, который входит в JavaScript и во множество других языков и инструментов.

Регулярки одновременно очень странные и крайне полезные. Их синтаксис загадочен, а программный интерфейс в JavaScript для них неуклюж. Но это мощный инструмент для исследования и обработки строк. Разобравшись с ними, вы станете более эффективным программистом.
Читать дальше →
Всего голосов 47: ↑41 и ↓6 +35
Комментарии 10

Создание Warcraft (часть 1)

Время на прочтение 10 мин
Количество просмотров 85K
Введение (от переводчика)


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

Патрик, автор статьиИ вот недавно случилось интересное — Патрик Вайат (Patrick Wyatt), один из тех людей, кто стоял у истоков Blizzard, и человек, который затеял разработку Warcraft начал цикл воспоминаний о тех временах. Первая статья, которую я вам предлагаю прочитать ниже — о начале разработки Warcraft. О том, откуда появилась идея; о том, какая сеть была организована у ребят в офисе, пока они грезили о мультиплеере; о EMS и тонкостях эстетики программирования под DOS; о команде проекта и так далее.

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

Это касается, понятное дело, и любых других неточностей, опечаток, пунктуации и стилистики.




image Давным давно, в начале времен, когда игры для PC писались под операционной системой DOS, я начал работать над игрой под названием Warcraft.

Читать дальше →
Всего голосов 213: ↑200 и ↓13 +187
Комментарии 114

Вторая жизнь HTC HD2

Время на прочтение 8 мин
Количество просмотров 60K
image

Установка Android на HTC HD2. Подробная инструкция по установке и приведению системы в пригодное для повседневного использования состояние.
Читать дальше →
Всего голосов 114: ↑99 и ↓15 +84
Комментарии 157

Дешевый способ добраться до Гавайев

Время на прочтение 1 мин
Количество просмотров 8K
Никогда не задумывались, как добраться до Гавайских островов с материковой части США и при этом сэкономить на авиаперелете?

image

Похоже, что Гугл уже нашел решение и для этой проблемы — спросите у google maps…
Читать дальше →
Всего голосов 294: ↑253 и ↓41 +212
Комментарии 109

HD-плеер Asus O!Play. Текущий функционал и общий вид на фоне других плееров

Время на прочтение 6 мин
Количество просмотров 10K
Что мы делаем, когда выбираем себе телефон, плеер, HD-проигрыватель? Правильно, читаем обзоры. Обычно, эти обзоры появляются одновременно с началом продаж девайса на рынке. Но правильно ли это?

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

Asus O!Play

Этот пост посвящен мультимедийному плееру-внедорожнику Asus O!Play. Его уже рассматривал уважаемый Boomburum (собственно, именно благодаря ему я и обратил внимание на этот плеер). Но, во-первых, это был обзор плеера на первой прошивке, а во-вторых, у бумбурума этот плеер пробыл всего пару недель. У меня же Asus лежит на полочке уже около месяца, и я внимательно слежу за всеми обновлениями. Так что, о текущем функционале, а так же о сравнении этого плеера с WD TV Live, и будет все нижеследующее.
Поехали?
Всего голосов 44: ↑38 и ↓6 +32
Комментарии 71

15 малоизвестных команд Linux

Время на прочтение 3 мин
Количество просмотров 315K
Каждому разработчику в определенной степени следует овладеть навыками работы в терминале. Физически находиться у компьютера не всегда возможно, поэтому приходится подключаться удаленно. И действительно, GUI-программы вполне могут с этим с правиться, но зачастую они работают медленнее, чем получение доступа через тот же терминал (в конце концов, это лишь обмен текстом).
Читать дальше →
Всего голосов 333: ↑274 и ↓59 +215
Комментарии 224

Шаблоны проектирования PHP. Часть 1. Порождающие

Время на прочтение 13 мин
Количество просмотров 231K
Тема заезженная до дыр, не спорю… Вероятно, для опытных разработчиков моя статья будет мало, чем полезна. Я бы рекомендовал её к прочтению тем, кто только начал осознавать, что его коду чего-то не хватает, и что он созрел для вникания в это далёкое понятие – «паттерны». По себе помню, что довольно долгое время я путался в шаблонах, иногда даже не понимая, чем один отличается от другого. Именно этот факт стал основой для моей статьи. Примеры в ней не будут реальными. Они будут абстрактными и максимально простыми. Однако я постараюсь все примеры держать в едином контексте, чтобы можно было наглядно видеть отличия их использования в одной и той же ситуации. Я не буду нагружать классы лишним функционалом, чтобы можно было понять, какая именно часть кода имеет непосредственное отношение к шаблону. Главными героями примеров станут Factory (фабрика) и Product (продукт, производимый этой фабрикой). Возьмём это отношение за отправную точку. Возможно, в некоторых примерах это будет не очень уместно, но зато очень наглядно…

Статья будет разбита на несколько частей. В каждой я буду рассказывать о новом типе шаблонов проектирования. Всем, кого эта тема может заинтересовать, прошу под кат.
Меня заинтересовала...
Всего голосов 61: ↑43 и ↓18 +25
Комментарии 83

С камерой в облака. Часть 2

Время на прочтение 26 мин
Количество просмотров 252K
Тренировки

Спасибо каждому, кто читал и комментировал первую часть. Благодаря вам, продолжение будет еще интереснее. Если еще не читали — рекомендую это сделать. Там мало текста, и есть классные видео.

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

  • Тренировки. Вырабатывание летных навыков.
  • Выбор модели: самолет, вертолет или мультикоптер?
  • Выбор конкретной конструкции и размера
  • Моторы и ESC
  • Полетный контроллер


Как обычно, сразу к делу.
Читать дальше →
Всего голосов 175: ↑173 и ↓2 +171
Комментарии 170

Создание Warcraft (часть 3)

Время на прочтение 18 мин
Количество просмотров 67K
От переводчика

Я очень люблю игры компании Blizzard и, наткнувшись недавно на блог одного из из создателей серии Warcraft — Патрика Вайата, решил перевести третью заметку о создании первой части этой замечательной игры. Перевод первых двух (первая, вторая) уже есть на хабре.
Итак, вас ждёт рассказ об источниках финансирования Blizzard, о том, как Стю Роуз устроил дизайнерский переворот, о тумане войны и, самое главное, о впечатлениях автора статьи от самой первой мнопользовательской игры и о её неожиданных итогах.
За всем этим добро пожаловать за хабракат.
Это мой первый перевод, так что я буду рад всем сообщениям об ошибках, замечаниям и исправлениям.
Читать дальше →
Всего голосов 111: ↑109 и ↓2 +107
Комментарии 30

UICloud: Самая большая база пользовательских интерфейсов

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


UICloud — это база бесплатных пользовательских интерфейсов с поисковой системой, рейтингом и каталогизатором в которой собрано все от исходников в формате PSD, до готовых решений на HTML, CSS или jQuery: формы, слайдеры, кнопки, календари, элементы и полноценные интерфейсы для мобильных и веб приложений. В проекте уже сейчас можно найти практически все что нужно для облегчения процесса разработки дизайнерам и разработчикам.

На данный момент в базе 23586 элементов и почти тысяча UI-сэтов включающие в себя готовые решения в едином стиле. Проект создан Британской студией Double-J Design целью проекта является создание самой обширной UI базы.
Всего голосов 163: ↑161 и ↓2 +159
Комментарии 40

Про jQuery и велосипеды — мое дополнение

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

Для затравки начнем с простого.
Читать дальше →
Всего голосов 242: ↑230 и ↓12 +218
Комментарии 126

Руководство по оформлению HTML/CSS кода от Google

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

От переводчика


С удовольствием ознакомился с этими рекомендациями и теперь предлагаю вам перевод.

Введение


Это руководство описывает правила для оформления и форматирования HTML и CSS кода. Его цель — повысить качество кода и облегчить совместную работу и поддержку инфраструктуры.

Это относится к рабочим версиям файлов использующих HTML, CSS и GSS

Разрешается использовать любые инструменты для минификации компиляции или обфускации кода, при условии, что общее качество кода будет сохранено.
Читать дальше →
Всего голосов 295: ↑286 и ↓9 +277
Комментарии 168

Подробно о свойстве float

Время на прочтение 4 мин
Количество просмотров 212K
Правильное использование CSS свойства float может стать непростой задачей даже для опытного верстальщика. В этой статье собраны варианты применения float, а также некоторые ошибки, с наглядными примерами.

Читать дальше →
Всего голосов 153: ↑140 и ↓13 +127
Комментарии 89

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

Время на прочтение 1 мин
Количество просмотров 54K
Плагин Chosen создан для оформления красивых и удобных выпадающих списков с помощью jQuery и Prototype. Для установки плагина достаточно просто скачать файлы и прописать одну строчку:

$(".chzn-select").chosen()
(версия для jQuery)

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

Поскольку Chosen заменяет стандартный элемент HTML, то не нужно беспокоиться, как он работает с браузерами без поддержки JavaScript. Также не нужно ничего менять в бэкенде: формы сабмиттятся как обычно, изменения только в пользовательском интерфейсе.

Некоторые форки:
Chosen для MooTools
Модуль Chosen для Drupal 7
Всего голосов 264: ↑250 и ↓14 +236
Комментарии 57
1

Информация

В рейтинге
Не участвует
Откуда
Украина
Зарегистрирован
Активность