Search
Write a publication
Pull to refresh
1
0
AHTOH @AHTOH

User

Send message

Прекратите скручивать (восклицательный знак)

Reading time6 min
Views1.8M
Ну действительно, прекратите. Есть куча прикольных штук для соединения самых разнообразных проводов, а все равно технология «откусить зубами изоляцию, скрутить, замотать изолентой» жива до сих пор.

Дальше много текста, фотографий, разборок. Ну все как обычно

Удобный отладчик для Python/Django проектов

Reading time2 min
Views20K

Pudb — полноэкранный консольный дебагер с графическим интерфейсом. Большим плюсом является то, что в нем есть подсветка синтаксиса, дополнительные панели вывода информации, горячии клавиши и интерграция с IPython.

pdb, в сравнении с Pubd, показался жутно не удобным и ограниченым. Поиск ошибок стал занимать на много меньше времени и приносить больше удовольствия. При первом взгляде на него вспоминался Assembler и Turbo Pascal в студенческие годы в техникуме.

Если кто заинтересовался примеры установки и использования под катом.
Читать дальше →

Мы сделаем этот велосипед за месяц

Reading time5 min
Views164K
Правильное управление процессом разработки это не меньшая проблема, чем собственно правильный код. Начинающие руководители часто даже не задумываются об этом, наступая на одни и те же грабли. На примере одной вымышленной истории попробуем разобраться какие проблемы нас ожидают и что можно сделать.

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

Велосипед


image
Итак, Вася долго трудился рядовым программистом, ведущим программистом и наконец стал Руководителем. У него есть команда отчаянных головорезов разработчиков в количестве двух единиц. Безусловно талантливых и знающих свое дело специалистов.

Вася получает первый заказ — надо сделать … велосипед.
Что же случилось далее

Как не нужно писать большие сервера

Reading time8 min
Views105K
Те, кто мог видеть мою прошлую статью (а она довольно related к данной теме), знают, что вот уже больше полутора лет я разрабатываю собственную реализацию сервера Minecraft, рассчитанную, в первую очередь, на высокие нагрузки. Тем не менее, в своей работе мы используем так же и стандартный сервер (Bukkit) для нескольких мини-серверов, просто чтобы было разнообразие. И вот, столкнувшись с очередной версией сервера, которая стала раз в 5 хуже предыдущих, я уже не выдержала, и решила написать эту статью.

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

Вам не нужно знать ничего о майнкрафте и особенно о его сервере, в данной статье я хочу просто рассказать, как работает оригинальный сервер Minecraft, а так же его «обвязка» — Bukkit, рассказать, почему такая система не работает и не должна. Я не претендую на идеальные знания о разработке серверов и не утверждаю, что мой сервер написан правильно и лучше всех. Я просто делюсь своим опытом, основанным на двух годах работы с сервером от всем известной Mojang и на полутора годах разработки своего сервера. Вся представленная здесь информация является моим личным мнением, а статья предназначена для расширения кругозора или даже обучения и может быть интересна как новичкам, так и продвинутым профессионалам.
Читать дальше →

Как преуспеть со своим мобильным приложением

Reading time16 min
Views36K
Большинство приложений провальны. Эта жестокая реальность приводит многих разочарованных разработчиков к заключению, часто подсознательному, что преуспевание в App Store — всё равно, что разбогатеть на «золотой лихорадке»: нужно быть чертовски удачливым.

image

Идея «удачи» — опасное успокоительное средство, облегчающее боль неудачи. А боль — это хорошая вещь. Она показывает, что что-то идёт не так. Если моё приложение потерпело крах, я хочу знать почему. Вместо того, чтобы обвинять мироздание, почему бы не посмотреть, что ребята из tap tap tap и Tapbots делают для того, чтобы снова и снова достигать успеха.

Несмотря на то, что безупречное следование этой формуле невозможно, работа в этом направлении резко увеличит ваши шансы на успех. Эти принципы выработаны для iOS, но многие из них могут быть применены и для других платформ.
Читать дальше →

Как стать миллионером в AppStore или немного формул про продвижение и продажи. Часть 1

Reading time5 min
Views106K

Схема успеха



Джон, мы потеряли два листа математических выкладок! Что делать?
Как обычно, Билл… напиши: «отсюда с очевидностью следует…»


image

Чтобы прочитать некраткую сопроводительную записку к схеме – добро пожаловать под кат.

Читать дальше →

Обзор свежих материалов, июль-сентябрь 2012

