Pull to refresh
0
0
Dmitry Polovka @message

User

Send message

Сколько памяти потребляют объекты в PHP и стоит ли использовать 64-битную версию?

Reading time7 min
Views66K


На этот пост меня вдохновило исследование потребления памяти для моего текущего большого проекта на ZendFramework. Как обычно, по результатам исследования, я был шокирован нашей программистской самонадеянностью, которая нередко присутствует, когда мы пишем что-либо большое на PHP. Да и, наверное, не только на PHP.

Но обо всём по порядку.

Данная статья является логическим продолжением следующих статей:

Подробности

Как работают экспертные системы оптимизации цепочек поставок на практике

Reading time5 min
Views28K

Предположим, это ваша цепочка поставок. Сейчас экспертная система будет её оптимизировать.

Вводная: представьте, что вы некая компания, которая производит планшеты и телефоны — майфуны и майпады. Сами вы сидите в Калифорнии, у вас есть несколько своих заводов на Востоке, плюс вы регулярно заказываете кучу всяких комплектующих у тех поставщиков, от которых это выгоднее везти. И ещё у вас есть своя розничная сеть магазинов, где продаются планшеты и телефоны.

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

Есть три проблемы:
  • Логистика у нас настолько сложная и разветвлённая, что сейчас над ней работают десятки людей: кто-то занимается распределением майфунов, кто-то раскидывает по магазинам обложки, а производственники просчитывают оптимальные пути сбора комплектующих на заводах со всего мира.
  • При этом хочется сэкономить на логистической схеме: вы подозреваете, что умный анализ всех потоков позволит принять решения, например, о месте открытия нового производства или организации дополнительного склада, что в итоге даст вам выгоду.
  • И при этом ваши люди постоянно ошибаются с отправлениями – а хочется сделать так, чтобы ничего и нигде не забывалось, всё работало как часы и товары приходили на точки вовремя. Это тоже экономия, но уже за счёт своевременности поставок и отсутствия ошибок.
Читать дальше →

[Перевод] Современный веб-разработчик, или 6 вещей, которые вы должны знать, чтобы выжить

Reading time4 min
Views97K
Это статья об изменениях, которые произошли в мире веб-разработки. Я наблюдаю огромное количество веб-разработчиков, которые буквально застряли в устаревших технологиях, особенно в мире .NET. Если вы еще не начали совершенствовать свои навыки, и адаптироваться к изменяющимся трендам, вы должны начинать уже сегодня.
Читать дальше →

Как понять, хорош ли ваш проект для инвестора: чеклист стандартных грабель стартапа

Reading time9 min
Views74K

Бизнес-ангел часто смотрит на стартаперов с недоумением

Предположим, вы придумали какое-то железо, и теперь хотите начать его производство. У вас уже есть прототип: вот он, в руке, коряво выглядит, в 4 раза больше нормального размера и из него торчит провод. Но он работает. У вас горят глаза: ведь осталось только «допилить» его и начать производить по всему миру. Из маркетингового плана у вас есть только «запостить про железку на Хабр – и всё закрутится».

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

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

Видео: Мама впервые тестирует Windows 8, Ubuntu 12.10, Windows 1.0, Windows 3.1, Linux Mint Cinnamon 14, OSX 10.2, Elementary OS Luna, Kubuntu, Zorin OS 6.1, MS-DOS 6.22 и Microsoft Bob!

Reading time2 min
Views106K
image

В форумах не утихают споры о том, удобна ли Windows 8 или нет, является ли шагом вперед, или шагом назад. В качестве аргументов защитники windows любят говорить, что «пользователи полагаются на обзоры экспертов-ретроградов», «не пробовали windows 8», «что она почти ничем не отличается от Windows 7» и т.п.

Наверняка сторонники Win8 опять заминусуют карму, но не могу не поделиться. Сегодня случайно наткнулся на видео (местами очень смешное): австралиец попросил свою маму, которая обычно работает в Windows XP, протестировать Ubuntu 12.10 и снял процесс на видео. Оказалось, что они (вернее, его мама) протестировали целый ряд ОС, и даже Microsoft Bob!
  • Windows 8
  • Ubuntu 12.10
  • Windows 1.0 (1985)
  • Windows 3.1 (1992)
  • Linux Mint Cinnamon Edition 14 (2012)
  • MAC OSX 10.2 Jaguar (2002)
  • Elementary OS Luna Beta 1 (2012) — новое
  • Kubuntu 12.10 (2012) — новое
  • Zorin OS 6.1 (2012) — новое
  • Joli OS 1.2 (2011) — новое
  • MS-DOS 6.22 (1994) — новое
  • Microsoft BOB (1995)!

Очень любопытный проект (каждое видео примерно 15 минут):
Читать дальше →

MapReduce 2.0. Какой он современный цифровой слон?

Reading time10 min
Views29K


