• Лямбды в массы

    Лямбды в массы (о нововведениях в java 8)


    Лямбды — одно из самых значимых нововведение в java 8.

    Для начала разберемся с итераторами.

    При использовании внешних итераторов программист учитывает общее количество записей и проходит по ним. У вас есть итератор и шаг итерации.

    Внутренние итераторы управляют итерациями в фоновом режиме. Когда вы передаете объект функции методу, выполняемому над списком, это внутренний итератор.

    Возьмем для примера список

    List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

    1. Пробежимся по списку и выведем его на экран используя цикл for

    System.out.println("Using foreach loop (external iterator)")
    for (int i = 0; i < numbers.size(); i++) {
        System.out.println(numbers.get(i));
    }

    2. используя for each

    System.out.println("Using lambdas <i><b>for each</b></i> (external iterator)");
    for(int e:numbers){
        System.out.println(e);
    }
    

    3. Для той же задачи используем интерфейс Consumer

    numbers.forEach(new Consumer<Integer>() {
        @Override
        public void accept(Integer value) {
            System.out.println(value);
        }
    });

    4. Используя лямбды

    numbers.forEach(n -> System.out.println(n));

    5. И попробуем распараллелить наш вывод

    System.out.println("Using lambdas for each (external iterator) + parallel");
    people.parallelStream().forEach(p -> System.out.println(p));
    Читать дальше →
  • Border-radius: 50% против 100%

    В последнее время я пытался переосмыслить правила CSS, которые я принял в своей практике. Я написал огромное количество кода без реального понимания того, почему он работает именно так.

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

    Некоторые детали реализации браузера нечеткие, наверное потому что я в действительности не читал спецификацию. Теперь все чаще я пытаюсь себя спрашивать — почему все работает именно так? И все это привело меня к моментам озарения, которыми я надеюсь поделиться с вами.
    Читать дальше →
  • Начало работы с J-Link API для Creo Parametric

    Здравствуйте! Предлагаю Вашему вниманию мой перевод статьи за авторством Бартоша Добржелецкого.


    J-Link — это программный интерфейс (API) для CAD-системы PTC Creo Parametric. Он предоставляет лишь часть функциональности, доступной в более сложном Creo/TOOLKIT, основанном на C. Тем не менее, доступных вызовов достаточно для автоматизации многих задач, возникающих при работе в CAD-системах.
    Читать дальше →
  • НЛО на зеленых лампочках* или как мы тестировали точку доступа HPE Aruba OC20 (JZ074A)

    *Данное исследование — частное мнение сотрудников одного из российских дистрибуторов HPE. *
    Компания Aruba (сейчас в составе HPE) известна как ведущий поставщик гибких беспроводных решений, уровня Enterprise. Мы отвлечемся от битвы Йокодзун в квадранте Гартнера и посмотрим на коробочное решение, которое HPE сделали для самых маленьких. Для Small Business. В качестве исходной задачи у нас точка доступа HPE Aruba OC20 (он же JZ074A), глазами владельца небольшого офиса, без радиообследования и тестов производительности.

    Чтобы подготовиться к работе над обзором, мы попросили у представительства HPE документацию по OC20 (она же JZ074A), но полученные материалы были в стиле «если горит зеленая лампочка, значит, всё Ок». Зеленую лампочку мы включили и если вам интересно, что еще мы узнали про OC20, добро пожаловать под кат.
    Читать дальше →
  • Реклама будущего

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

    1. Дроны


    Дроны используются предприятиями для съёмки рекламных роликов, но некоторые умудряются использовать их исключительно продвигая компании виртуальной реальности. Известна история, когда такая сингапурская фирма, как Near в 2015 году стала участником судебного разбирательства по причине того, что её дроны без известия людей собирали о них личную информацию через Wi-Fi. Они делали это для дальнейшего использования так называемой «сверхперсонализированной» рекламы. Подобные ситуации могут случаться и в дальнейшем.


    Читать дальше →
  • Доказательство Гипотезы Римана

    Гипотеза Римана это математическая гипотеза, выведенная в 1859 году Бернхардом Риманом. И которая до сих пор не была решена.

    Гипотеза Римана звучит так:
    Все нетривиальные нули дзета-функции имеют действительную часть равную 1/2.
    Мне удалось доказать это утверждение. Мои выводы основываются на резултате фон Коха 1901 года.

    Если Гипотеза Римана верна, то

    π(x) = Li(x) + Ο(√x∙ln x)

    Гипотеза Римана имеет большое значение в квантовой механике, а также в криптографии.

    Формула π(x) и Li(x)


    В данном разделе я представлю две формулы с помощью которых я доказал Гипотезу Римана. Это новая формула функции π(x) и новый метод интегрирования функции 1/ln(x).

    Функция π(x) показывает сколько в данном числе x простых чисел. Простые числа — это числа, которые делятся только на себя и на единицу. Например: 2 3 5 7…
    Читать дальше →
  • Тренды электронной коммерции на 2018 год

    Мы уже стали свидетелями некоторых изменений в области электронной коммерции. Мобильный трафик ежедневно растет, адаптация продукта под потребителя набирает темпы, а уровень конкуренции выше, чем когда-либо. Некоторые из тенденций останутся в 2018 году, а некоторые исчезнут. Мы обсудим 6 тенденций электронной коммерции, которые в этом году наберут популярность.

    Для начала поговорим о самом очевидном, это мобильные телефоны. Они станут большими игроками на рынке онлайн-шопинга в 2018 году. Статистика показывает, что 50% дохода электронной коммерции будет приходиться на мобильные устройства.

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

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

    Немного лирики


    Я уверена, что большинство специалистов в информационных технологиях (менеджеры, разработчики, аналитики, специалисты по продажам и т.д.) достаточно часто, если не постоянно, сталкиваются с непониманием заказчиков продуктов/услуг, владельцев бизнеса того, зачем им вообще нужен бизнес-анализ, «мифическая» фаза диагностики, документ о видении и границах проекта (Scope and Vision Document), структурная декомпозиция работ (WBS), спецификация требований или какие-то там пользовательские истории… Мне даже нравится искренне непонимающий и недоверчивый взгляд и улыбка («эй, ребята, похоже нас пытаются развести на дополнительный объем работ...») собеседников на первых встречах, которые повторяют как мантру одну и ту же фразу: «Это все понятно… Но нам нужны только разработчики.»
    Читать далее
  • MVC для новичков на примере маленького информационного сайта (без использования ООП)

    1. Вступление

    Как и все начинающие Web разработчики сначала я изучал HTML потом CSS. Поскольку я сторонник мнения того что лучшее обучение — это практика, то тут же практиковал создание маленького информационного сайта путем выученных технологий. Когда же я перешел к изучению PHP, то столкнулся с небольшой проблемой: как его применять на практике, для
    Читать дальше →
  • Стилизация флажков и переключателей с использованием CSS3

    При создании CSS стилей для HTML форм, разработчики часто сталкиваются с невозможностью непосредственно менять внешний вид элементов флажков (checkboxes) и переключателей (radio buttons). Рассмотрим как можно обойти это ограничение при помощи инструментария CSS3 и без использования какого-либо кода JavaScript.
    Читать дальше →
  • О сетевом тайловом рендеринге

    В 2012 году мы приобрели серверную лицензию на широко известное ПО ArcGIS (версия 10.0) и приступили к тайловому рендерингу территории России. Этот процесс занял у нас почти полгода, и о ежеквартальном обновлении онлайн-карт пришлось забыть, благо клиенты были вполне довольны ежегодным обновлением. Ещё бывало обидно, когда через месяц нарезки какого-нибудь федерального округа рендеринг почему-то “вылетал”, и всё приходилось начинать сначала. Однако у нас нет никакого желания ругать ArcGIS. Мы любим ArcGIS, потому что его нельзя не любить, ибо количество достоинств его неисчислимо. Но речь не о них, а о тайловом рендеринге.

    В 2016 году наш программист, человек талантливый и любознательный, отыскал на бескрайних просторах open source ресурсов библиотеку Mapnik, и чрезвычайно ею заинтересовался. Проведя ряд тестов, мы пришли к выводу, что тайловый рендерер, сделанный нашим программистом на основе Mapnik, по скорости не уступает, а по качеству растровой картинки явно превосходит уже порядком устаревший к тому времени ArcGIS 10.0.
    Читать дальше →
  • Простыми словами о сложном: кратко об институте авторского права на компьютерные программы

    По данным Delo.UA кол-во программистов (читай ИТ специалистов) в 2015 г. составляло 90 тыс. человек. 46% из них работали в Киеве, большинство остальных в Одессе, Харькове, Львове и Днепре. В 2016 г. по данным ZN.UA их кол-во увеличилось до 100 тысяч и ожидается, что к 2020 г. общее число специалистов ИТ сферы достигнет 200 тысяч.

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

    Итак, месяца 2 назад я твёрдо решил создать функцию которая будет превращать любые объекты в строки, так как надо было отладить сайт в старом браузере. И вот результат:
    Читать дальше →
  • Cisco IOS Internal VLANs

    Небольшая заметка о том, что происходит "под капотом" MLS (Multi Layer Switch) Cisco при создании routed интерфейсов.


    В MLS интерфейс может находиться в одном из двух режимов:


    • "switchport"
    • "routed interface" или "no switchport"

    При переводе интерфейса в последний, коммутатор позволяет присвоить ip address непосредственно порту и использовать его как интерфейс маршрутизатора.


    Однако это всего лишь абстракция. Вот что происходит "под капотом" MLS при переводе интерфейса в режим "no switchport":

    Читать дальше →
  • Книга Google Analytics для googлят: Практическое руководство по веб-аналитике [2018, PDF, RUS]

    Друзья, всем привет! Этой мой первый пост на хабре и первый, на мой взгляд, действительно серьезный и полезный для многих пользователей этого ресурса труд!
    Читать дальше →
  • Ospan Matrix или второе дыхание для Case-Based Reasoning

    21 век стал временем для алгоритмов машинного обучения, и мы уже давно привыкли к ним и их постоянному улучшению. Зачастую мы говорим о разных heuristic алгоритмах или нейронных сетях, но порой нам необходимо использовать другие более линейные алгоритмы машинного обучения. Например: Case-Based Reasoning (CBR).


    Осенью уже прошлого года передо мной стояла задача использовать CBR в проекте умного дома, что было само-собой не самой простой задачей, так как применение CBR с k-nearest neighbor не давала высоких результатов аккуратности классификации даже с использованием Mahalanobis Distance для определения расстояния между кейсами. Пришлось придумать свое решение для измерения расстояния, которое было названо Ospan Matrix. Если хотите узнать зачем искать конверсионную матрицу с помощью эвристических алгоритмов, прошу Вас к прочтению этой статьи.

    Читать дальше →
  • Обновление прошивки и заливка вэб морды на коммутатор Juniper EX4300

    Всем здравствуйте. Так как мануалов для оборудования джунипер на русском мало, то будем добавлять новые. Кому то покажется тривиальным данный мануал, но вдруг кому-то будет полезен. Прошу не ругать меня нубом.
    Читать дальше →
  • Сильные и слабые стороны NoSQL

    Сильные и слабые стороны NoSQL


    SQL (Structured Query Language) — универсальный язык запросов, который используется всеми реляционными системами.

    NoSQL имеют собственный API для взаимодействия.

    Преимущества РСУБД — соответствия базы данных требованиям ACID, целостность данных, структурированность.

    Преимущества NoSQL — скорость обработки данных, масштабируемость, распределенность систем.
    Читать дальше →
  • Рискнуть или не рискнуть? Вот в чём вопрос

    Вместо вступления

    Друзья, эта статья — крик души еще со студенческой скамьи. Нас много учили (целых 4 года) и все время твердили: риски, риски, риски. Но ни разу не показали, как их считать. В этой статье хотелось бы ответить на вопрос «КАК?» Полагаю, что данная статья может быть полезной студентам, которые хотели бы понять, как на базовом уровне можно получать количественные значения при оценке рисков. Информация, собранная в этой статье, также подходит для начинающих аудиторов и консультантов в области информационной безопасности.

    Управляем рисками

    Что понимается под управлением рисками в бизнесе? Не более, чем механизм или набор инструментов для предотвращения ущерба в случае возникновения внутренней или внешней угрозы.

    Читать дальше →
  • Как перестать бояться функционального программирования 2.0 или открываем новый уровень в PQ/PB

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

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

    Цель статьи


    Раскрыть еще один вариант формирования списка дата, но уже с использованием функций языка запросов DAX
    дальше...