• C++ vs C#. Что больше подходит для моих задач?

    Для понимания указателей нужно знать язык программирования низкого уровня: ассемблер. Именно ассемблер может более точно объяснить принцип работы указателей. Так как указатели пришли из мира низкоуровневого программирования. Но написали вы странно: когда пишете про C#, то пишете, что знакомы с ООП, а когда пишете про C++ - уже незнакомы с ООП. ООП - это всего лишь подход к программированию. И этот подход для каждого языка программирования общий. Если хотите писать игры на C#, то для этого есть Unity. Да и для большинства прикладных задач будет достаточно C#. С++ - хорош для реализации производительных задач. Порой на практике используют смешанный подход: что требуется для высокой производительности - пишут на С++, а всё остальное - уже на C#. Вполне нормальная практика. В программировании важно уметь работать с алгоритмами, продумывать весь механизм работы, понимать, как всё работает. С плохим алгоритмом на любом языке программирования программа работать будет плохо.
    Ответ написан
    Комментировать
  • Как стать IOS разработчиком без продуктов Apple?

    maximglobak
    @maximglobak
    iOS developer
    Ответ "никак" можно всегда найти на просторах гугла. Для аналогии можно привести пример обучению веб разработки, когда есть только телефон. Ну так себе, и не удобно и очень сложно.
    Но какие действительно есть варианты? Сейчас много коворкингов с маками, можно их арендовать и обучаться разработке для iOS. Проходить курсы с их железом (такие сложно найти), после которых вас, скорее всего заберет какая-то компания на стажировку. Там можно поселиться на время обучения (шутка Шредингера). Многие компании ищут iOS разработчиков и готовы инвестировать в Вас при определенных условиях. Так дайте им то, чего они хотят, а вы получите знания и опыт.
    Ответ написан
    Комментировать
  • Qt, почему не могу подключиться к MS SQL?

    Установка MS SQL ODBC Driver под Linux и сборка плагина для Qt 5.9: tutorial.
    Ответ написан
    Комментировать
  • Как стать универсальным программистом?

    @kttotto
    пофиг на чем писать
    Дружище, ну ты темы плодишь))

    Не нужно становиться универсальным программистом. Просто, чем дальше в опыте, чем с большими технологиями сталкиваешься, тем больше становится все равно на чем разрабатывать. Зная один яп, изучение следующего дается быстрее, а изучение следующего - еще быстрее. На чем задачу поставят - на том и сделаешь. Работа разработчика такова, что каждый новый проект, это задача которую ты еще не решал. Мы же инженеры, у нас работа что-то придумать, чего еще никто не делал.

    И не нужно сравнивать Data scince с разработкой ПО. Анализ больших данных и разработка хоть и относится к IT сфере, но пересекаются косвенно.

    Может не хватать только одного навыка: любви к делу. Вот и вся мотивация, это любопытство, азарт решить задачу, желание уметь, быть лучше других. И еще раз повторюсь, это умение постоянно самообучаться, я считаю самое важное для разработчика.
    Ответ написан
    Комментировать
  • Как правильно называется вакансия?

    @protven
    Он на взлете (опять) зарубежом, используется как правило аналитиками (data scientist). Взлет связан в основном с хайпом вокруг анализа данных, машинного обучения и бигдаты. R очень хорош для быстрого прототипирования на небольшом наборе данных или уже для "окончательного" анализа и визуализации, опять же на небольшом или среднем наборе данных, которые прошли предварительную обработку и очистку. Много библиотек связанных с матстатистикой, машинным обучением, анализом данных, визуализацией. Оракл обещал вставить возможность писать хранимки на R в свою базу данных, но я не следил сделали ли.
    Я проходил в свое время курсы на Coursera по анализу данных, мне R как сам язык понравился средне. Сейчас идет конкуренция между R и питоном с библиотеками типа numpy, pandas, sklearn и тд за звание лучшего инструмента для анализа данных. Плюс есть вендорские инструменты, типа SPSS, которые предлагают ту же возможность.
    Что касаемо вакансий в вашем регионе, то они есть, но их мало. Вот пример https://hh.ru/vacancy/20496633?query=%D0%B0%D0%BD%...
    Я бы не стал расчитывать что в России вообще, а тем более за пределами Москвы вы сможете легко найти работу аналитиком данных, не имея реального опыта и успехов в этой области. Но, повторюсь, за рубежом профессия Аналитка Данных сейчас очень популярна и язык R часто считается одним из необходимых инструментов, которым он должен владеть (см. ремарку про питон).
    Ответ написан
    2 комментария
  • Как получить определенное значение из словаря в шаблоне django?

    @javedimka
    Хочу сока
    Чтобы узнать как правильно вытащить значения, надо сначала узнать почему они вообще приходят в таком неудобном виде, а если возможности узнать и исправить нету - преобразовать в более удобный вид, например во вложенные списки:
    def table_view(request):
        data = {'2A':
                ['Name', 'State',
                 'Name2', 'State2',
                 'Name3', 'State3',
                 'Name4', 'State4',
                 'Name5', 'State5']
                }
        data['2A'] = [data['2A'][i:i+2] for i in range(0, len(data['2A']), 2)]
        return render(request, 'app/template.html', {'students_data': data})


    И тогда в шаблоне:
    {% for student in data %}
    <tr>
        <input type="hidden" name="stud" value="{{ student.0 }}" />
        <td>{{student.0 }}</td>
        <input type="hidden" name="state" value="" class="state"/>
        <td id="editable">{{ student.1 }}</td>
    </tr>
    {% endfor %}

    или как вариант - использовать namedtuple, но что там по скорости будет не знаю.
    Ответ написан
    7 комментариев
  • Удаленная работа системным администратором. Насколько актуально в 2017?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    заниматься только ИТ, администрировать крутые проекты

    УСТРОИТЬСЯ в 2-3 компании для работы по удаленке

    утверждения, не то, чтобы противоречащие друг другу, но скажем так - ортогональные :) Крутые проекты бывают только в крупных компаниях, потому что они требуют денег, денег и еще раз денег. А это опять же корпоративные политики, регламенты, приказы... Зато будет только ИТ. Если же мутите свой бизнес - придется заниматься зиллоном "параллельных" тем - от бухучета до рекламы.

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

    А теперь ответы
    1. Таким, у которых нет денег на админа или же экономят на админе. Удаленка - это нечто вроде спаренного телефона в СССР, когда пары телефонные не в каждую квартиру заходили. Уровень проектов там будет соответствующий. Уровень заказчика - тоже. Фраза "я довела мышь до края коврика, что теперь делать"? - анекодт, но взят из жизни :)
    2. Сотрудничают с равным. Если мутите свой бизнес, то зависит от того, какую. репутацию наберете. Если нет - какое сотрудничество?
    3. Так же как и везде - полно.
    4. Если мутите свой бизнес - читайте про PR. Если нет - про то, как общаться с потенциальным работодателем
    5. В крупной конторе, где можно рассчитывать на "крутые проекты" - это единственный способ трудоустройства. Если мутите свой бизнес - Вы сами себя трудоустроили :)

    Я Вас некоторым образом понимаю. Сам в таком положении был лет...эээ...десять назад. Но, если хотите заниматься "только ИТ", это означает, что есть другие люди, которые занимаются другими вещами - расчетом Вашей зарплаты, планированием закупок, оформлением трудовых книжек, перевозкой товара etc. А это может быть только в крупной компании. Открыв же свой бизнес, Вы избавляетесь от проблем, характерных для крупных компаний, но "чистого ИТ" уже не будет - хотите или не хотите, а придется заниматься бухучетом (или нанять), финансовым планированием (или нанять), рекламой и продвижением (или нанять), арендой офиса (или нанять). А если будете кого-то нанимать - это автоматически тащит за собой оформление трудовых договоров (или нанять)...

    Мягкое кресло и на все согласная секретарша БигБоссу вовсе не за просто так даются бонусом... :)
    Ответ написан
    Комментировать
  • Удаленная работа системным администратором. Насколько актуально в 2017?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Рекомендую мигрировать в то, что называют сейчас "DevOps инженерами", вакансий на удалёнку полно, платят хорошо.
    Ответ написан
    Комментировать
  • Заменит ли Kotlin Java в Android-разработке?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Такие замены "убийцы" jav'ы появляются каждые лет 5. Безусловно часть из них находит свою нишу. К примеру groovy, ceylon, scala, clojure и еще с пару десятков других.
    Касательно андроида, ну Гугл может просто в один прекрасный момент сказать что ява нам надоела и теперь все будет на go. Или как сейчас добавили оф поддержку котлина, но кто застрахован что в один прекрасный день они не решат сделать с котлином то что случилось с явой. Т.е. они могут просто взять и из собственных соображений сделать незначительные отличия языковые как это сейчас с явой.
    Ответ написан
    Комментировать
  • Заменит ли Kotlin Java в Android-разработке?

    Конкретно в мире Android разработки я бы сказал с большой долей вероятности Kotlin заменит Java, но это случится не так быстро. Постепенно, когда уверенность в Котлине закрепится, случится следующее:
    1. Официальная документация и примеры по Android-разработке от Google будут в двух вариантах.
    2. Официальная документация по умолчанию будет показывать примеры на Котлине, аналогично тому, как документация Angular.JS даёт примеры на TypeScript и предлагает опциональный вариант посмотреть вариант на чистом JavaScript.
    3. Android Studio начнёт создавать проект с поддержкой Kotlin по умолчанию
    4. В результате всего этого, новые Android-разработчики будут писать свой первый "Hello World" именно на нём
    5. Многие бывалые Java-разработчики начнут смотреть в сторону Kotlin с любопытством и поймут, что он решает многие проблемы Java и рано или поздно начнут на нём писать.

    Мне кажется, судьба Kotlin/Java в мире Android будет похожа на судьбу TypeScript/JavaScript в AngularJS и Swift/Objective-C в iOS разработке. Важным преимуществов Котлина является то, что он может сосуществовать с Java-кодом. Проекты, уже написанные на Java, не обязательно должны быть переписаны полностью с нуля. Словно по правилам естественного отбора в природе, он будет сосуществовать с Java, но завоевав любовь среди разработчиков у него будет больше шансов выжить и он начнёт внедряться всё больше и больше в проект до момента, когда в нём (проекте) не останется ни единого Java-класса.
    Ответ написан
    1 комментарий
  • Какими инструментами вы пользуетесь при разработке на C++?

    vt4a2h
    @vt4a2h Куратор тега C++
    Senior software engineer (C++/Qt/boost)
    1) IDE (QtCretor) -- без комментариев
    2) gcc -- компилятор, gdb -- отладчик; иногда clang/lldb
    3) git и tig (текстовый интерфейс для гита)
    4) valgrind -- в основном профилирование
    5) meld -- дифы
    6) vim -- когда надо что-то мелкое поредактировать на сервере
    7) браузер -- без комметариев
    8) Ну разные консольные утилитки по необходимости, grep, sed, nm...
    9) cppcheck -- статический анализ
    10) Иногда кланговые санитайзеры
    Ответ написан
    Комментировать
  • Submit формы в QML, как лучше это делать?

    PavelK
    @PavelK
    Оба Ваших подхода - костыли.

    Для этого есть Q_PROPERTY, если вкратце - наследуете Ваш класс от QObject, прописываете Q_PROPERTY, например field1, дальше в QML
    Item {
     id: myForm
      objectName: "myForm"
     property var formHandler;
     
     TextIntput {
        id: textInput1
       onEditingFinished: {
          formHandler.field1= textInput1.text; (textInput1 можно отбросить и написать просто text)
       }
     }
    }

    Находите через findChild "myForm", устанавливаете ему через QVariant::fromValue(myFormHandler) инстанс класса обработчика. Таким макаром при завершении редактирования текста Вы в c++ классе автоматически получаете актуальное значение. Дальше, для сохранения значений, например в базу, можете прописать в слотах какую-либо функцию, например saveForm(); и в QML по нажатию кнопки её вызывать: formHandler.saveForm(); и уже ничего ниоткуда собирать не надо - всё будет в прописанных Q_PROPERTY.

    P.S. Это лишь один из вариантов =)
    Ответ написан
    1 комментарий
  • Yandex Maps — как вывести объекты в радиусе n из MySQL?

    wielski
    @wielski
    ✔ Совет: Вам помогли? Отметьте ответы решением.
    Все очень просто. Если учесть то, что координаты не учитывают кривизну земли, зная примерный радиус планеты можно вычислить дистанцию от одного объекта до другого с помощью легкой формулы.
    Ну и в SQL это выражается как-то так:

    SELECT
        `id`,
        (
            6371 *
            acos(
                cos( radians( %lat ) ) *
                cos( radians( `lat` ) ) *
                cos(
                    radians( `long` ) - radians( %lon )
                ) +
                sin(radians( %lat )) *
                sin(radians(`lat`))
            )
        ) as `distance`
    FROM
        `location`
    HAVING
        `distance` < %distance
    ORDER BY
        `distance`


    Где %lat и %lon - координаты, %distance - радиус в километрах.
    Ответ написан
    5 комментариев
  • Как реализовать rest API на django, что бы другое приложение могло изменять данные, обращаясь к этому API?

    @bioGavs
    Немного не ясен вопрос, вам не понятно как сделать приложение или как авторизовать это приложение.
    если первое то вы просто создаете новый проект и пишите клиент, который обращается к вашему апи, requests в помощь.
    если авторизация то почитайте о OAuth2.0
    Ответ написан
    2 комментария
  • Как сделать возвращение к началу программы?

    tomnolane
    @tomnolane
    профессиональный разработчик
    есть три варианта:
    1) использовать метку
    M:
    if (att == 1) {
    //или тут M:
    Console.WriteLine ("Вы использовали обычную атаку");
    Console.WriteLine ("Урон: " + attack);
    Console.WriteLine ("У врага осталось: " + (ehp - attack) + "хп");
    Console.WriteLine ("Враг вас убил, попробуйте еще раз")
    goto M; //(Здесь должен быть банальный рестарт программы.)
    }

    2) сделать функцию отдельно (рекурсию)
    private void MyFunc(bool stop = false;)
    {
    if(stop) return;
    if (att == 1) { 
    Console.WriteLine ("Вы использовали обычную атаку");
    Console.WriteLine ("Урон: " + attack);
    Console.WriteLine ("У врага осталось: " + (ehp - attack) + "хп");
    Console.WriteLine ("Враг вас убил, попробуйте еще раз")
    MyFunc(); //(Здесь должен быть банальный рестарт программы.)
    }
    }

    3) использовать цикл for (бесконечный)
    int damage = 100;
    for(;;)
    {
    if (att == 1) { 
    Console.WriteLine ("Вы использовали обычную атаку");
    Console.WriteLine ("Урон: " + attack);
    Console.WriteLine ("У врага осталось: " + (ehp - attack) + "хп");
    Console.WriteLine ("Враг вас убил, попробуйте еще раз") 
    }
    hp < damage  ? break : continue; //(Здесь должен быть банальный рестарт программы.)
    }


    upd
    На свой лад накидал в некоторых местах условия выхода из метода/цикла. Поскольку по вашему коду не понятно, в каком случае должно всё это прекратится, поэтому условие, когда всё должно закончится - сами подкорректируйте. Главное, выше три способа, полностью отвечают на ваш заданный вопрос.
    Ответ написан
    5 комментариев
  • Как получить запись из БД по её ID не используя id в url, в yii?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Вы хотите, что бы в url не было id, но хотите по нему искать - замкнутый круг. Чудес не бывает.
    Самый простой способ, это сделать в таблице специалиста еще один столбец url и туда писать url и по нему находить. Так вы решите еще 1 проблему, которую не видите, уникальность этого url, так как даже при уникальной паре first_name и last_name после транслитерации может получиться не уникальное значение.
    Писать данные в этот столбец можно при создании специалиста. Но есть еще одна проблема, это постоянство url. Если пользователь сменит first_name или last_name то менять ли этот url? Ведь ссылочная масса, которая накопилась будет вести в никуда, а если не менять этот url, то возникает вопрос целесообразности подхода в целом. Посмотрите на великих мира сего, кто прошел этот путь - соц сети. Они не автоматизируют этот процесс, они генерят уникальный url для профайла и потом предлагают произвольную смену. Это оправдано. Это правильно.
    Как вариант иногда делают так:
    domain.com/id_firstname_lastname при этом в экшене можно извлечь id и найти пользователя, все что после id_ носит исключительно декоративный характер. Но я не сторонник данного метода, так как отдавать в url id записи не айс. И тогда лучше отдавать хеш, а раз хеш, то опять таки доп столбец нужен и приходим к первому варианту.
    Ответ написан
    1 комментарий
  • Как быстро научиться веб-программированию, верстке, созданию сайтов?

    webinar
    @webinar Куратор тега Веб-разработка
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Вот набор ссылок, который позволит Вам самостоятельно все (html,css) освоить:
    https://htmlacademy.ru
    https://www.w3schools.com/
    Вот удобный справочник:
    htmlbook.ru
    caniuse.com

    Не вижу смысла платить,если все есть в бесплатном доступе. Плюс курсов в youtube масса.
    Если нужен репетитор, значит не стоит вообще этим заниматься.
    Но не питайте иллюзий. Начать верстать можно очень быстро, но набрать скил, за который будут готовы платить - не просто. А платить хорошо, совсем не просто и не все добираются. Верстальщиков куча, а после курсов без опыта - просто тьма, поэтому работают за еду. Так что перед тем как пойти в it спросите себя "а готова ли я очень много работать, всю жизнь учиться, и ждать несколько лет пока начну получать более менее нормальные деньги?". Если да - ок. Если нет - не стоит начинать. Научиться делать сайты за неделю и зарабатывать супер деньги это миф, его придумали как раз платные курсы.
    Ответ написан
    3 комментария
  • Где закрепить или найти практику по Python? Или учить другой язык?

    Привет.

    1) Задачки и практика. Задачи в вакууме тебе не нужны - делай реальные проекты. Я, например, делал сайты на Django, Парсеры HTML через beautifulSoup, инди игрушку на Panda3D - все питон. Плюс куча различных вещей уровнем поменьше.

    2) Я хочу писать десктоп. Работодателю все равно на то, что ты там хочешь делать. Реальность такова, что сейчас на десктоп-коммерцию пишут мало и делают это либо на .net (где требуется профильная вышка и 3+ года опыта), либо на Электроне (где надо хорошо разбираться во всей этой идиотии с JS). Поэтому, тут тебе питон не нужен, на нем свои приложеньки, конечно пишут, но работу не найти.

    3) Питон - это:
    1. Тестирование (но нужно еще и Java знать, хотя бы базу)
    2. Девопс (но нужно еще и Java знать, хотя бы базу)
    3. Биг-дата (но нужно иметь профильное образование)
    4. Веб-разработка (Django)


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

    P.s.s. Не учи все языки подряд. Для работы тебе нужен всего один язык (плюс прослойка в виде html/css/xml/sql/js - но это все понимается быстро).

    P.s.s.s. Если есть профильное образование (тут понимается что-то математическое, физическое, что HR воспринимут не гумманитарием), и возраст позволяет, то учи Java/.net - через 1-2 года сможешь работать и не париться особо. Если ни времени, ни образования, ни возраста, то уже придется собирать конфету из говна (тут любой язык подойдет - главное быть фартовым =)
    Ответ написан
    5 комментариев
  • Как стать Java junior'oм?

    @EgorNS
    Для того чтобы претендовать на вакансию Java junior нужно потратить на изучение очень много времени. В среднем у людей выходит по 1-1,5 года. Необходимо владеть Java Core, где нужно уделить достаточно внимания многопоточности и коллекциям и хорошо разбираться как все это работает. Обязательно понимать как работают сервлеты и JDBC. Также нужно изучить окружение: tomcat, maven, git, желательно также немного владеть unix shell. На интервью во многих компаниях вас также могут спросить про основы Spring и Hibernate. Также желательно владеть английским не ниже уровня B1. Если вы изучите эти все технологии и разработаете с их помощью например небольшое веб-приложение, то по моему мнению вы будете считаться достаточно сильным джуниором, который с большой вероятностью сможет обойти большинство своих конкурентов, претендующих на эту вакансию. Желаю удачи в обучении!
    Ответ написан
    Комментировать
  • Можете посоветовать книгу по Java для написания сайтов?

    @EgorNS
    Я в этом году защитил на отлично дипломную работу - интернет-магазин на Java. Перед написанием проекта прочел пару книг по Java. Первая книга о Java Core - Шилдт "Java. Полное руководство". Но я думаю, что Эккель и Хорстманн подойдут еще лучше, как альтернатива. Вторая книга - Буди Курняван "Программирование web-приложений на языке Java" познакомит тебя с сервлетами, JSP и JDBC. Это компоненты Java, с помощью которых разрабатываются веб-приложения. В книге описаны достаточно старые методы работы, но это на мой взгляд лучшее, что есть на русском. Если неплохо знаешь английский, то в идеале можно ее заменить "Murach's Java Servlets and JSP, 3rd Edition". Это классика по сервлетам. Также я неплохо знал html, css и jQuery, что пригодилось мне для разработки фронтенда для магазина, а также был небольшой опыт работы с СУБД MySQL. Все остальные вопросы, которые появлялись в процессе, решал с помощью форумов и stackOverflow. При проектировании архитектуры приложения брал за основу Spring MVC - javastudy.ru/wp-content/uploads/2015/04/RequestLif...

    В итоге технологии, которые были использованы - это Java, Servlets, JSP, JSTL, JDBC, MySQL, HTML, CSS, jQuery, bootstrap, Tomcat, Maven и jUnit для написания тестов. Конечно таким способом веб-приложения писали лет 10-15 назад, но я не стал задействовать фреймворки принципиально, чтобы разобраться в том, как работают веб-приложения на Java без них. Написав такой проект ты сможешь понять принцип работы такого фреймворка, как Spring MVC.

    Я остался очень доволен что не стал писать дипломный проект на php, как планировал ранее. Я получил отличный опыт и у меня была огромная мотивация для интенсивного изучения Java! Желаю успешно защититься! :)
    Ответ написан
    Комментировать