Mr.KTO blog


  • Рубрики

  • Поиск

  •  
      
реклама на mrkto.com





C++  →  Первая запись в рубрике C++

27 января 2010

Пожалуй, пока я не буду открывать отдельный блог для записей по теме программирования на языке C++. Посмотрим что из этого выйдет. А пока можете подписаться на рубрику c++.

Я начал программировать на СИ до увлечения веб-программированием и собственно PHP. Собственно, и php мне практически не пришлось изучать из-за похожести языков, достаточно было только мануала.

В качестве среды разработки сейчас я использую Borland C++ Builder 6.0.

Сегодня хочу привести пример, насколько стало велико желание красоту кода php перенести в программы на c++. Допустим есть некая функция, которая возвращает какое-то число результов.

int c() {
    return 3;
}

И мы хотим проверить, есть ли рельтаты (c()!=0) при этом записав это число в переменной (d=c()). В php это выглядело бы так: if ($d = c()). В c++ это вызовет Warning: Possibly incorrect assignment. И правильным решением было бы просто в Project/Options/Compiller/Warnings отключить уведомление об этом ворнинге (как многие). Но мы ведь идеалисты, чёрты бы их всех побрал, и для нас нет простых путей. Мы напишем: if (true == (d = c())). И всё будет верно, пока ф-ция c() возвращает 1 или 0. Но для return 3; это условие окажется ложным. Всё потому, что при сравнения int-овского типа с bool-евским в СИ (по крайней мере в компиляторе BCB) bool преобразуется в int. Получается if (1 == (3)). Значит, нам следовало писать: if (true == (bool)(d = c())).
Соответственно, более простой вариант:

if ((d = c()) > 0)
if (0 != (d = c())) // или:
if ((bool)(d = c()))

Для PHP тоже надо быть внимательными. В то время, как if (true == $d = c()) (скобки можно убрать из-за приоритета операторов) даст ожидаемое true == true. Если мы хотим сравнить какию-то числовую константу с переменной, потенциально содержащей bool-значение: if (true == 2) // if ($mode == AUTO). То для получения нужного нам результата сравнения (2==2) нужно не забыть преобразовать тип к int (if ((int)$mode == AUTO)).

-------------------------------------------------

Из моего Twitter последнее по теме #cpp:

# Чтобы указывать версию приложения только в одном файле, а использовать и в другом: extern char Application__Version[] = "1.0.0";

-------------------------------------------------

Ссылки по C++/Builer:

C++Builder Русское Сообщество Разработчиков

C++Builder на codenet – FAQ Список наиболее часто задаваемых вопросов

АЛЁНА C++

-------------------------------------------------

Книги. Единственная книга, которую я бы порекомендовал, как для начинающих, так и уже знающих основы:

C/C++. Программирование на языке высокого уровня + обязательно Практикум, можно ещё Структурное программирование: Практикум

-------------------------------------------------

SEO  →  как попасть в яндекс.каталог бесплатно

1 января 2010

Это не мой пост. Это часть интересной информации из закрытого блога iam304.blogspot.com Данный пост датировался 29.03.2008 Подпишитесь на рубрику SEO

автор: iam304

p.s: для тех кто пришёл с се форума. свои сайты в яндекс каталоге нужны не для того, что бы чуть дороже продавать ссылки на говно-биржах. а для того, что бы ваши "нормальные" рабочие проекты не фильтровались ещё до индексации. продавать ссылки с сайтов в яке – глупо.

говорят, что яндекс поднимает цену на платное размещение некоммерческих сайтов в своём каталоге. с 4500 до 12500 рублей. я считаю что для обычного вебмастера, это охуенно дорого!

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

секрет прост. яндекс хочет показать своим пользователям всё. если в каком то богом забытой городе есть хотя бы один интернет пользователь, то он должен найти в яндексе сайт своей поселковой дискотеки/библиотеки/автомастерской. понимание постепенно приходит?

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

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

SEO  →  как зарабатывать на ru контексте по $500 в сутки

29 декабря 2009

Это не мой пост. Это часть интересной информации из закрытого блога iam304.blogspot.com Данный пост датировался 14.03.2008 Подпишитесь на рубрику SEO

автор: iam304
я никогда не понимал предложения о продаже так называемых саттелитов под продажу ссылок за 20-50 баксов. или на людей, которые делают сайты только для того, что бы впоследствии продавать с них ссылки через различные биржи. гораздо выгоднее, сделав мини-сайт - продвинуть его в поисковых системах и в последствии получать деньги за размещение контекстной рекламы. затрат: те же 20-50 доллоров, а выхлоп гораздо выше. в 2006 я пробывал делать сайты под размещение ссылок, но в итоге они переросли в сайты под контекст, на некоторых прямые рекламодатели выкупают размещение баннеров на пол года вперёд. ссылки продавать с таких сайтов - палево :)

год назад, с ру контекстом я использовал следующую схему:

1. подбор темы. для себя я выбрал финансовый сектор: кредиты, ипотека, форекс и так далее.

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

2. изготовление сайта. я делал 5-15 страничные сайтики с лёгким оформлением. написание статей заказывал у копирайтеров с se форума, а движком и оформлением сайта занимался самостоятельно. важно, при разработке шаблона, предусмотреть размещение 3 рекламных блоков. сначала я расчитывал только на бегун и адсенс, и в последствии пришлось перекраивать дизайн на десятке сайтов. обычно я использую следущую блок-схему:

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

3. получение трафика с поисковиков. для продвижения я покупал ссылки в sape в среднем на 5 доллоров и на 10-20к ксапов в месяц. здесь конечно требуются определённые знания, но мне кажется, что seo уже преподают и в школе :) так же не обходится и без бесплатных ссылок - комментарии на форумах, в блогах и т.п. seo - такая тема, в которой у каждого свои секреты и нюансы работы.

учитывая, что сайт заточен под запросы со слабой конкуренцией, в топ он выстреливает очень быстро.

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

все. дальше течёт бабло. тонкой струйкой или уверенным ручьём, зависит только от вложенных усилий. у меня была, довольно хорошая сеть. 100 доменов: 40 было рабочими проектами, 30 в процессе запуска и 30 заглушками. каждый домен приносил в сумме со всех партнёрских программ, от 10 до 50 доллоров в день. максимум было $80 в сутки - на самом первом и любимом. начали поступать предложения от рекламных агенств, по выкупу рекламных мест. осенью, я планировал закончить сеть и уйти на пенсию.

4. говно. но как бы ты не старался, говно случается.

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

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

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

щукин сказал, что сайты ранжируются имено так, как яндекс считает нужным. в ответ на это я залупился, и занялся ru дорвеями. пока, новых "белых" сайтов, яндекс от меня не видел.

хочется снова повторить, но тот мегабан мне до сих пор снится в кошмарах :) но так или иначе - тема работает.

SEO  →  фарма доры

29 декабря 2009

Это не мой пост. Это часть интересной информации из закрытого блога iam304.blogspot.com Данный пост датировался 07.03.2008 Подпишитесь на рубрику SEO

автор: iam304
не знаю почему весь прошлый год дорвеи я делал от случая к случаю. схема работы с фармой вообще очень проста:

1 - поиск трастовых форумов. каждый для себя определяет траст домена сам, для меня это возраст домена и количество страниц в гугле. так же важно, что бы просмотр профиля/ссылок был возможен без регистрации.
2 - регистрация аккаунтов и постинг сигнатур. для меня это самая нудная процедура.
3 - спам получившихся профилей. кто считает, что спам умер, может использовать другие методы :)

если домены подобраны хорошие, то всё будет окей. $300 в сутки должно получаться. что не вылезло в гугле, через несколько месяцев вылезет в яхе и будет давать стабильно по $100 в сутки ещё в течении месяца.

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

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

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

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

Startup  →  Мышки, станьте ёжиками!

26 декабря 2009

Однажды мышкам надоело бояться и они пришли
к мудрому Филину: «Мудрый филин, помоги советом. Все нас обижают.
Мы не хотим больше этого! Что нам делать?»
Филин, подумав: «А вы станьте ежиками. У ежиков иголки, их никто не трогает.»
Мышки, обрадованные побежали домой,
но потом вернулись: «А как же нам стать ёжиками? Мы не знаем и не умеем.»
Филин: «Ребята, вы меня ерундой не грузите. Я стратег, а не тактик!»

