• Как удобнее всего спроектировать хранение данных в приложении, с возможность их обновления/добавления?

    kshnkvn
    @kshnkvn
    yay ✌️ t.me/kshnkvn
    Только один недостаток - это большой начальный размер приложения, если данных будет очень много.
    В целом для любого "контентника" лучше всего хранить данные локально, а обновлять базу с обновлением самого приложения в gplay.
    Ответ написан
    1 комментарий
  • Какая архитектура должна быть у простого апп для показа данных, полученных из json?

    По архитектуре посоветовал бы посмотреть сюда https://telegra.ph/Android-Architecture-06-02
    Любая архитектура нужна для того, чтобы упрощать, если у вас 2 экрана без намеков на расширение - то я не уверен, что там нужна какая-то архитектура, а если вы хотите просто "попробовать" как имплементить каждую из них, то лучше на 2х артихектурах и сделать (в разных ветках например) и "почувствовать разницу", как говориться :)
    Ответ написан
    Комментировать
  • Какая архитектура должна быть у простого апп для показа данных, полученных из json?

    @EvgeniiR
    https://github.com/EvgeniiR
    По сути функционала там - Gateway к апишке и Presenter какой-нибудь. Это можно явно и выразить. Среди кучи кучи хуков(protected onSomethingHappened()) и статических вызовов Utils сложновато проследить поток выполнения. (Utils выпилить).

    Ну и по мелочи:
    - Выпилить кучу закомментированных строк
    - Привести нейминги к единому стилю, желательно без всяких префиксов
    - Не обрабатывать одни и те же условия по нескольку раз в рамках приватных методов одного класса.
    Ответ написан
    2 комментария
  • Как сделать или где найти решение, для показа указателя на кнопку, после 5 минут пребывания пользователя на сайте?

    dimastik1986
    @dimastik1986
    учусь
    хех, вроде не сложно если чисто на странице, а если по всему сайту, то уже посложнее, но тут смотря как у вас сайт устроен, а вообще например вот половина нужного вам кода
    Ответ написан
    2 комментария
  • Как передать из сервиса картинку в формате BLOB поля БД в ImageView android устройства?

    zagayevskiy
    @zagayevskiy Куратор тега Java
    Android developer at Yandex
    Всё это хрень. Не храни картинки в бд. Храни файлы и пути к ним. Тем более на Андроиде, размер курсора ограничен, и подгрузки на мейнтреде будут, а значит - тормоза. Отдавай в джсоне тоже пути. Грузи в Андроиде с помощью специальных либ. Glide, picasso, fresco, типа того.
    Ответ написан
    3 комментария
  • Какая из областей программирования, предположительно, в будущем не сильно измениться?

    AgentProvocateur
    @AgentProvocateur
    для человека, который хочет иметь досуг, это не есть хорошо.

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

    Самое рациональное с такими запросами - выбрать сферу деятельности, отличную от IT. Есть такой стереотип, что разработка - сфера "ноулайферов", для которых сидеть от рассвета до заката перед монитором (за изучением нового фреймворка, языка, за коммитами в опенсорс и т.д.) - и есть лучший в мире досуг. И типа все, кто против такого образа жизни, будут всегда отставать от "ноулайферов" в данной сфере. Бытует мнение, что это нифига не стереотип))

    Работодателями, кстати, тоже поддерживается такой образ, и предпочтение отдается не тому, кто владеет технологией и исправно работал по ней с 9 до 17 в какой-то компании N лет, а кто принесет на собеседования звездный аккаунт гитхаба, собственные проекты, ссылки на публикации, портфолио и прочие признаки отсутствия личной жизни. Иначе поставят клеймо "невовлеченный" и услышишь "мы вам перезвоним".

    Можешь представить себе такую ситуацию в строительстве, медицине, инженерии, юриспруденции и т.д.? Вряд ли, потому что такой адок творится только в IT - сфере с "острейшей нехваткой кадров"))

    Что касается фронтенда - до 2013 года об этих фреймворках знать никто не знал, и за какие-то 3-4 года уже десяток подобных хайпанул и вышел из моды. Впереди webassembly и черт знает что еще. iOS? Такая стабильная сфера типа? До 2007 года еще более стабильными были java-мидлеты и приложения под symbian...где они сейчас?)) Поищи на тостере вопросы ios-спецов с 5-летним стажем на тему "Куда делись заказы? Почему нет работы?", много интересного узнаешь про "стабильность")) Остается, как выше советовали - унылый и громоздкий энтерпрайз, там не так сильно лихорадит.

    IT - одна из сфер, где чтобы оставаться на месте, нужно бежать со всех ног (точнее, изо всех сил просиживать дни-недели-годы за монитором). Если тебя не прёт эта перспектива уже сейчас, на берегу, то делай выводы:)
    Ответ написан
    Комментировать
  • Как побороть боязнь чистого листа?

    @larionov_n
    1) Начните с простого изучения языка на CodeAcademy.com. Java - слишком сильно завязан на ООП. Выбирайте - Python, он проще для начала. Пройдите все задания на академии.
    2) Изучите мат.часть и принцип работы встроенных в язык базовых функций и конструкций (Идеально желательно).
    3) Попробуйте сфокусировать свое мышление не на результат (Готовая программа, игра, редактор), а на последовательность действий с помощью которых вы напишите одну функцию (Но она будет идеально выполнять свою единственную задачу).
    4) Необходимо понимать, что у нас есть данные и методы работы с данными. Для этого вам нужно изучить структуры данных и лучшие практики по работе с ними. (В помощь школьный PASCAL - Олимпиадные задачи, к примеру реализация алгоритма быстрого поиска, найти меньший элемент, наибольший). - Советую на это потратить больше всего сил. При реализации какого либо алгоритма, советую на бумажке подставлять значения вместо переменных и самому его проигрывать в голове.
    5) Изучите основные алгоритмы - Только после того как вы будете готовы работать со структурами данных и будете уверенны в знании выбранного языка. Советую перед этим прочитать книги по множествам, вспомнить базовую алгебру, четко самому вывести понятие конечной суммы в математике, логарифма. - Как минимум. Начинайте читать Вирта. (Это тяжело но помогает научиться думать как следует).
    6) Читайте SourceCode, это самый интересный и самый полезный вариант для получения представления о структуре программ. С библиотек не советую начинать. Когда будет сами уже писать маленькие программы без нужды заходить в гугл или stackoverflow. Можете переходить на библиотеки. Зарегистрироваться в GitHub и читать открытый код. Когда поймете, что это помогло. Можете стать контрибутором одной из любимых библиотек. (Любой работодатель это ценит).
    7) ООП - После всех пунктов, можете почитать Буча и попробовать труды Банды четырех. Шаблоны проектирования, Мартин Фаулер (Рефакторинг, Шаблоны корпоративных приложений).
    8) БД (Проектирование, выборки, нормализация, SQL язык).
    9) Полет вниз (Переходите на C, потом на C++). Реализуете уже написанные map, reduce, изучаете более подробно структуры данных, алгоритмы, понимаете указатели, работаете с памятью, высчитываете эффективность алгоритмов. Напишите большую программу на C/C++ - которая будет выполнять 20 разных функций (Смотреть API вконтакте, выводить в окно информацию с АПИ, реагировать на кнопки и прочее). Можете попробовать GameDev.
    10) Функциональное программирование.
    11) Параллельное программирование.
    12) Системное программирование (Unix, напишите свой интерпретатор, почитайте книгу драконов, посмотрите как работают различные компиляторы с вашим кодом).
    13) Завалите все кто вас обидел в этом посте.

    Удачи!
    Ответ написан
    1 комментарий
  • После преобразования объекта в json формат (json.dumps), вместо текста отображается экранированные ascii символы. Как исправить?

    JetBaget
    @JetBaget
    Программист Python
    Нужно в вызов json.dumps добавить аргумент ensure_ascii=False, вот так:
    import json
    
    a = 'СЛ-666'
    print(json.dumps(a, ensure_ascii=False))

    Вывод:
    "СЛ-666"
    
    Process finished with exit code 0
    Ответ написан
    2 комментария
  • Что отличает freelance программиста от корпоративного?

    ManWithBear
    @ManWithBear
    Swift Adept, Prague
    Подскажите, что это за стек технологий?

    По опыту своих коллег:
    Потрындеть по 4 часа в день друг с другом, час пить чай/кофе, ещё час материть заказчиков и последний час чтобы написать пару строчек кода.
    Ответ написан
    5 комментариев
  • Какие они, ваши наблюдения и опыт о количестве интересных проектов во фрилансе/удаленной работе?

    syschel
    @syschel
    freelance/python/django/backend
    Самое сложное во фрилансе, не языки и технологии.
    • Умение продавать себя в толпе конкурентов. Это самое сложное. Есть много высококлассных специалистов, сидящих на среднем окладе. Они тупо не могут себя продать даже в другую компанию, а не редко и боятся менять привычное место.
    • Умение грамотно составить или согласовать ТЗ. Так что бы проблема заказчика решалась в оговоренные сроки и бюджет. А не перерастала в вечнострой с кучей доделок и переделок с базовым бюджетом. Когда обе стороны уже ненавидят друг друга. Ибо работая в офисе разработчиком, всё это ведут менеджеры и тим лиды, а вам спускают конкретные задачи. Вам же придётся научиться понимать, что хочет клиент, не разбирающийся в программировании, говоря то или это. Научиться понимать и предлагать те решения, которые будут ему актуальны с учётом технологий и отказывать в том, что сделать не реально. Находить компромиссы, но опять же, объясняя почему так или иначе.


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

    А технологии, языки. Это уже второстепенно. Главное развиваться. Ибо в попсовом PHP можно делать большие проекты и быть специалистом с большой стоимостью часа или на редком python/java сидеть и быдлокодить мелочь за копейки. Главное не метаться, а развиваться и расти, беря более сложные и более длинные проекты. И брать их не с "поддержкой", а с возможностью постоянного развития. Задачи "в стол", не интересны. А вот задачи на перспективу, на развитие. Это уже интересно. Ибо "в стол" это как правило теория(придумали, сделали, забыли). А развивающиеся, это практика на реальных условиях, когда в процессе приходится много менять (менять бизнес модель, менять архитектуру из-за возросших нагрузок, менять технологии).
    Ответ написан
    5 комментариев
  • Насколько глупое решение, бросить все и начать новую IT карьеру в мегаполисе?

    @larionov_n
    Из востребованных направлений: Frontend (NodeJs, RIA SPA, RealTime App, Isomorphic) - В Москве в питере мечтают найти нормального специалиста от 100к зп). Java (Big Data, Machine Learning, Java EE (Hibernate JPA (WEB), Processing (Activity), Playframework, Spring, GlassFish) - В москве Middle Developer от 100к. C++ (OpenGL, OpenCL, Системное программирование, сети, оптимизация) от 100к.

    В чем собственно вопрос? Вы смотрели рынок? HH.RU? Зачем использовать PHP который в 60% используется в интернет магазинах, соц-сетях, сайтиках?

    Если есть математическая база, то можно заниматься спокойно графикой, моделированием процессов, нужна в основном (Линейная алгебра, дискретная математика, тригонометрия, численные методы). Причем эти знания так-же помогут и в области разработки интерпретаторов, компиляторов (Добавиться теория множеств, рядов, булева алгебра), используемые ЯП (C, C++). Так вообще можно и стажером в НИИ какой-нибудь от 60-80к пойти. Опять же если с математикой все окей, то это прямая дорога к опыту использованию и анализу алгоритмов, структур данных на очень хорошем уровне, спортивное программирование открывается для вас.

    Я так думаю вы не спешите рисковать, пробывать, изучать и не знаете себе цену. Впервую очередь надо с этими вопросами разобраться и научиться оценивать информацию самостоятельно и принимать на ее основе взрослые смелые решения.

    Например у меня аналогичные мысли про силиконовую долину, GameDev. Сижу математику изучаю, язык, рынок, компании которые могут быть в будущем потенциальным работодателями, законы страны, рынок труда, книжки читаю о том как пройти собеседование на позицию С++ инженера. И думаю не о зарплате 100к рублей в месяц, а 100к килобачей в год. Но не спешу действовать, так как есть семья, ее тоже придется за собой вести. Пока у вас семейных ограничений нету, советую не медлить, а укреплять свою жизненную, гражданскую позицию, получать интересный опыт и решать самому задачи дома, а не ждать пока вы придете в компанию и вам придумают интересную задачу за интересные деньги.
    Ответ написан
  • Насколько глупое решение, бросить все и начать новую IT карьеру в мегаполисе?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    по специальности связной с математикой
    идите в конторы, которые занимаются моделированием процессов, обработкой изображений и/или аналитикой больших массивов данных.
    Ответ написан
    3 комментария
  • Как узнать, появился ли элемент на странице?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Отслеживаем появление нового узла внутри целевого узла Как отловить создание нового IFrame на странице?
    Отслеживаем изменение атрибутов Как отследить появление класса у элемента?
    Ответ написан
    2 комментария
  • Как вызвать метод объекта, обрабатывающий ещё не существующий элемент?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Зачем вы отслеживаете событие в body? Раз уж используете всплытие, так делайте это правильно, а не наполовину.
    И уж если обращаться к body, то вот так $(document.body).

    var obj = {
    	show: function () {
    		$(document).on('mouseover', 'div', function () {
    			//this — это div
    			...
    		});
    	}
    }
    obj.show();
    Ответ написан
    3 комментария
  • Что изучать веб-программисту самоучке, кроме самого языка?

    @business-gl
    Немного не в тему, но может быть очень полезно:
    1) Проверить свою память и ее детальность
    Критичность некоторых деталей зачастую требует удержания их постоянно в поле внимания.
    Также количество информации в современном мире, в частности в интернете - очень велико и обрабатывать и осмысливать каждый кусочек может быть очень полезно, но очень уж долго. Поэтому хорошая память в купе с быстрым чтением пригодится.

    Тут может быть полезна книга Уильяма Аткинсона "Наука самосовершенствования и влияния на других" - немного устаревшая но нужная, как 101 курс можно взять ее сокращение от Эксмо Москва 2012 (то же название, но приписка на 7 стр. "Под редакцией д-ра Артура Пелла")

    2) Умение концентрации, сосредоточенности и воли
    Думаю понятно для чего, но для наглядности объясню. Все слышали про Юрия Долгорукого который умел делать одновременно несколько дел, но к счастью люди обычно обладают такой управляемой шизофренией. Сколько-бы процентов мозга мы не использовали, это не имеет значения до тех пор пока био, нейро науки не научатся увеличивать это количество без последствий. Поэтому можно считать "выносливость" и "силу" мозга конечной и медленно восполняемой -> очень важно, как мы их используем, это дает понимание, что отвлечение на посторонние вещи (например музыку во время работы (не для музыкантов)) может сильно сказаться на качестве конечного продукта мысли.
    Как раз тут и нужны:
    концентрация - для продуктивности, мобилизации сил
    сосредоточенность - чтобы не отвлекаться и не распылят собственные силы
    воля - чтобы отсекать неуместное в данный момент, но вероятно ценное для нас в общем. Тут то и пригодится память, чтобы потом восстановить идею
    3) Информация и ее устройство
    Очень важно концептуальное понимание, а не прямое заучивание... зазубривание
    Организация информации - важный навык (представьте себе что в интернете есть только персональные странички с информацией без таких аккумулирующих сайтов, как Хабр)

    Мастерство
    В общем чтобы стать по настоящему Мастером своего дела нужно наложить на себя ограничения, не в плане что если хочешь стать программистом, то не качаться на качелях, а ограничение области работы (многие наверно помнят на начале бума фрилансеров, они хватались за все что угодно и в итоге мало к чему приходили), также в смежных областях не позорно оставаться Учеником или Подмастерьем.

    Еще стоит посмотреть "Athene's theory of EVERYTHING" 2011 для общей картины, стоит заметить что русский перевод в некоторых частях слишком волен и обобщен, замена некоторых фразеологизмов может сильно поменять на восприятие фильма в целом. Этот фильм может дать небольшое представление о современной научной мысли о работе мозга. Сам я этот фильм смотрел в течении трех суток, по частям, для лучшего понимания и осмысливания.

    PS Это все нужно, немного банально и заезженно, но на мой взгляд довольна важно и полезно для любого специалиста интеллектуального труда.
    PPS Пока писал об этом подумал может стоит написать подробнее и оформить в виде статьи для Хабра? Если бы вы хотели бы прочитать об этом, то пожалуйста задайте пару вопросов и пожеланий в ЛС, что хотели бы увидеть и о чем прочитать.
    Ответ написан
    Комментировать