Pull to refresh
0
0
Руслан Кеба @rukeba

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

Send message

Покажите мне решение, из-за которого разработчики не будут спорить, и я поставлю вам пиво

Reading time 8 min
Views 18K


Есть два непримиримых лагеря. Одни говорят: ты должен качественно и грамотно описывать свои коммиты. Каждый коммит — это законченный, осмысленный кусочек работы. Если ты не можешь сделать понятное и простое описания коммита, значит у тебя неправильные коммиты.

Другие считают — ты делаешь коммиты как хочешь, это часть твоего личного рабочего процесса. А вот пул реквесты описываются детально: что сделано, как сделано, зачем сделано. Как протестировано, какую проблему решает, на что стоит обратить внимание.

Я убежденный сторонник второго подхода — мне неудобно бить свою работу на микрокусочки. Я беру небольшую задачу и хаотично мечусь по кодовой базе, экспериментируя и внося изменения в том порядке, в котором получается. Если бы я мог нажать на кнопку, и моя работа переструктурировалась бы на хорошие коммиты — я бы на неё нажал. Но кнопки нет, а ломать себя мне не хочется. В то же время я достиг определенного мастерства в описании пул реквестов. Мне довелось фигачить код в майкрософт (через аутстаф, не считается), и там я почерпнул топовые стандарты оформления пул реквестов. С годами работы я только развивал эту практику. Обычно мне удавалось убеждать команду использовать именно такой подход.

Но на последней работе мне достался девлид — убежденный сторонник детальных коммитов. О, мы долго спорили. Моё подчиненное положение сыграло свою роль, совковскую привычку соглашаться с главным нелегко заткнуть. Я не был так категоричен, как обычно бываю, и был уложен на обе лопатки. Уложен, но не убежден.
Читать дальше →
Total votes 73: ↑57 and ↓16 +41
Comments 145

Как быстро создать опрос на вашем сайте с помощью форм Google?

Reading time 4 min
Views 144K
Как быстро создать опрос на вашем сайте с помощью форм Google?Рано или поздно, практически все, у кого есть собственный сайт, сталкиваются с необходимостью создания форм обратной связи для сбора данных (проведения опросов) с посетителей сайта.

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

Есть несколько подходов в создании подобных форм:

• Формы можно сделать, используя теги HTML и завязать нажатие кнопки «Отправить» с отправкой введенных данных вам на email

• Можно сделать связку PHP+MySQL (или любой другой язык программирования и базу данных) и все введенные данные сохранять в базу данных для дальнейшей работы.

• Если ваш сайт сделан с использованием какой-нибудь популярной CMS (например, Joomla, Drupal или WordPress), то вы можете поискать в сети плагины, модули и компоненты, которые достаточно просто позволяют создавать формы

• А можно для создания форм обратной связи использовать бесплатные инструменты всем известного Google.Docs

И в этой статье я хотел бы показать как с помощью Google.Docs вы можете легко и быстро создавать всевозможные формы опроса для ваших сайтов.
Читать дальше →
Total votes 63: ↑48 and ↓15 +33
Comments 16

IQ701. Перед использованием тщательно обработать напильником

Reading time 6 min
Views 12K
image
Привет %username%,
Сегодня, я хочу поведать об электронной книге PocketBook IQ701 на базе андроид, наконец, после долгих садо-мазо прелюдий ожиданий вышла новая прошивка для этого устройства (2.0.6). Это и подтолкнуло меня на написание данного топика. Здесь я расскажу о самом устройстве, а так же о квестах, которые предстоит решить «счастливому » обладателю сего устройства. Если это вам интересно, добро пожаловать под кат. (Много фоток)
Читать дальше →
Total votes 43: ↑39 and ↓4 +35
Comments 100

Как я угробил SSD за два месяца

Reading time 4 min
Views 418K
Эпиграф
«Никогда не доверяй компьютеру, который не можешь выбросить из окна»
Стив Возняк

Два месяца назад поставил себе в ноутбук SSD диск. Работал он великолепно, но на прошлой неделе он внезапно умер из-за истощения ячеек (как я полагаю). Эта статья посвящена тому, как это случилось, и тому, что я делал неправильно.
Читать дальше →
Total votes 179: ↑170 and ↓9 +161
Comments 351

OAuth: описание протокола простым и понятным языком

