Search
Write a publication
Pull to refresh
0
0
Send message

Лучшее из мира PHP за 2014 год + конкурс от компании JetBrains! PHP‑Дайджест № 53

Reading time7 min
Views26K


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

Под катом вас также ждет конкурс с призами от компании JetBrains!
Читать дальше →

Yeoman для новичков

Reading time3 min
Views86K


Есть такие программы и утилиты, воспользовавшись которыми, пользователь возопит: «Не знаю, как я мог жить без этого инструмента раньше!». На мой взгляд, консольная утилита Yeoman, написанная на Node.JS, относится как раз к разряду таких незаменимых инструментов. Почему?
Давайте посмотрим

Несколько интересностей и полезностей для веб-разработчика #35

Reading time7 min
Views51K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Front-end Job Interview Questions


Репозиторий с самыми актуальными вопросами на собеседовании на позицию фронтенд разработчика. Проект от команды знаменитого HTML5 Boilerplate и набрал уже более 7500 звезд на GitHub.

ShareDrop



В «Америках» почему-то часто критикуют веб-стандарты и работу консорциума W3C в целом. Но не знаю как вас, а меня современные возможности очень даже радуют, особенно когда я вижу их реализацию. Встречайте P2P сервис для передачи файлов, основанный на технологии WebRTC и Firebase. Это веб аналог яблочного AirDrop. Лично я открыл оффлайновый учебник «Постройка.ру» по HTML лет 7-8 назад и по сравнению с тем, что мы видим сейчас — это небо и земля. Даже невзирая на объем и некоторую путаницу в спецификациях.

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

Sortable v1.0: Новые возможности

Reading time6 min
Views28K
Привет хабр! В преддверии нового года хочу поделится своей радостью — выходом Sortable v1.0. Ровно год назад я представил на ваш суд мой маленький инструмент для сортировки списка при помощи drag’n’drop. Всё это время я скрупулезно собирал обратную связь, добавлял новые возможности и правил мелкие баги. Под катом я расскажу о новых возможностях, интеграции с AngularJS, Meteor и других нюансах.
Читать дальше →

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

Reading time8 min
Views102K
Москва-Пхукет - почувствуй разницу

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

В статье я поделюсь опытом открытия довольно необычного заведения хостела-коворкинга-антикафе на Пхукете в Таиланде в формате небольшого рассказа, а в комментариях готов ответить на любые вопросы по теме, Таиланду и Пхукету в частности.
Читать дальше →

Обзор возможностей App Annie для Windows и Windows Phone разработчиков

Reading time3 min
Views8K


Для разработчиков Windows и Windows Phone снова хорошие новости. Одна из крупнейших и бесплатных платформ для сбора данных App Annie анонсировала поддержку аналитики магазинов приложений семейства Windows.

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

Проведем обзор основных инструментов для мониторинга и анализа магазинов приложений Windows и Windows Phone, предоставляемых этой платформой.
Читать дальше →

Курс от Яндекса о том, что должен знать каждый разработчик, который хочет делать большие системы. Модное слово DevOps и другое

Reading time5 min
Views107K
Всю рутину, которую можно отдать роботам, нужно отдать роботам. Большие системы без этого невозможны. В разработке и тестировании очень много похожих задач, которые не требуют высокой квалификации, но отнимают много времени. Человек, который умеет обеспечить разработку, тестирование и деплой – это редкий специалист и его на количество страничек никак не масштабируешь.

В Яндексе тестировщику невозможно без автоматизации. Мы даже развиваем экспериментального робота, который способен брать на себя функциональное тестирование. В какой-то момент мы поняли, что не так много людей осознают, сколько сейчас есть возможностей работать не 12 часов, а головой. Собрав весь свой опыт в тестировании и деплое, мы открыли в питерском офисе Яндекса Школу автоматизации процессов разработки. У нас получилась школа, где каждый, кто пишет код, может получить базовый набор знаний о том, как собрать, запустить и поддерживать сервис в продакшене так, чтобы это стоило недорого.



Курс открывает моя лекция о том, зачем вообще автоматизировать процесс разработки. Из нее вы получите представление о то, что будут рассказывать мои коллеги.

