• Как учить что-то новое и быстро не забывать?

    Merovei
    @Merovei
    Есть бесплатный курс на "Курсере", называется "Учитесь учиться". Сам ещё использую бесплатные сервисы Ankiweb и Ankidroid для интервальных повторений. Помогает, рекомендую.
    Ответ написан
    Комментировать
  • Обучение программированию ребенка?

    @dmitryKovalskiy
    программист средней руки
    Да оставьте вы детей в покое. Ему работать через 15 лет. За 15 лет может изменится индустрия так что программисты будут получать на уровне рядового менеджера по работе с клиентами, а востребовано будет что-то другое. Опять же не факт что ребенку будет это интересно и он захочет этим всю жизнь заниматься. 7 лет? ШУТИТЕ ЧТОЛИ? А через год вместо сказки на ночь - родители будут Страуструпа читать чтоли? Или вместо азбуки - подсунут Шилдта.
    Я начал учиться осознанно в 20. Да, я не стану лидом в Google или Microsoft. Но от того что вы с младых ногтей подсунете ребенку какую-нибудь великую книжку по программированию - не значит что ваш ребенок дотянет хотя бы до меня, забьет. А если вы предложите какой-то вариант книги для обучения детей программирования - могу вас немного расстроить. Все эти продукты сделаны не для того чтобы учить детей, а для того чтобы заботливые родители покупали эти продукты заботясь о будущем ребенка.
    Ответ написан
    4 комментария
  • Зачем нужен Dependency Injection в Android разработке?

    artemgapchenko
    @artemgapchenko
    Начать неплохо бы с понимания того, что такое DI. Обратимся к википедии:

    Внедрение зависимости (англ. Dependency injection, DI) — процесс предоставления внешней зависимости программному компоненту.

    Если выражаться не канцеляритом, а обычным русским языком, то DI - это когда вы своему компоненту (например, классу) предоставляете нужные для него зависимости извне, а не создаете их сами в конструкторе, или через инициализацию в месте объявления поля. То есть не так:

    public class Api {
    	....
    	private final HttpClient client = new OkClient();
    }

    А, например, так:

    public class Api {
    	....
    	private final HttpClient client;
    
    	public Api(@NonNull HttpClient client) {
    		this.client = client;
    	}
    }


    И что нам это даёт?

    Ну, очевидно, нам теперь проще менять зависимости. Нужна вам другая реализация абстрактного класса HttpClient - взяли, и передали её через конструктор, или через метод-setter. В случае с первым куском кода, вам пришлось бы ещё и класс Api переписывать, что в случаях, отличных от тривиальных, может привести к ошибкам. Получается, что ваш класс теперь закрыт от изменений (смотрим Open/Closed Principle).

    Окей, а на практике-то какие бенефиты?

    Во-первых, вы теперь можете написать инициализацию вашей программы через конфигурационные файлы. Скажем, на старте будет читаться простенький текстовый файл, который определяет, какой httpclient использовать, какие настройки доступа к бд применять и так далее, и, исходя из этого, будут определяться зависимости.
    Во-вторых, вам теперь существенно проще писать тесты. Написали вы, скажем, какой-нибудь парсер, который принимает InputStream, содержащий в себе данные json-объекта, как-то хитро его парсит, и выдаёт вам объект вашей бизнес-модели. В приложении этот парсер будет принимать на вход реализацию InputStream'а, которая берёт данные из сети, а в тестах - реализацию, которая просто читает файл с диска (потому что тесты должны выполняться часто и быстро, и ваша задача в тесте - протестировать ваш парсер, а не скорость сетевого соединения).

    Вот, в общем-то, и всё. А Dagger - это просто библиотека, которая автоматизирует ручное внедрение зависимостей, равно как и другие DI-библиотеки.

    P.S. В некоторых случаях чрезмерное увлечение DI может привести к нежелательным эффектам, вроде чрезмерного усложнения кода, поэтому внедряйте аккуратно. Понимание приходит с опытом.
    Ответ написан
    Комментировать
  • Какие есть обучающие ресурсы по фронтенд разработке?

    edward04
    @edward04
    Начинающий ninja frontend
    https://www.youtube.com/channel/UC7enHM_oJRYJOnyJr...
    https://www.youtube.com/channel/UCZeU17nbVfzczAkJV...
    https://www.youtube.com/channel/UCHHw70vvbfyM6xJQo...
    https://www.youtube.com/channel/UCIIt69f5D44s2cdb9...
    tohtml.it/post/74511047203/markup-process

    По нему скучаю искренне и иногда сижу на подоконнику с лате и смотрю на капли дождя, стекающие по стеклу:
    https://www.youtube.com/channel/UCdnFX7mzgup9moXG2...
    Это для общего развития:

    https://stepic.org/course/%D0%90%D0%BD%D0%B0%D0%BB...

    Похожий вопрос:
    Какие задачи нужно уметь выполнять на JS начинающему?

    Ваша библия:
    https://developer.mozilla.org
    Можно докинуть еще:
    webref.ru
    htmlbook.ru
    Просто случайная ссыль
    https://docs.google.com/document/d/1kehaJKKRo7zxYp...
    Еще одна:
    https://github.com/ihorzenich/html5checklist
    Еще какая то штука
    https://github.com/dypsilon/frontend-dev-bookmarks
    Лучшие практики тостеровцев
    Как вы начинаете вёрстку сайта?
    Инструменты
    fredsarmento.me/frontend-tools

    После пары часов выпускания пара из ушей, включить на всю громкость и хоть как то отвлечься от этой жизни
    https://www.youtube.com/channel/UCY0C6A3t3RTUN3BB6...

    На freecodecamp.com неплохо алгоритмы можно потренить

    Ну и конечно
    learn.javascript.ru

    PS
    еще это
    Какие ресурсы с новостями по web-разработки вы знаете?

    PSPS
    Не отвечаю за качество контента под ссылками, может кое что уже outdated.

    https://vk.com/video79753760_171233585

    Удачи, брат
    Ответ написан
    4 комментария
  • Кто-нибудь уже работает через патент "для айтишников"?

    Патент - по сути аналог ЕНВД. Т.е. региональные власти определяют сколько один ИП без сотрудников может заработать за год, берут от этой суммы 6% - получается годовая стоимость патента. Так же нужно понимать, что патентом может пользоваться только ИП, и это не замена УСН (или ОСН), а его дополнение. Т.е. по патентуемым видам деятельности вы платите фиксированную сумму налогов, а по остальным как и раньше 6% с доходов или 15% с доходов за вычетом расходов.

    Работаем по этому патенту с марта текущего года (прощелкали новость). У нас (Томская область) стоимость патента по этому виду деятельности 12000/год, т.е. предполагается, что ИП без сотрудников может за год заработать <=200 т.р.. (сколько вы заработаете фактически, никого не волнует, главное чтобы не больше 60млн.)

    Т.к. ИП без сотрудников ежегодно уплачивает обязательные, фиксированные взносы в ПФР (в 2015 около 21т.р.), и может вычесть 100% этих взносов при уплате налога, выходит, что с дохода в ~350т.р (при УСН 6%). вы уплатите налог, заработали вы эти деньги или нет.

    Соответственно, патент имеет смысл в случае, если ваш годовой доход > 550т.р. (350+200), т.е 45т,р/мес. На мой взгляд, если вы, работая в этой отрасли, зарабатываете меньше 45т.р в месяц, нужно бросать это гиблое дело и идти устраиваться на работу.

    За прошлый год заплатил 100т.р+ налогов, в этом благодаря патенту надеюсь уложиться в 30 с копейками. При этом на 350т.р. в этом году мы можем продать услуг не связанных с разработкой, и на 60млн услуг по разработке, а заплатим всего 30т.р. налогов
    Ответ написан
    5 комментариев
  • Есть кабель от старого провайдера, какую выгоду можно получить от него (Свет там например)?

    GaneevRR
    @GaneevRR
    Вместо спасибо отмечайте Нравится
    Расторгни договор с ним (провайдером) на оказание услуг и пусть его демонтируют с твоей квартиры.
    Ответ написан
    2 комментария
  • Как установить curl через ConEmu?

    sabramovskikh
    @sabramovskikh
    А причем тут эмулятор терминала и команда из убунты? Как они вообще связанны?

    Вот решение
    Ответ написан
    Комментировать
  • Как прокачать агентство на upwork-е?

    @aquaruis1986
    Xamarin Dev
    Подводных камней при работе агентства нет. Там целый Большой Барьерный риф :)
    Если вы хотите развивать свое агентство, свою студию фактически, вам нужно как минимум стать классным спецом в той отрасли в который вы работаете. Если вы Top Rated или Rising Talent- это довольно хорошо помогает, если нет - есть куда расти как фрилансеру. Второе - нужно понимать что агентсво, это по факту другая работа, не программистом а менеджером.
    1. Главное, с чего нужно начать - клиенты. У вас должны быть более менее постоянные клиенты, плюс готовые заключить контракт вот почти завтра и еще запасные с которыми ведете переговоры на перспективу. Клиенты пропадают на месяцы, передумавают или уходят к конкурентам, это норма жизни.
    2. Найдите свою нишу которую можно сформулировать коротко и четко: "мы булочная, которая делает вкуснейшие ватрушки с изюмом" или " мы делаем офигенный mobile-friendly фронтенд на React JS". Это не значит что продавать надо только это, но будет акцентом когда вы общаетесь с клиентом, особенно с новым.
    3. Что вы можете предложить своим разработчикам? вариантов 2 - ЗП или % от проекта. по началу конечно %, платить постоянную зп даже небольшую это оооочень большой риск. подумайте каким количеством денег вам не жалко делиться. учтите, что может быть лучше договориться на меньшую сумму, а потом дать бонус - психологически для человека это намного приятнее.
    Что вы можете предложить своим разработчикам помимо денег? Обучение новым технологиям, покупка инструментария и полезных сервисов, участие в конференциях - все это можно и нужно учесть при обсуждении с потенциальным работником.
    Где искать сотрудников - сарафанное радио, фриланс биржи, линкедин.
    4. Сроки - для меня обычно это проблема. Не знаю как у вас, но мой небольшой опыт говорит, что если по своим проектам успеваешь еще более-менее, то при менеджерстве чужих проектов опаздываешь, причем намноооого больше. Очевидно, что зависит от специфики и размера проекта. Учитывайте этот момент и торгуйтесь с клиентом на долгие сроки. Выясните почему ему нужна именно эта дата с чем она связана (напр. премьера фильма, Рождество, запуск ракеты на Марс и тп.).
    5. Рабочий процесс - основные вехи которые вам нужно продумать\выстроить:
    • общение команды (skype\slack)
    • работа с системой контроля версий
    • код ревью
    • непрерывная интеграция
    • трекер задач
    • контроль выполнения задач и тестирование
    • трекер времени (опционально)
    • учет финансов
    • CRM для работы с клиентами
    • внутренняя документация (стандарты работы)

    На все это уйдет время и силы, так что дайте себе право на ошибку.
    6. Как раскручиваться - честно, здесь не могу посоветовать, специально раскруткой не занимался. Если хорошо работаете и получаете хорошие отзывы то постепенно поток заказов от старых клиентов и новых приглашений будет обеспечивать вас и сотрудников работой (при условии, что вы конечно не берете по +1 человеку каждый месяц, чего я бы крайне не советовал).
    Работайте на совесть, делайте классные приложения и все у вас будет хорошо!

    P.S. Сорри, что несколько сумбурно. Если общий стиль понравился, будет время допишу в комментариях свои соображения по остальным моментам.
    Ответ написан
    4 комментария
  • Фриланс и налоги. Как работать не нарушая?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Заводить все доходы на расчетный счет ИП - это просто удобно, но необязательно. Удобно - потому что для формирования налоговой отчетности - можно сформировать все с одного расчетного счета. Необязательно - потому что вы можете как ИП хоть на улице торговать и брать наличными. Вообще можно расчитываться любым способом.

    Мне на фрилансе удобно иметь договоры всегда + всегда проводить расчеты по безналу в банк. Если рубли - на расчетный счет, если валюта - через транзитный с прохождением процедуры валютного контроля и последующим переводом на рублевый с конвертацией. Но это мне так удобно.
    Ответ написан
    5 комментариев
  • Как правильно построить архитектуру клиент-сервер приложения?

    gadfi
    @gadfi
    https://gamega.org
    Не смотря на то что сегодня появилось много новых удобных технологий связка Service+ContentProvider+CursorLoader мне нравится больше всего
    https://dl.google.com/googleio/2010/android-develo...
    Service можно заменить на что то привычно и готовое, не суть

    Для реализации запросов мне нравится связка retrofit + gson

    Также рекомендую посмотреть в сторону rxjava
    Ответ написан
    4 комментария
  • Какие они, ваши наблюдения и опыт о количестве интересных проектов во фрилансе/удаленной работе?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    На мой взгляд (не претендую на истину в конечной инстанции, разумеется) опытный разработчик как раз характеризуется умением извлекать опыт и профессиональный интерес из любых проектов. Даже когда приходится работать над очередным "скучным" проектом, всегда есть поле для повышения квалификации. Иными словами, учитесь видеть в рутине изюм :) Опять же - только выполнив десятка два "типовых" проектов, понимаешь что в них "типового" и как может быть сделано иначе. Это и есть опыт.

    Относительно востребованных технологий в веб разработке, сейчас лидирует JavaScript (во всем многообразии фреймворков и библиотек). Очень советую добавить эти "патроны" в свой "патронташ" навыков. В плане PHP - более или менее серьезные проекты требуют, помимо умения работать с распространенными CMS и фреймворками, также достаточно глубокого понимания архитекутры этих самых CMS/фреймворков, умения органично расширять их, ну и работать с самим языком в разных парадигмах (ООП в частности). Иными словами хорошо, когда перед выполнением проекта у вас есть более одного варианта как можно решить задачу и вы имеете возможность осознанно выбрать лучший в данном конкретном случае вариант. Иными словами, профессионализм - это когда вы знаете, что не существует "единственно верного подхода" для решения всех задач. То есть для каждой задачи есть более и менее "правильные" способы решения, и вы можете объяснить другому - почему каждый их них подходит / не подходит.

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

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

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

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

    3. Коммуникация. Еще раз - важно уметь нрамотно и понятно излагать свои мысли по существу. Как на родном языке, так и на английском (обычно). Тут важно все - от грамматики, до умения вести переписку. Очень плохой эффект имеет письмо от "профессионала", который пишет с ошибками или забрасывает длинными письмами с неопределнным потоком мыслей и темой вроде "по нашей беседе". Ну и иностранный язык - это обязательно. Можно, конечно, всю жизнь работать с соотечественниками, но это, как правило, будет работа в аутсорсинговых компаниях. Отечественный рынок фриланса - выполнение обычно не слишком замысловатой работы при достаточно скромных бюжетах. Западные компании начали "информатизироваться" давно и даже непрофильные компании часто имеют достаточно серьезную IT инфраструктуру.

    4. Прочее. На ниве фриланса также понадобятся знания в административеых областях. Бухгалтерия, предпринимательская деятельность, отчетность, налоги, банки, работа с деньгами. Также необходимо понимать как создавать и продвигать свой бренд (уметь донести до потенциальных клиентов информацию о себе и своих услугах), постоянно мониторить рынок и предложения о работе.

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

    Squatch
    @Squatch
    iOS developer
    По сути, при изменении размера экрана (С IPhone5 на IPhone6), картинки должны так же изменить размер


    Вообще, это не является стандартным поведением. Если верить Human Interface Guidelines, суффикс @3x используется только для iPhone 6 Plus и 6S Plus.

    Если же дизайн приложения предполагает разный layout для iPhone 5 и 6 (разные размеры фреймов для кнопок, например с использованием Size Classes) - то разные картинки можно задавать программно.

    Но вообще это звучит как задача - далёкая от общепринятых практик. Apple продвигает концепцию единого дизайна для iPhone 4s/5/6 и кастомизации дизайна для iPhone 6 Plus. В storyboard это может быть достигнуто при помощи Size Classes.
    Ответ написан
    1 комментарий
  • Каковы Возрастные ограничения в программировании?

    @ifqthenp
    Ограничений нет. Мне 34 и я начал год назад. Главное, чтобы нравилось и была цель.
    Ответ написан
    4 комментария
  • Как людям удается столько зарабатывать на фрилансе?

    @nico
    40 тр? 40тр!? это ок 600$, доход за 3-4 дня (с учетом комисси апворка и палки).
    Я имею в виду среднего программиста со ставкой 20$ в час. В месяц получается где-то 3 тыс уе в среднем. Бывает, конечно и 2, но и 5 не редкость, если найдется хороший проект, который платит больше потому что им понравилось качество твоего кода, твоя ответственность и они хотят тебя удержать.
    Завязывайте уже с российскими биржами работать, пусть тут туркмены кодят.
    Ответ написан
    3 комментария
  • Как людям удается столько зарабатывать на фрилансе?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    Сперва ты работаешь на фриланс.
    Потом он работает на тебя.
    Основные деньги крутятся не на фриланса, а у постоянных заказчиков. Нужно наработать клиентуру, выбирать заказы, которые и тебя будут развивать и контакты удобные наберутся.
    За год-два у тебя уже получается некий объем заказов, которые ты получаешь не через биржу а твоих же заказчиков, которым нравится твоя работа, и которые рекомендуют тебя друзьям.

    Сам подумай, дал бы ты серьезный заказ и много денег человеку совсем со стороны, без рекомендаций, или сперва попробовал бы у него что попроще?
    Ответ написан
    Комментировать
  • Объясните мне пожалуйста что оно от меня хочет?

    @lolipo Автор вопроса
    почитал, там написано что надо поставить интел эмулятор, что я и сделал, но все равно ошибка осталась.
    34886ef8d7ab4db688005c891e607309.jpg
    Ответ написан
    2 комментария
  • Как организовать получение денежных средств из-за границы?

    opium
    @opium
    Просто люблю качественно работать
    Заведите друга за границей со счетом в идеале в американском банке, там можно довольно много принимать.
    Ну или сами слетайте в америку и откройте себе счет и получите карточку дебетовую.
    Ответ написан
    Комментировать
  • Подскажите бесплатные онлайн-курсы Java

    Jimilian
    @Jimilian
    Вот этот курс доступен теперь на интуите.

    В качестве IDE лучше всего начинать сразу использовать IDEA
    Ответ написан
    Комментировать
  • Задачка с расстановкой прямоугольников?

    @pswd
    На сколько в итоге я понял у вас есть размер окна и размер n одинакового размера картинок.
    Требует разместить их в окне, таким способом, чтобы картинки покрыли максимальную площадь окна.

    Если я все правильно понял, то это и действительно является двумерной задачей об упаковке.
    Рекомендую почитать:
    раз
    два
    три
    книжка

    Желаю успехов :)
    Ответ написан
    Комментировать