Reading time 16 min
Views 189K
OAuth — популярный протокол, который позволяет социальным сервисам интегрироваться между собой и дает безопасный способ обмена персональной информацией. OAuth может связать между собой 2 сервиса, каждый из которых имеет свою пользовательскую базу — именно их я в данном случае называю «социальными». Когда начинаешь работать с OAuth, первое ощущение — что протокол весьма сложен и избыточен. В этой статье я попытаюсь объяснить основы OAuth человеческим языком.

Пример кросс-авторизации


Вернемся в 2005-й год и представим, что мы пишем социальную сеть. В ней имеется форма импорта контактов из адресной книги GMail. Что нужно для доступа к контактам GMail? Конечно, логин и пароль от ящика. Но если мы попросим ввести их на нашем сайте, пользователь заподозрит неладное. Где гарантия, что мы не сохраняем на сервере введенные пароли? Поэтому нам хочется, чтобы пароль вводился только на сайте GMail, и после этого доступ к контактам через API GMail предоставлялся нашей социальной сети (возможно, на время).
Под катом - повествование с примерами
Total votes 134: ↑124 and ↓10 +114
Comments 34

Как правильно написать статью о своей компании?

Reading time 4 min
Views 38K

Всем привет. Cегодня я хочу рассказать вам как правильно написать статью о вашей компании в Википедии. Заодно на конкретном примере познакомлю с основными приципами и правилами.

Читать дальше →
Total votes 100: ↑87 and ↓13 +74
Comments 54

Подключаемся к камерам наблюдения

Reading time 2 min
Views 38K
image

Зачем нужны камеры наблюдения? Правильно — чтобы наблюдать за происходящим и контролировать ситуацию! В наше неспокойное время эти самые камеры развешаны повсюду — от денежных хранилищ до придорожных кафе. Однако защищая свои владения, хозяева порой забывают о защите самой камеры путем банальной установки пароля на доступ из Интернета. И очень зря. Если пароль не установить — ваша камера «безопасности» превращается в публичную вэб-камеру с реалити шоу для всех желающих.
Читать дальше →
Total votes 258: ↑245 and ↓13 +232
Comments 133

Переход с Windows 7 RC на RTM

Reading time 1 min
Views 2.2K
Как вы помните, Windows 7 RC прекратит хорошо себя вести в начале весны. Не все знают, что таки можно перейти с RC на RTM без переустановки системы. А я знаю, и с удовольствием расскажу.

Прежде всего, в ветке HKLM\Software\Microsoft\Windows NT
в значениях параметров EditionID и ProductName заменить слово Ultimate на слово Enterprise.

Затем взять образ w7 Enterprise, открыть каким-нибудь редактором, UltraISO или еще чем-то, найти файл Sources\cversion.ini, и в строчке MinClient поставить номер билда поменьше, чем который у Вас сейчас.

Сохраняем, поджигаем, обновляем.

P.S. Само собой разумеется, что у Вас есть юридическое право использовать Windows 7 Enterprise RTM. :-)

Удачного апгрейда.
Total votes 103: ↑85 and ↓18 +67
Comments 57

Эволюция газетных сайтов: связь архитектуры, программирования и дизайна СМИ

Reading time 1 min
Views 1.3K
Новое здание редакции NYTimes спровоцировало некоторых мыслителей на интеллектуальные дискуссии о том, как связаны архитектура офисных зданий и веб-дизайн информационных сайтов. Если подумать, то эти две сферы во многом пересекаются.

Интересно, что в обеих этих областях происходит бурный прогресс. Например, посмотрите на эволюцию первой страницы газеты LATimes.com с 2002 по 2006 годы. Видно, как резко возрастает количество графики (жёлтый цвет) и рекламы (оранжевый цвет) на страницах сайта.


Читать дальше →
Total votes 29: ↑22 and ↓7 +15
Comments 12

Python: вещи, которых вы могли не знать

Reading time 8 min
Views 310K
Python — красивый и местами загадочный язык. И даже зная его весьма неплохо, рано или поздно находишь для себя нечто такое, что раньше не использовал. Этот пост отражает некоторые детали языка, на которые многие не обращают внимание. Сразу скажу: многие примеры являются непрактичными, но, оттого, не менее интересными. Так же, многие примеры демонстрируют unpythonic стиль, но я и не претендую на новые стандарты — я просто хочу показать, что можно делать вот так.
Читать далее
Total votes 139: ↑120 and ↓19 +101
Comments 120

