Pull to refresh
57
0
Eugene @eReS

User

Send message

MVP – это не черновой вариант! Точно?

Reading time8 min
Views22K


Что такое MVP?


MVP (minimum viable product — минимально жизнеспособный продукт) – это продукт, который разрабатывается с максимальной экономией денег и ресурсов, как правило, с единственной целью – проверки гипотезы. Гипотеза, как правило, заключается в необходимости и/или полезности этого продукта.


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


Если вы убеждены в обратном, то вам точно стоит остановиться, пересмотреть приоритеты разработки и прочитать эту статью. Стоит уменьшать функционал продукта, но ни в коем случае не пытаться сделать все и сразу, в безумной спешке, упуская важные части функционала и оставляя за собой вереницу багов. Нужно точно определить, какой функционал является основным, а какой не используется в большей части случаев.

Читать дальше →
Total votes 34: ↑27 and ↓7+20
Comments23

Nuklear+ — миниатюрный кроссплатформенный GUI

Reading time6 min
Views19K

Nuklear+ (читается как "Nuklear cross", значит "кроссплатформенный Nuklear") — это надстройка над GUI библиотекой Nuklear, которая позволяет абстрагироваться от драйвера вывода и взаимодействия с операционной системой. Нужно написать один простой код, а он потом уже сможет скомпилироваться под все поддерживаемые платформы.


Я уже писал на хабре статью "Nuklear — идеальный GUI для микро-проектов?". Тогда задача была простой — сделать маленькую кроссплатформенную утилиту с GUI, которая будет примерно одинаково выглядеть в Windows и Linux. Но с тех самых пор меня не отпускал вопрос, а можно ли на Nuklear сделать что-то более-менее сложное? Можно ли целиком на нём сделать какой-нибудь реальный проект, которым будут пользоваться?

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

Митохондрии — современные воззрения на процесс старения, митохондриальная теория старения

Reading time18 min
Views26K


…… потому что бояться смерти есть не что иное, как думать, что знаешь то, чего не знаешь. Ведь никто же не знает ни того, что такое смерть, ни того, не есть ли она для человека величайшее из благ, а все боятся ее, как будто знают наверное, что она есть величайшее из зол. Но не самое ли это позорное невежество – думать, что знаешь то, чего не знаешь? ……
Платон “Апология Сократа”


  1. Как современная наука видит старение?
  2. Есть ли у нас шанс дожить до того момента, когда появится лекарство позволяющее отменить старость и продлить активную жизнь до 120 и более лет?
  3. Что мне делать прямо сейчас?

Попытка дать ответ на эти вопросы под катом, мы продолжаем путешествие по технологиям и понятиям Life extension.

Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments78

Ученые из TU Delft и Boston University представили высокотехнологичную замену гипсу

Reading time1 min
Views11K


Вскоре люди с переломами смогут нормально мыться и не будут испытывать никаких сопутствующих неудобств — все благодаря новой разработке ученых из TU Delft и Boston University.

Гипс не дает коже дышать, что может привести к раздражению и заболеваниям. Поэтому исследователи из TU Delft и Boston University разработали пористый слепок, который будет более комфортным для кожи пациента за счет улучшенной циркуляции воздуха.
Читать дальше →
Total votes 16: ↑13 and ↓3+10
Comments52

Случайное распределение урона в RPG

Reading time9 min
Views29K
image

Для вычисления урона от атаки в таких настольных ролевых играх, как Dungeons & Dragons, используются броски урона. Это логично для игры, чей процесс основан на бросках кубиков. Во многих компьютерных RPG урон и другие атрибуты (сила, очки магии, ловкость и т.д.) вычисляются по похожей системе.

Обычно сначала пишется код вызова random(), а затем результаты корректируются и подстраиваются под нужное игре поведение. В этой статье будут рассмотрены три темы:

  1. Простые корректировки — среднее значение и дисперсия
  2. Добавление асимметрии — отбрасывание результатов или добавление критических попаданий
  3. Полная свобода в настройке случайных чисел, неограниченная возможностями кубиков
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments13

Android и кастомные шрифты или «Да здравствует API 26»

