Как стать автором
Обновить
8
0

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

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

Возможные варианты конца света, или 3,14здец неизбежен?

Время на прочтение11 мин
Количество просмотров5K
Сразу предупреждаю. Будет много текста и картинок.

На днях ко мне зашел сосед с четвертого этажа и сообщил, что он только что на выходе из магазина вступил в контакт с инопланетянами, которые по секрету рассказали ему, что через два года, два месяца и два дня на Земле наступит конец света. При этом братья по разуму забрали у соседа бутылку водки, и он явно рассчитывал на компенсацию. Вручив мне, «как грамотному человеку», чертеж спасительного космолета (вырван из инструкции к китайской соковыжималке) и стрельнув полтинник «до получки», сосед немедленно испарился. А я, отложив свой отчет (шеф точно снесет мне голову), смеха ради набрал в поисковике «конец света» и… к собственному удивлению, обнаружил, что сосед не так уж и далек от истины.
Давайте посмотрим, каким может быть конец света
Всего голосов 366: ↑308 и ↓58+250
Комментарии153

Сети. Такие разные конструкторы

Время на прочтение3 мин
Количество просмотров3.2K
Немного больше недели назад на Хабре вышла статья про социальные конструкторы , но в ней почему-то было рассказано только про два из них- Taba и Ning. Почему-то казалось, что таких конструкторов больше, чем два=) А ведь можно еще брать и социальные сети, которые могут выполнять функцию конструктора – тогда их будет гораздо больше, чем два. Проведя некоторое количество времени и вспомнив социальные сети, которые когда-либо видела, получается интересная картина. Все социальные площадки, с помощью которых можно объединить людей вокруг какой-той темы, сделать свое сообщество или группу, в общем, можно условно разделить на три основных блока: 1) потребительские сети 2) корпоративные сети и 3) сети для бизнеса.

Читать дальше →
Всего голосов 31: ↑24 и ↓7+17
Комментарии44

Как увеличить скорость Zend Framework в 10 раз.

Время на прочтение1 мин
Количество просмотров612
Как всегда неожиданно в конце проекта всплывают всякие неприятные вещи, так и у меня выяснилось, что страницы проекта написанного на Zend Framework генерятся от 300 мс до 1с на шустром ноутбуке с включенным акселератором. Бенчмарк ab тоже выдавал неутешительные 4 запроса в секунду. Взяв в руки XDebug я отправился на поиски истины.
Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии9

2016 год: будущее интернета

Время на прочтение2 мин
Количество просмотров2.1K
Как говорили классики киберпанка, будущее уже здесь, только оно еще недостаточно распространилось. Примерно так же считает Майкл Пинто (Michael Pinto), основатель и директор компании Very Memorable Design, издатель сайта Anime.com и член совета директоров Нью-йоркской софтверной ассоциации. Именно он является автором статьи, в которой речь идет о будущем интернета и ближайших перспективах человечества.

Изменения в нашем мире происходят уже сейчас, по мере того, как телефонная связь и телевидение интегрируются в Сеть. Эта интеграция начинает постепенно затрагивать и другие устройства: от домашнего будильника до книжки, которую вы читаете перед сном. Интернет в будущем станет неотъемлемой частью всех этих объектов. Фактически, Всемирная сеть перестанет быть местом, куда мы «входим»; Cеть станет местом, где мы находимся постоянно — важным элементом, без которого мир просто развалится. На смену понятию «выйти в онлайн» приходит понятие «быть в онлайне».
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии14

Ох уж этот javascript

Время на прочтение1 мин
Количество просмотров17K
Считаете себя гуру JS'а? Попробуйте предсказать результаты следующих операций:

Number.MIN_VALUE > 0; // true or false?

typeof null; // what type?
null === Object; // true or false?

// и самый сок

NaN === NaN; // true or false?

typeof NaN; // what type?


* This source code was highlighted with Source Code Highlighter.


Сомневаетесь? Тогда именно для вас Брайан Леру (Brian Leroux) создал WTFJS — сайт, содержащий коллекцию странностей JS. «JavaScript — это язык, который мы любим несмотря на все его ненавистные особенности».

Для нетерпеливых ответы под катом.

Подглядеть
Всего голосов 140: ↑106 и ↓34+72
Комментарии122

25 самых опасных ошибок в программировании

Время на прочтение8 мин
Количество просмотров2.7K
Всем привет.
Под катом — перевод статьи Джеффа Атвуда, в которой он приводит список 25 наиболее опасных ошибок в программировании от Common Weakness Enumeration со своими комментариями.

Сразу хочу сказать. Большинство ошибок, перечисленных там — общеизвестны и многим набили оскому. Несмотря на это, мы продолжаем вновь и вновь наступать на те же грабли. И я в том числе.
Однако, поехали
Всего голосов 101: ↑85 и ↓16+69
Комментарии34

