• Я хочу стать заняться хакингом сайтов. Какие мне нужно знать языки программирования (разметки)?

    LeEnot
    @LeEnot
    Енот-андроид
    Первое, что стоит усвоить - не пользоваться русскоязычными источниками от слова "совсем". Англоязычное комьюнити гораздо дружелюбнее и информативнее. Русскоязычным обычно нечего сказать и начинается "оставь ты это дело", "как до Луны" и т.п.
    Начать можете отсюда, тут есть туториалы и задания по интересной вам теме.
    Ответ написан
    Комментировать
  • Как сделать правильный выбор между C# и Java?

    LeEnot
    @LeEnot
    Енот-андроид
    Если вы хотите использовать преимущества JVM, но вам не нравится Java как язык, для платформы есть множество других вариантов: Groovy, Scala, Clojure... Я бы рекомендовал Kotlin. Он красивый, удобный, современный и на него сейчас многие топ компании переходят. Собственно в части Android и backend разработки.
    Вообще, многое зависит от специализации. Как только вы перестанете распыляться и определитесь с тем, чем будете заниматься профессионально, тогда можно будет и средства разработки выбрать.
    Ответ написан
    3 комментария
  • Какая может быть тема магистерской диссертации?

    LeEnot
    @LeEnot
    Енот-андроид
    Берете то, что вам интересно и делаете. Если ничего не интересно - делаете, что попроще.
    Делать то, что интересно не вам, а другим - бред и вообще провал полный.
    Удачи с диссертацией.
    Ответ написан
    Комментировать
  • Как оперировать с числами, которые выше максимально возможных?

    LeEnot
    @LeEnot
    Енот-андроид
    Ничего необычного - просто храните число, как массив, а все операции проводите по алгоритмам типа такого
    Да, это медленно, зато достигается любая требуемая точность вычислений.
    Ответ написан
    Комментировать
  • Как лучше реализовать приложение "Расписание ВУЗа"?

    LeEnot
    @LeEnot
    Енот-андроид
    Вы замахиваетесь на создание программного комплекса.
    Для создания функционального продукта вам нужно обеспечить создание и редактирование расписания, его хранение и доставку до конечного пользователя (преподаватели и студенты).
    1. Для хранения вам нужно спроектировать и реализовать базу данных.
    В БД нужно реализовать поддержку различных факультетов/групп, разграничение прав доступа на создание/редактирование, группы пользователей (студенты-преподаватели-декан-админы). Наиболее простой и доступный вариант - MySQL
    2. Для передачи данных на мобильный телефон вам нужно спроектировать и реализовать REST Api. Реализуется в виде отдельного приложения для той ОС, на которой работает университетский сервер.
    3. Собственно приложение занимается отображением данных.

    Однако тут я вижу пару сложностей.
    1. Человеческий фактор. Для того, чтобы вашей системой пользовались, она должна быть удобна. То есть, не только вам, но и тем, кто будет смотреть расписание, а так же тем, кто его будет создавать/редактировать.
    Word вы в формат БД не переведете автоматом, а учиться работать с БД только для заполнения расписания никто не захочет. Вывод - нужно делать интерфейс работы с БД для обслуживающего персонала.
    Так же, далекто не у всех Android смартфоны, так что iOS вы оставляете "в пролете". Для обеспечения доступности расписания желательно сделать веб-интерфейс. Тогда можно будет заходить и с ПК, но этим вы добавляете еще одно звено в ваш комплекс.
    2. Сложность системы для реализации. В отсутствие опыта и силами одного человека невозможно изучить все представленные темы, а уж сделать качественный продукт - тем более.
    3. Неочевидный, но очень важный фактор - UI/UX, то есть, дизайн и юзабилити. Это отдельная и достаточно объемная задача, когда для каждой части комплекса, имеющей интерфейс нужно делать дизайн-макет, тестировать его на контрольной группе конечных пользователей, исправлять и так далее.
    Ответ написан
    Комментировать
  • Как вызвать функцию на основе двух функций?

    LeEnot
    @LeEnot
    Енот-андроид
    Вы не понимаете элементарных принципов процедурного программирования.
    Я бы советовал прочитать сию фундаментальную вещь: SICP, благо, издание имеется уже и на русском языке.
    При желании легко гуглится PDF версия.
    Ответ написан
    Комментировать
  • Какой язык сейчас используется чаще при программировании ПЛИС?

    LeEnot
    @LeEnot
    Енот-андроид
    Занимаются, конечно.
    Среду разработки предоставляет производитель ПЛИС, т.к. продукт весьма узкоспециализированный.
    Соответственно, выбор у вас небольшой:
    1. Altera
    2. Xilinx
    Оба производителя поддерживают VHDL и Verilog.
    Для себя предпочитаю Verilog, как менее многословный и запутанный.
    Ответ написан
    Комментировать
  • Toolbar как расположить item'ы?

    LeEnot
    @LeEnot
    Енот-андроид
    1. Это стандартный способ, он расположит элементы только стандартным способом, т.е. только как задумал Google
    2. Чтобы расположить элементы кастомно, вам нужно переделать layout самой Toolbar примерно так
    3. Поскольку это крайне против гайдлайнов Google, подумайте, действительно ли это вам нужно
    Ответ написан
    Комментировать
  • В чем отличие протоколов от абстрактных классов и интерфесов?

    LeEnot
    @LeEnot
    Енот-андроид
    Ну я, например, вижу отличия:
    - в протоколе, в отличие от интерфейса, возможно задание переменных, переназначаемых реализующим протокол классом
    - протокол расширяем
    А вообще, насколько я понял, протокол это миксин. Т.е. в нем можно прописать реализацию, в отличие от интерфейсов Java. Конечно, тут можно упомянуть статические методы в интерфейсах Java 8, но, как по мне, статические методы это зло и они должны умереть :) Я вот сейчас, наверное, разливаюсь мыслию по древу, но! Когда я читал описание Kotlin, авторы обещали "Если вам в Java что-то не нравится, то с вероятностью 50% мы в Kotlin это исправили." Опачки - подумал я, загадал static methods и checked exceptions и попал в десятку.
    Ответ написан
    3 комментария
  • Бесплатный проект для портфолио превратился в бесконечный. Как быть?

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

    LeEnot
    @LeEnot
    Енот-андроид
    Лучшее, что вы можете найти по теме:
    Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн. Алгоритмы: построение и анализ, 3-е издание
    Ответ написан
    2 комментария
  • Dagger 2 inject в ContentProvider?

    LeEnot
    @LeEnot
    Енот-андроид
    onCreate()провайдера вызывается раньше, чем соответствующий метод у Application. Полагаю, можно попробовать вынести создание компонента в другой метод Application, например, конструктор или attachBaseContext
    Ответ написан
    3 комментария
  • О работе в закрытых гос. учреждениях?

    LeEnot
    @LeEnot
    Енот-андроид
    Минусы? Да полно:

    1. Махровая бюрократия
    - Будьте готовы устраиваться на работу в срок до пары месяцев, проходя всякие медосмотры и бегая подписывая бумажки.
    - В случае, если вам что-то нужно по работе - это тоже нужно кучу раз согласовать и подписать
    - Куча бесполезной работы в виде оформления "по госту" документов (даже если вы программист, да)
    - Любая работа это ТЗ, а ТЗ это согласования. Нудно и долго.
    2. Устаревшая материальная база
    - Обычно на госпредприятиях не жалуют новшества
    3. Отсутствие нормального доступа в интернет
    - Его либо вообще нет, либо через отдельный компьютер с ЭЛТ монитором в углу. По записи. Иногда можно сидеть через ЮСБ-модем, пока по шапке не дали - за свой счет, естесственно.
    4. Куча бездельников
    - Обычно на госпредприятиях собирается куча неудачников, которых в другие места не взяли. Как это может быть минусом? А так - ваша работа может быть завязана на других людей, которые свою часть сделать не торопятся или, в особо запущенных случаях, будут делать халтурно и потом пытаться валить все на вас.
    5. Гнетущая атмосфера
    Вся эта хрень с интернетом, бездельниками и бюрократией отбивает желание что-то делать и как-то развиваться. Зачем? У вас и так все будет - лет через 20-30. Вряд ли иностранная компания возьмет такого сотрудника.

    Вышесказанное мой личный (слава богу, небольшой) опыт. Возможно, где-то ситуация и получше.
    Ответ написан
  • Объясните простыми словами что такое Java EE?

    LeEnot
    @LeEnot
    Енот-андроид
    Java EE это Java (как язык) и набор различных вспомогательных средств (фреймворков, библиотек) для нужд бизнеса. То есть, средства для написания надежных, переносимых, масштабируемых программ для работы с БД, веб и т.д. В противоположность, например, можно поставить Java ME, где масштабируемость, скажем, не нужна, а нужна компактность и скорость выполнения.
    Как итог: Java EE = язык Java + набор средств разработки для бизнеса.
    Ответ написан
    Комментировать
  • Какие плюсы и минусы профессии программист Android, iOS?

    LeEnot
    @LeEnot
    Енот-андроид
    Под Android впечатления очень хорошие:
    1. Документации доверять можно только частично: что-то уже устарело, что-то неверно описано. Все это провоцирует на активный поиск информации и эксперименты. Улучшается коммуникабельность и знание языка.
    2. Подходы и средства разработки стремительно устаревают, вследствие чего постоянно нужно обрабатывать большие массивы информации, читать блоги и смотреть записи различных конвентов тематических. Не дает расслабиться и тренирует мозг.
    3. Если будете работаь в небольшой конторе, вам, скорее всего, придется освоить так же ремесло бэкенд разработчика, дизайнера и верстальщика. Будете и швец, и жнец, как говорится :)
    4. В iOS тоже не соскучишься, придется сразу 2 языка разбирать, Obj C и Swift, т.к. на одном легаси, на другом требуют уже писать новые приложения. Хотя тут гайдлайны построже, столько гуглить не нужно.
    5. Перспективы - такие же, как для PHP. Сейчас готовится большой наплыв "молодого поколения", окончивших организованные Google и некоторыми другими компаниями курсы. Т.е. зряплата будет падать, но не для тех, кто фанат своего дела и старается быть в тренде.

    Так что мобильная разработка - замечательная область деятельности.
    Ответ написан
    4 комментария
  • Почему использование триггера в mysql/oracle/mssql ... в web-программирование (и не только) считается признаком говнокода?

    LeEnot
    @LeEnot
    Енот-андроид
    Триггер это "неявная логика работы". Он добавляет трудности в разборе логики БД, по типу оператора GOTO.
    Ну и любое исключение в триггере вызовет немедленный rollback того действия, на которое он был повешен.
    Ответ написан
    1 комментарий
  • Возможно ли сохранять коллекции объектов в Bundle (onSaveInstanceState(Bundle))?

    LeEnot
    @LeEnot
    Енот-андроид
    Используйте `putSerializable(String, Serializable)` метод.
    Ваша Queue должна имплементировать интерфейс Serializable и тогда ее можно пихнуть в Bundle.
    Насколько я помню, объект в очереди тоже должен быть Serializable.
    Bundle bundle = new Bundle();
    Queue<Word> queue = new LinkedBlockingQueue();
    bundle.putSerializable("my_queue", queue);

    Однако затраты на сериализацию "тяжелых" объектов могут быть достаточно высоки.
    Ответ написан
    Комментировать
  • Как вывести символ рубля ₽ в TextView?

    LeEnot
    @LeEnot
    Енот-андроид
    Попробуйте так:
    tvCost.setText(orderCost + Html.fromHtml(" &#x20bd"));

    UPD:
    Дело в том, что на некоторых шрифтах в Android символа рубля нет.
    Вам нужно задать кастомный шрифт, где этот символ присутствует примерно так:
    Typeface myFont = Typeface.createFromAsset(getAssets(),"fonts/NotoSans-Regular.ttf");
    tvCost.setTypeface(myFont);
    Ответ написан