На Хабре уже несколько раз всплывала тема Акинатора, в том числе и с тегом не знаю как оно работает. Я на него наткнулся недавно и, разумеется, был восхищен. Затем, как вероятно и многим другим, мне в голову пришла мысль: «А как же это работает?» Ответа на этот вопрос я нигде не нашел, а потому задался целью написать аналогичную по функциональности программу, разобравшись по ходу дела что к чему.
Вадим Крючков @long
Пользователь
17 пользовательских идей монетизации соцсети
2 мин
2.5KПриблизительно год назад в контакте администрацией был открыт топик (ссылка сохранилась, но по ней сейчас ничего нет), в котором пользователи предлагали свои варианты монетизации проекта. Варианты, которые на их взгляд более приемлемы, чем очевидные «платный вход» и «завесить всё баннерами».
Я по данному топику прошелся и выписал себе на заметку все более-менее разумные варианты. Ничего своего в представленный ниже список я старался не вносить, лишь переформулировал идеи более абстрактно.
Я по данному топику прошелся и выписал себе на заметку все более-менее разумные варианты. Ничего своего в представленный ниже список я старался не вносить, лишь переформулировал идеи более абстрактно.
+47
Одна идея монетизации социальных сетей
2 мин
720На написание данного поста с подвигла новость, промелькнувшая в ридере — «Рекламодателей не интересуют социальные сети». Вопрос монетизации интернет-ресурсов встает практически перед каждым интернет-проектом, и его решения может зависеть судьба проекта и его основателей, учредителей. Поэтому многие стараются (или требуют) определиться с бизнес-моделью еще на ранних стадиях развития проекта. Что касается социальных сетей — их наделали, они раздулись, но ни одна не работает в прибыль, несмотря на гигантскую аудиторию (насколько мне известно). Попробуем вместе разобраться, какие способы монетизации для нас, как пользователей, приемлемы.
+3
Набор PHP-функции для создания user-friendly интерфейса на русском языке
7 мин
1.4KПочти в каждом своем проекте я использую набор функций, которые делают сайт чуточку приятнее для глаза и удобнее для восприятия. Эти функции я частично позаимствовал в разных местах и частично написал сам. Наверняка, многие используют подобные, но я решил все же поделиться — возможно, кому-то они будут полезны.
Они умеют склонять существительные по числовому признаку, выводить дату с нормальными русскими названиями месяцев и выводить дату в удобочитаемом человекопонятном виде (вчера, позавчера, 2 дня 3 часа и 2 минуты назад, через 1 год и 2 месяца и т.д.).
Использовать их можно примерно так:
Это вернет примерно такой результат:
(Хабр обрезает тег <acronym>)
И вот так:
Это вернет:
Они умеют склонять существительные по числовому признаку, выводить дату с нормальными русскими названиями месяцев и выводить дату в удобочитаемом человекопонятном виде (вчера, позавчера, 2 дня 3 часа и 2 минуты назад, через 1 год и 2 месяца и т.д.).
Использовать их можно примерно так:
<acrnonym title="<?php print r_date($timestamp, 'j M Y в H:i', false); ?>"><?php print human_date($timestamp, 2, false);?></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', $count, declension($count, array('комментарий', 'комментария', 'комментариев')));
?>
Это вернет:
10 комментариев
+39
Мой знакомый разработчик
4 мин
1.3KЯ работаю с удивительным человеком. Каждый раз, когда я смотрю в bugzill'у или проверяю почту, я им поражаюсь. Иногда мне кажется, что он мог бы стать неплохим писателем. Во всяком случае графоман из него отличный.
Этот разработчик принимает документирование очень близко к сердцу.
Этот разработчик принимает документирование очень близко к сердцу.
+54
Аудит системы контроля версий, ч. I
7 мин
1.3K Необходимо регулярно сверять устройство вашей системы контроля версий с
реальностью процесса разработки и внедрения. В этом документе мы постараемся
изложить краткую схему вопросов, на которые необходимо ответить, чтобы
высветить недостатки и потенциальные проблемы в вашей системе.
Для анализа нам потребуется описание структуры веток, список участников
процесса и область их ответственности, описание потоков изменений. Для
наглядности можно попробовать нарисовать пару диаграмм: граф потоков изменений
по веткам и древовидную структуру потока, развернутую во времени. Мы считаем
более важным (и более простым) первый график, тогда как традиционно во многих
текстах по системам контроля версий используется второй, не так чётко
высвечивающий структуру.
В этом документе описывается только анализ системы. Способы решения проблем,
выявленных при анализе, будут обсуждаться отдельно.
реальностью процесса разработки и внедрения. В этом документе мы постараемся
изложить краткую схему вопросов, на которые необходимо ответить, чтобы
высветить недостатки и потенциальные проблемы в вашей системе.
Для анализа нам потребуется описание структуры веток, список участников
процесса и область их ответственности, описание потоков изменений. Для
наглядности можно попробовать нарисовать пару диаграмм: граф потоков изменений
по веткам и древовидную структуру потока, развернутую во времени. Мы считаем
более важным (и более простым) первый график, тогда как традиционно во многих
текстах по системам контроля версий используется второй, не так чётко
высвечивающий структуру.
В этом документе описывается только анализ системы. Способы решения проблем,
выявленных при анализе, будут обсуждаться отдельно.
+11
Русский рынок ПО для сотрудничества и ведения проектов
3 мин
1.7KПричины написания
Этот текст является выжимкой из маркетингового исследования русского рынка ПО сотрудничества для малых команд, которое я сделал для проекта Comindwork, российско-украинской системы ведения проектов онлайн. Подумал, что будет полезно и для меня, и для людей, которые ищут такие системы, и для… конкурентов :)
Сразу скажу свой результат исследования: российский рынок отстает от мирового рынка ПО для совместной работы на 2-3 года. Доказательства?
+5
SQA в PHP
1 мин
549Приветсвую всех.
Случилось так, что на работе нужно более глубоко использовать SQA (software quality assurance). Погуглив, сделал пока выводы, что можно использовать
1. phpunit как средство тестирования кода (simpleTest как альтернатива, и другие фрейворки для тестирования кода)
2. Selenium как средство тестирование веб интерфейса
3. code review для повышения качества кода. (он же рефакторинг)
upd:
4. code coverage by phpunit+xdebug для установления какой код не используется
5. багтрекер на основе trac
а что можно еще использовать чтобы повысить качество кода? какие методики?
спасибо за внимание
Случилось так, что на работе нужно более глубоко использовать SQA (software quality assurance). Погуглив, сделал пока выводы, что можно использовать
1. phpunit как средство тестирования кода (simpleTest как альтернатива, и другие фрейворки для тестирования кода)
2. Selenium как средство тестирование веб интерфейса
3. code review для повышения качества кода. (он же рефакторинг)
upd:
4. code coverage by phpunit+xdebug для установления какой код не используется
5. багтрекер на основе trac
а что можно еще использовать чтобы повысить качество кода? какие методики?
спасибо за внимание
+16
Десять советов как написать (чуть) менее ужасное резюме
19 мин
21KПеревод
«Цель: получить работу в IBM»
— пишет какой-то идиот-соискатель в Amazon.com.
ВНИМАНИЕ: это мое собственное, *персональное*, мнение, не Google, не Amazon или кого-либо еще. Я думаю вы обнаружите, что большинство рекрутеров, оценивающих анкеты в технических компаниях — особенно в технических компаниях, которые производят собственное программное обеспечение сами, такие как Yahoo!, Ebay, Amazon.com, Microsoft или Google — в целом, согласятся со многим из перечисленного. Но опытные рекрутеры расходятся во мнениях касательно многих мелких деталей, и, в конце-концов, это всего лишь мое собственное мнение. Эти советы не гарантируют получения Вами сколь-нибудь лучших результатов. Возможно, у вас будет другой опыт. Не используйте эти советы в ванной или стоя в луже. Не стучите по стеклу, это раздражает советы. Советы не кормить! И т.д.
+61
WEB OS: 40+ сетевых операционных систем
1 мин
3.1KКак это ни странно звучит, но оказывается существует немало операционных систем, задачей которых является перенос ваших обычных настольных приложений в онлайн. То есть, имея доступ в Интернет и браузер, остальные приложения вы получаете в Интернете, используя операционную систему, возможно, принципиально отличающуюся от той, в которой вы работаете. Некоторые из таких систем представляют собой привычный рабочий стол, в то время как другие (стартовые страницы) собирают информацию со всей сети. Далее представлены более чем 40 Веб ОС, достойных вашего внимания.
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 ВебОС: самостоятельные, рабочие столы, стартовые страницы и др.
Удаленные операционные системы
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 ВебОС: самостоятельные, рабочие столы, стартовые страницы и др.
+15
Что почитать по проектированию архитектуры?
2 мин
6.6KТекущий проект на работе разросся до огромных размеров и продолжает расти.
Так получилось, что большая часть была создана людьми, которые уже не в проекте. И качество кода многих компонент зачастую ужасно. Но все это работает, пользователи всем этим пользуются и потому русское
«Это все никуда не годиться. Легче все написать заново» — не применимо.
Проект построен на связке tomcat,struts c java-сервером работающим с postgres. С веб-частью(tomcat) вроде все нормально. В самом сервере каша — где сам функционал по работе с БД.
На большой рефакторинг и обдумывание архитектуры обычно времени не хватает.
В то же время новые решения/изменения вносятся регулярно и итерационное выправление структуры вполне применимо.
Но как-то не уверен я, что вносимые изменения улучшают ситуацию. Скорее они не ухудшают.
Не хватает опыта в разработке правильных архитектурных решений, в использовании шаблонов.
Потому хочется почитать что-то по теме и дать почитать коллегам.
Не то чтобы я с луны свалился. Опыт какой никакой есть. И книг перечитано не мало.
Но возможно хабра-люди посоветуете что-то наиболее практичное с вашей точки зрения, без сухой теории.
(на русском языке, в бумажном виде, по теме: архитектура, паттерны проектирования, рефакторинг, разработка корпоративных приложений) — что-то наиболее приближенное к практике разработки большой быстро расширяемой системы.
уже есть(читал) по теме или близко:
— Рефакторинг. Фаулер
— Совершенный код. Стив Макконнелл
— Архитектура корпоративных программных приложений. Фаулер (хорошая книга)
— Еще какие-то одинаковые книги типа «Разработка корпор.приложений с помощью UML, J2EE» от
Гради Буча и пр.
Интересно не что-то общее из цикла типа RUP процессов разработки, а конкретно по архитектуре
и шаблонам развертывания, на примере конкретных коммерческих проектов.
Заранее спасибо за комментарии
Так получилось, что большая часть была создана людьми, которые уже не в проекте. И качество кода многих компонент зачастую ужасно. Но все это работает, пользователи всем этим пользуются и потому русское
«Это все никуда не годиться. Легче все написать заново» — не применимо.
Проект построен на связке tomcat,struts c java-сервером работающим с postgres. С веб-частью(tomcat) вроде все нормально. В самом сервере каша — где сам функционал по работе с БД.
На большой рефакторинг и обдумывание архитектуры обычно времени не хватает.
В то же время новые решения/изменения вносятся регулярно и итерационное выправление структуры вполне применимо.
Но как-то не уверен я, что вносимые изменения улучшают ситуацию. Скорее они не ухудшают.
Не хватает опыта в разработке правильных архитектурных решений, в использовании шаблонов.
Потому хочется почитать что-то по теме и дать почитать коллегам.
Не то чтобы я с луны свалился. Опыт какой никакой есть. И книг перечитано не мало.
Но возможно хабра-люди посоветуете что-то наиболее практичное с вашей точки зрения, без сухой теории.
(на русском языке, в бумажном виде, по теме: архитектура, паттерны проектирования, рефакторинг, разработка корпоративных приложений) — что-то наиболее приближенное к практике разработки большой быстро расширяемой системы.
уже есть(читал) по теме или близко:
— Рефакторинг. Фаулер
— Совершенный код. Стив Макконнелл
— Архитектура корпоративных программных приложений. Фаулер (хорошая книга)
— Еще какие-то одинаковые книги типа «Разработка корпор.приложений с помощью UML, J2EE» от
Гради Буча и пр.
Интересно не что-то общее из цикла типа RUP процессов разработки, а конкретно по архитектуре
и шаблонам развертывания, на примере конкретных коммерческих проектов.
Заранее спасибо за комментарии
+9
Семь советов по выбору названия для стартапа Веб 2.0
2 мин
808Новые интернет-стартапы появляются каждые несколько секунд. В такой ситуации особенно важно подобрать правильное имя для своего детища. Вот список советов по выбору названия для современного интернет-стартапа.
0
Правила Джоша (для деловых людей)
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. Плохие клиенты погубят ваш бизнес: умение вовремя распознать плохого клиента и отказаться от него или вовремя расторгнуть контракт — это половина успеха. Будьте готовы сбежать в любую минуту.
Джош Беркус является членом ядра группы разработчиков PostgreSQL (PostgreSQL Core Team) с 2002-го года. В данный момент он работает на Sun Microsystems, входя в группу, занимающуюся открытыми СУБД. До работы над PostgreSQL он работал с различными другими приложениями и технологиями, включая OpenOffice.org, Microsoft SQL Server, Oracle PL/SQL, и (о, ужас!) COM+.
Я провёл восемь лет, работая консультантом по базам данных. Так как в данный момент я представляю собой нечто другое и скоро могу всё позабыть, думаю, надо записать несколько полезных уроков, выученных мной за это время.
1. Состояние данных отражает состояние бизнеса. Покажите мне клиента с хроническими проблемами в базе данных — и я покажу вам клиента с хроническими проблемами в области менеджмента.
2. Три вещи, с которыми вам не придется столкнуться никогда:
- слишком мягкие временные рамки;
- клиент, который платит слишком быстро;
- точная и полная спецификация.
3. Решения, принимаемые по отношению к базе данных, «живут» очень долго («нет ничего более постоянного, чем временное»): среднее время жизни «временного, одноразового» приложения баз данных составляет 4 года. Некоторые такие кусочки кода датируются 1960-ми и работают и по сей день. Так что сразу рассчитывайте на долгосрочное использование.
4. Плохие клиенты погубят ваш бизнес: умение вовремя распознать плохого клиента и отказаться от него или вовремя расторгнуть контракт — это половина успеха. Будьте готовы сбежать в любую минуту.
+42
Неудача лучший друг стартапа
6 мин
888Перевод
Лишь некоторые рыночные ниши терпели более сокрушительное падение во времена Веб 1.0, чем та ниша, которую занимали сайты о домашних животных. Всего лишь за девять месяцев после своего создания в 2000 году, сайт Pets.com (Питомцы.com) заработал невероятную сумму в 82,5 миллиона долларов, выйдя на фондовый рынок через IPO; потратил 1,2 миллиона на рекламу своего кукольного питомца-талисмана на кубке по американскому футболе «Super Bowl»; получил финансирование от Amazon.com; развернул сеть огромных магазинов
и вылетел из бизнеса, оставшись без копейки прибыли.
+63
Ubuntu и повреждение винчестера
2 мин
4.6KСегодня я узнал пренеприятнейшее известие — Ubuntu Linux вследствие некорректной работы скрипта демона питания может повреждать ноутбучный винчестер путем его постоянных остановок и запусков (пытаясь сэкономить (ха!) электроэнергию).
Этот ресурс для винчестеров является довольно важным, и для современных моделей составляет около 600 000 раз. Load Cycles увеличивается на единицу при каждой остановке-разгоне шпинделя винчестера или при парковке/депарковке его головки.
+31
Интегрируем google maps
2 мин
3KGoogle maps — отличное средство для картографии и сейчас мы будем интегрировать его себе на сайт благодаря открытому API. Интегрировать будем не только фиксированное положение но и произвольное, а именно — создадим в базе данных таблицу «locations», впишем там поля title, x, y.
Теперь нам надо редактировать каждое местоположение. Создадим полотно, где будет отображаться карта.
Дальше — прикрутим вызов библиотеки из google. Поскольку я использую smarty, то я передаю ключ разработчика в виде переменной.
Теперь сделаем функцию, которая будет заниматься всей гразной работой — создавать карту в нашем div элементе, позиционировать согласно заданным координатам, устанавливать bubble. В случае если мы редактируем эти координаты, то функция будет по обратной связи прописывать в скрытые input-поля некоей формы «registration_form» новые координаты перенесённого pin-указателя.
Теперь нам надо редактировать каждое местоположение. Создадим полотно, где будет отображаться карта.
<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
Flickr Vision
1 мин
586Прислали ссылку на офигенный сервис — FlickrVision, он показывает последние залитые на Flickr фотографии, отмечая их в GoogleMaps, гипнотизирует…
+11
Комментарии к статье «Кропотливая оптимизация PHP-приложений»
4 мин
1KЗдравствуйте,
Странно, что Хабрахабр не пускает это сообщение как комментарий к топику mocksoul об оптимизации РНР: www.habrahabr.ru/blog/webdev/19129.html. Наверное, слишком длинное. :)
Странно, что Хабрахабр не пускает это сообщение как комментарий к топику mocksoul об оптимизации РНР: www.habrahabr.ru/blog/webdev/19129.html. Наверное, слишком длинное. :)
+10
Выбор способа оценки контента
3 мин
1.1K Я участвую в создании небольшого веб2.0-проекта и хочу посоветоваться с хабралюдьми насчет способов оценки пользователями контента — например, новостей или постов в блогах. Оценки должны дополнять уже работающие у нас таги и счетчик просмотров страниц.
+15
Как замутить стартап: пособие вебдванолера (часть 1).
6 мин
1KИтак. Отбрасываем сомнения. Ставим перед собой портрет Брина в рамочке. Запасаемся "Дошираком" на полгода вперед и начинаем стартапить. На какую тему? Плевать — миллиарды баксов зовут нас вперед. Тем, кто готов, но к чему — не знает, посвящено это пособие.
+36
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность