Mr.KTO blog

PHP  →  Как написать контроллер на PHP

23 ноября 2007

Можно, конечно, прочитать статью о контроллере в Symfony.

Но, думаю что гораздо понятнее будет следующий пример. Он показывает различие обычного подхода и подхода MVC с ООП.

Стандарный:

file1.php

if ($_GET['action'] == "act1") {

    echo "do act1";

} elseif ($_GET['action'] == "act2") {

    echo "do act2 with param1=".$_GET['param1'];

} else {

    echo "e.g. html form here";

}

Как ООП-контроллер:

file2.php

class file2_Controller {

    function file2_Controller()
    {
        switch ($_GET['action']) {
            case "act1":
                return $this->act1();
            case "act2":
                return $this->act2($_GET['param1']);
            default:
                return $this->echo_form();
        }
    }
    function act1()
    {
        echo "do act1";
    }
    function act2($param1)
    {
        echo "do act2 with param1=".$param1;
    }
    function echo_form()
    {
        echo "e.g. html form here";
    }

} new file2_Controller;

В последней строчке после фигурной скобки закрытия класса мы сразу создаём экземпляр этого класса, при этом запуская конструктор (function file2_Controller()), но не присваивая объект переменной.

Как видно, совсем не обязательно пихать всё в один файл index.php с RewriteRule .* index.php без особой на то необходимости.

Стартапы  →  Изучая стартапы

18 ноября 2007

http://in-da-start-up.blogspot.com/2007/11/userplainhotornotgreenfield.html

Просто супер-статья! 

«Изучая стартапы пришедшие к успеху (Userplain, HotorNot, Greenfield Online, Facebook, XFire, LowerMyBills, Homegain, youTube, last.fm, delicious, digg...) я делаю для себя один фундаментальный вывод:

— для успеха стартапа необходимо одно – всеобщую известность.

те, что добились такого успеха сделали это путем:

— вирусный маркетинг

— миллионнные инвестиции в радио и телерекламу, директ мейл и тд.

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

В лучшем случае будет выход на уровне 100-120 миллионов, в то время когда у проектов на базе пользователей – леверидж на порядки больше и самое главное – вероятнее! Монетизировать "глаза" проще.

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

стартапы которые делают инфраструктурный сдвиг – должны питаться огромными венчурным и интеллектуальным капиталом.

Теперь взвесим умом, что может отдельный коллектив:

а) создать новую супертехнологию (например передачи данных (безумие!)) и организовать выход в 20-30 милл. долл.

б) создать уникальный пользовательский ресурс вроде дигга (>100 миллионов , верхняя планка в миллиарды, ютюб)

в) создавать софт и т.д. как и тысячи других (неизвестная сумма при выходе)

Если ответ а) то приготовься провести десяток лет в лаборатории, потому как просто так никто не отдаст наработки.

Если ответ б) то я скажу "are you welcome!"

Если ответ в) то я скажу "здорово, но пусть это будет запасная стратегия".

Стратегия успешного стартапа сейчас – основывается на той инфраструктуре которая уже создана.

Это надо понять, произошел shifting с технологии на credibility у пользователей.

Вывод 2: нет корреляций между затраченными интеллектуальными ресурсами и оценкой на выходе. (sic!)

Этот факт подтверждают все кто узнал о выходе в >1,68 миллиарда в youTube, неоспоримо.

Вывод 3. Доказано эмпирически, нет корреляций между сложностью создаваемой стартапом технологии и стоимостью выхода. Обратите внимание на слово стартап – предприятие-заготовка без выручки, если есть выручка – то технология может многократно усложниться, что уже не важно.»

Стартапы  →  Пол Грэм: Будущее веб-стартапов

18 ноября 2007

http://habrahabr.ru/blog/startup/30099.html

«Прямо сейчас происходит нечто невероятное. Новые компании (стартапы) проходят те же стадии трансформации, что и технологии, когда удешевляются «...»

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

1. Огромное количество стартапов

Вот мое первое предсказание касательно будущего стартапов: их будет очень много. Когда запуск компании влетал в копеечку, вам нужно было получить на это согласие инвесторов. Сейчас же это вопрос лишь смелости. «...»

