Как стать автором
Обновить
1
0
Артур @zilopop

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

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

LJV: Чему нас может научить визуализация структур данных в Java

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

Эта статья является пересказом моего доклада на Java-конференции SnowOne 2021 года. LJV — проект, созданный в 2004 году как инструмент для преподавания языка Java студентам. Он позволяет визуализировать внутреннее устройство структур данных. В этом докладе я запускаю LJV на разных структурах (от String до ConcurrentSkipListMap) в разных версиях Java и разбираю, что там внутри, как оно менялось от версии к версии, и как это всё работает.


image

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

Разработка приложения на Flutter с нуля до релиза: Идея + Базовая инфраструктура

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

Привет! В данном цикле статей я хотел бы показать, как может происходить создание приложений с использованием Flutter. У меня есть несколько Open Source решений, которые будут использованы в данном приложении. Что из этого получится - увидим в скором будущем.

Если долго мучаться...
Всего голосов 25: ↑25 и ↓0 +25
Комментарии 5

Аргументы против использования фрагментов в Android

Время на прочтение 10 мин
Количество просмотров 33K
Недавно я выступал на конференции Droidcon в Париже с докладом (оригинал на французском), в котором рассматривал проблемы, возникшие у нас в Square при работе с фрагментами и возможности полного отказа от фрагментов.

В 2011-м мы решили использовать фрагменты по следующим причинам:

  • Тогда мы ещё не поддерживали планшеты, но знали, что когда-нибудь будем. Фрагменты помогают создавать адаптивный пользовательский интерфейс, и потому казались хорошим выбором.
  • Фрагменты являются контроллерами представлений, они содержат куски бизнес-логики, которые могут быть протестированы.
  • API фрагментов предоставляет возможность работы с backstack'ом (в общих чертах это выглядит так же, как и работа со стэком Activity, но при этом вы остаётесь в рамках одной Activity).
  • Так как фрагменты построены на обычных представлениях (views), а представления могут быть анимированы средствами Android-фреймворка, то фрагменты могли в теории дать нам возможность использовать более интересные переходы между экранами.
  • Google рекомендовал фрагменты к использованию, а мы хотели сделать наш код как можно более стандартным.

С 2011-го года много воды утекло, и мы нашли варианты получше.
Читать дальше →
Всего голосов 14: ↑13 и ↓1 +12
Комментарии 15

Создание архитектуры программы или как проектировать табуретку

Время на прочтение 25 мин
Количество просмотров 679K
Взявшись за написание небольшого, но реального и растущего проекта, мы «на собственной шкуре» убедились, насколько важно то, чтобы программа не только хорошо работала, но и была хорошо организована. Не верьте, что продуманная архитектура нужна только большим проектам (просто для больших проектов «смертельность» отсутствия архитектуры очевидна). Сложность, как правило, растет гораздо быстрее размеров программы. И если не позаботиться об этом заранее, то довольно быстро наступает момент, когда ты перестаешь ее контролировать. Правильная архитектура экономит очень много сил, времени и денег. А нередко вообще определяет то, выживет ваш проект или нет. И даже если речь идет всего лишь о «построении табуретки» все равно вначале очень полезно ее спроектировать.

К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».

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

Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
Читать дальше →
Всего голосов 88: ↑85 и ↓3 +82
Комментарии 45

Material Design: на Луну и обратно

Время на прочтение 11 мин
Количество просмотров 386K
“Это унылое диалоговое окно действительно нужно?”



В этой статье я изложил главные принципы Material Design и дал советы по их воплощению. Текст написан по следам мастер-класса для разработчиков, который мы, Роботы, устраивали совместно с российским офисом Google (Think Mobile).


Когда-то все продукты Google выглядели по-разному плохо. Даже один продукт на разных платформах выглядел неконсистентно.

Все стало меняться в 2011 году, когда в Google начали усиленно работать над унификацией визуальной части экосистемы своих продуктов и назвали все это Project Kennedy.

При чем тут Кеннеди?
Легенда такова: президент Кеннеди инициировал программу полёта человека на Луну (если верить, что этот полёт когда-либо был). А большой начальник в Google Ларри Пейдж исповедует принцип, что продукты нет смысла улучшать на 10% — они должны быть в 10 раз лучше, чем у конкурентов. Если уж запускать продукт, то сразу на Луну. Вот и здесь было решено круто всё переделать.

Читать дальше →
Всего голосов 146: ↑135 и ↓11 +124
Комментарии 120

10 ошибок, которые я совершил при запуске двух интернет-магазинов (и как не допускать этих ошибок)

