Pull to refresh
24
0
Алексей Когтев @kogot

User

Send message

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

Reading time 5 min
Views 289K


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

С одной стороны, популярность биткоина вызывает интерес и к блокчейну, с другой стороны, в массовом сознании биткоин часто ассоциируется лишь с чем-то негативным, запрещенным и подвергаемым преследованию со стороны законодателей. Мол, зачем расплачиваться биткоинами, когда есть целый зоопарк электронных кошельков и банковских карт? Ясное дело – чтобы проворачивать какие-то темные делишки.
Читать дальше →
Total votes 31: ↑27 and ↓4 +23
Comments 48

Статья, на которую можно ссылаться: что такое блокчейн

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



Блокчейн — это надёжный способ хранения данных о сделках, контрактах, транзакциях, обо всём, что необходимо записать и проверить. Сегодня блокчейн проник практически во все сферы жизнедеятельности, готов в корне изменить финансовую систему государства и в разы упростить работу среднего и крупного бизнеса. Блокчейн не секретная технология: в сети огромное количество статей о том, как он устроен и по какому принципу работает. Мы собрали самые интересные и нужные факты в одну статью, на которую можно давать ссылку, когда вас спросят: «Что же такое блокчейн?»
Читать дальше →
Total votes 68: ↑53 and ↓15 +38
Comments 23

Создание Web API приложения с использованием .NET Core + MongoDB .NET Driver

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

В современных open-source веб-приложениях использование NoSQL решений получило свою популярность в связи с их нереляционным поведением. В данной статье шаг за шагом мы реализуем простое ASP.NET Core Web API приложение «записной книжки», которое будет поддерживать операции CRUD применимо к коллекции в MongoDB.
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Comments 11

Почему многим ещё непонятна суть блокчейна

Reading time 5 min
Views 36K


Сегодня блокчейн для многих по-прежнему является непонятной технологией, и это затрудняет его эволюционирование. 99% населения не понимают, ни что такое блокчейн, ни биткоин, ни криптовалюты. Эрудиты, технические визионеры и эксперты пытаются объяснить разными способами, но зачастую лишь делают предмет обсуждения ещё более непонятным, больше поднимая новые вопросы, чем внося ясность.
Читать дальше →
Total votes 67: ↑37 and ↓30 +7
Comments 93

Подробное описание возможностей разработки с Microsoft Azure Cloud Services

Reading time 8 min
Views 19K


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

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

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

Например, при увеличении нагрузки можно масштабировать только обработчик на стороне сервера, но оставить количество экземпляров веб-фронтенда.
Читать дальше →
Total votes 21: ↑15 and ↓6 +9
Comments 1

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

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

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


Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Comments 2

Организация виртуальной памяти

Reading time 14 min
Views 73K
Привет, Хабрахабр!

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

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

Организация памяти

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

И так, чтобы понять организацию памяти от вас потребуется знания некоторых базовых понятий, таких как регистры, стек и тд. Я по ходу попробую объяснить и это на пальцах, но очень кратко потому что это не тема для этой статьи. Итак начнем.
Читать дальше →
Total votes 178: ↑145 and ↓33 +112
Comments 141

33 способа ускорить ваш фронтенд в 2017 году

Reading time 20 min
Views 85K

enter image description here


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

Читать дальше →
Total votes 87: ↑84 and ↓3 +81
Comments 39

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

Reading time 4 min
Views 35K


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

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

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

Чем больше используют мобильные телефоны, тем больше появляется мобильных приложений. В магазине приложений Apple App Store доступно более 2 миллионов приложений, а в Google Play Store — более 2,2 миллионов.
Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Comments 2

Как работает стриминг Netflix

Reading time 7 min
Views 18K
«Если вы можете кэшировать всё очень эффективным способом, то вы часто можете изменить правила игры»

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

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

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

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

