Архив за 20 марта 2017 - 5

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

Более того, они заранее не знали, существует ли искомый инструмент. Поэтому приходилось вручную просматривать FTP-хранилища, структура которых значительно отличалась. Именно эта проблема и привела к появлению одного из ключевых аспектов современного мира — интернет-поиска.

Первый в мире поисковый движок: Исторический экскурс - 1Читать полностью »

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

Все слышали, что вышел проект поправок к федеральным законам под общим именем пакета «О товарных агрегаторах». И все наверняка читали, что по итогу на голосование вынесен проект, который даже не обсуждался с сообществом. Даже с Яндексом.

Товарные агрегаторы — это хорошо? - 1
Читать полностью »

React + mobx путь с нуля. Mobx + react, взгляд со стороны - 1

В «настоящих» проектах мы получаем данные от сервера или пользовательского ввода, форматируем, валидируем, нормализуем и производим другие операции над ними. Всё это принято считать бизнес логикой и должно быть помещено в Model. Так как react — это только треть MVC пирога, для создания пользовательских интерфейсов, то нам потребуется еще что-то для бизнес логики. Некоторые используют паттерны redux или flux, некоторые — backbone.js или даже angular, мы же будем использовать mobx.js в качестве Model.
Читать полностью »

image

Курс разработан МФТИ совместно с компанией eNANO при поддержке IBS и предназначен для лидеров инновационных компаний, технологических предпринимателей, стартаперов и всех тех, кто занимается высокотехнологичным бизнесом, а также изучает инновации и управление проектами.

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

Расстановка приоритетов означает выполнение задач, которые наиболее важны, в первую очередь. Если вы производите продукты, это означает, что прежде всего должно делаться то, что представляет наибольшую ценность для клиента.

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

Эта статья посвящена основам расстановки приоритетов.

Жесткая расстановка приоритетов - 1

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

Haskell: об одном методе реализации функций с переменным числом параметров - 1

– А видела ты Черепаху «Как бы»?
– Нет, – сказала Алиса. – Я даже не знаю, кто это такой.
– Как же, – сказала Королева. – Это то, из чего делают «Как бы черепаший суп».

                  Льюис Кэрролл, 
                           «Алиса в Стране чудес»

— Судя по твоим речам, ты хорошо знаешь Фангорн? — спросил в ответ Арагорн.
— Какое там! — отозвался старик. — На это ста жизней не хватит. Но я сюда иной раз захаживаю.

                 Джон Р. Р. Толкиен, 
                          «Властелин Колец» — к слову о моём знании Haskell ;)

Homines dum docent, discunt. (Объясни другим — сам поймёшь.)

                 народная латинская поговорка

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

Казалось бы о каком переменном числе параметров может идти речь при таком раскладе? Однако поразмыслив, посмотрев исходники printf или просто почитав wiki.haskell становится очевидным, что как раз ФП даёт ключ к достаточно красивому, хотя и несколько «казуистическому» решению этой задачи.

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

Последнее время я много размышлял о шаблонах проектирования и приемах, которые мы используем в программировании. Это и в самом деле прекрасно — начать исследовать проект и видеть знакомые шаблоны и стили, которые ты уже не раз встречал. Это облегчает понимание проекта и дает возможность ускорить работу.

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

Один интересный шаблон, часто применяемый к таким проблемам — "Конечный автомат". Предлагаю потратить немного времени, чтобы понять, что именно имеется ввиду под этим словосочетанием, и почему же это так интересно.

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

HTC лишилась своего завода по производству смартфонов

HTC сообщила об одобрении советом директоров продажи завода по производству смартфонов вместе с прилегающим земельным участком в Шанхае, принадлежавшего дочернему предприятию HTC Electronic (Shanghai) Co. Площадь застроенной территории — 114,8 тыс. м2, земельного участка — 70,9 тыс. м2.

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

Рынок умных часов оценили специалисты CCS Insight. Согласно прогнозам аналитиков, по итогам текущего года в мире будет реализовано 43 млн таких устройств. В 2021 году продажи достигнут 86 млн.

Любопытно то, что один из аналитиков компании считает модель Apple Watch первопроходцем данной категории, хотя эти часы уж точно не были первыми в своём классе. Также источник отмечает рост продаж спортивных умных часов компаний Garmin, Polar и прочих. Их пример заставил другие компании активнее добавлять в свои устройства функции и технологии, связанные со спортом.

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

image

«Интернет должен быть, как воздух, всегда» — девиз японского провайдера OCN отражает вектор развития Японии и Сингапура. Обе страны в сжатые сроки прошли тернистый путь, совершив великое экономическое чудо, каждая по-своему. Развитие интернета в этих странах довольно сильно отличается от тех, о которых мы писали ранее. Пример Японии и Сингапура показывает, каких высот может достичь страна и её технологическое развитие, если у руля будут находиться специалисты своего дела и настоящие управленцы. Программы, которые создавались министерствами и правительствами Японии и Сингапура, прописаны максимально детально, а результат реализации программ говорит сам за себя. Попробуем разобраться, как этим странам удалось совершить столь впечатляющий рывок.

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


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