Время на прочтение 8 мин
Количество просмотров 209K
Каждый день открываются и закрываются интернет-магазины. Причины выхода из бизнеса могут быть разные: проблемы с конкуренцией, логистикой, маркетингом. В статье мы рассмотрим 10 ошибок, которые совершил Шаббир Нураддин при запуске двух интернет-магазинов.

image

Работа в e-commerce дала мне лучший практический опыт в жизни. Те вещи, которые я узнал, запуская онлайн-бизнес не рассказывают на лекциях MBA или других обучающих курсах.

Все ошибки, которые я совершил позволили мне понимать бизнес-задачи лучше, и я поделюсь своим опытом, чтобы вы не наступали на те же “грабли” и смогли прийти к успеху быстрее.
Читать дальше →
Всего голосов 38: ↑32 и ↓6 +26
Комментарии 24

Делаем собственную индикацию о входящем звонке

Время на прочтение 4 мин
Количество просмотров 46K
После последнего поста о нашем Android-приложении у некоторых читателей статьи возник вопрос, как именно показать собственную информационную плашку во время звонка? Ну что же, сегодня мы ответим на этот вопрос.
Пст, хотите немного java-кода?
Всего голосов 35: ↑27 и ↓8 +19
Комментарии 16

Мелочи мышления или статья о дендритных шипиках

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


Несколько месяцев назад был опубликован цикл статей под общим названием «Логика мышления». Оптимистично планировалось продолжить его через месяц-другой. Но жизнь внесла свои коррективы. Моделирование паттерно-волновой модели коры дало настолько интересные результаты, что пришлось на время отложить все остальное, в том числе и написание продолжения цикла для хабра.

Однако, не так давно я написал и выложил на препринт статью (http://arxiv.org/abs/1406.6901). В чем-то она может быть интересна тем, кто ранее заинтересовался волновой моделью. Напомню, что ключевой момент модели – это утверждение, что нейроны способны запоминать и узнавать не один единственный образ, описываемый весами его синапсов, а еще и огромное количество других отличных от этого образа сигналов. Конечно, такое усложнение нейрона идет в разрез со многими существующими теориями и требует более, чем серьезного обоснования. Ниже я, как раз, и попробую описать один из приведенных в статье аргументов в пользу моей модели.
Читать дальше →
Всего голосов 59: ↑56 и ↓3 +53
Комментарии 16

В опасном мире символов…

Время на прочтение 5 мин
Количество просмотров 96K
image

Сейчас, когда компьютерная графика достигает всё новых высот, модели в играх становятся близкими к фотореализму, а порог вхождения в игры становится всё ниже, сложно представить себе, что до сих пор развиваются игры, в которых на первое место выходит интересный геймплей и огромные возможности, а графики… нет. Имя этому жанру — Roguelike.

Цитата с Wikipedia:
Roguelike (читается как ро́углайк; сленг «рогалик») — поджанр компьютерных ролевых игр. Характерными особенностями roguelike являются генерируемые случайным образом уровни и необратимость смерти персонажа — в случае его гибели игроку предлагается начать игру заново. Большинство игр этого жанра было разработано на некоммерческой основе и использует двумерный текстовый интерфейс и управление клавиатурой.

Читать дальше →
Всего голосов 118: ↑104 и ↓14 +90
Комментарии 104

Перестаньте называть себя программистом и другие карьерные советы

Время на прочтение 19 мин
Количество просмотров 258K
Есть один курс, который я бы добавил в программу обучения по всякой инженерной специальности, и он не о компиляторах или сложности алгоритмов. Это “Введение в реальность индустрии”, ибо об этом не говорят и это приводит к никому не нужным обломам. Эта статья претендует стать README.txt для молодого инженера в деле построения карьеры. Ее цель — сделать вас счастливее, заполнив пробелы в образовании относительно того, как работает реальный мир. Я не призываю следовать написанному как подробному руководству, но я надеюсь, что эта информация окажется для вас более ценной, чем то ничто, что вам рассказали об этом в университете.
Читать дальше →
Всего голосов 251: ↑212 и ↓39 +173
Комментарии 175

Русские проекты на Kickstarter в одном посте

Время на прочтение 6 мин
Количество просмотров 125K
Хочу поделиться с вами своим списков всех отечественных (русских, украинских, белорусских…) проектов, которые запускались с разной степенью успешности на КС (Кикстартер). Многие эти проекты я наблюдал в живую, со многими авторами общался, какие-то проекты бэкал (давал им денег).
Проекты постараюсь снабдить полезными комментариями, чтобы вам проще было в них ориентироваться. Но, к сожалению, я застал их не все, и не со всеми авторами вступал в переписку.


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

Космонавты, которые намного круче чем любой герой боевика

Время на прочтение 6 мин
Количество просмотров 100K
От переводчика: В последнее время на первый план выходит техническая часть космических программ. В сети можно найти большое количество статей, рассказывающих о тех или иных научных достижениях, помогающих нам в освоении космоса. Но не стоит забывать и про космонавтов, отважно бросающих вызов звездам. В этой статье автор рассказывает о пяти случаях, которые заставляют как никогда проникнуться уважением к этим покорителям космоса.

Читать дальше →
Всего голосов 229: ↑227 и ↓2 +225
Комментарии 46

Кикстартер: за и против

Время на прочтение 8 мин
Количество просмотров 60K
Сегодня мы поделимся советами по созданию проекта на краудфандинг площадке и опишем процесс на примере кикстартера, так как, к сожалению, он самый популярный и предъявляет наиболее жесткие требования — с остальными площадками проблем при публикации проекта у вас не возникнет.
Читать дальше →
Всего голосов 17: ↑13 и ↓4 +9
Комментарии 8

Робот на солнечных батареях использует песок для 3D-печати

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


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

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

Под катом — видео и FAQ.
Читать дальше →
Всего голосов 87: ↑85 и ↓2 +83
Комментарии 184

NASA Mars Rover успешно примарсился

Время на прочтение 2 мин
Количество просмотров 17K
Марсоход NASA нового поколения успешно примарсился. Запуск космического корабля доставки с марсоходом состоялся с космодрома на мысе Канаверал 26 ноября 2011 года и почти год спустя, сегодня, 6 августа состоялась успешная посадка. Всеобщее ликование в центре управления полетами NASA можно было наблюдать в прямом эфире. Поистине захватывающий момент.


Читать дальше →
Всего голосов 192: ↑185 и ↓7 +178
Комментарии 549

Instagram — фотографии в реальном режиме времени

Время на прочтение 1 мин
Количество просмотров 4.9K
Необычный проект использующий Instagram API создали Marcio Puga, Per Thoresson из Австралии и Mauricio Massaia из Бразилии. В реальном режиме времени мы можем видеть загруженные пользователями сервиса фотографии. На данный момент доступны города Нью-Йорк, Сан-Паулу, Лондон, Токио и Сидней.



Источник
Всего голосов 19: ↑17 и ↓2 +15
Комментарии 19

Миграционный дайджест

Время на прочтение 2 мин
Количество просмотров 8.3K
Вначале было слово. И слово это было «Пора открывать блог „Я мигрирую“ :-)» Затем появился этот блог.

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

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

