Как стать автором
Обновить
5
0
funkypublic @funkypublic

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

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

Закончен предварительный перевод книги «Волшебство Git»

Время на прочтение1 мин
Количество просмотров26K
Я, как и многие программисты, после знаменитого выступления Линуса Торвальдса о Git на Google Talks заинтересовался распределенными системами управления версиями, а в особенно Git.

Я довольно таки свободно читаю на английском, но мне приятнее читать на русском языке, при условии нормального перевода.
Существует замечательная книга «Git Magic» Бена Лина (Ben Lynn).
Благодаря труду многих людей вышел первый черновой вариант этой книги. Всех желающих улучшить перевод — приглашаю под кат.
Читать дальше →
Всего голосов 81: ↑77 и ↓4+73
Комментарии59

Подборка полезных репозиториев на GitHub

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

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

Читать дальше →
Всего голосов 60: ↑51 и ↓9+42
Комментарии15

Tree.io: анти-правила стартапа

Время на прочтение4 мин
Количество просмотров1.5K
Tree.ioВот прошло уже чуть более полгода с тех пор как мы решились взяться за свой стартап. Сейчас кажется прошла уже вечность — так много поменялось и произошло за это время. Все, вроде, получается как мы хотели, но есть одно «но» — если бы начали сейчас, со всем нашим опытом, мы бы сделали все совсем слегка по-другому.

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

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

Что же там?
Всего голосов 140: ↑104 и ↓36+68
Комментарии43

Профилирование python приложений

Время на прочтение2 мин
Количество просмотров16K
Краткая заметка с линками и примерами о профайлинге:
  1. производительности: hotshot или python profile/cProfile + визуализатор логов kcachegrind (есть порт под windows, аналог WinCacheGrind)
  2. использование памяти: dowser с web-интерфейсом

Читать дальше →
Всего голосов 39: ↑35 и ↓4+31
Комментарии22

Чем отличаются настоящие тестировщики от поддельных?

Время на прочтение5 мин
Количество просмотров26K
Сегодня я не смогла уснуть. Тяжкие думы не первый день омрачают моё бренное существование.

Их первоисточником (или, скорее, катализатором) послужило описание сферы тестирования на сайте SQA Testing School, находящейся в Силиконовой долине. В этом описании тестирование представляется как элементарная область, научиться которой можно очень быстро, знаний для этого нужно минимум, а зарабатывать в которой можно очень даже неплохо.

Первой праведной мыслью было: тестирование обидели!

На смену первой пришла вторая, более взвешенная: описанное вполне соответствует действительности. Устроиться тестировщиком легко. Быть плохим тестировщиком и при этом не быть уволенным — легко. Не приносить ни малейшей пользы проекту, и при этом зарабатывать нормальные деньги — легко.

Но ведь бывают, бывают истинные гении своего дела, которые приносят пользу, и, несмотря на «болотистый» рынок труда в сфере тестирования, являются высококвалифицированными специалистами!

Кто они?
Как отличить настоящих джедаев от поддельных тестировщиков?

Результатом раздумий стал СПИСОК ИЗ ДЕСЯТИ ОТЛИЧИЙ НАСТОЯЩЕГО ТЕСТИРОВЩИКА ОТ ПОДДЕЛЬНОГО.
Читать дальше →
Всего голосов 100: ↑92 и ↓8+84
Комментарии79

Латентно-семантический анализ

Время на прочтение4 мин
Количество просмотров99K
Как находить тексты похожие по смыслу? Какие есть алгоритмы для поиска текстов одной тематики? – Вопросы регулярно возникающие на различных программистских форумах. Сегодня я расскажу об одном из подходов, которым активно пользуются поисковые гиганты и который звучит чем-то вроде мантры для SEO aka поисковых оптимизаторов. Этот подход называет латентно-семантический анализ (LSA), он же латентно-семантическое индексирование (LSI)

Латентно-семантический анализ

Читать дальше →
Всего голосов 104: ↑101 и ↓3+98
Комментарии27

Что ждет малый бизнес в 2011 году

Время на прочтение3 мин
Количество просмотров31K
Мое Дело

