Как стать автором
Обновить
8
0

Пользователь

Отправить сообщение

Структуры данных в картинках. HashMap

Время на прочтение6 мин
Количество просмотров1.2M
Приветствую вас, хабрачитатели!

Продолжаю попытки визуализировать структуры данных в Java. В предыдущих сериях мы уже ознакомились с ArrayList и LinkedList, сегодня же рассмотрим HashMap.



HashMap — основан на хэш-таблицах, реализует интерфейс Map (что подразумевает хранение данных в виде пар ключ/значение). Ключи и значения могут быть любых типов, в том числе и null. Данная реализация не дает гарантий относительно порядка элементов с течением времени. Разрешение коллизий осуществляется с помощью метода цепочек.

А почему бы и нет?
Всего голосов 81: ↑75 и ↓6+69
Комментарии42

Россия 2022: как не потерять все (или хотя бы попытаться)

Время на прочтение6 мин
Количество просмотров195K


Peace, Хабр!


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


Сегодня пошел 8-ой день, как от этой уверенности почти ничего не осталось.


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

Читать дальше →
Всего голосов 191: ↑158 и ↓33+163
Комментарии712

Гайд: работающие способы вывести деньги за рубеж / завести в Россию

Время на прочтение8 мин
Количество просмотров225K

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

Читать далее
Всего голосов 91: ↑78 и ↓13+90
Комментарии173

Заблуждения Clean Architecture

Время на прочтение15 мин
Количество просмотров429K
Превращаем круги в блоки

­­ 


На первый взгляд, Clean Architecture – довольно простой набор рекомендаций к построению приложений. Но и я, и многие мои коллеги, сильные разработчики, осознали эту архитектуру не сразу. А в последнее время в чатах и интернете я вижу всё больше ошибочных представлений, связанных с ней. Этой статьёй я хочу помочь сообществу лучше понять Clean Architecture и избавиться от распространенных заблуждений.

Читать дальше →
Всего голосов 58: ↑56 и ↓2+54
Комментарии203

Стивен Вольфрам: кажется, мы близки к пониманию фундаментальной теории физики, и она прекрасна

Время на прочтение70 мин
Количество просмотров384K
В продолжение моего поста про вычислимую Вселенную я хочу представить вам свой перевод статьи Стивена Вольфрама, созданной в рамках его проекта The Wolfram Physics Project.


Неожиданное открытие


За прошедшие несколько веков произошел настоящий прорыв в наших знаниях о принципах работы окружающего нас мира. Но несмотря на это, у нас все еще нет фундаментальной теории физики, и мы все так же не имеем ответа на вопрос о том, как именно работает наша Вселенная. Я занимаюсь этой темой уже порядка 50-и лет, но только в последние несколько месяцев все кусочки пазла наконец-то начали складываться вместе. И получающаяся картина оказалась гораздо прекрасней, чем все, что я только мог себе представить.
Читать дальше →
Всего голосов 243: ↑238 и ↓5+307
Комментарии459

Android insets: разбираемся со страхами и готовимся к Android Q

Время на прочтение23 мин
Количество просмотров51K
Android Q — это десятая версия Android с 29-м уровнем API. Одна из главных идей новой версии это концепция edge-to-edge, когда приложения занимают весь экран, от нижней рамки до верхней. Это значит, что Status Bar и Navigation Bar должны быть прозрачными. Но, если они прозрачны, то системный UI нет — он перекрывает интерактивные компоненты приложения. Эта проблема решается с помощью insets.

Мобильные разработчики избегают insets, они вызывают у них страх. Но в Android Q обойти insets не удастся — придется их изучить и применять. На самом деле, в insets нет ничего сложного: они показывают, какие элементы экрана пересекаются с системным интерфейсом, и подсказывают, как переместить элемент, чтобы он не конфликтовал с системным UI. О том, как работают insets и чем они полезны, расскажет Константин Цховребов.

Всего голосов 18: ↑17 и ↓1+20
Комментарии10

Навигатор для трактора или эмиграция с цифрами

Время на прочтение14 мин
Количество просмотров51K

Cover
https://www.deviantart.com/mrmarkchilcott/art/Warpig-662451056


Итак, ваш трактор отполирован до блеска, смазан, проведено ТО. Вы в костюмчике с иголочки стоите рядом, позвякиваете ключами и… не знаете толком куда же ехать. Внучатая племянница лучшей подруги двоюродной тети вашей мамы говорит, что лучше страны, чем Германия нет. Васек, товарищ детства, за бутылкой пива рассказал, что если куда и ехать, то в Эмираты. Там дорого-богато, а небоскребов сколько? Владимир Викторович, директор конторы, где вы в студенческие годы подрабатывали, считает, что где родился, там и пригодился, мол, страну поднимать надо. Направлений много, а жизнь одна. Давайте вместе вооружимся цифрами и попытаемся составить хотя бы отдаленно объективный список потенциальных мест дислокации на следующие N лет.

Читать дальше →
Всего голосов 80: ↑73 и ↓7+92
Комментарии0

ООП, «святая троица» и SOLID: некоторый минимум знаний о них

Время на прочтение43 мин
Количество просмотров115K

Необходимое вступление


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


Но я гарантирую, что если отсутствие всякого понимания заменить моими трактовками и начать их применять, то код вами написанный будет проще сопровождать и изменять. Так же я прекрасно понимаю, что в комментариях мной написанное будут яростно дополнять, что позволит выправить совсем уж вопиющие упущения и нестыковки.


Столь малые гарантии поднимают вопросы о причинах, по которым статья пишется. Я считаю, что этим вещам должны учить везде, где учат программированию, вплоть до уроков информатики в школах с углублённым её изучением. Тем не менее, для меня стала пугающе нормальной ситуация, когда я узнаю, что собеседник мой коллега, причём работающий уже не первый год, но про инкапсуляцию «что-то там слышал». Необходимость собрать всё это в одном месте и давать ссылку при возникновении вопросов зрела давно. А тут ещё и мой «pet-project» дал мне изрядно пищи для размышлений.


Тут мне могут возразить, что учить эти вещи в школе рановато, и вообще на ООП свет клином не сошёлся. Во-первых, это смотря как учить. Во-вторых, 70% материала этой статьи применимо не только к ООП. Что я буду отмечать отдельно.



Читать дальше →
Всего голосов 88: ↑82 и ↓6+76
Комментарии79

Ты только посмотри! 20 фильмов о науке и ученых

Время на прочтение4 мин
Количество просмотров59K
Команда конференции Mieloconf подготовила подборку классных фильмов о науке и ученых для долгих новогодних каникул.

Про свои любимые фильмы рассказали: AI-евангелист ABBYY, автор подкаста «Проветримся» Иван Ямщиков, физик-ядерщик Дмитрий Горчаков, руководитель инфраструктурной команды в «Контуре» Алексей Кирпичников и программист Павел Аргентов.


Читать дальше →
Всего голосов 31: ↑28 и ↓3+36
Комментарии42

Памятка по борьбе с алкоголем или Как пережить фуршеты

Время на прочтение20 мин
Количество просмотров178K
Тут вот праздники скоро. Спросил недавно друг «как мне это все пережить?». Я сначала объяснял, а потом решил написать статью на Хабр. Рассказанное — услышит один человек, а написанное — прочитают сотни!

Меня, если честно, достаточно сильно раздражают всевозможные застолья. Потому что гораздо приятнее посидеть с паяльником или читая книгу, а не "… хорохорясь, ерепенясь и валяясь, как колода..." провести выходные. Но традиции-с, будь они неладны, формировались столетиями и не умея пить — бывает достаточно сложно вписаться в коллектив, найти нужный подход и т.д. Особенно грешат этим делом всевозможные руководящие кадры из старого поколения. Что же делать тем, для кого алкоголь и необходимость его употреблять — это просто лишняя головная боль? Самый простой ответ — НЕ ПИТЬ, но на практике полностью это очень сложно реализовать. Эффективнее в наших реалиях принять тезис «алкоголь — просто инструмент» и учиться с ним правильно работать и использовать для решения своих задач с минимизацией ущерба для здоровья.

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

Читать дальше →
Всего голосов 155: ↑119 и ↓36+118
Комментарии478

Как сделать первые шаги в робототехнике?

Время на прочтение3 мин
Количество просмотров57K


Роботизация и автоматизация становятся всё востребованнее, и многим хотелось бы научиться создавать подобные системы и устройства. Но с чего начать, как освоить азы? Мы сделали для вас небольшую подборку русскоязычных и англоязычных YouTube-каналов с учебными материалами и методическими пособиями по робототехнике.
Всего голосов 37: ↑37 и ↓0+37
Комментарии6

Как браузер помогает товарищу майору

Время на прочтение6 мин
Количество просмотров147K
Знаете, когда я почти нечаянно обнаружил, читая прекрасную книгу Дмитрия Кетова «Внутреннее устройство Linux» (и это не реклама), что каждый скачанный нами файл из Интернета с легкой руки браузера оставляет в расширенных атрибутах файла (в inode файла, не в самом файле) как минимум полную ссылку на то откуда он был скачан, я пришел в легкое возбуждение и хотел тут же броситься спасать мир. Позже, немного изучив этот вопрос, почитав «коммиты» и «комменты», говорившие, что этой возможности, встроенной в ядро GNU/Linux, как минимум уже около 10 лет, что ею пользуется не только браузеры, но и, к примеру, популярная утилита wget (curl нет), и что эта вещь считается чуть ли не нормой в Linux (и, как выяснилось позже, в MacOS), то я немного подуспокоился. Одно не давало мне покоя: поиск ключевого слова getfattr в google по сайту «Хабра»: site:https://habr.com getfattr, равно как и по ЛОРУ: site:https://linux.org.ru getfattr ничего толком не дал. «Значит» — подумал я — «эта тема еще особенно не обсуждалась». — Что же, тогда пришло время ее обсудить, но для начала пришлось немного по-исследовать. И вот что я обнаружил:

image
Читать дальше →
Всего голосов 265: ↑246 и ↓19+227
Комментарии322

Тайм-менеджмент, или Эффективное управление хаосом

Время на прочтение11 мин
Количество просмотров73K
Каждый в той или иной степени ощущал нехватку времени, давление сроков, испытывал стресс от вынужденной спешки и зарекался: уж в следующий раз я точно буду тщательнее следить за временем, смогу заранее всё запланировать, не буду распыляться на много задач или, наоборот, превращусь в супермена и переделаю все дела сразу. Так какая же стратегия наиболее эффективна? Спешить или не спешить? Делать последовательно или параллельно?   

Источник
Читать дальше →
Всего голосов 73: ↑70 и ↓3+67
Комментарии61

Мастер-класс «Почему Стив Джобс любил шрифты» (Алексей Каптерев)

Время на прочтение19 мин
Количество просмотров217K


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




Шутка, написанная гарнитурой Times, на 10 % смешнее той, что написана гарнитурой Arial. Почему? Чёрт знает. Лучшее объяснение, которое я видел: юмор ассоциируется с агрессией, с остротой, с остроумием — а Times выглядит более острым, чем Arial.


Ещё один любопытный эксперимент, в котором участвовало 45 тыс. человек. Заходишь на сайт, тебе показывают статью Дэвида Дойча, британского физика. В статье автор пишет, что сегодня очень трудно внезапно умереть. Например, от инфекционного заболевания или в уличной драке. Лет сто назад это случалось намного чаще. Главный вывод статьи — сейчас мир безопасен как никогда. В среднем, конечно, ведь где-то постоянно идут локальные военные конфликты.

Всего голосов 196: ↑194 и ↓2+192
Комментарии100

Рассказ о том, как я ворую номера кредиток и пароли у посетителей ваших сайтов

Время на прочтение11 мин
Количество просмотров168K
Продолжение: Рассказ о том, как не дать мне украсть номера кредиток и пароли у посетителей ваших сайтов
Представляем вам перевод статьи человека, который несколько лет воровал имена пользователей, пароли и номера кредитных карт с различных сайтов.


То, о чём я хочу рассказать, было на самом деле. Или, может быть, моя история лишь основана на реальных событиях. А возможно всё это — выдумка.

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

В результате, скрепя сердце, я решил выложить всё начистоту и рассказать всему миру о том, как я в последние несколько лет воровал имена пользователей, пароли и номера кредитных карт с самых разных сайтов. Возможно, вы — администратор или разработчик одного из них.
Читать дальше →
Всего голосов 319: ↑312 и ↓7+305
Комментарии325

Шаблоны проектирования с человеческим лицом

Время на прочтение32 мин
Количество просмотров511K

image


Шаблоны проектирования — это способ решения периодически возникающих проблем. Точнее, это руководства по решению конкретных проблем. Это не классы, пакеты или библиотеки, которые вы можете вставить в своё приложение и ожидать волшебства.


Как сказано в Википедии:


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

image Будьте осторожны


  • Шаблоны проектирования — не «серебряная пуля».
  • Не пытайтесь внедрять их принудительно, последствия могут быть негативными. Помните, что шаблоны — это способы решения, а не поиска проблем. Так что не перемудрите.
  • Если применять их правильно и в нужных местах, они могут оказаться спасением. В противном случае у вас будет ещё больше проблем.

В статье приведены примеры на PHP 7, но пусть вас это не смущает, ведь заложенные в шаблонах принципы неизменны. Кроме того, внедряется поддержка других языков.

Читать дальше →
Всего голосов 148: ↑134 и ↓14+120
Комментарии98

Flightradar24 — как это работает?

Время на прочтение4 мин
Количество просмотров124K
Наверное каждый, кто хоть раз встречал или провожал родственников или друзей на самолет, пользовался бесплатным сервисом Flightradar24. Это весьма удобный способ отслеживания положения самолета в реальном времени.



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

Восполним этот пробел. О том, как это работает продолжим под катом.
Читать дальше →
Всего голосов 130: ↑129 и ↓1+128
Комментарии190

Как работает Android, часть 1

Время на прочтение8 мин
Количество просмотров224K


В этой серии статей я расскажу о внутреннем устройстве Android  —  о процессе загрузки, о содержимом файловой системы, о Binder и Android Runtime, о том, из чего состоят, как устанавливаются, запускаются, работают и взаимодействуют между собой приложения, об Android Framework, и о том, как в Android обеспечивается безопасность.

Читать дальше →
Всего голосов 92: ↑91 и ↓1+90
Комментарии51

Достижения в глубоком обучении за последний год

Время на прочтение13 мин
Количество просмотров88K

Привет, Хабр. В своей статье я расскажу вам, что интересного произошло в мире машинного обучения за последний год (в основном в Deep Learning). А произошло очень многое, поэтому я остановился на самых, на мой взгляд, зрелищных и/или значимых достижениях. Технические аспекты улучшения архитектур сетей в статье не приводятся. Расширяем кругозор!

Всего голосов 105: ↑101 и ↓4+97
Комментарии29

Полезные книги о разработке мобильных игр на Android и iOS

Время на прочтение8 мин
Количество просмотров42K

image


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


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


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

Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии3
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность