Pull to refresh
13
0
Фролов Дмитрий @sebastian

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

Send message

Дарим роботов на Новый год

Reading time5 min
Views15K
Новый год осталось ждать уже недолго и многие уже распланировали свои отпуска. С другой стороны о подарках мы начинаем задумываться зачастую только в последние предновогодние дни. Для тех, кто покупает подарки заранее или просто хочет подготовить необычный подарок, подготовлена данная обзорная статья. Всем остальным рекомендую сохранить статью в закладках, чтобы числа 28го внезапно вспомнить о ней, открыть, и, не ломая голову, бегом в магазин. Как вы уже поняли из заголовка, выбирать мы будем исключительно из роботов, ну и, возможно, пару радиоуправляемых моделей.

image

Читать дальше →
Total votes 110: ↑106 and ↓4+102
Comments58

Как получить и измерить высокоскоростное соединение по TCP

Reading time7 min
Views60K
Надежная передача данных в Интернете осуществляется на базе протокола TCP (Transmission Control Protocol), спецификация к которому была опубликована почти 30 лет назад. Алгоритм TCP (RFC793), позволяет подключенному устройству адаптироваться для работы в сети на скоростях в пределах десятков мегабит в секунду и задержки до 100 секунд. С бурным развитием новых технологий передачи данных, уже через 10 лет после внедрения стало ясно что производительность протокола не будет хватать для более широких каналов.
Читать дальше →
Total votes 106: ↑105 and ↓1+104
Comments41

Лучший способ изучить Rails

Reading time5 min
Views200K
Доброго времени суток!

Предисловие


Когда-то я хотел познакомиться с Rails поближе, но не знал с чего начать, пока мне на глаза не попалась эта статья. Далее вы увидите перевод, смешанный с собственным опытом и свойственными мне лексическими и фразеологическими оборотами. Итак, поехали.

Введение


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

Однако, изучение Ruby on Rails является достаточно простым занятием. Это невероятно мощный фреймворк, который имеет огромное сообщество, продвигающее его вперёд. Итак, у нас возникает вопрос: какой способ изучить Rails является лучшим? Вот он — план занятий.
Читать дальше →
Total votes 83: ↑69 and ↓14+55
Comments118

Vim+Python. Для начинающих

Reading time1 min
Views13K
Небольшой видеоролик про редактирование кода в vim.
Краткое содержание.
1. Использование аббревиатур.
2. Плагин MRU
3- Плагин tagbar
Сделано с помощью свободного редактора OpenShot — для изготовления видеороликов в домашних условиях он оказался вполне пригоден.

http://youtu.be/eagC7PcGcCk



P.S. В комментариях советуют массу плагинов. Но их такое количество разных, что если у кого-то есть желание написать про них-я не против. Но моё время ограниченно и вынужден ограничиться самым, на мой взгляд, важным.
Total votes 65: ↑58 and ↓7+51
Comments36

Чёртова дюжина советов начинающим верстальщикам. Часть вторая

Reading time6 min
Views5.5K
Доброго времени суток!

О том, что вы читаете


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

Ещё немного лирики


После выхода первой части я получил огромное количество feedback'a. Если честно, я не ожидал такого желания изучить что-то новое. Да-да, быдлокодеры там тоже есть. Но сейчас не об этом…
Также, как вы можете заметить, что количество человек, добавивших мой топик в избранное достигло миллиона, достаточно велико, что не может не свидетельствовать об огромном интересе к HTML5. Итак, поехали.
Читать дальше →
Total votes 115: ↑86 and ↓29+57
Comments51

HTML KickStart — еще один способ быстро создать интерфейс своего веб-приложения

