Pull to refresh
-6
Алексей@java3000

Администратор windows умеющий в программирование

Send message

10 способов защиты от мошенничества заказчиков

Reading time5 min
Reach and readers10K
Заказчики бывают разные: кто-то денежки подкидывает, а кто-то ими помашет у носа, возьмёт работу и слиняет как жёлтый снег по весне. А ты, юный фрилансер, ищи ветра в поле. Всем, кто ушёл с галеры или до неё вовсе не добрался, посвящается…

image

Читать дальше →

Как управлять гигантами Vol.2: инструментарий для планирования разработки интернет-проектов

Reading time9 min
Reach and readers17K
image

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

Читать дальше →

Выбор и настройка Garbage Collector для Highload системы в Hotspot JVM

Reading time6 min
Reach and readers31K


Введение


При работе в сфере RTB (Real Time Bidding) одной из ключевых характеристик является время, затраченное на показ рекламы пользователю, зашедшему на сайт. Оно складывается из нескольких этапов, один из которых – аукцион за рекламное место, проводимый SSP (Supply Side Platform) между несколькими DSP (Demand Side Platform) системами. В этом случае критической величиной является время, за которое DSP успеет ответить своим инвентарем и денежной ставкой за данный показ. Как правило, верхняя граница этого времени составляет примерно 100 миллисекунд. С учетом того, что для оптимальной производительности рекламных кампаний требуется десятки тысяч запросов в секунду, выполнение данного требования может стать весьма нетривиальной задачей.
Читать дальше →

12 неписаных правил в дизайне

Reading time6 min
Reach and readers24K
От теории сеток до Золотого сечения есть набор основных принципов, которые передаются дизайнерами из поколения в поколение. Эти правила знает каждый хороший дизайнер, их описывают в книгах, рассказывают на курсах и в высших учебных заведениях. Но на равне с писанными, у дизайнеров есть еще неписаные правила. И к сожалению, многие из нас узнает об этом лишь из собственного горького опыта. Но вовсе не обязательно учиться на своих ошибках, тем более, когда есть чужие.

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



1. Узнайте, что на самом деле хочет ваш клиент


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

Читать дальше →

Документация — основа игры

Reading time7 min
Reach and readers35K
В этой статье я хочу рассказать о том, как мы с другом оформляли документацию для своей первой игры. А так же о том, какое большое значение она имела и как помогла сэкономить деньги и время в процессе разработки. В статье я уделю чуть меньше внимания начальным главам дизайн документа, а больше расскажу о нашем опыте написания документации, связанной с контентом игры.


Читать дальше →

Патентный тролль требует деньги у разработчиков, которые используют Google Play

Reading time4 min
Reach and readers44K
Разработчик игр Остин Мейер (Austin Meyer) никогда не думал, что станет жертвой патентного тролля. Конечно, он знал про существование таких компаний, которые занимаются скупкой патентов и строят бизнес на агрессивном использовании интеллектуальной собственности против компаний и инноваторов. Но ему и в голову не могло придти, что патентный тролль подаст в суд лично на него. Причём обвинит в… использовании каталога приложений Google Play!

Впрочем, обо всём по порядку. В 2012 году Остин Мейер выложил в Google Play Store игру-авиасимулятор X-Plane, но вскоре после этого неожиданно получил судебный иск от некоей компании Uniloc. В документе было сказано, что компания Uniloc обладает патентом на саму идею каталога приложений.

Вы прочитали правильно. Юридическая компания заявляет о наличии патента на концепцию «каталога приложений» в принципе. То есть она не имела претензий непосредственно к авиасимулятору X-Plane, а угрожала судебным разбирательством всем компаниям и отдельным разработчикам, которые используют каталог приложений Google Play и выкладывают туда свои программы. Как выяснилось, кроме Остина Мейера, она уже подала ряд других судебных исков против разработчиков популярных приложений для Android, в том числе Minecraft.
Читать дальше →

Импортозамещение в сфере систем хранения данных: где искать российские решения?

Reading time3 min
Reach and readers4.2K
На фоне высокого курса валют и сложной геополитической ситуации, которая может грозить также срывами поставок оборудования или прекращением доступа к технологиям для некоторых российских компаний, заказчики ищут возможные пути минимизации рисков при модернизации инфраструктуры. На первый план выходят решения, способные заменить импорт.

Рассказывает Владимир Колганов, руководитель направления систем хранения данных компании КРОК:
«Мы со своей стороны исследуем рынок, подбирая рабочие варианты с замещающим потенциалом. Так, только за последний год в нашей лаборатории протестировано порядка шести решений различных российских и восточных производителей".

Читать дальше →

Спросите Итана №31: почему мы сделаны из материи?

Reading time10 min
Reach and readers28K