Запустить стартап трудно, но работать с 9 утра до 5 вечера - тоже не сахар, а иногда и вовсе приходится тяжко. Запуская компанию, у вас появляется много забот, зато нет ощущения, что жизнь пролетает мимо вас, как это бывает при работе в больших компаниях. К тому же, запуская стартап, вы можете заработать гораздо больше денег.

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

Сейчас все привыкли к мысли о работе в компании, но в масштабах исторических эпох это привыкание заняло совсем непродолжительное время. Всего лишь 2-3 поколения назад для населения ныне индустриальных стран более естественным было занятие сельским хозяйством. Сейчас может показаться странным, что люди захотят сменить привычные способы зарабатывания денег, хотя на самом деле странным будет, если они этого не сделают. «...»

4. Возможны рискованные стратегии

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

5. Молодые дотошные основатели

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

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

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

6. «...» Сейчас стартап могут запустить двое 22-летних парней, и он сможет развиться гораздо быстрее, чем аналогичный со штатом в 10 человек, у половины которых есть дети «...»

9. Большая конкуренция

Если вам легко запустить стартап, то вашим конкурентам сделать то же самое так же просто. Этот факт ни в коей мере не умаляет преимущества удешевления запусков. Вы не играете в игру с "нулевой суммой". Количество стартапов, которые могут стать успешными, не является фиксированным.

На самом деле, я не думаю, что существует некий лимит на количество успешных стартапов. Успешными считаются те, что приносят доход, удовлетворяя при этом желания людей. А человеческие желания неисчерпаемы, по крайней мере, в ближайшем будущем.

А вот на что действительно должно натолкнуть вас постоянно увеличивающееся количество стартапов, так это на то, что, имея в голове интересную идею, не стоит сидеть на месте. Рано или поздно та же мысль придет в голову другим, и они, скорее всего, воспользуются шансом.

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

PHP  →  Построй свой код: шаблоны проектирования

18 ноября 2007

http://www.xakep.ru/post/41095/default.asp

«...»

Шаблон функционального дизайна:

«Этот шаблон, по идее, должен использоваться во всех программах. Но это, скорее, идеал - к этому надо стремиться, но достигнуть очень сложно. Фишка в том, что каждая часть программы должна делать только то, для чего предназначена, и минимально влиять на другие части программы. То есть, если в твоем крутом калькуляторе вывод на экран и суммирование чисел происходит в одном и том же месте - это не труъ. Когда станешь развивать его, делать ему вывод покруче и научишь вычитать - поймешь, почему стоило сразу разбить код на маленькие кусочки.

Обеспечить такой дизайн достаточно просто - надо к каждой функции (процедуры тоже функции, что бы там не придумывал этот Вирт) приписывать комментарий, что она делает. Если в описании будет слово "и" или "или" ("эта функция стирает носки и готовит кофе"), значит, стоить разбить ее на две ("эта функция стирает носки", "эта функция готовит кофе").»

«...»

«Например, очень распространенный шаблон MVC (Model View Controller, Модель Представление Контроллер). Идея в том, чтобы обработку данных, их получение и их вывод полностью изолировать друг от друга. Тогда, написав контроллер получения из модели и вывода списка пользователей с именем Василий, мы сможем, меняя класс Представления, выводить данные как в виде HTML, так и в виде XML, JSON, в виде документа Microsoft Word'a или картинки. А меняя класс Модели, мы сможем делать выборку на основе данных из БД, с других сайтов и т.д. Потрясающе, разве нет? И ведь код становится читабельнее, и фреймворков под MVC написано немало.»

Стартапы  →  Способы заработать в эпоху Web 2.0

18 ноября 2007

http://www.xakep.ru/post/40989/default.asp

Не густо полезно, но всё же:

«Общество потребителей не терпит резких изменений социального статуса. Школа, институт, работа пять дней в неделю – это то, что ждёт почти каждого. А так хочется быть счастливым, богатым и, желательно, ленивым. Не вставая с теплого кресла, кликать мышкой и стричь электронные купоны. К счастью, генетическая база овцечеловечества время от времени даёт сбой и на свет рождаются гении. Те самые, вооруженные лишь клавиатурой и чашкой горячего кофе. Они смогли реализовать восхитительно безумные идеи и вырваться из порочного круга семья-учёба-работа. Интернет лучший инструмент в руках гения. Хакер ты или талантливый изготовитель самобытных гробов – Net даст возможность реализоваться и накидать в хрюшку-копилку монеток. А уж если в голове с рождения гнездились 15 тысяч «сравнительно странных» способов заработать – в эпоху Web 2.0 открыты все двери и есть ключи от рая «...»