Reading time1 min
Views27K
Не один раз в комментариях замечал что народ негодует по поводу того, что веб-разработчики стали злоупотреблять использованием Bootstrap от Twitter. Признаюсь, я и сам успел закончить несколько небольших веб-приложений с использованием этого набора скриптов и стилей. Я не против использования Bootstrap от Twitter, я против злоупотребления этим когда есть столько хороших альтернатив. Я почти каждый день натыкаюсь на интерфейсы, построенные на Twitter Bootstrap, и это начинает напрягать. Последней каплей для поиска альтернативы стало изменение интерфейса биллинг панели моего хостера на шаблон Bootstrap. В этой записи я хотел бы немного рассказать про одну из альтернатив — HTML KickStart.
Читать дальше →
Total votes 147: ↑140 and ↓7+133
Comments45

Чёртова дюжина советов начинающим верстальщикам. Часть первая

Reading time6 min
Views32K
Доброго времени суток!

Введение


Я являюсь фрилансером. Раньше я не особо задумывался над тем, как и что делают верстальщики. Я делал серверную часть, а мой друг верстал и набивал контент. Совсем недавно мне захотелось попробовать «что и как». Пару дней назад мне на глаза попался материал, который мне очень понравился. Он наглядно обЪяснял, что и как нужно писать. К сожалению, сылку дать не могу, так как я не запаомнил, где располагался сей мануал, но… Казалось бы, можно это и запомнить, но я пошёл ещё одним путём — законспектировал это дело. Собственно, добро пожаловать в мою записку.
Читать дальше →
Total votes 233: ↑192 and ↓41+151
Comments186

Настройка emacs для разработки на python или поиск «идеального» редактора

Reading time4 min
Views11K
Цель статьи рассказать о своем поиске «идеального» редактора для python кода, о том почему выбрал emacs и кратко о том как я его (emacs) настроил для работы с python.

Небольшая предистория: Разработкой на python я занимаюсь уже более двух лет и все это время пытался подобрать оптимальный редактор. Что я только не использовал за это время — mcedit, nano, gedit, netbeans, eclipse, а также некоторые другие платные варианты (демо версии). Но всегда чего то нехватало, где то автокомплита, где то подсветки, где то банально неудобно. Какой то период (около 10 месяцев) использовал Eclipse, но его прожорливость в ресурсах, зависания доводили до белого каления. Когда ошибки eclipse мне окончательно надоели, я начал поиски такого редактора который стал бы отличным помошником в работе.
Вооружившись google начал искать «идеальный» редактор.
Читать дальше →
Total votes 38: ↑32 and ↓6+26
Comments58

Сети для самых маленьких. Часть первая (которая после нулевой). Подключение к оборудованию cisco

Reading time12 min
Views641K


Тематику cisco на хабре нельзя назвать популярной, зачастую интересные статьи остаются почти незамеченными. Но нас приятно удивил ажиотаж вокруг нашей предыдущей публикации. Больше тысячи человек добавили её в избранное, и это определённо говорит о том, что продолжение необходимо.
Кроме того, много людей, имеющих опыт реального планирования и строительства сетей, делали очень правильные замечания по резервированию. Дело в том, что предложенная в прошлый раз схема сети — это макет, лаборатория, на который мы будем отрабатывать и понимать технологии, поэтому такими вещами мы не озадачивались. В реальной же жизни, особенно, если вы оператор связи/провайдер, необходимы различные схемы резервирования: VRRP, STP, Link Aggregation, протоколы динамической маршрутизации.
Все замечания мы постараемся учесть и в конце цикла, вероятно, рассмотрим то, как сеть должна строиться, чтобы через полгода после запуска инженеру не было мучительно больно.

Сегодня же мы обратимся к части немного скучной, но важной для начинающих: как подключиться, поставить или сбросить пароль, войти по telnet. Также рассмотрим существующие программы — эмуляторы ciscо и интерфейс оборудования.
Как и обещали, в этот раз всё по-взрослому: с видео.

Под катом то же в текстовой и чуть более подробной форме.
Итак, вот они приехали — заветные коробки с надписью Cisco на борту.
Что дальше?
Total votes 74: ↑65 and ↓9+56
Comments76

Гай Кавасаки: Чему я научился у Стива Джобса

Reading time5 min
Views3.8K
Существует множество публикаций, объясняющих чему можно научиться у Стива Джобса, но немногие из людей, писавших их, были «в той же лодке» и на личном опыте узнали, каково было работать с ним. Я хочу, чтобы ни один полученный мной урок не был потерян или забыт, поэтому вот 12 самых важных вещей, которым я научился у Стива Джобса.
Читать дальше →
Total votes 187: ↑132 and ↓55+77
Comments97

Проектирование программного обеспечения

Reading time5 min
Views308K
Сегодня процесс создания сложных программных приложений невозможно представить без разделения на этапы жизненного цикла. Под жизненным циклом программы будем понимать совокупность этапов:
  • Анализ предметной области и создание ТЗ (взаимодействия с заказчиком)
  • Проектирование структуры программы
  • Кодирование (набор программного кода согласно проектной документации)
  • Тестирование и отладка
  • Внедрение программы
  • Сопровождение программы
  • Утилизация

Остановимся детально на процессе проектирования. В ходе проектирования архитектором или опытным программистом создается проектная документация, включающая текстовые описания, диаграммы, модели будущей программы. В этом нелегком деле нам поможет язык UML.
Читать дальше →
Total votes 52: ↑36 and ↓16+20
Comments36

Как работает yield

Reading time6 min
Views674K
На StackOverflow часто задают вопросы, подробно освещённые в документации. Ценность их в том, что на некоторые из них кто-нибудь даёт ответ, обладающий гораздо большей степенью ясности и наглядности, чем может себе позволить документация. Этот — один из них.

Вот исходный вопрос:
Как используется ключевое слово yield в Python? Что оно делает?

Например, я пытаюсь понять этот код (**):
def _get_child_candidates(self, distance, min_dist, max_dist):
    if self._leftchild and distance - max_dist < self._median:
        yield self._leftchild
    if self._rightchild and distance + max_dist >= self._median:
        yield self._rightchild

Вызывается он так:
result, candidates = list(), [self]
while candidates:
    node = candidates.pop()
    distance = node._get_dist(obj)
    if distance <= max_dist and distance >= min_dist:
        result.extend(node._values)
        candidates.extend(node._get_child_candidates(distance, min_dist, max_dist))
        return result


Что происходит при вызове метода _get_child_candidates? Возвращается список, какой-то элемент? Вызывается ли он снова? Когда последующие вызовы прекращаются?

** Код принадлежит Jochen Schulz (jrschulz), который написал отличную Python-библиотеку для метрических пространств. Вот ссылка на исходники: http://well-adjusted.de/~jrschulz/mspace/

Подробный и обстоятельный ответ
Total votes 141: ↑136 and ↓5+131
Comments41

Что делать, если некогда писать бизнес-план

Reading time4 min
Views5.6K

Детальный бизнес-план или «на салфетке»?


Бизнес план — это документ, который инвесторы заставляют написать, но который они не читают" — Стив Бланк (Steve Blank)

Детальный бизнес-план новой идеи, проработанный, на нескольких десятках страниц, конечно, выглядит солидно. И, возможно, некоторым внушает больше доверия — ведь стопка бумаги предполагает, что есть не только идея, но уже было проведено и исследование рынка (вопрос качества этого исследования не затрагивается), конкурентов, в конце концов вложены силы и время!
Читать дальше →
Total votes 56: ↑47 and ↓9+38
Comments28

Почему ИТшнику стоит стать ИПшником и почему не стоит регистрировать ООО

Reading time7 min
Views86K
В этой статье даются ответы на нижеследующие вопросы, основываясь на личном опыте и опыте коллег.

1. Почему стоит начать работать «в белую»
2. Почему на начальном этапе ИП лучше ООО
3. Что делать, если партнёров несколько

