Метка «phpstorm» - 3

После «прощального» поста о «NetBeans tips & tricks» перешел на еще одну замечательную IDE — PhpStorm. И хочу начать серию статей с заметки о том, как эта IDE облегчила процесс рефакторинга для меня.

PhpStorm: Refactoring

Читать полностью »

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

Не претендуя на библию или «настольную статью программиста» я хочу поделиться полезными находками в моей любимой IDE, не скатываясь в тупую копипасту мануалов и скучных списков хоткеев, только то, что я сам использую постоянно и над чем удивляются коллеги: «о! а так можно?» Читать полностью »

Помимо выхода PhpStorm 5.0 и очередного «майлстоуна» проекта Kotlin, про которые мы уже писали на Хабре, за последний месяц вышел еще целый ряд обновлений, которые могли ускользнуть от вашего внимания:

  • 9 октября — вышел минорный релиз AppCode 1.6.2;

  • 4 октября — команда YouTrack выпустила обновление YouTrack 4.0.4;

Читать полностью »

Пришло время очередного дайджеста новостей. Как и прежде, мы постараемся рассказать про все или почти все основные события, а также самые свежие релизы и апдейты, которые состоялись за последний месяц.
image

  • Сегодня, 4 сентября RubyMine 4.5.3 улучшил поддержку Sass и LESS;

Читать полностью »

Дайджест новостей JetBrains с 26 го июля по 5 августаПосле того как 26-го июля вышел долгожданный мажорный релиз ReSharper 7, произошел целый ряд событий, о которых мы не можем не упомянуть хотя бы в формате дайджеста.

Итак, перечислим важнейшие из них в обратном хронологическом порядке:

  • 3 августа мы узнали о том, что dotTrace Performance получил Jolt Productivity Award, которую называют Оскаром индустрии разработки ПО;
  • 2-го августа вышел RubyMine 4.5.1 Читать полностью »

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

Чтобы компенсировать это мы решили выпустить экспериментальный дайджест новостей, которые вы могли пропустить на прошлой неделе:

Jax Awards, PhpStorm и все, все, все (дайджест новостей с 9 15 июля)

  • Прошлый вторник порадовал нас приятным известием из Сан-Франциско: на конференции JAX 2012 были объявлены итоги голосования за «JAX Innovation Awards», где мы стали победителями в номинации «The most innovative Java company»!

Читать полностью »

Как можно было заметить из моей предыдущей статьи со сравнением библиотек LINQ для PHP, библиотек много, а качества мало: ленивые вычисления не реализованы ни в одной библиотеке, тесты есть в половине случаев, типы коллбэков ограничены, а иногда и вовсе незнамо что выдаётся за LINQ. Поэтому я написал свою библиотеку. Встречайте:

YaLinqo — Yet Another LINQ to Objects for PHP

Возможности:

  • Самый полный порт .NET LINQ на PHP, со многими дополнительными методами. Некоторые методы отсутствуют, но работа ведётся. Всего реализовано более 70 методов.
  • Ленивые вычисления, текст исключений и многое другое, как в оригинальном LINQ.
  • Детальная документация PHPDoc к каждому методу. Текст статей адаптирован из MSDN.
  • 100% покрытие юнит-тестами.
  • Коллбэки можно задавать замыканиями, «указателями на функцию» в виде строк и массивов, строковыми «лямбдами» с поддержкой нескольких синтаксисов.
  • Ключам уделяется столько же внимания, сколько значениям: преобразования можно применять и к тем, и к другим; большинство коллбэков принимает на вход и то, и другое; ключи по возможности не теряются при преобразованиях.
  • Минимальное изобретение велосипедов: для итерации используются Iterator, IteratorAggregate и др. (и их можно использовать наравне с Enumerable); исключения по возможности используются родные похапэшные и т.п.

Пример кода:

// Отфильтровать продукты с ненулевым количеством, поместить в соответствующие категории,
// отсортированные по имени. Продукты отсортировать сначала по убыванию количества, потом по имени.

from($categories)
    ->orderBy('$v["name"]')
    ->groupJoin(
        from($products)
            ->where('$v["quantity"] > 0')
            ->orderByDescending('$v["quantity"]')
            ->thenBy('$v["name"]'),
        '$v["id"]', '$v["catId"]', 'array("name" => $v["name"], "products" => $e)'
    );

Читать полностью »

Сказ о том, как PHP на LINQ портировали. Сравнение ныне существующих библиотек с табличками, но без графиков — прилагается.

Картинка код для привлечения внимания (картинок не дождётесь!)

echo Phinq::create($people)
  ->groupBy(function($person) { return $person->residence->region; })
  ->select(function($grouping) {
    $obj = new stdClass();
    $obj->people = $grouping;
    $obj->region = $grouping->getKey();
    return $obj;
  })->orderBy(function($obj) { return $obj->people->count(); }, true)
  ->aggregate(function($current, $next) {
    $count = $next->people->count();
    return $current . sprintf(
      "%d %s (%s) live in the %s regionn",
      $count,
      $count === 1 ? 'person' : 'people',
      $next->people->aggregate(function($current, $next) {
        if ($current !== null) {
          $current .= ', ';
        }
        return $current . sprintf('%s [%s]', $next->name, $next->residence->code);
      }),
      $next->region
    );
  });

Кто видел C# или любой функциональный язык — при виде этого шедевра закатит глаза (если они предварительно не вылетят из орбит). И, наверное, будет прав. Но можно ещё вот так:

$lowNums =
	from('$n')->in($numbers)->
	where('$n < 5')->
	store($digits)->into('digits')->
	select('$digits[$n]');

Читать полностью »

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

Темная цветовая схема для IntelliJ IDEA: решение проблемы с неокрашенным деревом проекта
Читать полностью »

Разработчики сообщают о множестве изменений. Выделим основные:

  • Языковая поддержка типажей. Что это такое, можно ознакомиться здесь
  • PHP code coverage теперь встроен для Xdebug и Zend Debugger
  • В инспектор кода добавлены новые правила для PHP и JS
  • Поддержка новых плюшек из ECMA Script 6 (Harmony)
  • Улучшена поддержка ASS & LESS, CoffeeScript
  • Изменения в UI
  • И много другое...

Ссылки на скачивание:
Mac OS X
<a rel="nofollow"Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js