Если в начале существования Вселенной в ней было одинаковое количество материи и антиматерии, почему в сегодняшнем космосе материя доминирует?


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


В конце недели я выбираю лучший из ваших вопросов для колонки “спросите Итана”, и на этой неделе честь предоставляется Джастину Старру, который спрашивает:
Насколько я понимаю, в зарождавшейся Вселенной были равные части материи и антиматерии, в результате чего происходила серьёзная аннигиляция. И как же материя в результате победила?


Джастин спрашивает об одной из величайших нерешённых загадок Вселенной.

Подумайте об этих двух вроде бы противоречащих друг другу фактах:
Читать дальше →

Битва Големов. Как разработать настольную образовательную игру и чего это стоит…

Reading time7 min
Reach and readers11K
Вы крутой геймдизайнер любитель настолок? Вы придумали крутую игру и уверены, что в нее будут играть миллионы играть хотя бы 200-300 человек? Тогда это повествование для вас. А также для всех остальных, кому интересно как идет разработка настольных игр на реальном примере и почему не стоит браться за этот процесс без нужной подготовки.



Немного вводной информации — чтобы издать настольную игру вам нужно продаться в рабство или продать идею издателю и получать роялити с тиража или единовременно или выступить издателем самостоятельно, вложив свои личные средства и собрав средства на крауд-кампании на площадках типа Бумстартера или planeta.ru. Далее в тексте будет много картинок, историй и поучительных моментов. «Мы» по тексту — это наша семейная команда — я, жена и сын. Все вместе — проект ПРОСТОРОБОТ.
Читать дальше →

Динамический blur на Android

Reading time4 min
Reach and readers37K
Информации о том как быстро размыть картинку на Android существует предостаточно.
Но можно ли сделать это настолько эффективно, чтобы без лагов перерисовывать размытый bitmap при любом изменении контента, как это реализовано в iOS?
Читать дальше →

В Чили так много энергии, что потребители получают ее бесплатно

Reading time4 min
Reach and readers67K
Это очень хорошо для потребителей, но плохо для поставщиков энергии



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

Для Чили это не в новинку. В прошлом году была аналогичная ситуация, когда цены на энергию держались на нулевой отметке 192 дня. В этом году рекорд, скорее всего, будет побит. Местные жители и владельцы энергоемких предприятий, конечно, рады. Но все не так радужно, как может показаться — у бесплатной энергии есть и отрицательная сторона. Дело в том, что энергетические компании в Чили принадлежат частному бизнесу, который сейчас не получает ни прибыли, ни дохода. А ведь поддержание энергетической инфраструктуры в рабочем состоянии требует денег.
Читать дальше →

Как мы разработали чат-фреймворк для Android приложения — Chateau

Reading time5 min
Reach and readers12K
Badoo — это прежде всего социальная сеть с удобным полнофункциональным чатом. Однако сами требования к такому чату постоянно растут. Разработчики популярных приложений для сетевого общения все время добавляют новые функции, чтобы угодить пользователям и выстоять в конкурентной борьбе.



Разумеется, Badoo не остается в стороне от этих тенденций. Мы постоянно совершенствуем свой чат и расширяем его функциональность, но возможности существующей кодовой базы и архитектуры едва успевают за требованиями современности. Некогда упорядоченный и хорошо протестированный код разрастается непредсказуемым образом, накапливая «технический долг». Анализируя пути решения этой проблемы, мы столкнулись с дилеммой, которая знакома любому разработчику: переписать код или сделать рефакторинг?
Читать дальше →

Структуры данных: бинарные деревья. Часть 1

Reading time6 min
Reach and readers397K

Интро



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

В своих статьях я буду приводить примеры кода сразу на двух языках: на Java и на Haskell. Благодаря этому можно будет сравнить императивный и функциональный стили программирования и увидить плюсы и минусы того и другого.

Начать я решил с бинарных деревьев поиска, так как это достаточно базовая, но в то же время интересная штука, у которой к тому же существует большое количество модификаций и вариаций, а так же применений на практике.
Читать дальше →

Структуры данных: бинарные деревья. Часть 2: обзор сбалансированных деревьев

Reading time6 min
Reach and readers253K
Первая статья цикла

Интро


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

Java собеседование. Коллекции