Reading time2 min
Views25K
С приходом API 26 наконец-то закончилось время, когда мы были вынуждены извращаться и писать кастомные View когда дизайнер хотел использовать что-то помимо Roboto.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments5

Забытые временем: малоизвестные советские автомобили

Reading time8 min
Views60K


Принято считать, что советский автопром в целом был весьма скуден по всем фронтам. Советскому автолюбителю чаще всего доставались однотипные, штампованные машины, которые не могли похвастаться ни изысканным дизайном, ни технической составляющей. Но действительно ли это так? Мало кто знает, что иногда на советских автозаводах создавались действительно интересные модели, которые по каким-то причинам не были запущены в серийное производство.
Читать дальше →
Total votes 57: ↑53 and ↓4+49
Comments70

Рецепты под Android: Как вкусно приготовить LayoutManager

Reading time16 min
Views48K
Привет хабр!

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


Читать дальше →
Total votes 35: ↑34 and ↓1+33
Comments4

UX-дизайн: 50 вещей, которые вы наверняка забыли сделать

Reading time8 min
Views37K
«Я не злюсь, я просто разочарован.»
— PM

image


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

Представляем вам чеклист из 50 пунктов для самопроверки. Вот примерные подразделы:

  1. Логин и регистрация
  2. Первый опыт
  3. Важные детали
  4. Запуск
  5. Профиль
  6. Безумные потоки


Total votes 33: ↑26 and ↓7+19
Comments37

Создание синтезатора звуковых эффектов из ретро-игр

Reading time20 min
Views11K
image

Из этой статьи вы узнаете, как создать аудиодвижок на основе синтезатора, способный генерировать звуки для игр в ретро-стиле. Звуковой движок будет генерировать все звуки во время выполнения и ему не требуются никакие внешние зависимости, например, файлы MP3 или WAV. В конечном результате у нас получится рабочая библиотека, которую можно удобно встраивать в игры.

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

В этом туториале используется язык программирования ActionScript 3.0, но применяемые техники и концепции можно легко преобразовать в любой другой язык, предоставляющий доступ к низкоуровневому API работы со звуком.
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments3

Вступила в строй первая в мире ТЭС с отрицательным выбросом CO₂

Reading time4 min
Views24K

Модуль прямого улавливания диоксида углерода из воздуха с башенным охладителем на геотермальной электростанции Хедлисхейди в Исландии. Фото: Climeworks

Человечеству никак не удаётся снизить выбросы парниковых газов и остановить спираль разогрева планеты из-за парникового эффекта. Политики договариваются хотя бы удержать количество CO₂ на нынешнем уровне, чтобы спасти планету от самых разрушительных последствий глобального потепления. Но у них не слишком получается: последние 200 лет углекислый газ продолжает накапливаться в атмосфере со скоростью примерно 4 гигатонны в год. Накопление не останавливается. Более того, оно грозит принять необратимый характер, когда выделения газа из почвы начнут расти с ростом температуры, ещё больше раскручивая спираль. Сейчас растения и растения Земли не в силах переработать, а мировой океан — растворить то количество CO₂, которое выбрасывают земные ТЭС и транспорт на ДВС.

Некоторые учёные считают, что нужно не только полагаться на природу, но и вносить активный вклад в очистку воздуха, иначе природа не справится: сейчас растения и деревья перерабатывают в разные годы от 20 до 80% выбросов CO₂. Так вот, учёные предлагают активнее вводить в строй модули прямого улавливания диоксида углерода из воздуха. Они связывают атмосферный CO₂ и откладывают его в базальтовую породу, то есть загоняют под землю, откуда он и появился.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments78

Голландский стартап учит ворон обменивать окурки на еду

Reading time3 min
Views51K


Сигаретные окурки — один из главных источников мусора на планете. Иногда на улице вообще сложно найти чистое место: окурки везде — на дорогах, в парках, на траве, прямо под ногами. Ежегодно люди скуривают 4,5 триллиона сигарет, и немалая их часть выбрасывается мимо мусорных контейнеров. Только в Нидерландах каждый год на улицы попадает более 6 млрд окурков.

Около 98% сигаретных фильтров изготовляется с использованием пластиковых фильтров (ацетата целлюлозы), у которого срок разложения составляет до 10-12 лет.