Привет!

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

Итак, в 2011 году нас ждет 4 больших изменения:

1) Повышаются фиксированные взносы для ИП с 12 до 16 тысяч в год
2) Повышаются взносы в фонды с зарплат сотрудников с 14 до 34%
3) Меняется отчетность в ПФР за себя и за сотрудников
4) Отчитываться в ПФР нужно будет чаще

А вот верхний предел годовой зарплаты, с которой начисляются взносы, остался без изменения и по-прежнему составляет 415 тысяч рублей в год. Говоря простыми словами, топ-менеджер Газпрома с зарплатой в 500 тысяч рублей в месяц и программист с зарплатой в 35 тысяч рублей принесут в бюджет ПФР одинаковую сумму взносов — 141 тысячу рублей.

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

Можно бесконечно вспоминать небезызвестного поросенка со своим транспортным средством, но в реальности из любой ситуации есть выход. И настоящие бизнесмены знают это как никто другой. Под катом рассмотрим три категории бизнеса и опишем как эти изменения коснутся каждую из них. Еще под катом полезный подарок для бизнесмеов — календарик упрощенцев на 2011 год: когда, что, куда платить и сдавать.
Читать дальше →
Всего голосов 109: ↑103 и ↓6+97
Комментарии156

Highload на дешевом хостинге: хэш-таблица в MySQL

Время на прочтение3 мин
Количество просмотров21K
Высоконагруженный проект (web-сайт) — не обязательно популярная социальная сеть, видеохостинг или MMORPG. Простейший способ резко повысить требования сайта к железу — перенести хранение сессий в БД. В этой статье мы рассмотрим способ хранить данные в БД, и при этом не жертвовать производительностью. Пожертвовав небольшим объемом ОЗУ можно прилично сэкономить процессорное время. Мы говорим о стиуации, когда недоступны memcached и другие специальные средства кэширования.
Читать дальше →
Всего голосов 68: ↑56 и ↓12+44
Комментарии70

Пикселькит теперь можно купить

Время на прочтение2 мин
Количество просмотров3.3K
Летом я уже рассказывал Хабру о том, как можно втиснуть все ваши старые приставки внутрь геймпада от любой из них. Если кто-то забыл о чём речь, у нас с тех пор осталось демонстрационное видео:



В комментариях к тому посту я пообещал вам в течение 3х недель сделать комплект для самостоятельной сборки этого устройства. И вот, спустя 3 месяца, он готов к продаже.) Это отличный DIY–проект на выходной день для тех, у кого руки давно тянулись к паяльнику, но он не знал с чего начать. Если вы один из них — добро пожаловать под кат за подробностями.

Читать дальше →
Всего голосов 173: ↑165 и ↓8+157
Комментарии125

Как начать работу над стартапом?

Время на прочтение6 мин
Количество просмотров14K
Топик навеян впечатлениями от докладов на swpiter и постом о том, как не продать машину :)

Как работать над стартапом и всегда оставаться в выигрыше?


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

Картинка слева кликабельна, а ниже — текстовое описание в 12 шагах как инициировать стартап и при этом всегда оставаться в выигрыше.

1. Идея!


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

Самое важное в идее — это не терять мотивацию вплоть до 10 шага и тогда вы в любом случае получите для себя выгоду.

2. Детализация идеи


Необходимо хотя бы примерно ответить на эти вопросы:
  • область применения
  • какие задачи поможет решить
  • какие инструменты применяются для решения задач
  • что вы хотите получить в процессе и в результате реализации
  • какие-то существенные моменты, которые вам просто необходимо изложить, чтобы не потерять в будущем
На этом этапе ещё рано отвечать на вопросы:
  • сколько времени вы можете уделить (если идея вас реально интересует, вы перейдёте к следующим этапам)
  • сколько на это нужно денег
  • кто вам ещё нужен для реализации идеи
Читать дальше →
Всего голосов 153: ↑133 и ↓20+113
Комментарии52

Новичкам в программировании под Mac/iPhone: смотрите видеоролики от эпла под Маком — сможете увидеть субтитры! (а также несколько самых важных ссылок)