Reading time19 min
Views20K
Этот материал продолжает серию ежемесячных обзоров свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. Из лент нескольких сотен тематических подписок отбирается примерно 5% стоящих публикаций, которыми интересно поделиться. Предыдущие материалы: апрель 2010-июнь 2012.



Читать дальше →

Комбинированная балансировка нагрузки интернет-каналов

Reading time3 min
Views42K

Предистория



Рано или поздно системный администратор сталкивается с необходимостью распределить трафик по нескольким каналам, при этом естественно желание чтобы каждый канал использовался по максимуму. Столкнувшись с подобной необходимостью, и решив не изобретать велосипед, обратился к помощи поисковиков. Так как сервер у меня на Ubuntu, то обратил свое внимание на статью http://help.ubuntu.ru/wiki/ip_balancing. Реализовал «Способ 1», но при тесте были замечены следующие критичные проблемы: при использовании ссылок на некоторых сайтах они не открывались (например при попытке включить музыку на ресурсе «ВКонтакте»). Причина очевидна — запрос шел через другой канал. Обдумав ситуацию, решил скомбинировать подход к балансировке. Логика проста — больше всего съедает трафика торренты и им подобные программы, поэтому разделяем трафик. В итоге трафик с портами до 11000 распределяем приблизительно равномерно по количеству абонентов — подсетями, трафиком с портами 11000-60000 выравниваем загрузку каналов.
Читать дальше →

Продуктивное использование PHPStorm

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

Не претендуя на библию или «настольную статью программиста» я хочу поделиться полезными находками в моей любимой IDE, не скатываясь в тупую копипасту мануалов и скучных списков хоткеев, только то, что я сам использую постоянно и над чем удивляются коллеги: «о! а так можно?»
Что ж там такое?

Привлекательные экспериментальные плагины на JavaScript

Reading time2 min
Views49K

Вступление


Я безумно люблю различные эксперименты на JS. Они словно позволяют заглянуть нам в будущее, и посмотреть, каким захватывающим и футуристичным оно будет. Когда вы будете просматривать приведенную подборку, вы наверняка вспомните про еще недавнего короля — Adobe Flash, а затем осознаете, насколько быстро CSS и JavaScript лишили его трона. Современные браузеры позволяют нам использовать множество различных эффектов и анимаций без сильных тормозов. Однако слово «экспериментальный» подразумевает ряд ограничений, как например некорректное отображение в некоторых браузерах (IE), кроме того, подобные плагины будут, скорее, отличным концептуальным дополнением для персональных страниц, а не для использования в больших проектах.

Meny


image

Meny — трехмерное меню, которое помимо своей визуальной притягательности еще и экономит место на экране. При наведении (или свайпе на тачскрине, что важно), меню «выезжает» с отличным эффектом.
Читать дальше →

Новое для веб-дизайнера за октябрь 2012

Reading time2 min
Views71K
Продолжаю сентябрьскую подборку новых полезных штук для веб-дизайнеров.

Сервисы и инструменты


Cut&Slice me — бесплатный плагин для фотошопа, который помогает быстро готовить элементы дизайна для различных типов устройств.

Читать дальше →

Как найти девушку через общий топор — Майн объединяет владельцев вещей

Reading time5 min
Views16K
Mine Things Social Network

Нет, мы не сайт знакомств ни разу.

Mine — это всемирный граф частной собственности
Mine — это вконтактик для ваших мимимишечек

Если серьёзно, то Майн — это сайт, на котором люди связываются через свои вещи. Наконец-то вы сможете:
  • Вступить в клуб владельцев перочинного ножа
  • Пощекотать ваше толстое материалистическое эго
  • Публично признаться в трогательной нежности к своему ноутбуку
  • Показать всем чего вы стоите (буквально)
  • Найти женщину-гика на белом Харлее и с приставкой денди
  • Подкараулить владельца нового Vertu ночью у подъезда! (чтобы поболтать)
  • Открыто ненавидеть обладателя 7-и айфонов! (и т.д.)

Почему мы считаем, что такая на первый взгляд лекгомысленная затея может стать крепким звеном мирового e-commerce рынка, зачем магазины должны вставать к нам в очередь и пара стратегических секретов — под катом.

Да мне всё равно, хочу тёлку с топором

Блог на node.js

Reading time1 min
Views13K
Вышла ноль пятая версия mvc фреймворка Autodafe для node.js. Код стало писать удобнее, кода теперь писать нужно меньше, ещё меньше. Скоро код писать не надо будет совсем, достаточно будет лишь подумать о нём.