Сайты с кросс-браузерной вёрсткой дивами всегда проигрывают сайтам с кривой, съезжающей вёрской. Варезные коммерческие шаблоны всегда лучше бесплатных css-фреймворков.

Почему? Это к вопросу: «Почему сателлит не может быть сайтом для людей? Потому, что он создан не для людей!»
Валидная вёрстка, как правило, делается только ради удовлетворения собственного эго.

Хотите делать кросс-браузерную вёрстку – делайте сайты(-визитки) для компаний. Потому что там важно предоставить клиенту информацию о фирме, поддержать её имидж. Но если речь идёт о привлечении пользователей к развлекательному сайту (DLE), стартапу, рассчитанному на массовую аудиторию, то первостепенная задача – как можно быстрее реагировать на желание толпы. Быстро вводить новые функции, не особо беспокоясь о поддержке Firefox/Safari/iPhone/Linux, о безопасности скриптов (главное не забывать про бэкапы). Здесь выигрывает тот, кто умеет быстро принимать решения и вводить новый функционал не задумываясь о ненужном.

Вот потрясающий пост, иллюстрирующий мою мысль:

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

Существует и обратная ситуация, когда мы выбираем каким сайтом/сервисом пользоваться смотря только на красивый дизайн (+юзабилити, ajax) и хорошо написанные тексты, а не на реальную функциональность, которую он предоставляет.

Хороший пример, когда оформление не достойно функционала – сайт Одноклассники.ру. Только ленивый не ругает те неудобства с которыми сталкивается рядовой пользователь буквально на каждом шагу (напр. "отправь sms, чтобы на страничках людей, которые ты посещаешь им не приходило уведомление об этом"). И я с этим согласен. Но вы попробуйте найти В Контакте человека средних лет, мало знакомого с компьютером, который узнал о сайте из Комсомолки – а это среднестатистический пользователь.
Выразить свой протест - это конечно хорошо. Вот только, чтобы безболезненно отказаться от Одноклассников все ваши друзья должны разбираться в интернете, так как для обычного юзера начать пользоваться другим сайтом - это всё равно, что для вас перейти с одной операционный системы на другую.

Вот Тормоз, в итоге отказался от автоматического приёма Webmoney: «А теперь с меня требуют дополнительные унизительные процедуры».
Сделал ставку на LiqPay, который действительно хорош для переводов между кредитками. Но абсолютно не подходит для продажи товаров через интернет. Пост в тему: http://vvh-dev-ru.blogspot.com/2009/12/liqpay-paypal.html

Однако, я затронул тему совести. Можно сделать сотню варезных сайтов на бесплатном движке с ворованным шаблоном, набрать много k трафика с помощью серого SEO. И монетизировать его через порно-тизеры и sms-обманные-партнёрки. Хотя это и современный дорвей, никто не поспорит, что он сделан не для людей (с целью получения прибыли, конечно), а не ради удовлетворения своих эго-стартапных потребностий в красивом коде.

Вместо справедливого протеста против бюрократических процедур Webmoney (кстати, никак не остановющих настоящих мошенников) можно смириться, принять их правила игры, и, позволив с собой так обращаться, получить аттестат продавца. Покупатель сможет без препятствий оплачивать ваши товары, а вы - получать на порядок больше денег с продаж.

В любой экономической системе есть выбор: поступать по совести (и по закону) или по правилам данной экономической системы.
Последствия первого пути наглядно демонстрируют двое преследуемых российским законом крупных бизнесмена: Ходорковский и Чичваркин. Оба они решили играть в открытую и не признавать "понятия". Первый – делая компанию Юкос прозрачной и желая стать президентом без поддержки ни одной из группировок. Второй – впервые ввезя партию мобильников Motorola вбелую и пожаловавшись Бушу, когда у него эту партию признал сначала контрабандной, потом контрафактной (сама Motorola опровергала) отдел "К" на таможне. Я ничего не знаю о грехах и моральных качествах обоих. Но я уверен, что не сделай они того, о чём я только что написал – им удалось бы выкрутиться.