Время на прочтение2 мин
Количество просмотров7K
По моему мнению, осваивать новые фреймворки при программирования под айфон (и, возможно, под мак) крайне удобно, посмотрев про них видеоролики, лежащие бесплатно в iTunes University (каждый длиной около часа, их штук 50). После просмотра видеоролика в голове создается четкая картина, что с чем связано и как что вызывает, какие у классов есть возможности, и после этого достаточно reference, что встроен в Xcode, чтобы посмотреть прототипы методов и имена свойств. IMHO, без этих видео, используя лишь reference и guide и примеры, разобраться в том же фреймворке на порядки сложнее и дольше (особенно во всяких, связанных с видео и аудио).

Все время смотрел эти видеоролики на айфоне во время поездок на транспорте (ну и иногда под виндой, используя quicktime player v 7.6.6 — это практически текущая версия). Недавно первый раз запустил проигрывание видеоролика под макосью, и по доброму офигел — у них, оказывается, есть субтитры на английском! Это крайне удобно для тех, кто плохо понимает английский на слух.

UPD: На айфоне и айпэде субтитры тоже можно включить!!! Ткните на кнопку слева от слайдера уровня громкости.

Надеюсь, кому-то это поможет (особенно тем, кто еще не имеет комп с макосью, но подумывает о разработке под айфон и знакомится с документацией).

Ну и любезно предоставленная коллекция ссылок для начинающих от xzDeveloper — что почитать, что посмотреть (в порядке удаления от первоисточника):
Всего голосов 65: ↑49 и ↓16+33
Комментарии46

Пишем функциональные/интеграционные тесты для проекта на django

Время на прочтение8 мин
Количество просмотров17K
В этой захватывающей статье я расскажу про инструменты, с помощью которых можно писать функциональные тесты для django-проекта. Есть куча разных других способов это делать, но я опишу один — тот, который, на мой взгляд, самый простой. Между делом создадим красивый отчет по code coverage (субъективно — приятнее тех, что делает coverage.py). И еще, в качестве приправы, будет немного болтовни про тестирование.

Читать дальше →
Всего голосов 52: ↑48 и ↓4+44
Комментарии19

MapReduce или подсчеты за пределами возможностей памяти и процессора (попробую без зауми)

Время на прочтение8 мин
Количество просмотров92K
Давно хотел рассказать про MapReduce, а то как ни взгляшешь на подобное — такая заумь, что просто ужас берет, а на самом деле очень простой и полезный подход для многих целей. И реализовать самому — не так уж и сложно.

Сразу скажу — топик — для тех, кто не разобрался что такое MapReduce. Для тех, кто разобрался — полезного тут ничего не будет.

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

Сначала опишу как она рождалась (подход был неправильный), а потом как надо правильно делать.

Как посчитать все слова в Википедии (неправильный подход)


А родилась она, как и, наверное, везде — для подсчета частоты слов, когда обычной памяти не хватает (подсчет частоты всех слов в Википедии). Вместо слова «частота» тут скорее должно быть «количество вхождений», но для простоты оставлю «частота».

В самом простом случае мы можем завести хеш (dict, map, hash, ассоциативный массив, array() в PHP) и считать в нем слова.

$dict['word1'] += 1

Но что делать когда память под хеш кончится, а мы посчитали только одну сотую всех слов?

Читать дальше →
Всего голосов 141: ↑133 и ↓8+125
Комментарии53

Отладка в Django

Время на прочтение4 мин
Количество просмотров29K
Новичкам в Django будет полезно узнать об очень полезном инструменте отладки — debug-toolbar. Он настолько крут, что его называют Firebug for Django. На больших проектах без него (или другого отладчика) не обойтись.
Посмотрите, как это работает.
Всего голосов 54: ↑53 и ↓1+52
Комментарии32

Приведение типов

Время на прочтение4 мин
Количество просмотров207K
Будучи на конференции Qt Developer Days 2010 я узнал, что одним из самых популярных вопросов на собеседовании в разные зарубежные компании, работающие с Qt библиотекой, является вопрос о различиях в способах приведения типов в C++. Поэтому здесь я рассмотрю основные различия между static_cast, dynamic_cast, const_cast, reinterpret_cast, C-style cast, qobject_cast и qvariant_cast

Читать дальше →
Всего голосов 51: ↑48 и ↓3+45
Комментарии59

Adobe Flash CS5 + Adobe Flash Builder — общие проекты

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

Как известно, эти два продукта прекрасно уживаются вместе. Что удивительно — многие об этом не знают. Они давятся, плюются, но пишут код в Flash CS 5.
Данная статья рассказывает, как скрестить эти два продукта и как побороть мелкие неприятности в процессе.

Зачем нам Flash Builder, если есть Flash?
Ответ достаточно очевиден:
1. Нормальный Debug (condition breakpoints и прочие прелести)
2. Нормальный редактор кода с хоть каким-то, но рефакторингом
3. Version control
4. Интеграция с багтрэкерами
5. Другие вкусности Eclipse

Проблемы:
1. Абсолютные пути
2. Version control
3. Flex library projects и их подключение

Под катом описание мягкого способа создания проекта, при котором не будет проблем ни с svn, ни с абсолютными путями.
Читать дальше →
Всего голосов 43: ↑33 и ↓10+23
Комментарии42

Книга Gray Hat Python. Глава 2. Отладчики и устройство отладчика

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

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

Сказать по-правде, на Python в этой главе написано ровно 4 строчки. Но она все равно будет очень полезна как новичкам в программировании, так и Python-программистам, ибо рассказывает об устройстве отладчиков.

Перевод пока местами просто ужасен, и в этом исключительно моя вина за пока что отсутствующим опытом внятного перевода некоторых технических аспектов. Хотя на первый взгляд, все вроде должно быть понятно. Если знающие «матчасть» программисты мне помогут, буду очень рад. Особенно в плане терминов.

И так, предлагаю ознакомится тут.

Так же предлагаю ознакомится с
Введением
Глава 1. Настройка вашего рабочего окружения.
Как всегда, жду отзывов и критики.
Всего голосов 37: ↑28 и ↓9+19
Комментарии20

Осторожно — несанкционированный трафик!

Время на прочтение4 мин
Количество просмотров40K
Ни для кого не секрет, что при подключении любого сетевого устройства к Интернет генерируется трафик, который мы «не заказывали». Основные источники:
  • Паразитный трафик;
  • Нежелательный трафик от программного обеспечения;
  • Вирусная активность;
  • Несанкционированное использование подключения.
И… Google?

В статье нет пошаговых инструкций по обеспечению сетевой безопасности. Надеюсь, пользователей материал заставит задуматься, а опытные сетевые администраторы дополнят информацию конкретикой.
Рассмотрим по пунктам
Всего голосов 68: ↑56 и ↓12+44
Комментарии103

Псевдографика в консоли Unix/Linux. Немного больше User Friendly чем вы могли себе позволить

Время на прочтение14 мин
Количество просмотров32K
Привет! Бывает, хочется забыть о «скучной» консоли, разбавить ее хоть капелькой интерактива, особенно если часто приходиться делать одни и теже операции и тем более если вы пишите для облегчения своей участи скрипты. Итак, псевдографика. За мной читатель, я покажу тебе такую консоль!
Читать дальше →
Всего голосов 196: ↑186 и ↓10+176
Комментарии32

Опубликован весь архив Computer Science клуб при ПОМИ РАН

Время на прочтение2 мин
Количество просмотров6.1K
Добрый день!

Как представитель проекта Лекториум рад сообщить — мы опубликовали весь архив Computer Science клуба.
Кроме того, почти год назад мы организовали запись всех лекций на хорошие камеры и микрофоны.
А в этом году планируем подключить вебинары.


Большинство лекций читается на русском языке. Все записи снабжены презентациями и описаниями.

UPD. Кратко. Старые лекции в плохом качестве, а новые с 2010 года с хорошим звуком и в 720p.
UPD 2 Расширили канал, видео грузится теперь без проблем.

Под катом перечень курсов и несколько вопросов касательно вебинаров.
Читать дальше →
Всего голосов 231: ↑227 и ↓4+223
Комментарии78

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность