Рубрика «map»
Что нужно знать об устройстве коллекций, основанных на хешировании
2020-04-02 в 11:49, admin, рубрики: code, Equals, hash, hashCode, hashmap, hashset, java, map, адресация, Алгоритмы, Блог компании OTUS. Онлайн-образование, данных, двойное, заполнения, квадратичная, коллизия, контракт, коэффициент, линейная, множество, наполнения, открытая, последовательность, проб, Программирование, Промышленное программирование, собеседование, структуры, таблица, хеш, хеш-множество, хеш-таблица, хеширование, хэш, хэширование, цепочкиВсем привет. На связи Владислав Родин. В настоящее время я являюсь руководителем курса «Архитектор высоких нагрузок» в OTUS, а также преподаю на курсах посвященных архитектуре ПО.
Помимо преподавания, как вы могли заметить, я занимаюсь написанием авторского материала для блога OTUS на хабре и сегодняшнюю статью хочу посвятить запуску нового потока курса «Алгоритмы для разработчиков».
Введение
Хеш-таблицы (HashMap) наравне с динамическими массивами являются самыми популярными структурами данных, применяемыми в production'е, поэтому очень часто можно услышать вопросы на собеседованиях касаемо их предназначения, особенностей их внутреннего устройства, связанных с ними алгоритмов. Данная структура данных является классической и встречается не только в Java, но и во многих других языках программирования.
Читать полностью »
Роль самоизоляции и мытья рук
2020-04-02 в 6:51, admin, рубрики: COVID-19, javascript, map, MapBox, React, ReactJS, Здоровье гика, коронавирусМногие из нас уже несколько недель сидят дома и в голове все чаще звучит мысль — а нужно ли? Может быть власти и медиа сильно преувеличивают — если что и было, то уже закончилось, можно возвращаться в привычный ритм. В этой статье я дам вам возможность самим ответить на этот вопрос. Пользуясь случаем, я разработал приложение наподобие Plague Inc, только без игровой механики, но с возможностью точечной настройки параметров — Pandemic simulator. В статье я покажу, как отличается характер пандемии в зависимости от нас с вами — сидим ли мы дома и моем ли руки.
Вот так изменится население США в случае если у COVID-19 будет 90% летальность.
List Comprehension vs Map
2019-12-08 в 19:05, admin, рубрики: List Comprehension, map, python, мапа, Питон, Программирование, списковые включенияПривет. Часто при работе с последовательностями встает вопрос об их создании. Вроде бы привык использовать списковые включения (List Comprehension), а в книжках кричат об обязательном использовании встроенной функции map.
В этой статье мы рассмотрим эти подходы к работе с последовательностями, сравним производительность, а также определим в каких ситуациях какой подход лучше.
Хэш таблицы в Go. Детали реализации
2019-06-26 в 11:10, admin, рубрики: data structures, Go, go internals, golang, map, ПрограммированиеПорассуждаем об имплементации map в языке без дженериков, рассмотрим что такое хэш таблица, как она устроена в Go, какие есть плюсы и минусы данной реализации и на что стоит обратить внимание при использовании данной структуры.
Детали под катом.
Читать полностью »
Почему [‘1’, ‘7’, ’11’].map(parseInt) возвращает [1, NaN, 3] в Javascript?
2019-06-17 в 7:30, admin, рубрики: javascript, map, parseInt, Занимательные задачки, ПрограммированиеJavascript — странный. Не верите? Ну попробуйте тогда преобразовать массив строк в целые числа с помощью map и parseInt. Запустите консоль (F12 на Chrome), вставьте код ниже и нажмите Enter
['1', '7', '11'].map(parseInt);
Вместо ожидаемого массива целых чисел [1, 7, 11] мы получаем [1, NaN, 3]. Но как так? Чтобы узнать в чём тут дело, сначала нам придётся поговорить о некоторых базовых концепциях Javascript. Если вам нужен TL;DR, пролистывайте статью до самого конца.
Немного практики функционального программирования в Swift для начинающих
2019-02-24 в 14:59, admin, рубрики: compactMap, filter, flatmap, map, reduce, swift, swift development, swift разработка, разработка мобильных приложений, разработка под iOS, функциональное программирование
Я хотела бы представить концепцию Функционального Программирования новичкам самым простейшим образом, выделив некоторые его преимущества из множества остальных, которые реально позволят сделать код более читаемым и выразительным. Я подобрала для вас интересные демонстрационные примеры, которые находятся на Playground
в Github.
Функциональное Программирование: Определение
Прежде всего, Функциональное Программирование — это не язык или синтаксис, а скорее всего — способ решения проблем путем разбиения сложных процессов на более простые и последующей их композиции. Как следует из названия "Функциональное программирование", единицей композиции для данного подхода является функция; и цель такой функции — избежать изменения состояния или значений за пределами своей области действия (scope)
.
В Мире Swift
для этого есть все условия, ибо функции здесь являются такими же полноправными участниками процесса программирования, как и объекты, а проблема изменяемости (mutation
) решается на уровне концепции value
ТИПОВ (структур struct
и перечислений enum
), которые помогают управлять изменяемостью (mutation
) и четко сообщают о том, как и когда это может произойти.
Однако Swift
не является в полном смысле языком Функционального программирования, он не принуждает вас к Функциональному программированию, хотя и признает преимущества Функциональных подходов и находит способы встраивания их.
В этой статье мы сфокусируемся на использовании встроенных в Swift
(то есть «из коробки») элементов Функционального программирования и понимании того, как можно их комфортно использовать в вашем приложении.
Читать полностью »
Использование QML Map для построения воздушных трасс — Часть 1
2018-12-22 в 0:12, admin, рубрики: geolocation, map, OpenStreetMap, QML, qt, qt5Уже довольно долго использую QML для построения графических интерфейсов, но возможности поработать в реальном проекте с Qt Location API и QML Map, до настоящего времени, не было.
Поэтому стало интересно попробовать эту компоненту для построения воздушных трасс.
Под катом описание реализации редактора, для создания подобных траекторий на карте:
Разбираемся с новым sync.Map в Go 1.9
2017-09-26 в 0:50, admin, рубрики: cache contention, Go, map, Mutex, rwmutex, syncОдним из нововведений в Go 1.9 было добавление в стандартную библиотеку нового типа sync.Map, и если вы ещё не разобрались что это и для чего он нужен, то эта статья для вас.
Для тех, кому интересен только вывод, TL;DR:
если у вас высоконагруженная (и 100нс решают) система с большим количеством ядер процессора (32+), вы можете захотеть использовать sync.Map вместо стандартного map+sync.RWMutex. В остальных случаях, sync.Map особо не нужен.
Если же интересны подробности, то давайте начнем с основ.
10 типов структур данных, которые нужно знать + видео и упражнения
2017-08-04 в 16:41, admin, рубрики: big data, data mining, map, Блог компании Нетология, визуализация данных, граф, графы, двоичная куча, двоичное дерево поиска, множества, нетология, открытые данные, очереди, префиксное дерево, связные списки, стеки, структуры данных, хэш, хэш-таблицыЕкатерина Малахова, редактор-фрилансер, специально для блога Нетологии адаптировала статью Beau Carnes об основных типах структур данных.
«Плохие программисты думают о коде. Хорошие программисты думают о структурах данных и их взаимосвязях», — Линус Торвальдс, создатель Linux.
Структуры данных играют важную роль в процессе разработки ПО, а еще по ним часто задают вопросы на собеседованиях для разработчиков. Хорошая новость в том, что по сути они представляют собой всего лишь специальные форматы для организации и хранения данных.
В этой статье я покажу вам 10 самых распространенных структур данных. Читать полностью »