Pull to refresh
0
0
Philippe Rigovanov @alip

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

Send message

Превращаем Midnight Commander в консольный браузер для GIT

Reading time4 min
Views13K

Вместо предисловия...


Мне давно хотелось отсматривать код примерно как это сделано в meld, но только в консоли, и еще мне хотелось чтобы это все было увязано с системой управления версиями файлов GIT. В общем чтобы все делалось 1 кнопкой не выходя из mc.

Ydiff

Однажды у нас на канале (или это было на траке...) проявился некто Daniel Borca пошумел-пошумел и убежал, видимо не понравилась ему наша бюрократия, но зато оставил он после себя несколько сыроватых патчей, к готовившемуся релизу 4.7.0-pre1 миднайт коммандера. Один из них содержал в себе ydiff.[ch] и zdiff.[ch]… Как оказалось, то что я хотел получить, было давно уже реализовано в древнем форке mc-mp и в последней версии ru-fork. После 2-х дневного «перепиливания» я подключил функцию сравнения файлов к последней версии mc… Полдела было сделано. :)
Читать дальше →
Total votes 64: ↑58 and ↓6+52
Comments13

В Chrome заработали приложения

Reading time1 min
Views4.8K
Как включить:
  • Обновляемся до последней сборки (6.0.453.1 dev)
  • Добавляем к ярлыку Chrome:
    --enable-apps --apps-panel
    (--enable-apps — включает поддержку приложений
    --apps-panel — добавляет всплывающую панель)
  • Заходим в меню расширений (chrome://extensions/), переключаемся в «режим разработчика» и выбираем «Загрузить распакованное расширение...»
  • Вместе со сборкой есть три приложения, находятся они в
    C:\Users\%username%\AppData\Local\Google\Chrome\Application\6.0.453.1\Resources
  • Радуемся
image
Total votes 122: ↑101 and ↓21+80
Comments172

Как я стал нодой

Reading time3 min
Views7.1K
image
О Фидонете я знал давно. Ещё в далеком 2003 году, получив в своё распоряжение модем на 14400, первым делом я попытался подключиться к Сети Друзей. Но… Не сложилось. Потом появилось подключение к интернету, подписка в режиме read-only через NNTP, но мысль не только читать, но и писать всё равно осталась где-то в подсознании…

Год 2010. Пойнт.


И вот на дворе 2010 год. А если точнее — апрель-месяц. Появляется статья История одного пойнта, что выводит писательскую мысль из коматоза и отправляет на поиски пойнтового адреса у Сергея (2:5020/2140). И вот оно — первое сообщение и первый нетмейл!
Я сразу понял, что радость только начинается…
Читать дальше →
Total votes 168: ↑122 and ↓46+76
Comments216

Извлечение знаний на службе у Яндекс.Маркета

Reading time3 min
Views5.8K

 

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

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

Читать дальше →
Total votes 89: ↑75 and ↓14+61
Comments31

Common Errors in English Usage

Reading time1 min
Views4.8K
Знание английского для ИТ специалиста — это одно из важнейших профессиональных качеств. Поэтому процесс изучения английского языка должен быть непрерывным. Для изучения рекомендую сайт Common Errors in English Usage, где собрано много типичных ошибок использования различных слов и выражений.
Читать дальше →
Total votes 124: ↑113 and ↓11+102
Comments59

Действительно ли нужны головоломки на собеседованиях?

Reading time5 min
Views8.7K
Несмотря на то, что блог называется «Учись работать», учить я здесь никого не буду, а просто поделюсь своими мыслями по поводу собеседований и головоломок.

Недавно я проводил опрос «Как вы относитесь к использованию головоломок на собеседованиях?». С учетом того, что на хабре не приветствуются опросы (хотя с моей точки зрения это не правильно, так как хабр — хороший ресурс для проведения всякого рода исследований и не всегда опросы создаются по принципу «а вот мне интересно»), но, тем не менее, он не ушел в глубокие минуса, что говорит об относительном интересе к теме. Спасибо проголосовавшим и поддержавшим опрос.

Читать дальше →
Total votes 84: ↑60 and ↓24+36
Comments141

Жаргон программистов

Reading time4 min
Views65K
Наткнулся на Stackoverflow.com на интересный топик с вопросом о новом в программистском жаргоне. Предлагаю здесь подборку наиболее интересных выражений.

Египетские операторные скобки

if (a == b) {<br>  printf("hello");<br>}<br><br>
Читать дальше →
Total votes 314: ↑284 and ↓30+254
Comments282

Советы программисту-дизайнеру интерфейсов

Reading time5 min
Views11K
Нет сложным интерфейсам

Проблема


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

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

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

Читать дальше →
Total votes 270: ↑246 and ↓24+222
Comments147

Амперсанды в строковых константах

Reading time1 min
Views4.3K
Не забывайте, уважаемые джаваскрипт-программисты, в строковых константах указывать амперсанд как "&amp;", а не просто как "&". Ибо иначе результаты будут очень браузеро-зависимы:
document.body.innerHTML = "http://example.org/get.php?test";
document.body.innerHTML += "&ok";
document.body.innerHTML += "&wonderful";
Результат:
Firefox: http://example.org/get.php?test&ok&wonderful
Chrome: http://example.org/get.php?test&wonderful
IE: http://example.org/get.php?test
Total votes 106: ↑59 and ↓47+12
Comments29

Социальные игры: Земля в опасности!

Reading time4 min
Views1.2K
Однажды в ноябре 2009 в одной комнате собрались художник, юниксоид и флешер. Объединяло их то, что они в одночасье остались без работы, поэтому основной вопрос звучал классически: кто виноват и что делать? Разобравшись с первой частью повестки того дня, мы перешли ко второй — что делать? Конечно, было решено делать игру для соцсетей, благо опыта для этого у нас хватало.
Но какую? Продолжение под катом!
Total votes 63: ↑39 and ↓24+15
Comments51

Немного шаблонизирования

Reading time2 min
Views1.6K
Не так давно из лекции Дугласа Крокфорда я узнал об очень интересной технике «шаблонизирования» в JavaScript. Основная цель техники заключается в том, что мы получаем с сервера JSON и потом как-то формируем из этого HTML. Во многих ситуациях этот процесс оставляет желать лучшего потому, что формирование HTML происходит или с помощью конкатенации строк или ряда операций createElement, appendChild и т.п. Возможно многие уже знают об этом решении, но для тех кто не знал надеюсь будет полезно.
Читать дальше →
Total votes 89: ↑76 and ↓13+63
Comments54

Как можно легко и просто реализовать опции в Ruby on Rails

Reading time3 min
Views1.5K

Пролог


image
Наверное всем веб (а может и не только веб) разработчикам рано или поздно приходилось сталкиваться с такой задачей как опции пользователей. Что я имею ввиду проще всего показать на картинке. Под опциями будем понимать чекбоксы (то есть опция либо есть либо нет). Обычно таких опций не слишком много, порядка 2-10. Обычно их указывают при регистрации и/или редактировании профиля.

Постановка задачи


Походу разработки какого-либо проекта как правило число этих настроек (да и сами настройки) могут варироваться, так что было бы неплохо реализовать механизм этих опций так, чтобы добавлять/изменять/удалять их было максимально просто, изменив при этом как можно меньше кода. Я расскажу как можно решить и как решил эту задачу я в рамках фреймворка Ruby on Rails.
мне интересно
Total votes 41: ↑30 and ↓11+19
Comments32

Обзор новинок в Ruby on Rails

Reading time5 min
Views1.9K
Для начала мы обратим внимание на Rails 2.3.8 — многие из вас слышали о нем, но не все знают, что конкретного там поменялось. К слову, основные нововведения произошли в версии 2.3.6, а .7 и .8 версии лишь исправляли ошибки.

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

1. Переработан флеш, рекомендуется использовать два базовых типа — alert и notice. А еще его можно использовать с редиректом.
Вот как было:
flash[:notice] = 'Статья добавлена'
redirect_to @article
И как можно писать теперь:
redirect_to(@article, :notice => 'Статья добавлена')
Стоит учесть, что если у вас есть свой тип флеша, например, flash[:error], то добавить его к редиректу не получится.
Читать дальше →
Total votes 54: ↑51 and ↓3+48
Comments26

Data Mining: что внутри

Reading time4 min
Views49K

Уровни информации


Я не думаю, что открою Америку, если скажу, что не вся информация одинаково полезна. Иногда для объяснения какого-то понятия необходимо написать много текста, а иногда для объяснения сложнейших вопросов достаточно посмотреть на простую диаграмму. Для сокращения избыточности информации были придуманы математические формулы, чертежи, условные обозначения, программный код и т.д. Кроме того, важным является не только сама информация, но и ее представление. Понятно, что котировки акций более наглядно можно продемонстрировать с помощью графика, а математические формулы опишут законы Ньютона в более компактном виде.
Читать дальше →
Total votes 84: ↑70 and ↓14+56
Comments47

Дирк-Ян Базинк(Dirkjan Bussink), как стать успешным Рубистом

Reading time3 min
Views1.1K
В рамках серии «Как Стать Успешным Рубистом». Оригинал.

image
Дирк-Ян Базинк(Dirkjan Bussink) опытный разработчик и активный участник Ruby сообщества. twitter.com/dbussink
github.com/dbussink
Читать дальше →
Total votes 66: ↑44 and ↓22+22
Comments12

Как стать успешным Рубистом

Reading time1 min
Views7.4K
Дмитрий Белицкий провел 18 потрясных интервью с рубистами. А я решил их перевести и опубликовать тут.

ATTENTION: rezwyi.blogspot.com/search/label/%D1%81%D0%B5%D0%BA%D1%80%D0%B5%D1%82%D1%8B%20%D1%83%D1%81%D0%BF%D0%B5%D1%85%D0%B0 здесь остальные переводы от товарища Сергея Резванова.

Как стать успешным Рубистом?

Ответ на этот вопрос знают, скорее всего, успешные рубисты.

Я подготовил девять вопросов и задал их по Email людям, которые, по моему мнению, являются таковыми.

Geoffrey Grosenbach
Desi McAdam
Giles Bowkett
Dirkjan Bussink
Jamis Buck
Yehuda Katz
James Edward Gray II
Carlos Gabaldon
Fabio Akita
Pat Allan
Peter Cooper
Ryan Bates
Paul Campbell
Matt Aimonetti
Nathaniel Talbott
Elise Huard
Chris Wanstrath (defunkt)
Oleg Andreev (oleganza)

1 — переводы постараюсь публиковать по одному в день.
2 — рад любым корректировкам
Total votes 70: ↑54 and ↓16+38
Comments27

Фундамент знаний и кирпичи навыков

Reading time4 min
Views5.3K
       Третий, и я думаю, последний пост из цикла «о карьере ИТ-специалиста». Предыдущие: 1, 2.

В предыдущих обсуждениях возникло некоторое недопонимание смысла синдрома «многорукого Шивы» и смысла «изучать вглубь». Примеры, которые я буду приводить, будут касаться системного администрирования, но, думаю, в остальных ИТ-областях ситуация аналогичная (будь то программирование, вёрстка, написание баз данных, или возня с железом).

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

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

Представим себе знания, как фундамент.

Можете ли вы раскидать кирпичи по пляжу? Можете.



Именно так выглядят знания начинающего эникейщика или просто компьютерного пользователя. Местами кирпичи даже накладываются друг на друга и образуется кучка в 2-3 кирпича высотой. Это опытный пользователь, который хорошо знает, как устанавливать драйвера, как чистить реестр и оптимизировать производительность.
Читать дальше →
Total votes 115: ↑102 and ↓13+89
Comments66

Введение в DSL. Часть 1 — Проблематика проектирования и кодирования

Reading time7 min
Views31K
На протяжении нескольких десятилетий стоит задача поиска повторяемого, предсказуемого процесса или методологии, которая бы улучшила продуктивность, качество и надежность разработки. Одни пытались систематизировать и формализовать этот, по-видимому, непредсказуемый процесс. Другие применяли к нему методы управления проектами и методы программной инженерии. Третьи считали, что без постоянного контроля со стороны заказчика разработка ПО выходит из-под контроля, что влечет за собой увеличение временных и финансовых затрат.
Информатика как научная дисциплина предлагает и использует на базе методов структурного программирования технологию надежной разработки программного обеспечения, используя тестирование программ и их верификацию на основе методов доказательного программирования для систематического анализа правильности алгоритмов и разработки программ без алгоритмических ошибок.
Данная методология направлена на решение задач на ЭВМ, аналогичной технологии разработки алгоритмов и программ, используемой на олимпиадах по программированию отечественными студентами и программистами с использованием тестирования и структурного псевдокода для документирования программ в корпорации IBM с 70-х годов.
Методология структурного проектирования программного обеспечения может использоваться с применением различных языков и средств программирования для разработки надежных программ любого назначения.
Однако при использовании классического подхода к разработке возникают проблемы, описанные под хабракатом:
Читать, какие
Total votes 34: ↑25 and ↓9+16
Comments27

Самоинтерпретируемые данные работают за программиста

Reading time5 min
Views4.2K
Как часто вы используете текстовые конфигурационные файлы вроде ini, cfg, rc, xml, properties? Пишете ли для них обработчики, которые парсят строки и интерпретируют команды?
А я предлагаю иначе — записывать конфигурации на скриптовом языке (PHP, JavaScript и др.), используя удобства объекто-ориентированного программирования.
Читать дальше →
Total votes 26: ↑14 and ↓12+2
Comments42

10 способов облажаться в программировании

Reading time5 min
Views7.4K
10ways
Недавно по наследству от грязного, вонючего контрактора (который утверждал, что его знания и умения так хороши, чтоб не трогать его пока, он не закончит проект) мне досталось веб-приложение. К сожалению, мы поверили ему на слово. На первый взгляд большинство функционала веб-приложения работало как надо. Однако, как только клиент начал использовать приложение в реальных условиях, – весна показала, кто где срал оно начало барахлить. Контрактор исчез после оплаты (умри репутация!), а я остался, чтобы попытаться починить то, с чем пока мучился клиент.
Я решил описать некоторые из тех ошибок, с которыми столкнулся. Это ошибки, которые, каждый хороший программист давно уже должен уметь избегать… но, очевидно, что некоторым людям нужно о них напоминанать.

Читать дальше →
Total votes 347: ↑284 and ↓63+221
Comments208

Information

Rating
Does not participate
Location
Новороссийск, Краснодарский край, Россия
Date of birth
Registered
Activity