• Можно ли считать Xamarin + C# достойным аналогом Java (в сфере Mob.Dev)?

    Сырым Xamarin был когда-то.
    Лучше почитать статьи по Xamarin, попробовать и решить самому, а не давать это делать другим за тебя.

    https://habr.com/company/microsoft/blog/415833/
    https://habr.com/post/343098/
    https://habr.com/post/343476/
    Ответ написан
    2 комментария
  • Почему падает приложение Xamarin.iOS при отключении сети?

    newross
    @newross
    Product owner
    Приложение падает, потому что в методе Timer_Elapsed нет никакой обработки ошибок. Код, который срабатывает по CrossConnectivity.Current.ConnectivityChanged всего лишь запускает таймер, не более.
    Чтобы исключить такие проблемы, рекомендую перейти на RestEase вместо WebClient, с ним гораздно удобней работать. И вместо таймера использовать Polly, есть куча примеров как сделать красивый error handling с заданными количеством повторений запросов в случае сбоев.
    Ответ написан
    1 комментарий
  • Будущее за JS или еще не всё потеряно?

    DevMan
    @DevMan
    не читайте по утрам советских газет.

    Скоро, скоро, благодаря серверному JS у серверных приложений тупо ничего не останется кроме последнего выбора — сдаться. Ну просто так сложилось, что ничто не в состоянии составить конкуренция JS. Питон и Руби могут попытаться, но вряд ли )
    https://habr.com/post/106274/#comment_3341256
    прошло уже 8 лет....

    один игрок на рынке - это стагнация. доказано историей не раз.
    Ответ написан
    Комментировать
  • Нужно ли убивать AlertDialog после его закрытия?

    zagayevskiy
    @zagayevskiy Куратор тега Java
    Android developer at Yandex
    Ничего не надо. Он потом соберётся garbage collector'oм, в своё время.
    Ответ написан
    Комментировать
  • Порекомендуйте англоязычный подкаст с IT тематикой и хорошим произношением у участников?

    HalfBloodPrince
    @HalfBloodPrince
    Front-End Developer
    developertea.com
    fivejs.codeschool.com

    Я слушаю вышеперечисленные, произношение понятное, а еще кто-то поделился своим списком - https://pawelgrzybek.com/my-favourite-front-end-re...
    Ответ написан
    Комментировать
  • Разработка под iOS для ASP.NET Developer?

    newross
    @newross
    Product owner
    Реально. На Pluralsight есть прекрасный курс по разработке приложений на Xamarin. А если пойдете по пути MVVM и сразу выделите бизнес-логику в отдельный проект, то потом будет очень просто реализовать и Android приложение.
    Ответ написан
    Комментировать
  • С# для мобильной разработки?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    C# -> Unity3D (игры и не только)
    Ответ написан
    Комментировать
  • С# для мобильной разработки?

    vawsan
    @vawsan
    Frontend Developer
    Нравится C# - развивайтесь в backend по ветке технологий от Microsoft. Там корпоративных систем и проектов много, без работы не останетесь. Но для фриланса не подходит, тут скорее офисно-корпоративное направление. На asp.net спрос хороший, особенно при его движении в правильном направлении последнее время.

    Нравится под мобилы - попробуйте Java, она очень похожа на C#, переход будет простым. Не понравится - оставите это дело. Xamarin интересная штука, но для своих целей. Шустрее натива все равно ничего нет.
    Ответ написан
    2 комментария
  • Что мой провайдер знает обо мне?

    @nirvimel
    Когда я захожу на определенный сайт, провайдер видит URL?

    Да.

    А если я захожу на https?

    Известен IP сервера и имя домена. Больше ничего.

    Откуда провайдер узнает, что я скачиваю определенный фильм/программу через torrent?

    Торрент-клиент общается с трекером по HTTP. Все видно насквозь: конкретные торренты + вся статистика (когда начато скачивание, когда закончено, когда пошла раздача, сколько роздано). Возможно подключение к трекеру и по HTTPS, но rutracker.org такой возможности не дает (мне тоже интересно почему).

    Все пакеты которые я получаю и раздаю значит провайдер скачивает себе, чтобы узнать что это за фильм/программа?

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

    Или он отслеживает факт скачивания .torrent файла, а затем делает вывод по идущим пакетам, что это скачивается?

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

    Когда я пользуюсь VPN, что видит провайдер?

    Видит шифрованный траффик на конкретный IP. По IP можно узнать, что этот диапазон продается под VPSы. Сам факт шифрованного трафика вешает абонента в списки тех, "кому есть что скрывать", а значит подозреваемых при любом розыске.

    Что я зашел на определенный IP и с него идут зашифрованные потоки?

    Дальнейшее направление трафика от VPN-сервера отследить невозможно (по крайней мере, на оборудовании провайдера в автоматическом режиме). Но при целенаправленной слежке за абонентом в принципе возможно по временным меткам сопоставить трафик абонента с трафиком любого сервера.

    OpenVPN будет работать через VPN IP и в браузере и при обновлении Windows, драйверов, ...?

    В зависимости от настройки. Но в общем случае, да, так.

    Читал, что в Windows есть такая особенность, что если провайдер как-то урезает пакет, то VPN отключается и сайту показывается мой реальный IP?

    Это не связанно с провайдером. Это особенность Windows. Когда VPN отваливается, весь трафик вылетает наружу в открытом виде. Опять же зависит от настроек. Но это еще одна цена "удобства" при использовании Windows.

    При этом провайдер видит на каком я сайте, что скачиваю?

    VPN отвалился - хацкер спалился.

    Таких фишек много?

    Смотря о чем речь. В сфере сетевой безопасности и анонимности различных нюансов вообще много.

    Как от них защитится?

    Учить мат.часть. Разбираться в сетевых протоколах и в устройстве ОС.

    Если пользуюсь каким-то расширением типа ZenMate, dotvpn, провайдер аналогично как и с VPN видит что что-то отправляется и приходит на определенный VPN IP?

    Расширения очень разные. Они могут базироваться на совершенно разных технологиях. Ни один специалист вам не скажет за все расширения. Не исключено, что многие из них, по сути - honeypot, то есть созданы с целью слежения за любителями анонимности, привлекают своим удобством и дают ложное чувство безопасности.

    При использовании Tor, кто-то пользуется моим IP, пока я пользуюсь чужим?

    Нет. Если у вас не сконфигурирован Exit Node.

    Что при этом видит провайдер, что я получаю потоки данных с определенных IP и каждый раз разный IP?

    У них есть система точного обнаружения использования Tor. Это факт остается в логах с теми же последствиями, что и для VPN.

    Провайдер видит URL?

    Через Tor и VPN - нет.

    Каким образом можно полностью управлять сетью на ПК, видеть что, куда и когда отправляется или приходит на ПК (Windows, Linux)?

    Видеть все: https://www.google.com/search?q=Wireshark
    Блокировать все лишнее: https://www.google.com/search?q=Comodo+Firewall
    Ответ написан
    22 комментария
  • Xamarin - есть ли книги на русском?

    newross
    @newross
    Product owner
    И не стоит их ждать. Кому их продавать? Просто так никто не будет проводить титаническую работу по переводу.

    Pluralsight в помощь, там много очень годных курсов по Xamarin. Хватит базового знания английского, чтобы понять.
    Ответ написан
    Комментировать
  • Как повесить на Frame команду?

    @logosan Автор вопроса
    Проблема решена!!!

    <Frame.GestureRecognizers>
        <TapGestureRecognizer Command="{Binding RouteFinePage}" />
    </Frame.GestureRecognizers>
    Ответ написан
    Комментировать
  • Знаете ли вы программистов которые в одиночку создали крутой проект?

    @asd111
    Google - два парня Сергей Брин и Ларри Пейдж
    Facebook - начал Марк Цукерберг
    Instagram - два парня, один делал приложение для iPhone, другой делал сайт, потом заработали расширились
    MsDOS - первую версию сделал один человек, потом Баллмер у него купил за 50 000 $ и права перешли Microsoft
    Nginx - начал Игорь Сысоев
    Компьютер Apple I - дело рук Стива Возняка
    Linux - начал Линус Торвальдс
    Git - начал Линус торвальдс
    Redis - Salvatore Sanfilippo ( antirez )
    Minecraft - начал Маркус Перссон ( также известный как notch )
    Dropbox - начал Дрю Хьюстон
    Shadertoy - создан Iñigo Quilez ( также известен как iq )
    C++ - начал Бьёрн Страуструп
    Python - Гвидо ван Россум
    PHP - Расмус Лердорф

    SimplaCMS - начал один человек
    DLE CMS - начал один человек
    TYPO3 CMS - начал один человек

    P.S. ответ редактировался и дополнялся
    Ответ написан
    20 комментариев
  • В чем различия этих конструкций в JavaScript?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Краткий ликбез по JS: Как работает прототипное наследование: при обращении к свойству оно ищется сначала в самом объекте, потом, если не найдено, в том объекте, который указан как прототип (скрытое свойство [[Prototype]]) для исходного, потом в прототипе прототипа и так далее, пока прототип не null. Что происходит, когда мы вызываем new SomeFunction(): создается новый объект у которого [[Prototype]] ссылается на SomeFunction.prototype, в контексте этого нового объекта вызывается SomeFunction (как если бы через apply или call), полученный объект возвращается.

    1) В первом варианте у вас в конструкторе лишняя операция. А если таких методов 10? А если надо создать 10000 таких объектов?
    2) Во первом варианте у вас каждый инстанс будет непосредственно иметь ссылку на getName. Во втором — каждый инстанс будет иметь ссылку на прототип, в котором уже будет ссылка на getName. Значит, первый вариант будет жрать поболе памяти (однако обращение к методу getName будет работать чуточку быстрее).
    3) Можно так делать, если очень надо переопределить getName для данного объекта. Но с точки зрения архитектуры — не стоит, лучше создать отдельный класс или фабричную функцию, которая будет возвращать объект с нужным getName. Причина: black magic, который задолбаешься искать по коду.
    4) На данный момент времени, можно, наверное, начинать писать на ES2015 с нативными классами, чтобы не придумывать велосипеды с колесами из костылей:)
    Ответ написан
    6 комментариев
  • В чем различия этих конструкций в JavaScript?

    In4in
    @In4in
    °•× JavaScript Developer ^_^ ו°
    1) Все должно быть на своем месте, разложено по полочкам, это основа JavaScript кода. Оправдывается это тем, что над кодом могут работать несколько человек и если у каждого будет свой бардак, то в итоге кто-то может сделать вот так:
    function getName(){...} //вы объявили функцию
    //code
    //code
    function getName(){..} //Еще какой-то господин объявил функцию
    //Что в итоге? -Объявлена будет вторая.

    2) Статичные свойства объекта принято выносить в его прототип, так как создавать множество объектов с идентичным методом getName - глупо, только память забивать.

    И если и уподобляться первому варианту, то так:

    function Person (name, age) {
      this.name = name;
      this.age = age;
    }
    
    Person.prototype.getName = getName;
    
    function getName() {
        return this.name;
    };
    
    var Mike = new Person('Mike', 24);
    var John = new Person('John', 30);
    
    Mike.getName === John.getName;// true
    Ответ написан
  • Как быть в тренде новых технологий?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    А зачем гнаться за трендами?
    Увидело что-то новое в JS, пришли домой, под пивко покодили, посмотрели и не более того ибо далеко не факт что клиент когда либо захочет такую фишку у себя на сайте а тратить время на освоение "новой мега рюшки" сильно расточительно.

    Это маркетологам принято гонятся за трендами, в разработке всё-же консерватизм дело не не плохое.

    Вон простой пример - "Селфи палка", многие себе накупили, магазины ими затарились, а народ месячишку побесился и забил. Магазины теперь не знают куда их девать. Так и с сайтами, прикрутишь мего клёвые часики а через месяц придётся откручивать назад - за свой счёт :)
    Ответ написан
    7 комментариев
  • Как собрать Xamarin iOS проект без макбука?

    AMar4enko
    @AMar4enko
    Виртуалку можно создать - работает. Более того, есть готовые образы для виртуалок.
    Ответ написан
    1 комментарий
  • Как всё успевать и не быть роботом?

    @johannnn
    Чуть программирую)
    1 - Не нужно работать по 8 часов для денег. Тут вопрос в том, какой вы профессионал в своем деле. Оплачивается на рынке Ваша стоимость. Если допустим Вася профессионал то он работает 2 часа и получает 20 000, хочет, работает 8 часов в день и получает 80000, а вот Пете надо работать по 10 часов в день, чтобы заработать 80000. так что Оплата зависит от Вашей стоимости. Станьте профессионалами своего дела.

    2- Спать - да, обязательно 8 часов, но каждый день в одно и то же время, и главное обеспечить ранний подъем - в 6 утра. Тогда времени будет достаточно много, чтобы выполнить любую работу.

    3- Полезная еда. Скажу так - готовить можно 1 раз на 1-2 дня. Разбивая потом на порции в контейнеры, далее просто микроволновка - 3 мин и обед, ужин и т.д. готовы. Для примера, я 3,5 года прожил в Доминикане, где из рациона был рис макароны, курица и говядина. Готовка занимает час и все. а свежие фрукты и овощи дома должны быть всегда.

    4- Спорт - Купите домой штангу и 2 гантели, разборные. И занимайтесь в перерывах - Кстати которые Реально необходимо делать в работе - Сидеть и писать код 8 часов не реально. Точнее реально - но это сильная нагрузка для глаз. Обязательно нужно прогуливаться по парку. Ибо работая год в таком режиме можете потом работать на оплату лекарств для глаз) ну в лучшем случае Носить очки) (Я говорю о фанатеющем сидении за ПК реально не отходя от него.) Есть еще одни вариант - запишитесь в зал где есть бассейн. И ходите 1 раз в 3-4 дня.

    5- Самообразование - читайте перед сном, слушайте аудиокниги в дороге. Допустим пошли в магазин, слушайте книгу. Сейчас можно найти все что хотите.

    6 - этот пункт на самом деле прост. Как описал в первом пункте, становясь профессионалом, Вы сможете больше зарабатывать ИЛИ уменьшать время работы.И тогда Для хобби будет не 1-2 часа, а 3-4. И так далее. И если хобби действительно хорошее, и будет приносить Вам радость в первую очередь, то и в других сферах Вам будет комфортнее. Если уделять хобби много времени - то Вы станете в этом профессионалом. и люди захотят платить Вам т.к. Вы знаете больше их, с Вами будут советоваться и т.д. И чем больше этим заниматься, тем больше денег будет это приносить, и тогда придет момент, когда доход от хобби будет небольшим, но достаточным, чтобы прожить. И тогда надо решиться полностью этому посвятиться, и отказаться от прежней работы.

    Для начала пробуйте так - Делайте выходные от работы (субботу и воскресенье) и посвящайте хобби полностью. Так будет работа продуктивнее.
    Ведь что такое отдых - это смена Вида деятельности.
    Ответ написан
    Комментировать
  • Как всё успевать и не быть роботом?

    leventov
    @leventov
    Ты конечно расписал очень размашисто. При этом не учел, что как робот заниматься только "полезной" деятельностью, без развлечений, и просто тупежа и отдыха - невозможно.

    1,5-2 часа в день спорта - будет перетренировка через неделю. На самом деле, даже часов 5-6 в неделю достаточно, чтобы кардинально измениться, за год-два (был толстяк - накачался). На поддержание отличной формы достаточно часа 4 в неделю.

    Совмещай 2 дела, лучше 3. Ходи за продуктами пешком и неси обратно сумки на себе - вот тебе спорт. Параллельно - аудиоуроки английского в наушниках.

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

    Кстати, поезжай на Филлипины. Английским будешь заниматься автоматически и без всякого напряга. Труд домработниц там еще, наверное, раза в 3 дешевле, чем в России, можно все вопросы еды полностью делигировать
    Ответ написан
    Комментировать