SQA Days 2009 Piter: полная подборка материалов 5-й конференции тестировщиков

Время на прочтение3 мин
Количество просмотров1K
По случаю дня тестировщика, а также в преддверии шестой конференции специалистов по тестированию и обеспечению качества а также конференции Test Labs в Киеве, публикую полный список имеющихся в наличии материалов выступлений предыдущей пятой конференции, которая состоялась 23-24 апреля 2009 г. в Санкт-Петербурге.

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

Под катом много ссылок
Всего голосов 7: ↑6 и ↓1+5
Комментарии1

Фундаментальный баг Adobe Flash не будут исправлять

Время на прочтение1 мин
Количество просмотров1.4K
Специалисты по безопасности из Foreground Security обнаружили проблему с Adobe Flash, которая затрагивает почти все сайты, поддерживающие загрузку пользовательского контента, даже если сам сайт формально не показывает Flash. Дело в том, что ничто не мешает сделать object/embed на какой-нибудь страничке, не имеющей отношения к сайту, потому как Flash имеет доступ к куки того домена, с которого он загружен (а не того, где расположен тег object).

Проблема заключается в свойстве ActionScript same-origin, которое допускает выполнение активного контента в рамках данного домена. Но если UGC можно загрузить на доверенный сайт, то вредоносный скрипт будет выполнится у всех посетителей этого сайта, у которых установлен Flash.

Компания Adobe сказала, что исправить баг очень непросто и переложила всю ответственность за защиту от вредоносного кода на администраторов сайтов. Рекомендуется выделять для хранения UGC отдельный домен. Но не всегда это возможно: даже сайт самой компании Adobe подвержен данной уязвимости.

Атаку можно проводить в том числе через Gmail (см. видео).

Всего голосов 116: ↑100 и ↓16+84
Комментарии167

Разговариваем про PyQt4 — Посиделка первая

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

Небольшое вступление


    Собственно, тогда, давно, я решил попробовать Qt, потому что часто слышал об удобстве разработки под него и своими глазами видел, какая шикарная документация представлена на сайте производителя. Не могу сказать, что это далось легко (я раньше немного писал на GTK), особенно путался в этих бесконечных классах на "Q", но постепенно начало нравиться все больше и больше. В частности потому, что есть отличная привязка к нему для языка Python, на котором я, собственно, в основном и пишу.
    Еще почему? Ну, я мог бы рассказать и о том, что он работает как на почти всех настольных системах, так и на многих мобильных, рассказать про совершенно гениальную объектную систему виджетов и т. п. Но — зачем? Не люблю холивары с приверженцами других визуальных библиотек :) Поэтому давайте считать этот топик чем-то вроде дележки опытом и рассуждений на тему.
Присоединиться к посиделке
Всего голосов 73: ↑67 и ↓6+61
Комментарии28

Большая песня маленького человека или Большой осадок от хостинга Hosting.ua

Время на прочтение11 мин
Количество просмотров3K
Когда уже собирался опубликовать эту историю, увидел в журнале Компьютерра интересную заметку под названием «Большая песня маленького человека». Приведу ее частично:

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

Но не всегда. Крайне успешный пример красивой потребительской мести начался в июле 2009 года и продолжается до сих пор. В марте 2008 года Дэйв Кэрролл, гитарист второразрядной музыкальной группы Sons of Maxwell, летел из Галифакса в Омаху с пересадкой в Чикаго. Гитару Дэйв, как полагается, сдал в багаж, поэтому, когда после приземления в Чикаго он услышал от соседки «господи, да они ж там гитары швыряют», сердце у него екнуло. Впрочем, стюардесса сказала, что такие вопросы нужно решать не с ней, а с «агентом снаружи», агент сказал, что он не агент, а просто мимо проходил, — в общем, проблему, как часто бывает, заболтали, так что Дэйв с гитарой прилетели в Омаху, причем Дэйв прилетел вполне целым, а вот гитаре повезло куда меньше — 710 Taylor за $3500 в пути разбилась.

Поломку Дэйв обнаружил на следующий день, но в представительство авиакомпании United Airlines смог обратиться только через неделю. В представительстве ему сказали, что Дэйв должен подать жалобу там, откуда начиналось его путешествие, в Галифаксе.

От инстанции к инстанции Дэйва футболили еще девять месяцев. Наконец, у него лопнуло терпение. Услышав «нет, компенсацию мы вам не заплатим» (а ремонт обошелся в $1200). Дэйв пообещал сотруднице авиакомпании United написать о своих злоключениях три песни. Первая из них — United Breaks Guitars — появилась на YouTube 6 июля 2009 года, вторая — 18 августа.