Если ты ИТшник, то нельзя просто так взять и выйти на работу 2-го января: пересмотреть 3-ий сезон битвы экстрасенсов или запись программы «Гордон» на НТВ (дело умственных способностей вкуса).
Нельзя потому, что у других сотрудников обязательно будут для тебя подарки: у секретарши закончился кофе, у МП — закончились дедлайны, а у администратора баз данных — амнезия память.
Оказалось, что инженеры из команды Hadoop тоже любят побаловать друг друга новогодними сюрпризами.

2008


2 января. Упуская подробное описание эмоционально-психологического состояния лиц, участвующих в описанных ниже событиях, сразу перейду к факту: поставлен таск MAPREDUCE-279 «Map-Reduce 2.0». Оставив шутки про число, обращу внимание, что до 1-ой стабильной версии Hadoop остается чуть менее 4 лет.

За это время проект Hadoop пройдет эволюцию из маленького инновационного снежка, запущенного в 2005, в большой снежный com ком, надвигающийся на ИТ, в 2012.
Ниже мы предпримем попытку разобраться, какое же значение январский таск MAPREDUCE-279 играл (и, уверен, еще сыграет в 2013) в эволюции платформы Hadoop.
...

Подделываем вашу подпись при помощи шарнирного механизма. Теорема Кемпе

Reading time5 min
Views223K
В этом посте я расскажу про программу, которая подделывает любую подпись при помощи шарнирного механизма. Программа основана на теореме Кемпе, доказанной в середине 19-го века.

Читать дальше →

Как высечь огонь из воды

Reading time2 min
Views232K


Этот эффект известен давно, и используется в некоторых каминах и концертных световых приборах, однако информации о том, как это сделать довольно мало, что я хочу исправить этим постом.
Читать дальше →

Книги, которые должен прочитать Java программист: от новичка до профессионала

Reading time4 min
Views650K

Книги, которые должен прочитать Java программист: от новичка до профессионала


[Примечание переводчика: термины градации «профессионализма» оставлены англоязычные в связи с трудностью их адекватного перевода на русский и несовпадением с привычными Junior-Middle-Senior-Lead. Перевод достаточно вольный — если знаний языка хватает, то лучше читать оригинал, как и советует автор. Оба языка для меня не родные, так что про ошибки сообщайте в личку — исправим. Здесь и далее в квадратных скобках примечания переводчика]

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

Новое для веб-дизайнера за ноябрь 2012

Reading time1 min
Views57K
Продолжаю подборку новых полезных штук для веб-дизайнера за прошедший месяц. Прошлые выпуски: октябрь, сентябрь.

Сервисы и инструменты


Photo Raster — новый мощный графический редактор онлайн.

Читать дальше →

Нативный MVC для Silex PHP Framework

Reading time4 min
Views27K
После прочтения статьи, рассказывающей как модифицировать микро-фреймворк Silex под архитектуру MVC, у меня возникло двойственное впечатление. Способ имеет право на жизнь, однако:

  1. в проекте не всегда нужна ORM, хочется иметь и простую реализацию Модели;
  2. в Silex уже есть (хотя и не совсем явные) нативные контроллеры;
  3. писать свои автозагрузчики, когда есть возможность добавить нужное в Composer — не есть хорошо.

Давайте посмотрим, что можно сделать.
Читать дальше →

«Offline first» подход к созданию веб-приложений

Reading time5 min
Views21K
В этом году на конференции Full Frontal, оффлайн-приложения были популярной темой. Пол Кинлан сделал отличный доклад «Строим веб-приложения будущего. Завтра, сегодня и вчера» (вот его слайды), в котором он сравнивал ощущения пользователей от работы с 50 популярными мобильными приложениями для iOS и Android с ощущениями от веб-сайтов и приложений.

Стоит ли говорить, что нативные приложения зарекомендовали себя с гораздо лучшей стороны, когда соединение с интернетом было недоступно. Оффлайн-режим — очень важная вещь, и стоит думать о нем с самого начала работы над приложением, а не рассчитывать добавить его потом, когда будет время. Работая над сайтом Rareloop, мы с первого дня помнили об оффлайн-режиме. Мобильные клиенты FormAgent тоже были изначально спроектированы для работы в оффлайне, чтобы пользователь мог продолжать работу в отсутствие интернета и прозрачно синхронизироваться, когда связь появляется. В этой статье я описываю принципы и практики, которые, на мой взгляд, очень помогают разрабатывать такие приложения.

Обратите внимание! Я не рассматриваю вопросы кэширования ресурсов приложения — вы можете использовать App Cache или гибридное решение (вроде PhoneGap), это не принципиально [От переводчика: на Хабре есть подробная статья про особенности работы с Application Cache API]. Это руководство посвящено скорее тому, как спроектировать архитектуру веб-приложения для работы в оффлайн-режиме, а не тому, какие механизмы использовать для его реализации.
Читать дальше →

Web Standards Days в Яндексе

Reading time2 min
Views9.4K
Редко в московском офисе Яндекса в 10 утра бывает столько разработчиков, сколько их было утром субботы 24 ноября. И это был не очередной Я.Субботник, как вы могли подумать, а встреча Web Standards Days. В этот раз её совместными усилиями организовали Яндекс и объединение разработчиков «Веб-стандарты» при поддержке W3C.

Мы поговорили с организаторами WSD и некоторыми докладчиками, в том числе представляющими W3C. Они рассказали о том, как появилось мероприятие, какие задачи оно призвано решать и над чем они сами сейчас работают.



Сегодня мы делимся с вами слайдами презентаций, но скоро здесь будут доступны видео самих докладов.
Читать дальше →

Плагин оповещения по SMS о критичных задачах для Redmine

Reading time2 min
Views15K
В нашей компании возникла необходимость оповещения по SMS о задачах, поставленных в трекере Redmine, с приоритетом «Авария!». Очень удобно получать такие оповещения, когда требуется мгновенная реакция.

Совместно с командой разработчиков из secoint.ru мы разработали плагин redmine_status_notifier, о котором я и расскажу под катом.

Читать дальше →

Сайт для программиста. Часть 2. Публикация

Reading time4 min
Views39K

В первой части я рассказал, как программисту относительно просто запустить с нуля свой личный сайт с использованием Github, Heroku и Twitter Bootstrap.

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

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

Читать дальше →

Борьба с DDoS глазами Highload Lab

Reading time15 min
Views73K
O трендах и тенденциях в DDoS-атаках рассказывает создатель Highload Lab и сети фильтрации трафика QRATOR Александр Лямин. Интервью мы брали еще в начале года, но изменилось пока немногое



DDoS-атаки появились на заре интернета. Знакомство с ними для меня лично началось во время проекта IT Territory в 2003 году, когда игра только стартовала. Она имела достаточно агрессивную рекламную кампанию, в ответ на которую тут же прилетел DDoS от конкурентов. Скажу честно, я растерялся. Больше всего из-за того, что компания, которая оказывала хостинг-услуги, не просто не смогла, а не пожелала бороться с атакой. Ее представители сказали, что это не их проблема.
Читать дальше →

Строим Nested Set дерево без рекурсии

Reading time3 min
Views82K
Деревья в базах данных можно хранить тремя основными методами: Adjacency List, Matherialized Path & Nested Set. Когда мы хотим переехать с AL на NS, это можно сделать с помощью рекурсии (если БД расово верная). Но что делать в случае MySQL?
Переехать с AL на NS

Настройка Nginx + LAMP сервера в домашних условиях Часть 2: Настройка backend: PHP + MySQL

Reading time8 min
Views38K
Здравствуйте.

В предыдущей статье, мы познакомились с настройкой связки nginx + apache в режиме хостинга и репозиториями dotdeb.
В этой статье мы познакомимся с настройкой backend: PHP, MySQL.

В части PHP мы познакомимся со следующими темами:
— общая настройка PHP
— правильная настройка PHP + Postfix для отправки писем через внутренний SMTP сервер посредством функции mail(),
— настройка кеширования кода и/или данных на основе APC.

В части MySQL я попробую раскрыть базовые моменты повышения производительности, ибо по умолчанию сервер MySQL настроен очень не эффективно.

Кто заинтересовался, добро пожаловать под кат
Читать дальше →

Курс лекций «Стартап». Питер Тиль. Стенфорд 2012. Занятие 7

Reading time22 min
Views111K

Этой весной, Питер Тиль (Peter Thiel), один из основателей PayPal и первый инвестор FaceBook, провел курс в Стенфорде — «Стартап». Перед началом Тиль заявил: «Если я сделаю свою работу правильно, это будет последний предмет, который вам придется изучать».

Один из студентов лекции записывал и выложил транскипт. В данном хабратопике SemenOk2 переводит седьмое занятие. Форматирование 9e9names. Редактор Astropilot

Занятие 1: Вызов будущего
Занятие 2: Снова как в 1999?
Занятие 3: Системы ценностей
Занятие 4: Преимущество последнего шага
Занятие 5: Механика мафии
Занятие 6: Закон Тиля
Занятие 7: Следуйте за деньгами
Занятие 8: Презентация идеи (питч)
Занятие 9: Все готово, а придут ли они?
Занятие 10: После Web 2.0
Занятие 11: Секреты
Занятие 12: Война и мир
Занятие 13: Вы — не лотерейный билет
Занятие 14: Экология как мировоззрение
Занятие 15: Назад в будущее
Занятие 16: Разбираясь в себе
Занятие 17: Глубокие мысли
Занятие 18: Основатель — жертва или бог
Занятие 19: Стагнация или сингулярность?
Читать дальше →

Information

Rating
Does not participate
Location
Рига, Латвия, Латвия
Date of birth
Registered
Activity