Reading time10 min
Reach and readers926K
С недавнего времени у меня появилась настойчивая мысль, что профессиональное развитие сильно замедлилось и это хочется как-то исправить. Да, читаю книги, слушаю курсы, но в то же время приходит и понимание того, что возможно пришло время сменить работу, здесь вроде как все изучено, плавно уходим в рутину. Данная мысль сподвигла меня на рассылку своего резюме в несколько компаний — лидеров рынка. После прохождения собеседования в 3 из них, я решил, как водится внести свои 5 копеек в освещение обширной темы собеседования, а именно технических вопросов по Java коллекциям, с которыми приходится сталкиваться. Да, знаю, читатель скажет: «коллекции — избитая тема, сколько можно», но часть из приведенных ниже вопросов, я задавал своим знакомым разработчикам, которые занимают именно позиции разработчиков («крепких середнячков», по меркам недалекой от Москвы глубинки, которые уверенно справляются со своей работой на практике, а вот в теории скажем так есть пробелы, потому, что работа не требует решения каких-то нетривиальных задач, да и потому что не всем это интересно — изучать как внутри работает структура данных), вызывало растерянность. Думаю, что рассмотренный материал будет не очень интересен разработчикам выше уровня Junior (я попрошу их комментировать, дополнять и критиковать изложенный здесь материал), а вот Junior`ы уверен, найдут в этой статье интересное для себя.
Читать дальше →

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

Reading time3 min
Reach and readers917K
Приветствую вас, хабралюди!

Взбрело мне в голову написать несколько статей, о том как реализованы некоторые структуры данных в Java. Надеюсь, статьи будут полезны визуалам (картинки наше всё), начинающим java-визуалам а также тем кто уже умеет писать new ArrayList(), но слабо представляет что же происходит внутри.



Сегодня поговорим о ArrayList-ах

ArrayList — реализует интерфейс List. Как известно, в Java массивы имеют фиксированную длину, и после того как массив создан, он не может расти или уменьшаться. ArrayList может менять свой размер во время исполнения программы, при этом не обязательно указывать размерность при создании объекта. Элементы ArrayList могут быть абсолютно любых типов в том числе и null.

Поверить на слово

Первые тесты универсальной вакцины против рака прошли успешно

Reading time2 min
Reach and readers55K
image

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

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

Учёные из Майнцского университета имени Иоганна Гуттенберга под руководством профессора Угура Сахина [Ugur Sahin] рассказывают, что вакцина успешно сработала и на мышах с «агрессивно растущими» опухолями. «Такие вакцины изготавливать быстро и недорого,– пишут они. – И антиген практически любой опухоли может быть закодирован в неё. В связи с этим подход к иммунотерапии через наночастицы с РНК можно рассматривать, как новейшую вакцину универсальной применимости».
Читать дальше →

Работа с анимацией. AnimatedVectorDrawableCompat

Reading time4 min
Reach and readers6.6K
В этой стате хотел бы всем рассказать и показать на практике, как можно делать анимацию в Android приложении при помощи AnimatedVectorDrawableCompat, например свои кастомные кнопки, ImageView, FloatingActionButton.

Читать дальше →

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

Reading time6 min
Reach and readers25K
image

Я пишу это с лёгкой печалью, пересматривая мои любимые ролевые игры для Super Nintendo, и понимаю:

современный дизайн пользовательского интерфейса избаловал меня.

И это ощущение довольно распространённое. Читатель Hugon на форуме Quarter to Three пишет:

Когда я думаю о консольных RPG, я вспоминаю страницы с весьма неинформативным описанием персонажа и плохой навигацией. И вспоминаю слёзы радости, если в игре было хотя бы самое простое сравнение предметов."

Спасибо, «прекрасный интерфейс».

В прошлом я не слишком придирался к качеству. Когда я сидел сзади в автомобиле папы и ломал клавиатуру Nokia в попытке не позволить змее съесть свой хвост, мне в голову не приходили более глубокие мысли чем: «ага!», «супер!» или «ааааа!».

Впрочем, заново проходить классические игры — не такое уж неприятное занятие. Кроме мест, над проектированием которых явно никто сильно не напрягался, я заметил несколько вещей, которые сегодня используются в очень популярных приложениях.
Читать дальше →

Книги, которые должен прочитать Java программист: от новичка до профессионала

Reading time4 min
Reach and readers652K

Книги, которые должен прочитать Java программист: от новичка до профессионала


[Примечание переводчика: термины градации «профессионализма» оставлены англоязычные в связи с трудностью их адекватного перевода на русский и несовпадением с привычными Junior-Middle-Senior-Lead. Перевод достаточно вольный — если знаний языка хватает, то лучше читать оригинал, как и советует автор. Оба языка для меня не родные, так что про ошибки сообщайте в личку — исправим. Здесь и далее в квадратных скобках примечания переводчика]

Я заметил, что в последние месяцы я рекомендую одни и те же книги как новичкам, так и опытным разработчикам. Поэтому я решил составить список этих книг. Они составили мне неплохую компанию в процессе моего роста от новичка до сегодняшнего уровня (какой-бы он не был :) )
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Десктоп разработчик, Администратор серверов
Младший
From 110,000 ₽
Java
Java Spring Framework
RESTful WebServices.
PostgreSQL
SQL
Hibernate
Linux
Базы данных
Microsoft SQL Server
Разработка программного обеспечения