Для затравочки я собрал ссылки на комментарии к посту «IT-эмиграция на Кипр: личный опыт», в которых собралось некоторое количество впечатлений. Очень надеюсь, что авторы этих комментариев напишут развернутые отчеты и скандальные подробности в этот блог.

Итак, подборочка
Всего голосов 98: ↑86 и ↓12 +74
Комментарии 47

Локализация приложений для китайского рынка

Время на прочтение 5 мин
Количество просмотров 41K
Собственно, ни для кого не секрет, что рынок КНР (а еще и Гонконга и Тайваня) — мечта для любого игропроизводителя. Учитывая азарт китайцев, их внушаемость и распространенность мобильных телефонов среди населения (а также количество абонентов), удачный вход на китайский рынок может принести огромную прибыль.

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


Читать дальше →
Всего голосов 70: ↑66 и ↓4 +62
Комментарии 29

Реактивные акторы на java

Время на прочтение 17 мин
Количество просмотров 42K
Существует много технологий для организации параллельных вычислений, одна из наиболее перспективных и простых (да-да) — модель акторов. Она позволяет частично избавится от насущных проблем параллелизма, вроде состояния гонки, блокирующих ожиданий окончания операций, бесконечных мьютексов и синхронизаций и многого иного. Так же подобный подход существенно облегчает распараллеливание кода.

Знакомится будем на примере фреймворка akka используя язык java (сам akka написан на scala).
Читать дальше →
Всего голосов 28: ↑28 и ↓0 +28
Комментарии 11

Перетягивание «Верблюда» или интеграция средствами Camel. Часть 2

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

Сценарии интеграции с Apache Camel



Сколько вы знаете шаблонов интеграции приложений(EIP)? Сколько из них вы можете использовать?

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

Если вы знакомы с шаблонами, но решаете стоит ли связываться с «верблюдом», то наши примеры помогут разобраться. Если вам интересен путь от сценариев использования к реализации интеграции, то эта статья как раз об этом. Прошу под кат.
Читать дальше →
Всего голосов 17: ↑14 и ↓3 +11
Комментарии 9

Информация

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