Ролик United Breaks Guitars уже просмотрело больше пяти миллионов человек. По данным Times Online, в течение первых четырех дней после выкладки ролика на YouTube акции компании подешевели на десять процентов, что обошлось акционерам в 180 млн долларов (правда не доказано, что это как-то связано с песней).) Таким образом, уже с первой попытки Кэрролл заметно испортил жизнь обидчикам. Но куда больше он помог самому себе, потому что песня United breaks guitars совершенно неожиданно возглавила топ кантри и вестерна в британском Junes, да и вообще из почти неизвестного широкой публике музыканта Дэйв неожиданно превратился в того самого парня, который уделал United.

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


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

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

Брукс был прав, или главная сложность программирования

Время на прочтение3 мин
Количество просмотров5.2K
Речь в данной заметке пойдет не об известном законе Брукса, связывающем количество людей, задействованных в проекте, и скорость разработки, а о менее известной статье, написанной им еще в 1987 году.

Брукс о сложности программирования


Статья называлась «No Silver Bullets – Essence and Accidents of Software Engineering». В ней утверждалось (и с этим сложно не согласиться), что сущностью программирования является, прежде всего, не написание инструкций машине на конкретном языке программирования, а выработка подробной структуры взаимодействующих сущностей, представляющих сущности проблемной области, а также проверка внутренней непротиворечивости этой структуры. Поэтому даже если, например, изобрести компьютерный язык, оперирующий понятиями на уровне проблемной области, или какое-либо другое средство, призванное существенно облегчить разработку ПО, программирование все равно останется сложной задачей, поскольку придется точно определять взаимосвязи между объектами реального мира, устанавливать исключения, предусматривать все возможные переходы между состояниями и т.д. Следовательно, ни одно средство разработки ПО не сможет существенно (на один-два порядка) снизить сложность разработки. Именно в описании структуры взаимодействующих сущностей проблемной области Брукс и видит главную сложность программирования.

Читать дальше →
Всего голосов 66: ↑57 и ↓9+48
Комментарии56

Облачные вычисления на пальцах

Время на прочтение4 мин
Количество просмотров4.5K
Облачные вычисления – вычисления проводимые в готовой инфраструктуре к которой есть доступ через сеть. Инфраструктура может состоять из тысяч, сотен тысяч вычислительных узлов, дисковых массивов. Все это соединено в единую сеть и функционирует как одна большая вычислительная машина. Все настроено и доступно из «коробки».

А теперь на пальцах
Всего голосов 111: ↑102 и ↓9+93
Комментарии50

Psyho.ua vs. General Electric: happy end

Время на прочтение3 мин
Количество просмотров774
В феврале 2009 компания Goodby, Silverstein & Partners (GSP) сделала для General Electric замечательный сайт о энергосбережении:

image

Сайт получился отличный и, естественно, он не остался незамеченным: получил награду Site Of The Month за февраль от The FWA и быстро разошелся ссылками по различным дизайнерским сайтам и блогам. Именно на одном из сайтов я и заметил ссылку на этот сайт. Зашел, посмотрел и мне бросилась в глаза деталь, которая напоминала одну нашу работу. Серию иллюстраций «Частичка мира» мы сделали чуть менее чем за год до этого, и они тоже обошли мир несколько раз, перепечатываясь с одного сайта на другой.

У меня не было сомнения, что дизайнер, делавший сайт для GE видел нашу работу, поскольку сходство было очевидным. Исключено было и использование одинаковых клип-артов, поскольку я точно знал, что наша работа была сделана «с нуля».
Читать дальше →
Всего голосов 212: ↑169 и ↓43+126
Комментарии85

51 Веб Приложение для Дизайнеров и Разработчиков

Время на прочтение11 мин
Количество просмотров13K
Веб дизайн и разработка претерпели значительные изменения в течении последних лет, точно так же изменились используемые технологии и инструменты. Эти изменения придали жизнь таким инструментам, которые сделали нашу жизнь проще, и дали возможность предоставлять нашим клиентам более качественные услуги. Коммуникации и совместная работа на огромных расстояниях уже не проблема и управление проектом стало весьма простой задачей.

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

Данная статья представляет 51 веб приложений для дизайнеров и разработчиков.
Идем дальше...
Всего голосов 101: ↑86 и ↓15+71
Комментарии26

Профессиональная конференция и три инвайта

Время на прочтение2 мин
Количество просмотров522
Если Вы хотите повысить быстроту, эффективность и качество своей работы, то мы приглашаем Вас на Whale Rider — профессиональную конференцию по управлению интернет-проектами. На ней Вы сможете лично узнать секреты побед профессионалов, проанализировать самые успешные проекты, изучить необходимые каждому специалисту технические средства и психологически инструменты работы над проектом.
Вы повысите собственные результаты, установите новые полезные связи и контакты

