• Не могу присвоить число внутри цикла for в Java

    risik
    @risik
    Программист
    Код похож на правильный. А Вы точно уверены, что условие выполняется?

    А вообще Вам бы алгоритмическую декомпозицию применить. Что-то типа:
    int findPasswordIndex(String passwords[], String password)
    {
          for( int j=0; j<passwords.length;j++)
          {
                    if(passwords[j].equals(password))
                     {
                          return j;
                      }
          }
          // кинуть исключение - индекс не найден, или вернуть специальное значение
    }
    
    ... 
    int index = findPasswordIndex(passwords, ov.getValue().toString());
    Ответ написан
    1 комментарий
  • На чем написать мобильного клиента?

    risik
    @risik
    Программист
    Судя по предоставленному описанию Ваш проект хорошо ложится на Xamarin. Но учтите, что это недешево.
    Ответ написан
    Комментировать
  • Что перспективнее: Objective-C или Java?

    risik
    @risik
    Программист
    Порог вхождения в ObjC несколько выше чем в Java. Поэтому, если ключевое слово - быстрее, то имхо Java.

    Однако, этот порог выше в том числе и потому, что техника Apple дороже, чем то, что можно использовать для обучения программирования на Java. Поэтому, у Вас хорошие шансы этот порог преодолеть не намного медленнее, чем для Java.

    По моему мнению сейчас наблюдается некоторый бум на мобильную разработку и, в первую очередь, iOS, а соответственно и выше спрос на разработчиков.

    Я бы на Вашем месте все таки пошел в ObjC/iOS. А в фоне заниматься изучением Java.
    Ответ написан
    Комментировать
  • Как реализовать приватный трафик с Amazon S3 через собственные сервера?

    risik
    @risik
    Программист
    Мне кажется, что Вы сможете рулить правами файлов на S3 через IAM
    Ответ написан
    Комментировать
  • Есть ли программа для запуска ios-приложений под osx? (кроме xcode)?

    risik
    @risik
    Программист
    Такого не существует.
    Ответ написан
    Комментировать
  • Как реализовать удаленный вход в GUI на Xubuntu?

    risik
    @risik
    Программист
    Помимо перечисленного - xrdp
    Ответ написан
    Комментировать
  • Есть ли среда разработки для iOS/Android на Windows 7?

    risik
    @risik
    Программист
    Короткий ответ - нет.

    C Xamarin там все не так просто. При помощи Xamarin Вы можете разрабатывать на VisualStudio. То есть, писать код и даже отлаживать его. В том числе, для iOS. Но Вам в сети нужен Mac, для того, что бы на нем компилировать этот код.

    С другой стороны, разрабатывать под Android можно на чем угодно, в том числе и на маке. Все кросплатформенно. Поэтому, если Вам нужны ОБЕ платформы, то Вам нужен мак с OS X, а не Windows 7.
    Ответ написан
  • Изучение Python с нуля, Codeacademy: что посоветуете?

    risik
    @risik
    Программист
    Codeacademy - стоит. Неплохой курс. Хотя у меня всего один пример: мой товарищ (технарь, но совсем не программист), совсем недавно прошел там обучение. Через 3 месяца нерегулярных занятий уже вполне пристойно программирует. А потом книги.
    Ответ написан
    1 комментарий
  • Какие есть узкие, но востребованные специализации в программировании?

    risik
    @risik
    Программист
    Я думаю, что для начала Вам нужно самому понять что Вам больше нравится. А для этого нужно иметь довольно широкую специализацию. А вот уже, когда Вы решите, чем именно Вы хотите заниматься, тогда и углубляться именно в эту тему.

    И да. Мое мнение, что заниматься следует не тем, что приносит хорошие деньги здесь сейчас, а тем, что действительно нравится. А Вот если Вы испытываете кайф от той работы, которой занимаетесь, то тогда деньги придут за Вами.

    И еще. ИМХО. Если Вы будете узким специалистом в одной отдельно взятой технологии, которую продвигает какая-то отдельная компания, то рано или поздно можно попасть, что эта конкретная технология окажется устаревшей. Конечно, если много людей и проектов было завязано на этой технологии то, вряд-ли от нее полностью откажутся сразу и внезапно. Но тем не менее, может оказаться, что востребованность специалистах по этой конкретной технологии начнет падать. Поэтому лучше быть специалистом в широком круге смежных технологий, специализируясь при этом на какой-то ожной из них. Кажется, что-то подобное было у Спольски, но не помню точно где.
    Ответ написан
    Комментировать
  • Как реализовать собственный IM-сервер для общения текстовыми сообщениями с клиентом для iPhone (push-уведомления обязательны)?

    risik
    @risik
    Программист
    На iOS есть возможность не рвать сессию если Ваше приложение - voip клиент. Тогда с некоторыми ограничениями такими, например, как количество квантов времени CPU за единицу времени, Ваше приложение сможет работать в фоне. В противном случае, нужно отправлять push уведомления. Вы не сможете это сделать с использованием стороннего клиента, но без использования сторонних серверов. Либо делайте свой клиент. Либо ищите клиент, который предоставляет возможность передать push уведомление через свой сервер (я таких не знаю).

    Возможно, вам удастся обеспечить все Ваши хотелки, если найдете SIP приложение, умеющее работать с Вашим SIP сервером.
    Ответ написан
    Комментировать
  • Можно ли писать на C# под мобильные платформы, ориентированно WP и Android?

    risik
    @risik
    Программист
    Согласен с @FirstX. C# неплох также и для веб и для серверного ПО вообще.

    Но хочу добавить. Серебряной пули нет. Xamarin и C# тоже не являются таковой. Действительно Xamarin позволяет легко реализовывать большой класс приложений. Но не следует думать, что Вы можете с его помощью сделать все, что угодно. В любом случае найдутся задачи, которые на Xamarin или работают существенно медленнее (GUI это, конечно, не касается) или реализуются слишком медленно по сравнению с написанием нативного кода.

    Поэтому, я бы на Вашем месте уделил внимание языкам C и/или C++. Это, кстати, полезно и для Java программиста при разработке под Android и тем более для разработчика под iOS.

    На мой взгляд, Xamarin из всех мультиплатформенных инструментов самый универсальный. Но все же слишком дорогой.
    Ответ написан
    Комментировать
  • Какой есть хороший вариант эмулятора iPhone|iPad для Mac OS?

    risik
    @risik
    Программист
    Он ровно один. Других нет.

    Просто установите себе Xcode (AppStore -> поиск 'xcode'). И будет Вам сразу эмулятор. Точнее сказать симулятор в терминологии Apple. По умолчанию устанавливается только для последней версии iOS. Но Вы можете установить для некоторых предыдущих версий iOS: меню xcode -> preferences, закладка Downloads.

    Но у него есть один существенный недостаток: он исполняет код x86/x86-64, а не ARM и несколько менее существенных: некоторые фреймворки на нем недоступны. Поэтому Вам вес равно нужно тестировать Ваше приложение на реальном устройство, если хотите отправлять Ваш код в AppStore.
    Ответ написан
    Комментировать
  • Как организовать UDP ower RS485 под Linux?

    risik
    @risik
    Программист
    > UDP (TCP IP)
    так все таки TCP/IP или TCP/UDP?

    > Протокол RS-485 подобен MODBUS
    RS-485 не протокол. А стандарт интерфейса. А вот Modbus - протокол.

    То есть, как я понял Вашу задачу. у Вас есть железка, которая имеет RS-485, до другой железки, у которой уже есть ethernet и выход в интернет. Вы хотите с первой железки получить доступ к Интернет.

    Тогда Ваша задача, формулируется: TCP/UDP over RS-485. То есть, вместо Ethernet у Вас будет использоваться RS-485. Тогда, что-то, например, в эту сторону: www.rsdn.ru/forum/winapi/661573.hot или social.microsoft.com/Forums/en-US/95128f22-7447-47...
    В данном случае Windows от Linux отличается непринципиально. Да RS-485 от RS-232 с точки зрения программирования не отличается.
    Ответ написан
    3 комментария
  • Какие есть системы сборки для C++ (не Cmake)?

    risik
    @risik
    Программист
    А что, по Вашему строгая логика?
    Ответ написан
    Комментировать
  • Насколько хорошо стоит изучить C++, чтобы легче было перейти к изучению Java?

    risik
    @risik
    Программист
    Вопрос не простой.

    Если Вы уверены, что Вам нужно изучить оба языка, в условиях недостатка времени, я бы на Вашем месте ограничился в С++ только самыми базовыми вещами: классы и объекты, инкапсуляция, наследование и полиморизм. Затем Java. А затем можно снова вернуться к C++ для более глубокого изучения.

    Только один пример.

    С одной стороны, есть такая тема в C++, которая Вам точно не нужна для изучения Java: "перегруженные операции". С другой стороны, было бы хорошо в C++, попользовать STL. А понять как он работает без знания перегруженных операций очень сложно. То есть, научится им пользоваться - можно. А понять как это работает, и, что еще более важно, понять текст сообщений об ошибках без хорошего понимания перегруженных операций (ну и еще и шаблонов) очень сложно. Таким образом, STL, boost и еще много что просто вылетает.

    Если же по предложенной мной схеме, то Вы после получения базовых знаний об ООП изучите Java и в том числе, научитесь пользоваться сложными типами данных, такими как словари, хеш-таблицы и т.д. А затем можно вернуться к C++ и будет чуть проще научиться пользоваться STL. И разумеется, Вам придется научиться перегружать операции.
    Ответ написан
    Комментировать
  • Разработка игры на Android\iOS (Unity3D 4.3, Cocos2D) - размеры экрана, DPI, масштабирование спрайтов?

    risik
    @risik
    Программист
    Density и разрешение экрана свзяно друг с другом не совсем прямо пропорционально.

    В Android есть такое правило:
    LDPI:MDPI:HDPI:XHDPI:XXHDPI=3:4:6:8:12.

    например здесь: stackoverflow.com/questions/6166677/android-screen...
    или на developer.android.com

    То есть, делать персонажа 100 пикселей для xhdpi - очень плохая идея. Лучше, например, 96 пикселей. Так как 96 без остатка делится 6. А высоту не 80, на 78. Тогда размеры персонажа у Вас будут:
    LDPI: 48х39
    MDPI: 64х52
    HDPI: 96х78
    XHDPI: 128x104
    XHDPI: 192х156

    Отсюда можно легко вычислить в каком разрешении Вам надо рисовать персонажа, чтобы избежать не ркатного масштабирования. Находим наименьшее общее кратное между пропорциями. Это будет 24. И рисуем Ваш объект в разрешении 384х312. Из этого размера Вы легко получаете все рисунки всех необходимых размеров. Лучше сделать скрипт, который, например, при помощи ImageMagick масштабирует Ваш оригинальный рисунок и раскладывает по папкам.

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

    Однако, LDPI можно не рассматривать. Тогда пропорции получаются:
    MDPI:HDPI:XHDPI:XXHDPI=2:3:4:6.
    И в этом случае, очевидно, что все оригинальные рисунки должны иметь размеры, нацело делящиеся на 12. Кстати, даже если Вы оставите поддержку только HDPI и XHDPI Вам все равно нужен множитель 12, а значит Вы дешево получаете поддержку и MDPI и XXHDPI.

    Для iOS все чуточку проще. Смотрите комментарий @Lerg.
    Ответ написан
    Комментировать
  • Что дешевле: держать сервер дома или покупать выделенный?

    risik
    @risik
    Программист
    для всякий экспериментов имеет смысл держать дома. особенно если на самом деле есть какая-то машина (например домашний файл сервер), который и так работает 24х7. Если же проект хотя как-то претендующий на production, то лично я категорически за использование внешних хостеров VPS или VDS смотрите сами.

    Выше у товарища расчеты для домашнего сервера есть. я хостю несколько слабонагруженных сайтиков на одном микроинстансе на AWS. вместе с трафиком, хранением бэкапов на S3 и т.д. выходит не более $18/mo. И это отнюдь не самое дешевое решение.
    Ответ написан
  • Как скомпилировать и запустить C# код в Sublime Text?

    risik
    @risik
    Программист
    IDE для C# помимо VisualStudio, это, конечно же, MonoDevelop.

    Не верьте @OnYourLips. Работать без отладчика можно. Хотя, с отладчиком, как правило, быстрее и удобнее. Я имею в виду отладочную печать в коде.

    Отладчик не обязан быть интегрирован в Вашу IDE. Например, с .NET кодом умеет работать Mono Debugger (MDB), и, ограниченно, GDB. Они оба command-line. Хотя, опять-же, работать с отладчиком из IDE удобнее. И с этими отладчиками можно работать и через IDE. Например, MonoDevelop работает с ними.
    Ответ написан
    1 комментарий