• Что такое блокчейн и зачем он нужен



      В сознании среднестатистического пользователя само слово “блокчейн” (“цепочка блоков”) стало довольно тесно связано с термином “биткоин”, что двояко отразилось на восприятии.

      С одной стороны, популярность биткоина вызывает интерес и к блокчейну, с другой стороны, в массовом сознании биткоин часто ассоциируется лишь с чем-то негативным, запрещенным и подвергаемым преследованию со стороны законодателей. Мол, зачем расплачиваться биткоинами, когда есть целый зоопарк электронных кошельков и банковских карт? Ясное дело – чтобы проворачивать какие-то темные делишки.
      Читать дальше →
    • Статья, на которую можно ссылаться: что такое блокчейн

        В 2017 году блокчейн стал предметом научного интереса, когда в Торонто открылся первый институт исследований блокчейна. Около 30 ведущих экспертов приступили к разработке различных проектов, связанных с этой технологией.



        Блокчейн — это надёжный способ хранения данных о сделках, контрактах, транзакциях, обо всём, что необходимо записать и проверить. Сегодня блокчейн проник практически во все сферы жизнедеятельности, готов в корне изменить финансовую систему государства и в разы упростить работу среднего и крупного бизнеса. Блокчейн не секретная технология: в сети огромное количество статей о том, как он устроен и по какому принципу работает. Мы собрали самые интересные и нужные факты в одну статью, на которую можно давать ссылку, когда вас спросят: «Что же такое блокчейн?»
        Читать дальше →
      • Создание Web API приложения с использованием .NET Core + MongoDB .NET Driver

        • Tutorial
        Как вы уже знаете, MongoDB — это одно из наиболее развитых, open-source NoSQL решений, которое представляет собой документо-ориентированную базу данных, является кросс-платформенным, а также обеспечивает высокую производительность, доступность и простоту масштабирования.

        В современных open-source веб-приложениях использование NoSQL решений получило свою популярность в связи с их нереляционным поведением. В данной статье шаг за шагом мы реализуем простое ASP.NET Core Web API приложение «записной книжки», которое будет поддерживать операции CRUD применимо к коллекции в MongoDB.
        Читать дальше →
      • Почему многим ещё непонятна суть блокчейна



          Сегодня блокчейн для многих по-прежнему является непонятной технологией, и это затрудняет его эволюционирование. 99% населения не понимают, ни что такое блокчейн, ни биткоин, ни криптовалюты. Эрудиты, технические визионеры и эксперты пытаются объяснить разными способами, но зачастую лишь делают предмет обсуждения ещё более непонятным, больше поднимая новые вопросы, чем внося ясность.
          Читать дальше →
        • Подробное описание возможностей разработки с Microsoft Azure Cloud Services



            Поговорим сегодня об одном из фундаментальных сервисов платформы Microsoft Azure — Cloud Services.

            Основная идея Cloud Services состоит в реализации многоуровневого решения с помощью одной или нескольких веб-ролей и рабочих-ролей (web-роль, worker-роль) для распределенной обработки запросов или данных.

            Итак, вводное определение: Cloud services (Облачные службы) Microsoft Azure – это возможность создавать многокомпонентные приложения, несколько переосмысленные в сторону ролевой модели и гибкого масштабирования.

            Например, при увеличении нагрузки можно масштабировать только обработчик на стороне сервера, но оставить количество экземпляров веб-фронтенда.
            Читать дальше →
            • +9
            • 16.2k
            • 1
          • Краткая история JavaScript. Часть 3

            • Translation
            Третья и заключительная часть перевода статьи из блога сервиса Auth0 A Brief History of JavaScript. Ключевые моменты: транспайлеры и ECMAScript 2015, немного о новом процессе подготовки обновлений, чего ждать в будущем и как на него повлияют Asm.js и WebAssembly. Перевод подготовлен отделом фронтенд-разработки компании Лайв Тайпинг.

            Краткая история JavaScript. Часть 1
            Краткая история JavaScript. Часть 2


            Читать дальше →
            • +18
            • 12.6k
            • 1
          • Организация виртуальной памяти

              Привет, Хабрахабр!

              В предыдущей статье я рассказал про vfork() и пообещал рассказать о реализации вызова fork() как с поддержкой MMU, так и без неё (последняя, само собой, со значительными ограничениями). Но прежде, чем перейти к подробностям, будет логичнее начать с устройства виртуальной памяти.

              Конечно, многие слышали про MMU, страничные таблицы и TLB. К сожалению, материалы на эту тему обычно рассматривают аппаратную сторону этого механизма, упоминая механизмы ОС только в общих чертах. Я же хочу разобрать конкретную программную реализацию в проекте Embox. Это лишь один из возможных подходов, и он достаточно лёгок для понимания. Кроме того, это не музейный экспонат, и при желании можно залезть “под капот” ОС и попробовать что-нибудь поменять.
              Читать дальше →
              • +39
              • 46k
              • 4
            • Организация памяти

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

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

                • Translation

                enter image description here


                Вы уже используете прогрессивную загрузку? А как насчёт технологий Tree Shaking и разбиения кода в React и Angular? Вы настроили сжатие Brotli или Zopfli, OCSP stapling и HPACK-сжатие? А как у вас обстоят дела с оптимизацией ресурсов и клиентской части, со вложенностью CSS? Не говоря уже о IPv6, HTTP/2 и сервис-воркерах.

                Читать дальше →
              • 7 сервисов для поиска уязвимости мобильных приложений



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

                Согласно последним исследованиям NowSecure более чем в 25% мобильных приложений есть хотя бы одна критически опасная уязвимость.

                В 59% финансовых приложений для Android есть три уязвимости из списка OWASP Топ-10.

                Чем больше используют мобильные телефоны, тем больше появляется мобильных приложений. В магазине приложений Apple App Store доступно более 2 миллионов приложений, а в Google Play Store — более 2,2 миллионов.
                Читать дальше →
                • +20
                • 17.4k
                • 2
              • Как работает стриминг Netflix

                • Translation
                «Если вы можете кэшировать всё очень эффективным способом, то вы часто можете изменить правила игры»

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

                • Метаданные продукта в интернет-магазине
                • Метаданные документа в поисковой машине
                • Метаданные фильмов и ТВ-шоу

                Сталкиваясь с этим, мы обычно выбираем один из двух путей:

                • Хранение этих данных в каком-то централизованном хранилище (например, реляционная СУБД, информационный склад NoSQL или кластер memcached) для удалённого доступа пользователей
                • Сериализация (например, как json, XML и т.д.) и распространение среди потребителей, которые будут хранить локальную копию

                Применение каждого из этих подходов имеет свои проблемы. Централизация данных может позволить вашему набору данных неограниченно расти, однако:
                Читать дальше →
                • +20
                • 16.4k
                • 3
              • Hype Driven Development

                • Translation
                image

                Команды разработчиков ПО часто принимают решения о программной архитектуре или технологическом стеке, основываясь на ошибочных мнениях из социальных сетей и на всем том, что является скорее модным, чем хорошо изученным, без серьезной оценки возможного влияния на их проекты. Я называю эту тенденцию «Hype Driven Development (HDD)», считаю ее вредной и выступаю за более профессиональный подход. Давайте посмотрим, как обстоят дела, и что мы можем противопоставить.

                Новые технологии — новые надежды


                Вы встречались с подобным? Команда выбирает новейшие, самые «горячие» технологии для использования в проекте. Кто-то из них читает пост в блоге, тренд в Твиттере или только что пришел с конференции, на которой говорили великие вещи. И вот уже команда использует эту блестящую технологию (или новую парадигму программной архитектуры), но вместо обещанной большой скорости работы и высокого качества продукта, они получают неприятности. Темп работы замедляется, пропадает мотивация, возникают сложности с выпуском рабочей версии. Некоторые команды застревают на этапе устранения багов вместо того, чтобы добавлять новые функции. Им требуется «еще пара дней, чтобы все подчистить».
                Читать дальше →
              • Барух Садогурский и Кирилл Толкачёв про DevOps на jug.msk.ru

                  Я календарь переверну
                  И снова третье сентября
                  И вновь восьмое сентября

                  8 сентября 2016 года прошла встреча jug.msk.ru, собравшая, возможно, максимальное число участников. Гостями были Барух Садогурский и Кирилл Толкачёв, темой их доклада — DevOps. Что же ждало слушателей на встрече, можно прочитать далее.


                  Читать дальше →
                • От регистрации до витрины: как выложить мобильное приложение в App Store и Google Play (часть 2)

                  • Tutorial


                  В первой части нашего туториала мы зарегистрировались в обоих магазинах — App Store и Google Play. Но чтобы ваше приложение стало доступным для скачивания, необходимо совершить ещё немало действий. Давайте их рассмотрим.
                  Читать дальше →
                • Математика для искусственных нейронных сетей для новичков, часть 1 — линейная регрессия

                  Оглавление

                  Часть 1 — линейная регрессия
                  Часть 2 — градиентный спуск
                  Часть 3 — градиентный спуск продолжение

                  Введение


                  Этим постом я начну цикл «Нейронные сети для новичков». Он посвящен искусственным нейронным сетям (внезапно). Целью цикла является объяснение данной математической модели. Часто после прочтения подобных статей у меня оставалось чувство недосказанности, недопонимания — НС по-прежнему оставались «черным ящиком» — в общих чертах известно, как они устроены, известно, что делают, известны входные и выходные данные. Но тем не менее полное, всестороннее понимание отсутствует. А современные библиотеки с очень приятными и удобными абстракциями только усиливают ощущение «черного ящика». Не могу сказать, что это однозначно плохо, но и разобраться в используемых инструментах тоже никогда не поздно. Поэтому моей первичной целью является подробное объяснение устройства нейронных сетей так, чтобы абсолютно ни у кого не осталось вопросов об их устройстве; так, чтобы НС не казались волшебством. Так как это не математический трактат, я ограничусь описанием нескольких методов простым языком (но не исключая формул, конечно же), предоставляя поясняющие иллюстрации и примеры.

                  Цикл рассчитан на базовый ВУЗовский математический уровень читающего. Код будет написан на Python3.5 с numpy 1.11. Список остальных вспомогательных библиотек будет в конце каждого поста. Абсолютно все будет написано с нуля. В качестве подопытного выбрана база MNIST — это черно-белые, центрированные изображения рукописных цифр размером 28*28 пикселей. По-умолчанию, 60000 изображений отмечены для обучения, а 10000 для тестирования. В примерах я не буду изменять распределения по-умолчанию.
                  Читать дальше →
                • Atlassian Plugins: погружение в Active Objects и Plugin Settings

                    Привет, Хабр! Я работаю в Mail.Ru Group в отделе разработки плагинов JIRA. Плагины позволяют расширять или изменять функциональность приложения. Например, с их помощью можно создавать новые типы полей, гаджеты, JQL-запросы, панели с различной информацией, графики и многое другое.

                    Большинство наших плагинов требуют хранения дополнительных данных, которые они используют. В этой статье я хочу рассказать, как мы решаем эту задачу. Существует два основных способа хранения таких данных: Active Objects и Plugin Settings. Рассмотрим их поподробнее и разберемся в каком случае лучше и удобнее использовать один, а в каком — другой.

                    image
                    Читать дальше →
                    • +11
                    • 7.3k
                    • 2
                  • Войти в АйТи

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


                      Включаем музычку и поехали.


                      Читать дальше →
                    • 10 ошибок, приводящих к оверинжинирингу ПО

                      • Translation
                      • Tutorial
                      Несколько вещей гарантированно будут увеличиваться со временем: расстояния между звёздами, энтропия вселенной и бизнес-требования к ПО. Многие статьи пишут «Не усложняйте!», но не пишут почему или как это сделать. Вот вам 10 ясных примеров.

                      1. Инженерам виднее

                      Мы, инженеры, считаем себя умнейшими людьми. Ну, поскольку мы создаём разные штуки. И эта ошибка часто приводит к оверинжинирингу. Если вы спланировали и построили 100 модулей — Бизнес всегда попросит у вас 101-ый, о котором вы никогда не задумывались. Если вы соберётесь с силами и решите 1000 проблем — они придут к вам и выложат на стол 10 000 новых. Вы считаете, что у вас всё под контролем, а на самом деле вы даже не представляете, в каком направлении вас завтра поведёт дорога.

                      image

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

                      Мораль: Казино (бизнес) всегда побеждает.
                      Читать дальше →
                    • О роли DevOps в ИТ — мнения экспертов


                        Изображение сайта tricentis.com

                        Существующие реалии буквально требуют от разработки программного обеспечения еще больше сокращать время выполнения проекта: от возникновения идеи до выпуска готового продукта. С завидной периодичностью заказчики просят реализовать проект «вчера», чтобы его не скопировал «сегодня» кто-то другой. И, конечно же, бюджет на то, чтобы сделать невозможное, как всегда, ограничен.

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

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



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