Голландские активисты придумали оригинальное решение проблемы. А что если научить собирать окурки самых умных птиц, которые и так везде шныряют по окрестностям — ворон? Так родился open-source проект Crowbar.
Читать дальше →
Total votes 98: ↑97 and ↓1+96
Comments338

Kali Linux: упражнения по защите и мониторингу системы

Reading time7 min
Views29K
→ Часть 1. Kali Linux: политика безопасности, защита компьютеров и сетевых служб
→ Часть 2. Kali Linux: фильтрация трафика с помощью netfilter
→ Часть 3. Kali Linux: мониторинг и логирование

В предыдущих трёх материалах мы рассказали о защите Kali Linux, о фильтрации трафика, о мониторинге. Сегодня подведём итоги и представим вашему вниманию несколько упражнений. Здесь приведён перевод разделов 7.6 и «Упражнения» главы 7 книги «Kali Linux Revealed».

Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments0

Как искусственный интеллект поможет спасти мир?

Reading time6 min
Views9.4K


В 2100 году многие наши страхи, описанные как футурологами, так и фантастами, могут стать реальностью. Земля разрушена, Тихий океан покрыт слоем пластика. Люди погрязли во вражде, разрыв между бедными и богатыми продолжает расти.

Представим, что в 2100 году машины стали умными, действительно умными и захватили мир. После тщательного анализа взаимоотношений человечества и окружающей среды компьютерные правители решили избавиться от людей, прежде, чем люди уничтожат Землю окончательно. В общем, мрачноватая картинка, хотя к такому сценарию и склоняются многие футурологи и писатели-фантасты. Конечно, все может быть не так страшно. Так чего можно ожидать от ИИ?
Читать дальше →
Total votes 25: ↑18 and ↓7+11
Comments28

Разработчики ИИ вдохновляются мозгом крыс

Reading time11 min
Views7.7K
imageСегодняшние системы с искусственным интеллектом могут разгромить людей-чемпионов в таких сложных играх, как шахматы, го и техасский холдем. В симуляторах полёта они могут сбивать лучших пилотов. Они превосходят людей-докторов в создании точных хирургических стежков и постановке диагнозов рака. Но в некоторых случаях трёхлетний ребёнок легко обставит лучший ИИ в мире: когда соревнование идёт связано с обучением, настолько рутинным, что люди даже не подозревают о нём.

Такая мысль пришла в голову Дэвиду Коксу [David Cox] – нейробиологу из Гарварда, эксперту по ИИ, гордому отцу трёхлетней дочки – когда она, заметив в музее национальной истории длинноногий скелет, показала на него пальцем и сказала: «Верблюд!» Единственная её встреча с верблюдом происходила за несколько месяцев до того, когда отец показывал ей рисованного верблюда в книжке с картинками.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments24

Почему роботы должны научиться отказывать нам

Reading time7 min
Views11K

Нужно волноваться не за машины, не подчиняющиеся командам. Злонамеренные люди и неправильно понятые команды – вот, что должно внушать опасения.




HAL 9000, разумный компьютер из «Космической одиссеи» предсказывает зловещее будущее, в котором машины, наделённые интеллектом, не признают главенство человека. Захватив контроль над космическим кораблём, и убив почти всю команду, HAL отвечает на приказ возвращающегося космонавта открыть шлюз спокойным голосом: «Прости, Дэйв, но, боюсь, я не могу этого сделать». В недавнем НФ-триллере «Из машины» соблазнительный гуманоид Эва обманом заставляет несчастного молодого человека помочь ей уничтожить её создателя Нэйтана. Её махинации подтверждают мрачные предсказания Нэйтана: «Однажды ИИ посмотрят на нас так же, как мы смотрим на ископаемые скелеты на равнинах Африки. Прямоходящие обезьяны, живущие в пыли, с грубым языком и инструментами, чьё вымирание неизбежно».
Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments32

Логика сознания. Часть 7. Самоорганизация пространства контекстов

Reading time26 min
Views23K

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

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

Правила трактовки зависят от тех сопутствующих обстоятельств, в которых мы пытаемся дать интерпретацию информации. Эти обстоятельства принято называть контекстом, в котором трактуется информация.

Кора мозга состоит из нейронных миниколонок. Мы предположили, что каждая миниколонка коры — это вычислительный модуль, который работает со своим информационным контекстом. То есть каждая зона коры содержит миллионы независимых вычислителей смысла, в которых одна и та же информация получает свою собственную трактовку.

Был показан механизм кодирования и хранения информации, который позволяет каждой миниколонке коры иметь свою полную копию памяти о всех предыдущих событиях. Наличие собственной полной памяти позволяет каждой миниколонке проверить, насколько ее интерпретация текущей информации согласуется со всем предыдущим опытом. Те контексты в которых трактовка оказывается «похожа» на что-то ранее знакомое составляют набор смыслов, содержащихся в информации.
Total votes 37: ↑35 and ↓2+33
Comments37

12 млрд реквестов в месяц за 120$ на java

Reading time6 min
Views27K
Когда Вы запускаете свой продукт — Вы совершенно не знаете, что произойдет после запуска. Вы можете так и остаться абсолютно никому не нужным проектом, можете получить небольшой ручеек клиентов или сразу целое цунами пользователей, если про Вас напишут ведущие СМИ. Не знали и мы.

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

Упрощенно задача выглядела так — нужно соединить микроконтроллер с мобильным приложением через интернет. Пример — нажимаем кнопку в приложении зажигается светодиод на микроконтроллере. Тушим светодиод на микроконтроллере и кнопка в приложении соответственно меняет статус.

Так как мы стартовали проект на кикстартере, перед запуском сервера в продакшене у нас уже была довольно большая база первых пользователей — 5000 человек. Наверное многие из Вас слышали про известный хабра эффект, который положил в прошлом многие веб ресурсы. Мы, конечно же, не хотели повторять эту участь. Поэтому это отразилось на подборе технического стека и архитектуре приложения.

Сразу после запуска вся наша архитектура выглядела так:



Это была 1 виртуалка от Digital Ocean за 80$ в мес (4 CPU, 8 GB RAM, 80 GB SSD). Взяли с запасом. Так как “а вдруг лоад пойдет?”. Тогда мы действительно думали, что, вот, запустимся и тысячи пользователей ринут на нас. Как оказалось — привлечь и заманить пользователей та еще задача и нагрузка на сервер — последнее о чем стоит думать. Из технологий на тот момент была лишь Java 8 и Netty с нашим собственным бинарным протоколом на ssl/tcp сокетах (да да, без БД, spring, hibernate, tomcat, websphere и прочих прелестей кровавого энтерпрайза).

Все пользовательские данные хранились просто в памяти и периодически сбрасывались в файлы:

try (BufferedWriter writer = Files.newBufferedWriter(fileTo, UTF_8)) {
  writer.write(user.toJson());
}

Читать дальше →
Total votes 58: ↑56 and ↓2+54
Comments64

Как заставить PostgreSQL считать быстрее

Reading time15 min
Views23K

Источник фотографии


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


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


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

Мы проанализируем решения для каждой конкретной ситуации, а также сравним их скорость и потребление ресурсов. Разобрав ситуацию с централизованной БД, мы воспользуемся Citus, чтобы продемонстрировать параллельное выполнение count в распределенной базе данных.

Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments5

Поднимая ставки: Кто должен получить долю в вашем стартапе и какую?

Reading time5 min
Views3.9K
Цифры говорят за себя. Индия с более чем 4200-ми стартапов является третьей по величине предпринимательской экосистемой. Согласно отчёту NASSCOM, индийские стартапы вышли на новый уровень, благодаря увеличению количества частного капитала, ангелов-инвесторов и венчурных капиталистов на 100%. Более того, за прошедший год объем финансирования вырос на 125%.

image

В то время как эти цифры радуют сами стартапы, они также несут с собой необходимость разделения акционерного капитала между заинтересованными лицами и определения, как разделить деньги между учредителями, инвесторами, работниками и консультантами.
Читать дальше →
Total votes 10: ↑7 and ↓3+4
Comments5

Information

Rating
Does not participate
Location
Украина
Registered
Activity