Как обрезать SIM-карту для iPad WiFi+3G

Reading time 1 min
Views 152K
После анонса Apple iPad у многих возникли вопросы, что такое MicroSIM, используемый на новом устройстве.

И главное — можно ли «обрезать» обычную SIM-ку от МТС, Киевстар, ОГО! Мобільний, Мегафон или СМАРТС для использования с iPad

Кратко — если у вас не очень древняя SIM-ка, то обрезать симку для использования в iPad можна без проблем, поскольку согласно спецификаций[1] карточка Micro SIM расположение контактных площадок и их назначение совпадают с карточками Mini SIM.
Читать дальше →
Total votes 42: ↑24 and ↓18 +6
Comments 16

Как Яндекс использует лингвистику в поиске

Reading time 1 min
Views 18K
Яндексу ежедневно приходится отвечать на десятки миллионов запросов. Поисковая система должна уметь быстро и точно их обрабатывать. Без применения лингвистики поисковая система сможет найти только точные совпадения в проиндексированных документах. Чтобы найти релевантные документы, системе необходимо правильно определить язык запроса, исправить опечатки, произвести морфологический разбор каждого слова, расширить запрос синонимами или вообще его переформулировать. В этой лекции Алексей Зобнин постарался дать студентам Малого ШАДа ответы на следующие вопросы:

  • Зачем нужно учитывать морфологию?
  • Как и зачем мы определяем язык запроса и документа?
  • Что такое корпус языка?
  • Что такое языковые модели, и как они применяются в поиске?
  • Как производится морфологический анализ несловарных слов?
  • Как определить правильное значение и морфологическую парадигму омонимов?
  • Какие бывают опечатки, и как мы их исправляем?
  • Что такое расширения запроса и чем они могут быть полезны?



Страница лекции

Изначально лекция рассчитана на старшеклассников, но и взрослые смогут почерпнуть из нее много полезного.
Презентацию можно скачать здесь.
Читать дальше →
Total votes 62: ↑56 and ↓6 +50
Comments 8

Обзор iconBIT THOR ZX: «одинокий» 9-дюймовый планшет

Reading time 6 min
Views 19K
В пятом сезоне «Теории большого взрыва» Шэлдон Купер возмущался тем, что на встрече в магазине моделей поездов вместо обсуждения преимуществ разных масштабов все свелось к рекламе изделий масштаба 1:87. А спустя пару часов говорил: «Как же я ошибался все эти годы. Чем меньше паровоз, тем концентрированнее удовольствие». Примерно такое же ощущение сложилось у меня после знакомства с планшетом iconBIT THOR ZX c 9-дюймовым экраном. По странному стечению обстоятельств подобные «таблетки» вообще выпали из поля моего зрения. Сразу поясню название обзора – несложные поиски по совокупности параметров показали полное отсутствие у iconBIT THOR ZX прямых соперников в официальной рознице в России. Такой вот «спойлер», теперь прошу под кат за подробностями.

Читать дальше →
Total votes 16: ↑9 and ↓7 +2
Comments 11

Публикуем веб приложения Ruby, Python, Node.js, Perl и Java в Azure Cloud Services

Reading time 35 min
Views 14K
image В этой статье мы рассмотрим способ разворачивания веб приложений, написанных с использованием различных технологий, в облаке Azure Cloud Services. А именно это будет Ruby, Python, Node.js, Perl и с некоторыми оговорками также Java и Railo (ColdFusion). В качестве примера Ruby приложения будем использовать Redmine, работающий на Ruby on Rails, в Python пойдет Lightning Fast Shop, работающий на Django, в Node.js будем использовать небольшой проект с использованием express.js, на Perl будем ставить пустой проект Mojolicious. Целью данной статьи не является экскурс по всем этим веб технологиям, а лишь показать удобный и универсальный способ публикации в облаке Azure. Так что кода на Ruby, Python или Perl в ней не будет. Зато будет много скриншотов, shell-скриптов и инструкций по упаковке и развертыванию приложений.
Читать дальше →
Total votes 30: ↑21 and ↓9 +12
Comments 4

Ускоряем Nginx за 5 минут

Reading time 5 min
Views 280K
image
Попытайтесь повторить это сами

