Новости информационных технологий - 14009

Жаргон функционального программирования - 1

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

В примерах используется JavaScript ES2015). (Почему JavaScript?)

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

В документе используются термины из спецификации Fantasy Land spec по мере необходимости.

Arity (арность)

Количество аргументов функции. От слов унарный, бинарный, тернарный (unary, binary, ternary) и так далее. Это необычное слово, потому что состоит из двух суффиксов: "-ary" и "-ity.". Сложение, к примеру, принимает два аргумента, поэтому это бинарная функция, или функция, у которой арность равна двум. Иногда используют термин "диадный" (dyadic), если предпочитают греческие корни вместо латинских. Функция, которая принимает произвольное количество аргументов называется, соответственно, вариативной (variadic). Но бинарная функция может принимать два и только два аргумента, без учета каррирования или частичного применения.Читать полностью »

Даже неверное решение, проведенное в жизнь с должной последовательностью и энергией, приводит к успеху

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

Здесь будет попытка понять, для чего нужна Ардуино (А), как именно она делалась, какими методами решались различные проблемы, и где их (методы решения) можно было бы постараться улучшить. Несомненно, тут будет большое количество оценочных суждений, субъективного взгляда, вкусовщины, и прочих прелестей, связанных с обсуждением неординарной проблемы. Ну и будут рассуждения на тему, почему А не всегда и не везде торт и как ее (А) в него (торт) превратить (если смотреть на это дело с правильной, то есть моей, стороны).
Читать полностью »

Понедельник, раннее утро, автодром недалеко от Москвы. Вокруг спорткара собрались шеф-инструктор академии безопасного вождения, популярный IT-блогер и специалисты в области телекоммуникации МегаФона.

Что заставило эту разношерстную компанию собраться вместе? А заставил их первый в череде «разрушений мифов» о сотовой связи эксперимент. В рамках этих экспериментов качество мобильного интернета будет тестироваться в необычных, а зачастую экстремальных ситуациях: при пиковых нагрузках на оборудование.

Эксперимент. Как мы нарушали скоростной режим мобильного интернета - 1
Читать полностью »

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

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

отладка, инструменты для отладки - 1

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

Потенциальные преимущества iOS 10 для разработки и тестирования мобильных приложений (Перевод статьи) - 1

На прошлой неделе отгремела презентация нового iPhone 7 и Apple Watch Series 2. Кто-то смотрел ее в оригинале, кто-то в переводе того же Wylsacom с его неподражаемым юмором. Но все свелось как всегда к одному — очередному холивару между фанатами и хайперами на тему крутости/не-крутости нового яблокофона и чем еж нас порадует новая iOS 10 в финальной версии. Роясь на просторах интернета, я наткнулся на анализ новой OS опубликованный iOS разработчиком из AT&T, проведенный на основании тестирования всех beta и dev версий за последние несколько месяцев. Предлагаю вам ее к ознкомлению.
Читать полностью »

Принуждение к кэшированию: прикручиваем L2 кэш Apache Ignite к Activiti - 1 Часто так бывает, что есть хорошая библиотека, а чего-то в ней не хватает, каких-нибудь перламутровых пуговиц. Так и мне с Activiti, довольно популярным движком бизнес-процесcов с поддержкой BPMN 2.0, ценным своей Java-нативностью. Не вдаваясь в подробности внутреннего устройства этого продукта с открытым исходным кодом, достаточно очевидно, что в своей работе он использует разнообразные данные: метаданные определений бизнес-процессов, данные экземпляров и исторические данные. Для их хранения Activiti использует СУБД, позволяя выбрать из DB2, H2, Oracle, MySQL, MS SQL и PostgreSQL. Этот движок весьма неплох, и используется не только для маленьких поделок. Возможно, вопрос о поддержке кэширования обращений к БД в этом продукте возник не только у меня. Как минимум единожды он задавался разработчикам, которые на него ответили в том смысле, что метаданные кэшируются, а для остальных данных большого смысла в этом нет и это не просто. В принципе, про отсутствие большого смысла согласиться можно — данные конкретного экземпляра или его исторические данные с небольшой вероятностью могут повторно понадобиться. Но сценарий, когда такое всё-таки случится, тоже возможен. Например, если у нас кластер серверов Activiti с общей базой. В общем, человек с пытливым умом вполне может захотеть иметь приличный кэш в Activiti. Например, использовать в этом качестве Apache Ignite.

Под катом пример решения этой проблемы, код выложен на GitHub.
Читать полностью »

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

Эволюция кардиографов: от комнат с солевыми ваннами к чехлам для iPhone - 1

Эволюция электрокардиографов в 20–21 веках: а) Cambridge Scienti c Instrument Company, 1910–1911 годы; б) Sanborn Cardiette Model 51, 1939 год; в) ЭК1Т-03М, 1976 год; г) Contec ECG80A, 2012 годЧитать полностью »

В онлайн-ритейлере Exist разгорелся корпоративный конфликт: трое совладельцев 50% доли в компании, занимающейся IT-поддержкой интернет-магазина и владеющей товарным знаком и доменным именем, хотят продать актив за $25 млн. Владелец остальных 50% готов купить долю за $10 млн, поэтому вместо него покупателем может стать инвестподразделение «Альфа-групп» А1, специализирующееся на «специальных ситуациях». Об этом Читать полностью »

Страхи мобильной безопасности - 1

Гернет Герц, научный сотрудник Калифорнийского университета, предложил такой способ обеспечения мобильной безопасности: сейф с прорезью для мобильного телефона в верхней части. Сейф позволяет задать время, в течение которого телефон будет заблокирован внутри. Его нельзя достать, и нет никакого способа уменьшить заданное время. Пока телефон находится в запертом ящике, и вы им не пользуетесь – ваши данные находятся в безопасности. Своей инсталляцией Герц показывает, что главная уязвимость кроется в самом пользователе. Так ли это, рассуждаем под катом.
Читать полностью »


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