«Гражданское общество» невозможно, когда вокруг дикари: съедят. Как сказал французский философ (ещё цитата была использована в Матрице): «Не можешь победить – присоединяйся» (при этом ничего не упоминалось про совесть). Выбирать вам. Последствия вы знаете.

---------------------------

Пост, который меня вдохновил: Усатый рассказывает о том, как надо ловить рыбу

PHP  →  Run-Time Проверка Синтаксиса PHP с помощью eval

9 декабря 2009

Проверяем на E_PARSE ошибки строку кода или файл

Функция языковая конструкция eval предназначена для выполнения произвольного PHP-кода из текстовой строки. В случае ошибки при парсинге строки кода она возвращает false. Иначе значение при return (null если его нет). Если мы поместим "return true;" перед остальным кодом - произойдёт только проверка синтаксиса без выполнения остального кода:

function check_syntax($code) {
    return @eval('return true;' . $code);
}
var_dump( check_syntax("echo 123") ); // выведет false, т.к. пропущена точка с запятой

Для проверки синтаксиса php-файла только добавим закрывающий php-тэг после return true; (т.к. eval начинает обработку в режиме php-script, мы переходим в html-mode):

function check_syntax_file($filename) {
    return @eval('return true; ?>' . file_get_contents($filename));
}
var_dump( check_syntax_file("php_syntax_t.php") );

Зачем?

Например, чтобы избежать падения скрипта при include-инге неизвестного (пользовательского, создаваемго автоматически) файла, или кода из БД.

Ловим E_PARSE-ошибки в любом коде

E_PARSE-ошибки внутри eval-кода нельзя поймать с помощью обычного set_error_handler(), и уж тем более использовать это, не исполняя eval-код. Поэтому мы будем ловить их, используя расширение Parsekit PECL. Примерно так:
Далее »

Монетизация  →  Монетизация Twitter. Как заработать на микро-блогах

4 декабря 2009

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

После недели, когда я начал пользоваться twitter, уже придумал пару способов монетизировать это.

0. Платные микропосты. (квази-вирусный маркетинг)

UPDATE:

  • В Блогуне уже можно добавлять микроблоги.
  • Зарубежная Be-a-magpie и русская Tweem.ru автоматически добавляют рекламное сообжение каждые 5/10/15 твитов.

1. Сервисы заработка на переходе по ссылке (возм. сервисы скрытия ссылок), напр. link2you.ru, linkbucks.com.

Ссылка y.ly/aie ведёт на самом деле не прямо на этот блог, а на http://link2you.ru/14685/http://mrkto.com/ с кучей непристойной рекламы.

Срорее это подходит для порно-твитов. Соответственно задача только собрать много фолловеров (подписчиков).

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

2. Промо-реклама в фоновом рисунке. Это может быть:

  • Фирменный стиль (кобрендинговое оформление).
    Например стиль Мегафона в заставках 7ТВ и РБК,  фон сериала на lostfilm.tv
  • Постер нового фильма / продукта, как на kinopoisk.ru
  • Реклама онлайн-игры, как на nnm.ru
  • на официальном сайте одного сериала в фоне по бокам была тематическая реклама продукта

UPDATE: Twittad такая партнёрка (увы оплата только в PayPal). Be-a-magpie вроде это делает тоже.

Другие  →  Выиграл в лотерею!

19 ноября 2009

Слушал тут радио. На 30-й минуте попал выигрышный билетик. Сейчас расскажу секрет. А пока скрин-каст:

А теперь о том как получить халявный инвайт на Хабр.

  1. Заходим под Internet Explorer 8 на http://habrahabr.ru/special/ie8/lottery/
  2. Вводим e-mail, код, играем.
  3. Обновляем страничку – играем снова, and again, and again, and again.
  4. Как только попытки закончились – очищаем куки (Alt+, Сервис, Свойства обозревателя, Удалить (всё)), используем новый e-mail (напр. на mail.yandex.ru можно на для одного e-mail использовать: @yandex.ru, @yandex.ua, @yandex.com, @ya.ru, @narod.ru).