Если вы – начинающий или уже опытный фрилансер и подумываете о работе «в белую», но ещё точно не определились с вопросами «Стоит ли оно того?» и «ИП или ООО?», вэлком
под кат
Total votes 371: ↑361 and ↓10+351
Comments183

Что такое «асинхронная событийная модель», и почему сейчас она «в моде»

Reading time15 min
Views54K
Сейчас в тематических интернетах модно слово «Node.js». В этой небольшой статье мы попробуем понять («на пальцах»), откуда всё это взялось, и чем такая архитектура отличается от привычной нам архитектуры с «синхронным» и «блокирующим» вводом/выводом в коде приложения (обычный сайт на PHP + MySQL), запущенного на сервере приложений, работающем по схеме «по потоку (или процессу) на запрос» (классический Apache Web Server).
Читать дальше →
Total votes 163: ↑153 and ↓10+143
Comments130

Эффективное использование Vim

Reading time11 min
Views73K

Введение


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

Эта статья — не набор “волшебных команд” и рецептов (cookbook, как называют такие наборы по-английски), хотя они тут тоже присутствуют, а, скорее, попытка описать, как общие принципы построения эргономичных интерфейсов можно применить в практике использования Vim, чтобы сделать из него удобную и эффективную среду работы с текстами.

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

По умолчанию Vim настроен очень старомодно, и эта настройка подразумевает, что пользователь при работе с текстом будет мыслить метафорами пятидесятилетней давности, как будто бы сейчас заря эпохи UNIX. Однако дизайн Vim позволяет сделать несколько настроек, после которых система станет выглядеть вполне прилично и станет работать весьма эффективно, сочетая в себе полезные черты и древних юниксовых инструментов работы с текстом, и современных WYSIWIG-процессоров, при этом обходя, насколько это возможно, присущие им недостатки. Вот об этих настройках и приемах их использования и пойдет речь.
Читать дальше →
Total votes 141: ↑128 and ↓13+115
Comments67

Git Wizardry

Reading time17 min
Views449K
1 Введение


В своей прошлой заметке я постарался осветить в общих чертах стиль работы с
распределенной системой контроля версий git и указать на отличия по сравнению с
классическими централизованными СКВ. Целью было прежде всего обобщение опыта
работы с системой без упоминания тонкостей синтаксиса отдельных команд.

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

Читать дальше →
Total votes 89: ↑66 and ↓23+43
Comments76

IPoE, а также Client-VLAN и DHCP Option 82

Reading time5 min
Views83K
В этой статье я опишу что из себя представляет технология доступа в Интернет IPoE, которой на самом деле не существует. А также расскажу про схему Client-VLAN и про опцию 82 DHCP (DHCP Option 82), которые стали неотъемлемой частью этой несуществующей технологии. Все это, конечно же, с технической точки зрения и с примерами конфигов.
Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments81

Балансировка нагрузки с LVS

Reading time6 min
Views99K
Итак, у вас есть нагруженный сервер и вам вдруг захотелось его разгрузить. Вы поставили и залили такой же (такие же), но пользователи упорно ходят на первый. В этом случае конечно же нужно задуматься о балансировке нагрузки.

Читать дальше →
Total votes 77: ↑77 and ↓0+77
Comments50

VRRP в Linux

Reading time4 min
Views34K
У одного молодого развивающегося провайдера на заре становления организации доступа для физ. лиц была принята следующая архитектура для сети:
  • IPoE
  • привязка порт-ip
  • выдача адресов по DHCP (опция 82)
  • маршрутизирующий сервер на Linux (CentOS)

По мере роста абонентской базы все проблемы из первых трех пунктов решались успешно. А с последним прогнозировались небольшие проблемы:
Читать дальше →
Total votes 43: ↑41 and ↓2+39
Comments40

Information

Rating
Does not participate
Location
Воронеж, Воронежская обл., Россия
Date of birth
Registered
Activity