Применение каждого из этих подходов имеет свои проблемы. Централизация данных может позволить вашему набору данных неограниченно расти, однако:
Читать дальше →
Total votes 34: ↑27 and ↓7 +20
Comments 3

Hype Driven Development

Reading time 7 min
Views 32K
image

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

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


Вы встречались с подобным? Команда выбирает новейшие, самые «горячие» технологии для использования в проекте. Кто-то из них читает пост в блоге, тренд в Твиттере или только что пришел с конференции, на которой говорили великие вещи. И вот уже команда использует эту блестящую технологию (или новую парадигму программной архитектуры), но вместо обещанной большой скорости работы и высокого качества продукта, они получают неприятности. Темп работы замедляется, пропадает мотивация, возникают сложности с выпуском рабочей версии. Некоторые команды застревают на этапе устранения багов вместо того, чтобы добавлять новые функции. Им требуется «еще пара дней, чтобы все подчистить».
Total votes 83: ↑78 and ↓5 +73
Comments 115

Барух Садогурский и Кирилл Толкачёв про DevOps на jug.msk.ru

Reading time 4 min
Views 10K
Я календарь переверну
И снова третье сентября
И вновь восьмое сентября

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


Читать дальше →
Total votes 24: ↑22 and ↓2 +20
Comments 12

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

Reading time 9 min
Views 71K


В первой части нашего туториала мы зарегистрировались в обоих магазинах — App Store и Google Play. Но чтобы ваше приложение стало доступным для скачивания, необходимо совершить ещё немало действий. Давайте их рассмотрим.
Читать дальше →
Total votes 28: ↑23 and ↓5 +18
Comments 0

Математика для искусственных нейронных сетей для новичков, часть 1 — линейная регрессия

Reading time 8 min
Views 150K
Оглавление

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

Введение


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

Цикл рассчитан на базовый ВУЗовский математический уровень читающего. Код будет написан на Python3.5 с numpy 1.11. Список остальных вспомогательных библиотек будет в конце каждого поста. Абсолютно все будет написано с нуля. В качестве подопытного выбрана база MNIST — это черно-белые, центрированные изображения рукописных цифр размером 28*28 пикселей. По-умолчанию, 60000 изображений отмечены для обучения, а 10000 для тестирования. В примерах я не буду изменять распределения по-умолчанию.
Читать дальше →
Total votes 54: ↑47 and ↓7 +40
Comments 43

Atlassian Plugins: погружение в Active Objects и Plugin Settings

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

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

image
Читать дальше →
Total votes 17: ↑14 and ↓3 +11
Comments 2

Войти в АйТи

Reading time 5 min
Views 60K

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


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


Читать дальше →
Total votes 107: ↑73 and ↓34 +39
Comments 169

10 ошибок, приводящих к оверинжинирингу ПО

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

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

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

image

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

Мораль: Казино (бизнес) всегда побеждает.
Читать дальше →
Total votes 127: ↑109 and ↓18 +91
Comments 84

О роли DevOps в ИТ — мнения экспертов

Reading time 7 min
Views 29K

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

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

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

Оказывается, быстрее могут работать и тестировщики, и менеджеры, и аналитики, и отдел внедрения. Остается всего ничего – придумать, как этого добиться.
Читать дальше →
Total votes 27: ↑18 and ↓9 +9
Comments 33

Простой, естественный вопрос: какие бывают библиотеки UWP?

Reading time 5 min
Views 6.1K


Повторное использование кода и совместимость под различные платформы в наше время довольно актуальный вопрос. Кроме того MSFT в последнее время старается угодить разработчикам различных платформ и языков программирования. Именно поэтому, вероятно, возможности универсальной платформы Windows позволяют использовать не один тип библиотек. Под катом о том, какие библиотеки, как и зачем можно использовать в приложениях UWP.
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Comments 4

Information

Rating
Does not participate
Location
Brisbane, Queensland, Австралия
Date of birth
Registered
Activity