P.S: Ивайт нужен был не мне, хотя поднять карму не помешало бы: http://mrkto.habrahabr.ru/

-----------------------------------------------------------

Софт  →  Пропадают значки в трее? Тогда мы идём к вам!

5 ноября 2009

То немногое, почему мне нравится Window XP по сравнению с Win2k – это возможность скрывать ненужные иконки в трее. 

Мне мнавится, что я всегда могу убедиться, что запущен антивирус и файервол, что работает сеть и я нахожусь на 5-м десктопе. И в то же время не обращать внимания на значок громкости и необходимых программ из автозапуска. Всё это можно настроить нажав правой кнопкой на стрелочке, которая открывает скрытые значки (или на часах) и выбрав "Настройка уведомлений".

Но как же меня начало бесить, когда, установив "Всегда отображать" на значок Kaspersky 8.0 (2009) - через некоторое время эта настройка сбрасывалась в "Скрывать, если не активны" и значок опять исчезал. Я попробовал использовать Kaspersky 2010 - да, там такой проблемы нет, зато он больше тормозит систему, при установке стирает файл ключей Webmoney из секретного сектора диска (а они ещё рекламируют его :)) и иногда вызывает ошибку "Память не может быть writen", когда внедряется в чужие программы.

Что ж, хорошо, что я знаю такую замечательную утилиту, как AutoHotKey (см. предыдущую запись).

Сохраните следующий скрипт с расширением .ahk и поместите в папку Автозагрузки (shell:startup):

#NoTrayIcon
#Persistent
DetectHiddenWindows, On

SetTimer, ReShowIcons, 5000  ; 5 seconds timer
return

ReShowIcons:
    RegExMatch(TrayIcons("avp.exe"), "(?<=idn: )\d+", idn), HideTrayIcon(idn, bHide:=0)
    ; добавьте здесь такие же строки для других (не avp.exe) приложений из трея...
return

Это не всё! Под катомчто это? продолжение файла (тела функций).

Далее »

Софт  →  Как Ускорить Клавишу Доллара на Acer

1 сентября 2009

Клавиша с символом доллара - это одна из волшебных особенностей ноутбуков Acer. По крайней мере, для тех, кто программирует на PHP :). Гораздо удобней вместо Shift+4 нажать $ и сразу начать вводить имя переменной.

Увы, скорость срабатывания этой клавиши оставляет желать лучшего. Если подряд набрать $, v, a, r, то получится что-то вроде v$ar. Происходит это оттого, что Lanch Manager на нажатие $ отправляет системе комбинацию Alt + Num 0, 0, 3, 6 (как для спец. символов из + R, charmap) Что ж, мы исправим это. А для тех, кому не нужен PHP сможем, например, забиндить на клавиши dollar key ($) / euro key (€) клавиши Page Up / Page Down.

Понадобится нам такая замечательная прогрммка как AutoHotKey.

1. Для начала отключим такое омерзительное поведение Lanch Manager-а. В папке C:\Program Files\Launch Manager создайте резервную копию файла MMKEYBD.CFG. Теперь можно отредактировать сам файл: находим строки с Euro Symbol и Dollar Symbol (или Money Symbol) и меняем в них первое число на 0, последнее - на FFFF. Примерно так:

Key 23 = 0,E0,33,E0,B3,FFFF,Euro Symbol
Key 24 = 0,E0,34,E0,B4,FFFF,Dollar Symbol

Первый 0 - возвращать клавишу ОС, последнее FFFF - несуществующая команда.

2. AutoHotKey: скачиваем (доступен даже исходник на c++) и устанавливаем.

3. Создаём файл AcerKeys.ahk Можно сразу в папке shell:programs\Автозагрузка\
Добавляем в него всего 2 строчки:

$SC133::PgUp
$SC134::PgDn

Всё. Теперь по скан-коду наших клавиш будет прокрутка на одну страницу вверх/вниз.

А так мы ускорим клавишу доллара:

#NoTrayIcon  ; скрыть иконку в трее

$SC133::€
$SC134::$

Далее »

Страница 1 из 71234567»