Как зарабатывают гении

Алекс Тью в 21 год продал на сайте milliondollarhomepage.com 1 000 000 пикселей под рекламу за 1 млн. $. Проект породил несметное количество клонов «...»

Симпатичная студентка Наталья из Питера, мечтающая стать моделью, продаёт своё тело по миллиметру. Замечу, что сайт оформлен полностью на английском языке «...»

Выводы: ваш проект должен быть нацелен на англоязычную аудиторию.

Канадский студент Кайл Макдональд обменял скрепку на дом, совершив чуть более дюжины обменных операций. О чём сейчас пишет книгу, по которой Голливуд снимет фильм «...»

Выводы: пользуйтесь социальными сетями.

Как заработать на идеи заработать

[Mr.KTO: Известно как. Сами посмотрите сколько наоткрывалось говноблогов «манимейкеров». ]

AdSense  →  Изменение текста ссылок на AdSense-рефералов с помощью CSS

9 ноября 2007

Часто, когда пишешь про Google AdSense, очень хочется поставить контекстную ссылку на него.

Можно, конечно, посмотреть текущий HTML и вставить динамический адрес ссылки, как прямую ссылку.

St.Winnie говорил, что реф-ссылки можно стилизовать как угодно.

Вот что придумал я:

<style type="text/css">
<!--
a[title="Ads by Google"] {
	margin-left: expression( (this.innerHTML = "AdSense-MyText") * 0 + "px");
	margin-right: expression( (this.onclick = function() {
		return confirm("Вы действительно хотите зарегистрироваться в AdSense?")
	}) * 0 + "px");
}
-->
</style>

P.S: Работает только в IE.

P.P.S: И то может сильно заглючить браузер...

P.P.P.S: А опубликовал я этот способ, чтобы показать принцип (в действительности – потому что потратил слишком много времени на это).

Post Post Post Post Scriptum: А вот что об этом говорят в суппорте АдСенса:

Везде для изменения дизайна AdSense-блоков используется CSS.
Могу ли я вставить ссылку на AdSense-рефералов, если
1. Получу код для стандартной ссылки ("Данный сайт приносит прибыль с
помощью Google AdSense")
2. после этого кода вставлю в страничку следующее:

<script language="JavaScript">
window.onload = function ()
{
 var a_ar = document.getElementsByTagName('a');
 for(i = 0; i < a_ar.length; i++)
     if (a_ar[i].title == "Ads by Google") a_ar[i].innerHTML = "AdSense - мой текст";
}
</script>

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

  Мы понимаем важность поддержания высокого качества Вашего сайта и впечатлений Ваших пользователей. Однако в настоящее время мы предлагаем ряд форматов объявлений, и мы не позволяем участникам AdSense изменять код объявлений по какой бы то ни было причине, включая изменение формата текста ссылок.

 

UPDATE: P.P.P.P.P.S.: Уже не так актуально, т.к. AdSense-рефералы будут закрыты в течение последней недели августа...

Security  →  Как создать сервис для распознавания CAPTCHA

2 ноября 2007

Метро - распознавание капчи с помощью порно-сайтов

Я уже про этот метод недавно читал у Curly (который цитировал Sergey-я Juchkov-а).

У меня уже давно была идея создать такой сервис (не порно, а просто другими людьми). Но, увы, меня опередили. [1, +2 (+2)]

UPDATE: А вот как обычные пользователи могут «заработать» на распознавании картинок: [3, 4]. Первый сервис сделан довольно оригинально (тех кто распознаёт картинки называют «колотильщиками», думаю это пошло от вбивальщиков в кардинге (те, кто вбивает номера ворованых кредиток в биллинги))

______________________________________________

Как работает индустрия по распознаванию CAPTCHA

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

Страница 8 из 12«123456789101112»