Как стать автором
Обновить
18
0
Вадим Крючков @long

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

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

Акинатор и математика

Время на прочтение 6 мин
Количество просмотров 110K
На Хабре уже несколько раз всплывала тема Акинатора, в том числе и с тегом не знаю как оно работает. Я на него наткнулся недавно и, разумеется, был восхищен. Затем, как вероятно и многим другим, мне в голову пришла мысль: «А как же это работает?» Ответа на этот вопрос я нигде не нашел, а потому задался целью написать аналогичную по функциональности программу, разобравшись по ходу дела что к чему.
Читать дальше →
Всего голосов 103: ↑95 и ↓8 +87
Комментарии 78

17 пользовательских идей монетизации соцсети

Время на прочтение 2 мин
Количество просмотров 2.4K
Приблизительно год назад в контакте администрацией был открыт топик (ссылка сохранилась, но по ней сейчас ничего нет), в котором пользователи предлагали свои варианты монетизации проекта. Варианты, которые на их взгляд более приемлемы, чем очевидные «платный вход» и «завесить всё баннерами».

Я по данному топику прошелся и выписал себе на заметку все более-менее разумные варианты. Ничего своего в представленный ниже список я старался не вносить, лишь переформулировал идеи более абстрактно.
Читать дальше →
Всего голосов 65: ↑56 и ↓9 +47
Комментарии 42

Одна идея монетизации социальных сетей

Время на прочтение 2 мин
Количество просмотров 683
На написание данного поста с подвигла новость, промелькнувшая в ридере — «Рекламодателей не интересуют социальные сети». Вопрос монетизации интернет-ресурсов встает практически перед каждым интернет-проектом, и его решения может зависеть судьба проекта и его основателей, учредителей. Поэтому многие стараются (или требуют) определиться с бизнес-моделью еще на ранних стадиях развития проекта. Что касается социальных сетей — их наделали, они раздулись, но ни одна не работает в прибыль, несмотря на гигантскую аудиторию (насколько мне известно). Попробуем вместе разобраться, какие способы монетизации для нас, как пользователей, приемлемы.
Читать дальше →
Всего голосов 11: ↑7 и ↓4 +3
Комментарии 21

Набор PHP-функции для создания user-friendly интерфейса на русском языке

Время на прочтение 7 мин
Количество просмотров 1.3K
Почти в каждом своем проекте я использую набор функций, которые делают сайт чуточку приятнее для глаза и удобнее для восприятия. Эти функции я частично позаимствовал в разных местах и частично написал сам. Наверняка, многие используют подобные, но я решил все же поделиться — возможно, кому-то они будут полезны.

Они умеют склонять существительные по числовому признаку, выводить дату с нормальными русскими названиями месяцев и выводить дату в удобочитаемом человекопонятном виде (вчера, позавчера, 2 дня 3 часа и 2 минуты назад, через 1 год и 2 месяца и т.д.).

Использовать их можно примерно так:
<acrnonym title="<?php print r_date($timestamp'j M Y в H:i'false); ?>"><?php print human_date($timestamp2false);?></acronym>
<acrnonym title="<?php print r_date($timestamp'j M Y в H:i'); ?>"><?php print human_date($timestamp);?></acronym>


Это вернет примерно такой результат:
<acrnonym title="2 января 2009 в 23:39">1 день назад</acronym>
<acrnonym title="2 января в 23:39">Вчера</acronym>

(Хабр обрезает тег <acronym>)

И вот так:
<?php
$count 
10;
printf('%d %s'$countdeclension($count, array('комментарий''комментария''комментариев')));
?>


Это вернет:
10 комментариев

Читать дальше →
Всего голосов 59: ↑49 и ↓10 +39
Комментарии 26

Мой знакомый разработчик

Время на прочтение 4 мин
Количество просмотров 1.2K
Я работаю с удивительным человеком. Каждый раз, когда я смотрю в bugzill'у или проверяю почту, я им поражаюсь. Иногда мне кажется, что он мог бы стать неплохим писателем. Во всяком случае графоман из него отличный.

Этот разработчик принимает документирование очень близко к сердцу.
Что же тут такого удивительного?
Всего голосов 64: ↑59 и ↓5 +54
Комментарии 38

Аудит системы контроля версий, ч. I

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


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


В этом документе описывается только анализ системы. Способы решения проблем,
выявленных при анализе, будут обсуждаться отдельно.


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

Русский рынок ПО для сотрудничества и ведения проектов

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