Как правило, настроенный должным образом сервер Nginx на Linux, может обрабатывать 500,000 — 600,000 запросов в секунду. Но этот показатель можно весьма ощутимо увеличить. Хотел бы обратить внимание на тот факт, что настройки описанные ниже, применялись в тестовой среде и, возможно, для ваших боевых серверов они не подойдут.

Минутка банальности.

yum -y install nginx

На всякий пожарный, создадим бэкап исходного конфига.

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.orig
vim /etc/nginx/nginx.conf

А теперь можно и похимичить!
Бдыжь-бдыжь
Total votes 203: ↑138 and ↓65 +73
Comments 127

Прекратите использовать location.hash, да здравствует HTML5 History API!

Reading time 2 min
Views 77K
Много лет location.hash был способом в AJAX-приложении заставить работать кнопки «Назад» / «Вперёд» и, например, добавить определенное состояние страницы в избранное и вернуться к нему позже.

Сейчас, когда HTML5 считается нормой, пора обратить свое внимание на History API и забыть про location.hash. HTML5 History API проще для понимания и позволяет сделать URL чуточку красивее (без кракозябры # или #! если вы имеете дело с индексированием ajax приложения).
Читать дальше →
Total votes 63: ↑46 and ↓17 +29
Comments 38

Клиент Яндекс.Диска для Linux. Консольный

Reading time 8 min
Views 113K
Сегодня мы представляем долгожданный клиент Яндекс.Диска для Linux. Можно было бы даже сказать «специально для Хабрахабра», так как ни одно упоминание Диска здесь не обходилось без вопросов о клиенте для Линукса.

У него есть вся основная функциональность, которая есть у клиентов для OS X и Windows, и даже больше (симлинки!), и одна особенность — он консольный.

image

Ниже читайте о том, как он настраивается, что конкретно умеет, и о том, как именно он устроен и что в нём было непросто сделать.

Читать дальше →
Total votes 201: ↑185 and ↓16 +169
Comments 222

N+1 полезная книга для бизнеса: часть 3

Reading time 6 min
Views 96K


Привет!
Прошлые два обзора полезных книг за 2010 и 2011 год собрали просто адовое количество закладок, поэтому я продолжу. Прошел ещё год, ещё около 250 прочитанных книг – и вот самые интересные под катом.

Кто сказал, что слоны не умеют танцевать? Возрождение корпорации IBM: взгляд изнутри (Герстнер Луис)


Отличная книга про то, как удалось восстановить IBM. То, что со стороны выглядело как бессистемное перемещение активов и последовательность приказов без особого смысла, через несколько лет начало складываться в единую систему.

Догнать зайца (Стивен Спир)


Отличная книга про дебаг производственных процессов. Одна из основных вещей – то, что все серьёзные проблемы возникают из-за сочетания некритичных багов. Есть примеры из американской ядерной программы, NASA и т.п. Я предлагаю прямо сейчас пойти и прочитать описание железнодорожного крушения на Каменской: один не отчитался, второй не проверил тормоза, третий зажал тангенту, четвёртый сорвал стоп-кран. Результат — катастрофа.
Читать дальше →
Total votes 66: ↑60 and ↓6 +54
Comments 43

Как я покупал 42-дюймовый ЖК-телевизор: опыт выбора и эксплуатации

Reading time 8 min
Views 200K
Поклонником телевидения я никогда не был, поэтому без какого-либо дискомфорта около 6 лет пользовался стареньким кинескопным Samsung примерно такого же возраста. Играл и фильмы смотрел на ноутбуке, а сам же ТВ включался лишь изредка, для «фона».

С приобретением игровой консоли xBox 360 я всерьез задумался о покупке современного телевизора, так как играть на старом кинескопном было практически нереально. Во-первых, в нем попросту нет HDMI-порта, и приходилось довольствоваться обычными «тюльпанами» и переходником SCART. Во-вторых, в силу низкого разрешения экрана нельзя было насладиться всей полнотой графики современных игр, а мелкие надписи (например, пояснения в играх) и вовсе были нечитабельны. Выход виделся один – приобретение современного телевизора.

Читать дальше →
Total votes 67: ↑48 and ↓19 +29
Comments 99

Information

Rating
Does not participate
Location
Днепропетровская обл., Украина
Date of birth
Registered
Activity