Конференция будет проходить 16 ноября в Москве.

Приглашаем всех желающих принять участие в конкурсе от Whale Rider.
Так как Whale Rider ориентирован на практиков, то наши эксперты подготовили для Вас специализированные вопросы, которые потребуют опыта, знаний и творческого подхода.
Авторам самых лучших ответов будут вручены инвайты на конференцию – по одному инвайту за каждый вопрос.
Читать дальше →
Всего голосов 26: ↑16 и ↓10+6
Комментарии27

Расширение возможностей Zend_Form с использованием ExtJS

Время на прочтение5 мин
Количество просмотров1.3K
    Zend Framework содержит удобное средство рендеринга форм – Zend_Form. Наиболее важными плюсами являются:
  • средства валидации данных (большое количество валидаторов);
  • средства фильтрации данных (например перевод дат в формат БД);
  • рендеринг формы с использованием декораторов;
  • экранирование выводимых данных.
    Исходя из этого создать форму, обрабатываемую только серверной стороной не вызывает проблем. Однако сейчас этим уже никого не удивить. Отмечу, что Zend активно сотрудничает с Dojo для создания динамически обрабатываемых форм, но виджеты, разрабатываемые данной компанией, оставляют желать лучшего по сравнению с ExtJS. С этой точки зрения лучшим вариантом является корректировка рендеринга форм классом Zend_Form.

    Наиболее интересным выглядит симбиоз ExtJS и Zend. Встроенная валидация полей виджета Ext.form.BasicForm может быть согласована с валидаторами серверной стороны. Здесь возможны существенные проблемы в виду использования различной философии при проверке полей. Например, в ExtJS использутся типы полей и дополнительные валидаторы, а в Zend_Form присутствуют только валидаторы. Но эта проблема разрешима, т.к. в клиентской части мы можем создавать свои типы данных, соответствующие функциям проверки, которые реализованы в Zend.
Читать дальше →
Всего голосов 16: ↑13 и ↓3+10
Комментарии27

Создание сложных приложений в ExtJS.

Время на прочтение8 мин
Количество просмотров4.8K
Автор: Jozef Sakalos, aka Saki
Статья в оригинале: Создание сложного приложение в Ext на blog.extjs.eu

Предисловие


Я решил написать эту статью для тех пользователей Ext 2.x, которые уже переросли одну единственную HTML-страницу со встроенными скриптом, создающим простое окно или форму, для тех, которые уже решили, что Ext — это их путь и для тех, которые превозмогая трудности связанные с большими объемами кода, понимают, что нуждаются в его структурировании.
Сколько людей, столько и мнений. И поэтому способ, который я опишу ниже, не является одним единственным возможным. Также хотелось бы отметить, что не каждое приложение, написанное с применением этого подхода, является гарантированно хорошим. Ничего подобного.
Замечу, что описываемый подход является работоспособным, четко структурированным, без труда поддерживаемым и, одним словом: рабочим!
Читать дальше →
Всего голосов 44: ↑44 и ↓0+44
Комментарии17

PHP-AMQP Что нового у Друзей?

Время на прочтение4 мин
Количество просмотров6.9K
При построении социальной сети по типу шардинга встает проблема обмена данными между шардами. Традиционная репликация в данном случае не подходит по разным причинам. Тема шардинга — это отельная большая тема и не является предметом данной статьи.
В данной архитектуре для реализации «ленты Друзей» или «Новостной ленты» лучше использовать сервер очередей используя систему: Подписка-Уведомление. В качестве брокера обмена предлагается использовать сервер очередей RabbitMQ, реализующий протокол AMQP, который был выбран по причине хорошей масштабируемости. Серверная часть реализована на PHP, используя расширение php-rabbit (описание АПИ).
Читать дальше →
Всего голосов 29: ↑22 и ↓7+15
Комментарии62

5 причин полюбить Mylyn

Время на прочтение7 мин
Количество просмотров12K
Данный пост на самом деле является инициатором еще одного, который уже выходил ранее. Меня на самом удивило, что о такой интересной вещи, как Mylyn, так мало написано на хабре и мне бы хотелось немного это исправить. Под катом перевод достаточно интересной, на мой взгляд, статьи. Надеюсь на интересное обсуждение.
Читать дальше →
Всего голосов 50: ↑43 и ↓7+36
Комментарии51

Первоклассным специалистом может стать каждый!

Время на прочтение3 мин
Количество просмотров9.4K
Вы думаете лучшими специалистами в своем деле становятся талантливые и гениальные люди? Нет, быть лучшим — это возможность каждого нормального человека! И у тебя, Хаброжитель, эта возможность тоже есть!
Читать дальше →
Всего голосов 153: ↑128 и ↓25+103
Комментарии180
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность