Как стать автором
Обновить
4
0
web4_0 @web4_0

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

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №152 (16 — 22 марта 2015)

Время на прочтение 7 мин
Количество просмотров 39K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


Читать дальше →
Всего голосов 28: ↑24 и ↓4 +20
Комментарии 3

Решение задачи сброса тяжелой логики на одну из множества открытых вкладок

Время на прочтение 2 мин
Количество просмотров 14K
Не так давно я начал разрабатывать библиотеку DuelJS, которая предоставила удобный интерфейс для определения состояния вкладки Master (активная) или Slave (неактивная). Однако позже мне начали поступать предложения для оптимизации соединений по веб-сокетам. Подход DuelJS: если вкладка активна -> держать соединение, если неактивна -> класть — является не продуктивным. На помощь приходит расширение TabNinja.



Читать дальше →
Всего голосов 27: ↑22 и ↓5 +17
Комментарии 20

Yii 2.0.2

Время на прочтение 3 мин
Количество просмотров 18K
Команда PHP фреймворка рада сообщить о выходе версии 2.0.2. Инструкции по установке и обновлению можно найти по адресу http://www.yiiframework.com/download/.

Версия 2.0.2 является патч-релизом Yii 2.0 и содержит около 40 небольших улучшений и исправлений. Полный список изменений можно найти на GitHub. Спасибо всем, кто нам помогал подготовить этот релиз.

Если хотите следить за процессом разработки Yii 2 можно поставить звёздочку или использовать кнопку watch на странице проекта на GitHub. Также у нас есть Twitter и Facebook.

Рассмотрим наиболее значительные дополнения данного релиза.

Читать дальше →
Всего голосов 23: ↑22 и ↓1 +21
Комментарии 3

модификация PHP: своё расширение

Время на прочтение 1 мин
Количество просмотров 627
Это вводная статья, что начнёт цикл посвящённый модификации php. Основные цели этого занятия: а) доделать мне свой проект; б) будет подталкивать меня хоть что-то делать, и в) может и вам пригодится.

И так, что необходимо мне в модуле и зачем он нужен
а) множественное наследование или реализация что-то типа mixins. Да, я знаю, что есть такое уже написанное похожее, но я это хочу разобрать и показать что, как и зачем происходит.
а-2) разъяснить для чего какие структуры используются.
б) добавить разные удобные функции, которыми часто пользуюсь, но которые на чистом php не достаточно быстро работают.
в) попытаться модифицировать синтаксис php (а в друг получится)
г) попытаться написать что-нибудь на c++ для php.
д) Д
е) может что-то реализовать то, что кто-то хотел, но не знал как

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

упд2. я хочу описать внутренние алгоритмы так, чтобы было понятно. а что получится, то получится

упд3. так как карму сбили, то написать теперь ничего не выйдет.

пока что можно накидать вопросов или предложений.

ниже будет оглавление статей.
Всего голосов 39: ↑19 и ↓20 -1
Комментарии 21

Видео всех лекций с «Курсов информационных технологий» от «Яндекса»

Время на прочтение 1 мин
Количество просмотров 30K
Для тех, кто не смог посетить Курсы информационных технологий, видеоролики всех лекций выложены в свободный доступ. Это лекции по полтора-два часа на базовые темы: операционные системы; архитектура ЭВМ; устройство GNU/Linux; системы хранения данных; файловые системы; сети и протоколы; виртуализация; безопасность.
Читать дальше →
Всего голосов 116: ↑101 и ↓15 +86
Комментарии 39

Сайт с визуализацией работы большого количества протоколов

Время на прочтение 1 мин
Количество просмотров 1.7K

Ссылка

http://www.visualland.net/

Картинка




Примеры визуализаций

Все.
Всего голосов 132: ↑125 и ↓7 +118
Комментарии 15

Исследование факторов ранжирования в Яндексе

Время на прочтение 1 мин
Количество просмотров 3.6K
Несколько десятков специалистов по поисковой оптимизации поучаствовали (своими ответами) в исследовании факторов ранжирования в Яндексе. Результаты вы можете лицезреть ниже на скриншотах или же на сайте топэксперт.рф вместе с комментариями и пояснениями. Думаю, что шпаргалка пригодится не только оптимизаторам, но и всем вебмастерам.

Начнем с внешних факторов. Критерии выбора внешних ссылок:



Читать дальше →
Всего голосов 167: ↑137 и ↓30 +107
Комментарии 67

Ускорение загрузки Windows for fun and profit

Время на прочтение 4 мин
Количество просмотров 802K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Всего голосов 532: ↑516 и ↓16 +500
Комментарии 365

Автодокументация мобильных веб-сервисов на примере Yii

Время на прочтение 3 мин
Количество просмотров 9.9K
Думаю, что многие, особенно небольшие, компании, при работе с одним и тем же фреймоворком постоянно пишут какие-то вещи/расширения и т.п., которые решают именно те задачи, с которыми они сталкиваются наиболее часто.

В нашем случае этим фреймворком является Yii, а одной из самых популярных проблем была одновременная разработка web-сервиса для приложений iOS/Android.

Сначала, как и всегда, просто разработчики договаривались между собой что и как, но если разработчик вдруг менялся — начинались проблемы. Далее — описание входных/выходных данных в wiki. При большом количестве мелких изменений возникала проблема синхронизации кода и форматов, описанных в wiki.

Как мы решили проблему — ниже.
Читать дальше →
Всего голосов 26: ↑18 и ↓8 +10
Комментарии 3

Всплывающие метки в формах на чистом CSS

Время на прочтение 3 мин
Количество просмотров 41K
Возможно, вам уже попадался на глаза этот приём. Это поле ввода, которое выглядит так, как будто в нем есть текстовая подсказка (placeholder), но при начале набора текста она не исчезает, а отодвигается в сторону. Мне нравится эта идея. Брэд Фрост написал очень хорошую статью об этом приёме, подробно рассмотрев все «за» и «против».

Большинство примеров использования этой техники полагаются на JavaScript. В один прекрасный день я зашёл на nest.com, увидел там этот приём и задумался: а нельзя ли реализовать то же самое без JavaScript? И вот что из этого вышло.

Вот так выглядит форма на nest.com:

image
Читать дальше →
Всего голосов 107: ↑98 и ↓9 +89
Комментарии 12

PHP и различные виды NoSQL

Время на прочтение 11 мин
Количество просмотров 69K


В последнее время набирают популярность различные NoSQL базы данных. Эта статья начиналась как изучение особенностей графитовой графовой базы данных Neo4j. Но, в процессе подбора информации, мне захотелось систематизировать информацию о NoSQL решениях и о графовых базах данных, в частности.
В ходе этого небольшого исследования, были выбраны для подробного рассмотрения СУБД, успешно применяющиеся в области Web. И, поскольку в тегах присутствует «PHP», я выбирал СУБД, которые уже можно использовать с этим языком.

Читать дальше →
Всего голосов 120: ↑108 и ↓12 +96
Комментарии 34

Неподтвержденная транзакция, или Возвращаем криптовалюту из небытия

Время на прочтение 6 мин
Количество просмотров 219K
Волею судеб довелось мне иметь дело с криптовалютами. Не то что бы плотно работаю с ними, но иногда то отправлю монетки, то получу. Скажем так, понемногу прощупываю новую сферу изнутри.

И вот однажды беда приключилась. Отослал я криптомонетки, а до получателя они не дошли. Собственно, пост о том, как средства возвращались. Ну и размышления и советы по сложившейся ситуации на десерт. Сразу отмечу, что нижесказанное применимо не к какой-то конкретной валюте, а к большинству форков (если не ко всем).
Читать дальше →
Всего голосов 56: ↑49 и ↓7 +42
Комментарии 32

Преодолеваем скрытые опасности KVO в Objective C

Время на прочтение 21 мин
Количество просмотров 26K
The major difference between a thing that might go wrong and a thing that cannot possibly go wrong is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible to get at or repair.
— Douglas Adams


Objective C существует уже с 1983 года и является ровесником C++. Однако, в отличие от последнего он начал приобретать популярность только в 2008 году, после выхода iOS 2.0 — новой версии операционной системы для революционного iPhone, включавшей приложение AppStore, позволяющее пользователям приобретать приложения, создаваемые сторонними разработчиками.
Дальнейший успех Objective C обеспечивался не только популярность устройств на базе iOS и относительной легкостью продаж через AppStore, но и значительными усилиями компании Apple по совершенствованию как стандартных библиотек, так и самого языка.
Согласно рейтингу TIOBE к началу 2013 года Objective C обогнал по популярности C++ и занял третье место, уступая только C и Java.

На сегодняшний день Objective C включает и такие относительно старые функции как KVC и KVO, существовавшие еще за 4 года до выхода первого iPhone, и такие новые возможности как блоки (blocks, появившиеся в Mac OS 10.6 и iOS 4) и автоматический подсчет ссылок (ARC, доступный в Mac OS 10.7 и iOS 5), которые позволяют с легкостью решать задачи, вызывавшие серьезные трудности ранее.