Сейчас занятия закончились, и мы, как и обещали, выкладываем записи лекций, которые перемежаются с мастер-классами, для всех желающих. Понятно, что наш опыт и знания – не 42, но мы надеемся, что они принесут вам пользу.
Читать дальше →

Ад визуализации 1.1 — Книга 1: Обзор

Reading time4 min
Views26K
Ад визуализации 1.1:
Недостаток знаний иногда может оказаться достоинством, потому что вы наивно говорите себе: «Пфф… разве это сложно?» и просто погружаетесь в проблему с головой. Я начал эту статью с размышления: «Хм… Что же такое Draw Call?». За время «5-ти минутного» исследования я так и не нашел удовлетворяющего меня объяснения. Я проверил часы и, так как до сна оставалось еще 30 минут, сказал…
Пфф… Разве это сложно написать самостоятельно?
… и просто начал. Это было два месяца назад и с тех пор я непрерывно читал, писал и задавал много вопросов.

Это было самое сложное и низкоуровневое исследование, которое я когда-либо делал, и для меня непрограммиста это был кошмар состоящий из «да, но в этом особом случае...» и «зависит от реализации API...». Это был мой личный ад визуализации, но я прошел через него и принес нечто с собой: Четыре книги, каждая из которых представляет собой попытку объяснить одну из частей визуализации с точки зрения художника. Я надеюсь, что вам понравится.
Книга 1: Обзор

Гирлянда на Raspberry Pi

Reading time5 min
Views24K


Приближаются новогодние праздники, и было решено сделать что-то новогоднее с использованием имеющегося Raspberry Pi B-модели. До этого я использовал его в качестве веб-сервера. Затем немного игрался с GPIO на Python заставляя светиться светодиоды.

Что ж, небольшая искусственная елка подсказала мне как можно совместить мое желание с моими навыками. Гирлянда на светодиодах!
Читать дальше →

Пространства имен в PHP

Reading time9 min
Views52K
На хабре можно найти немало статей о пространствах имен в PHP, но мне помогла именно эта, и именно ей я хочу поделится. Наверняка найдутся те, кому этот перевод поможет.

Путь к поддержке пространств имен в PHP был тернистым. Но к счастью она была добавлена к языку в версии PHP 5.3, и структура PHP кода значительно улучшилась с тех пор. Но как именно нам их использовать?

Что такое пространства имен?


«Не забывайте обратный слеш, когда Вы храните имя пространства имен в виде строки!»

Представьте себе пространство имен, как ящик, в который Вы можете положить все что угодно: карандаш, линейку, кусок бумаги и так далее. Это Ваши вещи. Прямо под вашим ящиком, располагается еще чей-то ящик, и его хозяин хранит те же вещи в нем. Чтобы избежать использования предметов друг друга, Вы решили маркировать ящики так чтобы стало ясно, что кому принадлежит.
Читать дальше →

Как усилить защиту паролей «12345» от brute-force атаки

Reading time3 min
Views31K
Объект: веб-форма входа в систему.
Дана задача: усилить защиту аккаунта пользователя от подбора простого пароля к его аккаунту, используя минимум средств.

Что такое минимум средств? Это не использовать таблицы-справочники для блокировки по IP-адресу и User-Agent. Не использовать лишние запросы к системе, не захламлять систему авторизации лишними циклами.

И, выполнить совершенно волшебное требование — даже если бот введет нужные логин и пароль… не дать ему войти, а вот реального пользователя впустить.

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

От первого электровелосипеда своими руками – до перспективного стартапа. Истории сотрудников REG.RU

Reading time16 min
Views131K


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

Представляем вашему вниманию рассказ основателя Electron Bikes о том, как сделать мощный электровелосипед своими руками, почему любителей скорости не устраивают существующие модели байков и до какой скорости может разгоняться обычный с виду велосипед.
Читать дальше →

Deploy4Me снижает цены и фиксирует их в рублях

Reading time1 min
Views5.1K


Получив после предыдущей статьи много положительных отзывов, мы решили закрепить успех и пойти навстречу пользователям. Поэтому Deploy4Me объявляет о снижении цен на все без исключения установки серверного ПО в облако AWS и в облака, которые уже на подходе.

Пароли и явки под хабракатом

Advanced PowerShell vol. 1: повторное использование кода

