• Почему некотрые android приложения запускаются так быстро?

    @tutaf Автор вопроса
    Разобрался. Если собрать релизную apk, то приложение стартует быстрее
    2021-07-21 09:54:50.961 1321-1344/? I/ActivityTaskManager: Displayed com.tutaf.emptyapp/.MainActivity: +479ms
    Ответ написан
    1 комментарий
  • Какие есть хорошие материалы для старта изучения Unity3D?

    @Delfuego
    Начните писать свою игру. Все необходимые знания придут в процессе ковыряния в редакторе, коде, документации и форума.
    Ответ написан
    Комментировать
  • Как перейти на вторую html страницу без перезагрузки?

    Dnebl
    @Dnebl
    Ответ написан
    Комментировать
  • Как перейти на вторую html страницу без перезагрузки?

    В основном механизм завязан не сколько на переход, сколько на замену контента. Т.е у вас на каждой странице есть блок с id="page". Вы по нажатию на ссылку, идете по адресу на другую страницу (читай файл) и забираете разметку из такого же id page. Вставляете ее на текущую страницу. И параллельно с этим меняете историю браузера используя History api. Это в общих чертах принцип работы. Но сразу скажу что не смотря на кажущуюся простоту очень много нюансов возникнет именно с историей. Можно использовать для этого готовые инструменты такие как barba js или swup js
    Ответ написан
    Комментировать
  • Skype? Мобильная разработка?

    @Tiberal
    На Electron написан. По лагам разве не заметно?
    Ответ написан
    Комментировать
  • Как работать с очень длинными списками в JavaScript (angular, react, vuejs)?

    alvvi
    @alvvi
    export default apathy;
    (angular не использует vdom, для него история другая)
    перерисует целиком свой виртуальный dom

    Давайте немного проясним: виртуальный DOM - это грубо говоря js объект содержащий другие объекты.
    При добавлении нового сообщения туда добавится новый объект и весь DOM сравнится со старой версией с помощью diff-алгоритма специфичного для конкретного фреймворка.
    И только результат этого сравнения добавится в реальный DOM.
    Работа с объектом значительно быстрее работы с самим DOM-ом, поэтому чтобы оно начало работать заметно медленее у вас должен быть дикий уровень вложенности или очень большой DOM.

    100 сообщений и 50 контактов - это небольшие цифры, с таким любой из упомянутых фреймворков справится без просадок.

    Вот пример бенчмарков с большим количеством объектов(1000+) для многих фреймворков на примере незамысловатой таблицы:
    www.stefankrause.net/js-frameworks-benchmark6/webd...
    (там же есть ссылка на репо чтобы увидеть как она выглядит)
    Как видите, там в таблицу уже содержащую 10 000 добавляется еще 1000(!) объектов, и многие фреймворки впонле с этим справляются.

    В реальности же, вам вряд-ли придется добавлять такие цифры, потому что подгружают изначально обычно меньшее количество: такое, которое пользователь сможет увидеть в одном экране, все остальное догружается постепенно по мере надобности. То же самое касается вашей истории чата, ее стоит подгружать только за тот период, за который она необходима пользвателю.
    Ответ написан
    1 комментарий
  • Авторизация через соц. сети в концепции SPA?

    @vetsmen Автор вопроса
    Кому интересно решение данной задачи: все предельно просто.
    Сначала создаем pop-up окно, авторизовываемся в нем и редиректимся на нашу страницу прослойку, там мы имеем уже наш jwt токен (или любой другой) и через window.opener мы можем вызвать любой метод в родительском окне. К примеру: window.opener.setToken('{token}'), перед этим определив функцию в родительском окне:
    window.setToken = function(token){ /* записываем наш токен */}
    Ответ написан
    Комментировать
  • Typescript vs ES7?

    vitali1995
    @vitali1995
    Без типизации в крупных проектах будет туго, да и в небольших использовать типизацию приятнее. Я полностью перешёл на TS, который постоянно меня выручает.

    Примеры:
    * В JS изменить название переменной - это целый подвиг. С TS это делает за нас IDE.
    * Забудьте про опечатки - вам не придётся с удивлением обнаруживать их в процессе выполнения и искать причину внезапного undefined.
    * Новые возможности для рефлексии, которые (например) во всю использует Angular.
    Ответ написан
    Комментировать
  • Typescript vs ES7?

    0lorin
    @0lorin
    программист
    Передо мной стоял такой выбор. Выбрал TS, написал два не маленьких бэкенда для мобильных приложений, ни разу не пожалел. Строгая типизация на крупных проектах безбожно рулит ибо автокомплит и рефакторинг средствами IDE. Плюс полноценное ООП без этих ваших прототипов.
    Ответ написан
    1 комментарий
  • Какую литературы вы бы посоветовали для изучения Android разработки в 2017?

    Не слушайте HouseCat.
    The Busy Coder's Guide to Android Development обновляется по мере выхода новых версий JC.
    for Android Studio 2.3, covering the Android SDK through 7.1 and the O Developer Preview
    Ответ написан
    1 комментарий
  • Влияет ли число столбцов таблицы MySQL на производительность?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    У меня в MySQL таблице товаров 100 столбцов с данными
    Я бы всё-таки это делал с использованием типов товаров, которые будут храниться в отдельной таблице, а здесь - только ID-шники на структуры типов. Также, все доп. характеристики - связываются через ID-шники полей-характеристик, которые хранятся тоже в других таблицах.

    В итоге: будет удобно создавать фасетный фильтр (для поиска товаров с определённым набором) и максимально сделать индексацию через ID-полей внутри базы.
    Ответ написан
    2 комментария
  • Влияет ли число столбцов таблицы MySQL на производительность?

    2ord
    @2ord
    Нет, кластеры не обязательно.
    Стоит обратить внимание на колоночные СУБД, решающие проблему оптимального хранения и доступа к данным при большом множестве колонок.
    MonetDB, Druid или, например, развивающийся продукт MariaDB ColumnStore (поддерживается полный SQL) как продолжение развития InfiniDB.

    Добавлено позже:
    Есть одна статья, рассказывающая о способах хранения данных в таблицах в традиционных СУБД:
    Структура таблиц для каталога товаров интернет-магазина
    EAV расшифровывается как Entity–attribute–value или по-русски: объект-атрибут-значение. Она представляет собой модель данных для описания сущностей, в которых количество атрибутов (свойств, параметров) может быть потенциально большим.
    Ответ написан
    1 комментарий
  • Не убьёт ли WebAssembly node.js?

    AMar4enko
    @AMar4enko
    Как уже написали, WebAssembly это возможность использовать оптимизированный байткод для критичных к производительности участков. И, неожиданно, это может привести к еще большему распространению ноды, потому что в рамках реализации стандарта эту фичу запилят непосредственно в v8, откуда она мигрирует в ноду, что позволит использовать WebAssembly на сервере, местами заменив им node-gyp, который не всегда корректен в плане кроссплатформенности.
    Ответ написан
    1 комментарий
  • Какие ресурсы штудировать, чтобы разобраться в Android UI?

    Rou1997
    @Rou1997
    С техническими возможностями Appcompat и прочих библиотек помогут разобраться официальная документация, сайты типа StartAndroid или сайт А. Климова, и разные примеры кода, а пользоваться ими для решения ваших задач, это приходит исключительно с опытом, нигде нет готовых советов индивидуально для вас, ну если только курсы платные какие-нибудь.
    Ответ написан
    Комментировать
  • Нагрузочное тестирование Socket.IO / SockJS?

    urtow
    @urtow
    *nix, python, QA, bagpipe, folk music
    https://github.com/observing/thor

    Вот готовый тул для нагрузки Websocket. Я думаю прикрутить его к Socketio не проблема.
    Ответ написан
    1 комментарий
  • Есть ли учебный материал по паттернам на основе пошагового создания веб-приложения?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Бросайте паттерны. На вашем этапе обучения они пока не нужны. Изучайте принципы (SOLID, GRASP). Учитесь писать тесты, пробуйте TDD/ATDD. И тогда паттерны будут образовываться сами собой.

    Паттерны придумали не для того что бы ими проектировать, они нужны что бы называть ваши решения. Это просто словарь терминов что бы меньше времени приходилось тратить объясняя то или иное техническое решение. Но сначала код а потом паттерны, а не наоборот.
    Ответ написан
    106 комментариев
  • Как в Jackson конвертировать строку в число?

    EugeneP2
    @EugeneP2
    Java Dev
    Вам нужно написать свой JsonDeserializer и указать его в аннотации @JsonDeserialize над тем сеттером поля с которым у вас проблемы

    import com.fasterxml.jackson.core.JsonParser;
    import com.fasterxml.jackson.core.JsonProcessingException;
    import com.fasterxml.jackson.databind.DeserializationContext;
    import com.fasterxml.jackson.databind.JsonDeserializer;
    import com.fasterxml.jackson.databind.ObjectMapper;
    import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
    
    import java.io.IOException;
    
    public class TestJackson {
    
    	Integer a;
    
    	public Integer getA() {
    		return a;
    	}
    
    	@JsonDeserialize(using = StringIntegerDeserializer.class)
    	public void setA(Integer a) {
    		this.a = a;
    	}
    
    	@Override
    	public String toString() {
    		return "TestJackson{a=" + a + "}";
    	}
    
    	public static void main(String[] args) throws IOException {
    
    		ObjectMapper mapper = new ObjectMapper();
    
    		String json = "{\"a\":\"5.666\"}";
    		System.out.println(mapper.readValue(json, TestJackson.class));
    
    		json = "{\"a\":5.666}";
    		System.out.println(mapper.readValue(json, TestJackson.class));
    
    		json = "{\"a\":5}";
    		System.out.println(mapper.readValue(json, TestJackson.class));
    
    	}
    
    
    	public static class StringIntegerDeserializer extends JsonDeserializer<Integer> {
    		@Override
    		public Integer deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
    			String valueAsString = jsonParser.getValueAsString();
    			int integer = (int) Double.parseDouble(valueAsString);
    			return integer;
    		}
    	}
    }
    Ответ написан
    1 комментарий
  • Не могу понять из-за чего ошибка в авторизации через вк?

    Проблема может быть, в некорректном redirect url, возможно, стоит проверить настройки приложения.
    Ответ написан
    5 комментариев
  • Где найти бесплатные текстуры и т.д для создания простенькой игры?

    JohnZoidberg
    @JohnZoidberg
    1. Kenney.nl

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

    2. OpenGameArt.org

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

    3. Untamed.wild-refuge.net

    Отличный ресурс для тех, кто задумывает или уже создает свою RPG.
    При переходе по ссылке справа вы увидите колонку ресурсов. Персонажи, предметы, локации и тому подобное, при нажатии на которых все-все объекты появятся на одной странице, что упрощает и ускоряет выбор. При клике на понравившегося персонажа, открывается ссылка на .png файл, со всеми 3d-проекциями и движениями, что идеально подходит для создания собственных спрайтов.

    4. Crateboy.itch.io

    Отличительная особенность данной коллекции - 8-битная графика городов. Вся библиотека совершенно бесплатна, и всё, о чём просит автор - упомянуть о нём в своей игре (credits).
    Цветовая гамма данной библиотеки является её отличительной особенностью, и при использовании в исходном виде вполне может определить дизайн всего проекта.

    5. Bagfullofwrong.co.uk

    Коллекция материалов, созданных и использованных в различных проектах дизайнером Робом Фероном для Вашего личного пользования.

    6. Gameart2d.com

    Вебсайт, запущенный индонезийским разработчиком игр, с отличным вкусом в области дизайна игр. Хотя большая часть материалов сайта является платной, так же присутствует и бесплатная, в которой Вы можете найти симпатичные изображения. Помимо спрайтов на сайте представлены наборы для создания уровней, GUI и прочее.

    7. Wigdetworx.com

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

    8. Glitchthegame.com

    Создатели проекта Glitch, закрытого в 2012 году решили сделать всю её графическую часть Достоянием общественности (никакие авторские права для использование не требуются). К Вашим услугам более 10,000 изображений восхитительного качества собранные воедино и доступные по одному нажатию.

    9. Dumbanex.com

    Идеально для сайдскроллеров и платформеров
    Множество графики от дизайнера-фрилансера Брента Андерсона. Всё бесплатно при условии упоминания в приложении (Credits).

    10. Reinerstilesets.de

    Бесплатная графика от разработчика игр разработчикам игр. Помимо библиотек на сайте есть неплохие туториалы.

    11. Sharecg.com

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

    12. Roenica.com

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

    13. Blogoscoped.com

    Сам сайт - форум про Гугл и всё, что с ним связанно, но в 2006 году его участник Philip Lenssen выложил на нем около 700 спрайтов, которые теперь распространяются под Creative Commons License

    14. Lostgarden.com

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

    15. Subtlepatterns.com

    Безумное количество фонов и текстур для Ваших игр и приложений. Всё как и прежде бесплатно - только не забудьте поблагодарить автора.

    16. Openclipart.org

    Обширное сообщество с огромными объемами графики. Всё, что сможете найти на этом сайте, совершенно бесплатно. Правда вот поискать придется как следует.
    Ответ написан
    12 комментариев