KVO — это технология, позволяющая незамедлительно реагировать в одном объекте (наблюдателе) на изменения состояния другого объекта (наблюдаемого), без внесения знаний о типе наблюдателя в реализации наблюдаемого объекта. В Objective C, наряду с KVO, существует несколько способов решения этой задачи:

Читать дальше →
Всего голосов 15: ↑13 и ↓2 +11
Комментарии 6

Ломаем iOS-приложение. Часть 1

Время на прочтение 13 мин
Количество просмотров 72K
Вы хорошо поработали, и вот ваше приложение в App Store!

  • Храните учётные записи юзеров?
  • Используете встроенные покупки?
  • Не хотите показывать своё ноу-хау?

Повод задуматься о безопасности кода и данных! Мы будем искать уязвимости в тестовом приложении. В этой статье поговорим о безопасности данных, а в следующей — перейдём к коду.
Много текста и картинок
Всего голосов 63: ↑51 и ↓12 +39
Комментарии 22

Советы начинающим iOS разработчикам

Время на прочтение 3 мин
Количество просмотров 29K
Если не знаешь, надо не бояться, а узнавать.
Айн Рэнд “Атлант расправил плечи”



Добрый день, меня зовут Игорь Томич и я лектор курсов iOS-разработки и сооснователь онлайн курсов Master Up. Это мой первый пост в наш корпоративный блог, в котором я решил поделиться советами для начинающих iOS-разработчиков. Свое первое приложение для iOS я начал писать в начале 2009 года, а в мае 2012 году провел первый курс обучения по рарзработке под эту же платформу и к этому времени у меня скопилось достаточно “часто повторяемых ошибок” и путей их решения.
Читать дальше →
Всего голосов 63: ↑41 и ↓22 +19
Комментарии 33

Расширение для PHP или все будет в Zephir'e

Время на прочтение 2 мин
Количество просмотров 25K
imageНаверное у каждого PHP разработчика (и не только PHP) есть мечта — написать своё расширение для PHP, которое по определению работает быстрее интерпретируемого кода, при этом не вникая в тонкости Zend Engine, а еще лучше — не зная C++. И вот близится тот день, когда мечта станет явью. Хочу вам рассказать об очень интересном языке программирования, который называется Zephir. Кому лень читать, проходите на сайт и следуйте инструкциям, а я расскажу о том, как написать свое расширение и о подводных камнях, которые встречаются на сием пути.
Читать дальше →
Всего голосов 50: ↑41 и ↓9 +32
Комментарии 37

AspectMock — тестируем любой PHP код

Время на прочтение 3 мин
Количество просмотров 14K
Как часто вы пишете велосипеды? Можно я тоже тут рядом пристроюсь? Но дело в том, что мой велосипед, он особенный. Казалось бы, простенький, трехколесненький, склепанный всего за один день. Но есть одна хитрость — он работает на движке от болида. Что он умеет?

А смотрите:

<?php
$class = MySingleton::getInstance();
var_dump($class instanceof MySingleton); // => (bool)true
var_dump($class instanceof DOMDocument); // => (bool)false

// а теперь немного магии
test::double('MySingleton', ['getInstance' => new DOMDocument]);

var_dump($class instanceof MySingleton); // => (bool)false
var_dump($class instanceof DOMDocument); // => (bool)true
?>


О нет, мы изменили синглтон! Мы переопределили статический метод. Как же теперь жить?
Но вопрос теперь в другом: как мы жили до этого?

Встречайте AspectMock. Самый простой, но самый мощный фреймворк для моков и стабов на PHP.
Ваш новый суперпростой помощник в тестировании. Основан на Go AOP от NightTiger.
Читать дальше →
Всего голосов 28: ↑23 и ↓5 +18
Комментарии 17

Улучшаем тестирование путем использования реального трафика

Время на прочтение 3 мин
Количество просмотров 10K
TL;DR Чем ближе к реальности ваши тестовые данные, тем лучше. Попробуйте Gor — автоматическое перенаправление production трафика на тестовую площадку в реальном времени.

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

Вы даже не представляете насколько странными могут быть данные пришедшие от пользователей. Источником могут быть прокси-серверы, браузеры о которых вы никогда не слышали, ошибки на клиентской стороне, и так далее.
Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Комментарии 12

Информация

В рейтинге
Не участвует
Откуда
Уссурийск, Приморский край, Россия
Зарегистрирован
Активность