Reading time6 min
Views36K
Привет! Как большой поклонник и активный практик PowerShell я часто сталкиваюсь с тем, что мне необходимо повторно использовать ранее написанные куски кода.
Собственно, для современных языков программирования code reuse — это обычное дело.
PowerShell в этом вопросе не отстает, и предлагает разработчикам (написателям скриптов) сразу несколько механизмов обращения к написанному ранее коду.
Вот они по возрастанию сложности: использование функций, дот-сорсинг и написание собственных модулей.

Рассмотрим их все порядку.

В качестве решения лабораторной задачи напишем скрипт, который расширяет раздел C:\ до максимально возможного размера на удаленном Windows-сервере LAB-FS1.
Такой скрипт будет состоять из одной строки и выглядеть так:

Invoke-Command -ComputerName LAB-FS1 -ScriptBlock { "rescan", "select volume=c", "extend" | diskpart }

Работает это так. Сначала PowerShell устанавливает удаленное соединение с сервером LAB-FS1 и запускает на нем локально набор команд, заключенный в фигурные скобки параметра -ScriptBlock. Этот набор в свою очередь последовательно передает команде diskpart три текстовых параметра, а diskpart выполняет (по очереди) повторное сканирование разделов, выбор раздела C:\ и расширение его до максимально возможного размера.



Как видите, скрипт крайне простой, но в то же время крайне полезный.
Рассмотрим, как правильно упаковать его для повторного использования.
Для этого у нас есть три способа.

Простой лидерборд на Unity3D с facebook-ом

Reading time8 min
Views21K
После участия в Ludum Dare 31 у нас появилась игра, в которой можно соревноваться с друзьями и мы решили добавить к ней лидерборд, с авторизацией через Facebook. Какие сложности могут возникнуть и как сделать подобный в своей игре читайте под катом.

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

Оптимизируем страницу при помощи собственных социальных кнопок

Reading time5 min
Views28K
Здравствуйте,

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

image

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

Система хранения медиа данных с 10G доступом

Reading time4 min
Views20K
Эта статья — развитие идеи создания 10G сети для обработки изображений.

Заказчик — небольшая фотостудия, активно снимающаяся всевозможные eventы — свадьбы, встречи, корпоративные праздники и т.д.
После дня съемки одним-двумя фотографами надо быстро отсортировать до нескольких тысяч фотографий, сделать предварительную выборку лучших, быстро их обработать и представить заказчику первую версию выборки фотоснимков.
Иногда к этому добавляется видео съемка мероприятия.
Позже часто требуется более тонкая обработка фото и видео материалов, верстка фотоальбомов и фотокниг, подготовка коротких фильмов.
Со стороны компьютерной системы нужна высокая емкость (в год студия производит порядка 10 терабайт фото-видео материалов) и высокая скорость доступа к имеющейся фото и видео библиотеке с 3-4 компьютеров. В основном это компьютеры производства Apple.
Через год примерно 90-95% фото-видео контента стирается, оставшиеся 5-10% сохраняются на несколько лет.

Учитывая пожелания по суммарному объему хранимых данных, было предложено использовать сетевое хранилище NAS с емкостью не менее 6 дисков. В результате было выбрано 8 дисковое хранилище, но на начальном этапе в него было установлено 6 дисков по 3ТБ.
Потребность в быстром доступе к сетевым ресурсам с компьютеров Apple реализовали двумя способами:
проводной доступ через конвертер Thunderbolt — 10G Ethernet.
беспроводной доступ для ноутбуков был реализован на стандарте WiFi AC.

Сетевым хранилищем была выбрана модель QNAP TS-870Pro. С оборудованием этой компании я работаю уже немало лет, и опыт пока имею только положительный.

TS-870Pro

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

Отважная служба поддержки против чудовищных тикетов

Reading time8 min
Views13K

Предисловие


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

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

В этой статье собраны истории о большинстве дьявольских тикетов, с которыми встречалась наша команда. Мы надеемся, что знакомство с ними и нашим секретным оружием поможет вам подготовиться к сражению лицом к лицу с любым не менее чудовищным тикетом. После этого вы без труда заработаете заветное «Да, я удовлетворен!» от автора тикета.
Читать дальше →

Information

Rating
Does not participate
Date of birth
Registered
Activity