Причины написания



Этот текст является выжимкой из маркетингового исследования русского рынка ПО сотрудничества для малых команд, которое я сделал для проекта Comindwork, российско-украинской системы ведения проектов онлайн. Подумал, что будет полезно и для меня, и для людей, которые ищут такие системы, и для… конкурентов :)

Сразу скажу свой результат исследования: российский рынок отстает от мирового рынка ПО для совместной работы на 2-3 года. Доказательства?
Читать дальше →
Всего голосов 11: ↑8 и ↓3 +5
Комментарии 18

SQA в PHP

Время на прочтение 1 мин
Количество просмотров 510
Приветсвую всех.
Случилось так, что на работе нужно более глубоко использовать SQA (software quality assurance). Погуглив, сделал пока выводы, что можно использовать

1. phpunit как средство тестирования кода (simpleTest как альтернатива, и другие фрейворки для тестирования кода)
2. Selenium как средство тестирование веб интерфейса
3. code review для повышения качества кода. (он же рефакторинг)
upd:
4. code coverage by phpunit+xdebug для установления какой код не используется
5. багтрекер на основе trac

а что можно еще использовать чтобы повысить качество кода? какие методики?

спасибо за внимание
Всего голосов 25: ↑20.5 и ↓4.5 +16
Комментарии 43

Десять советов как написать (чуть) менее ужасное резюме

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

«Цель: получить работу в IBM»
— пишет какой-то идиот-соискатель в Amazon.com.




ВНИМАНИЕ: это мое собственное, *персональное*, мнение, не Google, не Amazon или кого-либо еще. Я думаю вы обнаружите, что большинство рекрутеров, оценивающих анкеты в технических компаниях — особенно в технических компаниях, которые производят собственное программное обеспечение сами, такие как Yahoo!, Ebay, Amazon.com, Microsoft или Google — в целом, согласятся со многим из перечисленного. Но опытные рекрутеры расходятся во мнениях касательно многих мелких деталей, и, в конце-концов, это всего лишь мое собственное мнение. Эти советы не гарантируют получения Вами сколь-нибудь лучших результатов. Возможно, у вас будет другой опыт. Не используйте эти советы в ванной или стоя в луже. Не стучите по стеклу, это раздражает советы. Советы не кормить! И т.д.

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

WEB OS: 40+ сетевых операционных систем

Время на прочтение 1 мин
Количество просмотров 2.9K
Как это ни странно звучит, но оказывается существует немало операционных систем, задачей которых является перенос ваших обычных настольных приложений в онлайн. То есть, имея доступ в Интернет и браузер, остальные приложения вы получаете в Интернете, используя операционную систему, возможно, принципиально отличающуюся от той, в которой вы работаете. Некоторые из таких систем представляют собой привычный рабочий стол, в то время как другие (стартовые страницы) собирают информацию со всей сети. Далее представлены более чем 40 Веб ОС, достойных вашего внимания.

Удаленные операционные системы


youos.png

AstraNOS — с виду Windows 98. Или OS X. Или вечернее небо. А возможно все вместе :-). У вас теперь есть довольно хорошее приложение AstraNOS.

cmyOS — бесплатный Вебтоп, на базе eyeOS.

Desktoptwo — вы получаете не только 1 Гбайт места, но и еще полностью функциональный набор OpenOffice.org. Нет, не базовый онлайн редактор, у которого есть простые опции форматирования. Полный пакет OpenOffice.org 2.0 от SUN, преобразованный в Java аплет.

GCOE X — Хорошая WebOS с мощным терминалом и поддержкой iPhone.

eyeOS — Превосходный Вебтоп на операционной системе eyeOS.

Glide — онлайновая операционная система с интересными возможностями для пользователей BlackBerry, Palm, Windows Mobile, Symbian и iPhone.

G.ho.st — 3 Гбайта места, доступ по ftp, поддержка Zoho Office. Наверняка вам такое понравится.

goowy — превосходный Вебтоп с предоставлением персонального e-mail адреса (@goowy.com), службой сообщений, 1 Гбайт места (через Box.net), и многим другим.

Оригинал сообщения содержит ссылки и описания еще более 30 ВебОС: самостоятельные, рабочие столы, стартовые страницы и др.
Всего голосов 23: ↑19 и ↓4 +15
Комментарии 5

Что почитать по проектированию архитектуры?

Время на прочтение 2 мин
Количество просмотров 6.4K
Текущий проект на работе разросся до огромных размеров и продолжает расти.
Так получилось, что большая часть была создана людьми, которые уже не в проекте. И качество кода многих компонент зачастую ужасно. Но все это работает, пользователи всем этим пользуются и потому русское
«Это все никуда не годиться. Легче все написать заново» — не применимо.

Проект построен на связке tomcat,struts c java-сервером работающим с postgres. С веб-частью(tomcat) вроде все нормально. В самом сервере каша — где сам функционал по работе с БД.

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

Потому хочется почитать что-то по теме и дать почитать коллегам.
Не то чтобы я с луны свалился. Опыт какой никакой есть. И книг перечитано не мало.
Но возможно хабра-люди посоветуете что-то наиболее практичное с вашей точки зрения, без сухой теории.
(на русском языке, в бумажном виде, по теме: архитектура, паттерны проектирования, рефакторинг, разработка корпоративных приложений) — что-то наиболее приближенное к практике разработки большой быстро расширяемой системы.

уже есть(читал) по теме или близко:
— Рефакторинг. Фаулер
— Совершенный код. Стив Макконнелл
— Архитектура корпоративных программных приложений. Фаулер (хорошая книга)
— Еще какие-то одинаковые книги типа «Разработка корпор.приложений с помощью UML, J2EE» от
Гради Буча и пр.

Интересно не что-то общее из цикла типа RUP процессов разработки, а конкретно по архитектуре
и шаблонам развертывания, на примере конкретных коммерческих проектов.

Заранее спасибо за комментарии
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 16

Семь советов по выбору названия для стартапа Веб 2.0

Время на прочтение 2 мин
Количество просмотров 770
Новые интернет-стартапы появляются каждые несколько секунд. В такой ситуации особенно важно подобрать правильное имя для своего детища. Вот список советов по выбору названия для современного интернет-стартапа.
Читать дальше →
Рейтинг 0
Комментарии 27

Правила Джоша (для деловых людей)

Время на прочтение 3 мин
Количество просмотров 1.4K
Список советов от эксперта по базам данных и члена группы разработчиков Джоша Беркуса (Josh Berkus), на мой взгляд, может оказаться полезным не только консультантам в области баз данных. Приведённые советы относятся к сфере взаимоотношений с клиентами. Некоторые рекомендации, как мне кажется, являются актуальными и для разработчиков-фрилансеров.

Джош Беркус является членом ядра группы разработчиков PostgreSQL (PostgreSQL Core Team) с 2002-го года. В данный момент он работает на Sun Microsystems, входя в группу, занимающуюся открытыми СУБД. До работы над PostgreSQL он работал с различными другими приложениями и технологиями, включая OpenOffice.org, Microsoft SQL Server, Oracle PL/SQL, и (о, ужас!) COM+.

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

1. Состояние данных отражает состояние бизнеса. Покажите мне клиента с хроническими проблемами в базе данных — и я покажу вам клиента с хроническими проблемами в области менеджмента.
2. Три вещи, с которыми вам не придется столкнуться никогда:
  • слишком мягкие временные рамки;
  • клиент, который платит слишком быстро;
  • точная и полная спецификация.

3. Решения, принимаемые по отношению к базе данных, «живут» очень долго («нет ничего более постоянного, чем временное»): среднее время жизни «временного, одноразового» приложения баз данных составляет 4 года. Некоторые такие кусочки кода датируются 1960-ми и работают и по сей день. Так что сразу рассчитывайте на долгосрочное использование.
4. Плохие клиенты погубят ваш бизнес: умение вовремя распознать плохого клиента и отказаться от него или вовремя расторгнуть контракт — это половина успеха. Будьте готовы сбежать в любую минуту.
Читать дальше →
Всего голосов 44: ↑43 и ↓1 +42
Комментарии 40

Неудача —лучший друг стартапа

Время на прочтение 6 мин
Количество просмотров 834
Лишь некоторые рыночные ниши терпели более сокрушительное падение во времена Веб 1.0, чем та ниша, которую занимали сайты о домашних животных. Всего лишь за девять месяцев после своего создания в 2000 году, сайт Pets.com (Питомцы.com) — заработал невероятную сумму в 82,5 миллиона долларов, выйдя на фондовый рынок через IPO; потратил 1,2 миллиона на рекламу своего кукольного питомца-талисмана на кубке по американскому футболе «Super Bowl»; получил финансирование от Amazon.com; развернул сеть огромных магазинов… и вылетел из бизнеса, оставшись без копейки прибыли.
Читать дальше →
Всего голосов 67: ↑65 и ↓2 +63
Комментарии 30