Пример действия контроллера, которое совершает два асинхронных запроса к базе данных, компанует вьюшку index.html и отправляет ее клиенту (при этом отлавливая и обрабатывая все ошибки):

Site.prototype.index = function( response, request ){
  response.send({
    topic : this.models.topic.With( 'author', 'comments.author' ).find_by_pk( request.params.topic_id ),
    news  : this.models.news.find_all()
  });
}


Написаны подробные статьи про тонкости работы с контроллерами, авторизацию пользователей и работу с URL адресами.

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



За хабракатом только комментарии

«Мнемотехника» и «изучение иностранного языка» несовместимые понятия?! Давайте разберемся

Reading time13 min
Views284K
Здравствуйте, Уважаемые Хабрапользователи!



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

Использование регулярных выражений в Ruby

Reading time4 min
Views49K
Регулярные выражения — спасение от всех бед для одних и ночной кошмар для других разработчиков, а если говорить объективно, то это мощнейший инструмент, требующий, однако, большой осторожности при применении. Регулярные выражения (регексы, регекспы, регулярки) в языке Ruby основаны на синтаксисе Perl 5 и потому в основных чертах знакомы всем, кто использовал Perl, Python или PHP. Но Ruby тем и хорош, что каждый компонент языка реализован со своим собственным подходом, упрощающим использование данного инструмента и увеличивающим его мощность. В предлагаемой мной небольшой статье рассматриваются особенности регулярок в Ruby и их применение в различных операторах.
Читать дальше →

Дайджест интересных новостей и материалов из мира айти за последнюю неделю №28 (20 — 26 октября 2012)

Reading time5 min
Views20K
Предлагаем вашему вниманию очередную подборку с ссылками на новости, интересные материалы и полезные ресурсы.


Читать дальше →

Машинный перевод и автоматический словарь в Яндексе

Reading time3 min
Views20K
Каждый большой продукт включает в себя много сложных и интересных технологий, над созданием которых работали люди, зачастую посвятившие им целую жизнь. И в браузере Yandex реализованы многие разработки наших коллег, которые могут остаться не замеченными неспециалистами и казаться незначимыми деталями. Например, одной из облачных технологий Яндекса, которые интегрированы в Браузер, стал наш собственный переводчик.

Сам Яндекс.Перевод вышел из беты несколько месяцев назад. От других немногочисленных подобных сервисов его отличает автословарь, уникальная технология которого разработана командой лингвистов и программистов Яндекса. Во время его разработки удалось объединить современные статистические подходы машинного перевода и традиционные лингвистические инструменты.



Чтобы понять, насколько значимым шагом в развитии машинного перевода является появление автословаря, стоит вспомнить, что 20 лет назад были распространены синтаксические переводчики, для которых таблицы соответствия фраз на разных языках составляли вручную. Процесс их создания стал меняться только в конце 1990-х, когда появились первые статистические переводчики. Для обучения их моделям переводов стали использовать параллельные тексты. Документы, в которых одно и то же написано на разных языках, извлекали, например, из дипломатической документации. Большой базой параллельных текстов стали документы ООН. Но на подобной лексике создать общелексический переводчик не получилось, потому что даже неформальные тексты он переводил сухим дипломатическим языком.
Читать дальше →

Подборка инструментов для эффективной frontend разработки

Reading time3 min
Views101K
В эту прекрасную пятницу осмелюсь предложить хабрасообществую небольшую подборку приложений, предназначенных для увеличения продуктивности во время работы с фронтэндом. Если ваш любимый апп здесь не представлен — добро пожаловать в комментарии!

Form Builder

image

Этот прекрасный генератор форм поможет вам в создании красивейших CSS логин-боксов и прочих input вещей, при минимальных временных затратах. Помимо форм на сайте этого проекта можно создавать и другие не менее красивые CSS элементы, в том числе кнопки и ленты.
еще 24 ссылки

Элементарные социальные share-кнопки

Reading time3 min
Views195K
В ответ на посты о кнопках для шаринга в социальных сетях с громоздким исходным кодом, и сложной детальной кастомизацией, хочу показать хабрасообществу решение которое однажды написал неизвестный, но однозначно добрый программист. Автор сего чуда не я, но использую это решение уже больше года в проектах с которыми работаю.
Читать дальше →

А ваше мнение на кинопоиске учитывается?

Reading time5 min
Views78K


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

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Registered
Activity