Ubuntu и повреждение винчестера

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


Сегодня я узнал пренеприятнейшее известие — Ubuntu Linux вследствие некорректной работы скрипта демона питания может повреждать ноутбучный винчестер путем его постоянных остановок и запусков (пытаясь сэкономить (ха!) электроэнергию).

Этот ресурс для винчестеров является довольно важным, и для современных моделей составляет около 600 000 раз. Load Cycles увеличивается на единицу при каждой остановке-разгоне шпинделя винчестера или при парковке/депарковке его головки.

Читать дальше →
Всего голосов 33: ↑32 и ↓1 +31
Комментарии 71

Интегрируем google maps

Время на прочтение 2 мин
Количество просмотров 2.7K
Google maps — отличное средство для картографии и сейчас мы будем интегрировать его себе на сайт благодаря открытому API. Интегрировать будем не только фиксированное положение но и произвольное, а именно — создадим в базе данных таблицу «locations», впишем там поля title, x, y.

Теперь нам надо редактировать каждое местоположение. Создадим полотно, где будет отображаться карта.
<div id="map" style="width: 250px; height: 250px"> </div>

Дальше — прикрутим вызов библиотеки из google. Поскольку я использую smarty, то я передаю ключ разработчика в виде переменной.
<script src="http://maps.google.com/maps?file=api&v=2&key={$google_maps_hash}" type="text/javascript"></script>


Теперь сделаем функцию, которая будет заниматься всей гразной работой — создавать карту в нашем div элементе, позиционировать согласно заданным координатам, устанавливать bubble. В случае если мы редактируем эти координаты, то функция будет по обратной связи прописывать в скрытые input-поля некоей формы «registration_form» новые координаты перенесённого pin-указателя.
<script type="text/javascript">
function load_map(x,y,title) {

if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(x, y), 13);
map.enableScrollWheelZoom();

point = new GLatLng(x, y);
marker = new GMarker(point);

map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.addOverlay(marker);
marker.openInfoWindowHtml(title);
/*
var mgr = new GMarkerManager(map);

GEvent.addListener(marker, "dragend", function() {
//var center = map.getCenter();
var strCenter=marker.getPoint();
marker.openInfoWindowHtml(document.forms['registration_form'].title.value);
document.forms['registration_form'].geo_x.value=strCenter.lat();//arrCenter[0];
document.forms['registration_form'].geo_y.value=strCenter.lng();//arrCenter[1];

});
*/
}
}
</script>
Всего голосов 19: ↑19 и ↓0 +19
Комментарии 30

Flickr Vision

Время на прочтение 1 мин
Количество просмотров 559
Прислали ссылку на офигенный сервис — FlickrVision, он показывает последние залитые на Flickr фотографии, отмечая их в GoogleMaps, гипнотизирует…
Всего голосов 15: ↑13 и ↓2 +11
Комментарии 6

Комментарии к статье «Кропотливая оптимизация PHP-приложений»

Время на прочтение 4 мин
Количество просмотров 1K
Здравствуйте,

Странно, что Хабрахабр не пускает это сообщение как комментарий к топику mocksoul об оптимизации РНР: www.habrahabr.ru/blog/webdev/19129.html. Наверное, слишком длинное. :)

Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 6

Выбор способа оценки контента

Время на прочтение 3 мин
Количество просмотров 1K
Я участвую в создании небольшого веб2.0-проекта и хочу посоветоваться с хабралюдьми насчет способов оценки пользователями контента — например, новостей или постов в блогах. Оценки должны дополнять уже работающие у нас таги и счетчик просмотров страниц.

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

Секреты дизайна проектов Web 2.0

Время на прочтение 3 мин
Количество просмотров 1.4K
Если вы читали крупнейшую бесплатную энциклопедию, то наверняка заметили, что в статье Web 2.0 Wikipedia не сказано ни слова, каким должен быть внешний вид страниц нового поколения. Ничего не сказано ни о красочных иконках, ни о пастельных тонах, ни о приятных градиентах, рефлекциях, большого размера шрифте и т.п… Какой же веб дизайн доминирует с возникновением Web 2.0?

Секреты дизайна проектов Web 2.0
Читать дальше →
Всего голосов 49: ↑42 и ↓7 +35
Комментарии 56

Информация

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