• Откуда берутся пустые символы в начале при записи в файл?

    zagayevskiy
    @zagayevskiy Куратор тега Java
    Android developer at Yandex
    Символы в начале это непечатные символы, получающих из инта, который вы пишете первым. Неправильно считывается из-за того, что вы в неправильном порядке читаете. Сначала надо читать инт, потом строку.
    Ну и писать просто в файл без всякой структуры это не правильно. Почитайте про xml, json. Про бд. Про сериализацию, в конце концов.
    Ответ написан
    1 комментарий
  • Как проверить фильтр потока вывода?

    @aol-nnov
    ну, юнит тесты же!

    делаешь инпут стрим из ноликов (ByteArrayInputStream, например), скармливаешь твоему зверю. Если на выходе ничего нет, то что-то работает.
    Делаешь еще какой-нить паттерн на входе и ожидаешь какой-то на выходе. сравниваешь с ожиданием.

    тесты удобно гонять, например, через JUnit
    Ответ написан
    1 комментарий
  • Как понять момент в преобразовании числа в бинарную строку?

    @zelan
    Кратко обо мне не получится.
    utf8bytes[0] - имеет тип byte
    значения примитивного типа byte лежит в диапазоне от -128 до 127.
    метод Integer.toBinaryString(...) преобразует int в бинарную строку.

    Теперь смотри:
    допустим utf8bytes[0] = 0xFE, на первый взгляд 0xFE= 254, но для типа byte 0xFE=-2.
    Если этот 0xFE (типа byte) преобразовать к типу int, то мы получим также -2, но для типа int это будет уже 0xFFFFFFFE.

    поэтому делают так: 0xFF & utf8bytes[0]
    0xFF в этом выражении имеет тип int и является сокращенной записью 0x000000FF
    utf8bytes[0] здесь предположим равен 0xFE и при преобразовании к int будет равен 0xFFFFFFFE

    Результат выражения равен 0x000000FE - что соответствует 254, и при преобразовании в bin равен "11111110"
    Ответ написан
    2 комментария
  • Возможна-ли верстка макета по картинке в формате JPEG?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    макет в формате JPEG

    Дизайнера кинули (видимо тоже "тестовое задание" делал).
    Ответ написан
    Комментировать
  • Как присвоить строку перемененной типа char[]?

    char s1[7] = "hello";

    Ошибки:
    1. Строки нужно заключать в двойные кавычки, а символы в одинарные: 'h', но "hello".
    2. Массивы и строки нельзя присваивать. Исключение составляет инициализация.
    Ответ написан
    1 комментарий
  • Как равномерно выравнить иконки?

    ilaj_osmanov
    @ilaj_osmanov
    Родителю дай :
    display:flex;
    align-items:center;
    Ответ написан
    Комментировать
  • Как передать метод в Java?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Что такое Fn? В приведённом вами коде такое имя нигде не определено. К тому же, Test принимает два параметра, а вы передаёте один. Подозреваю, что вы хотели
    Test(Main::Func, 475)
    Ответ написан
    2 комментария
  • Как лучше изучать javascript?

    riot26
    @riot26
    <:З )~~
    Ответ написан
    Комментировать
  • Как понять циклический алгоритм очереди?

    15432
    @15432
    Системный программист ^_^
    Пусть это ваша очередь:
    --++++---
    (Плюсы где занято)
    putloc - индекс места в массиве, куда кладутся данные (последнее место куда положили плюс, самый правый), getloc - откуда плюсы забирают (самый левый плюс)
    --[++++]---
    Так как очередь циклическая, правая граница плюсов может догнать левую
    ++][+++++++
    это и проверяется (putloc+1 = getloc)
    Ну и если граница ровно на конце массива, нужно второе условие проверки
    [+++++++++]
    Ответ написан
    1 комментарий
  • Что в ядре сортировки?

    Для v8 - quicksort: https://habrahabr.ru/post/265079/
    Ответ написан
    Комментировать
  • Почему в очереди не используется нулевой индекс в массиве?

    lxsmkv
    @lxsmkv
    Test automation engineer
    если очередь пуста указатель getLoc имеет значение 0. Т.е. указывает на нулевой элемент. При добавлении элементов указатель смещается каждый раз на единицу вперед.
    Если бы мы начинали класть элементы начиная с нулевого элемента, то пришлось бы что нибудь придумывать чтобы обозначить пустую очередь. Можно было бы поставить getLoc на -1.
    В данной реализации, если очередь пуста, возвращаемое значение при запросе будет 0. Это как бы специальное значение-маркер. Однако есть побочный эффект от такой реализации. Если функция get будет использоваться где-то, то нужно будет всегда помнить о значении 0. Иначе можно будет подумать, что в очереди содержится элемент 0.

    Более явной на мой взгляд была бы реализация с использованием boolean isEmpty и выбрасыванием исключения при попытке получить последний элемент в пустой очереди.
    Ответ написан
    Комментировать
  • Как лучше всего сверстать такой хедер?

    65536
    @65536
    Если что, вот название женщины: siri tollerod
    Ответ написан
    1 комментарий
  • В каком порядке изучать математические дисциплины?

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

    @yceg
    База
    Математическая логика - особое внимание: теория множеств, для общего образования (понимание некоторых процессов): вычислимость, логики первого и высшего порядков
    Дискретная математика - особое внимание: теория графов, комбинаторика, для общего образования: теория автоматов
    Теория игр - тут все очень специфично
    Остальное, как заметили выше, зависит от конкретных задач (то же треклятое интегральное исчисление все же имеет применение, но оочень узкое и 99.99% не особо нужное)
    Ответ написан
    Комментировать
  • Как понять строку кода. (метод splice и оператор ...)?

    Finesse
    @Finesse
    Метод apply функции вызывает эту функцию с указанными аргументами. Первый аргумент метода apply — значение переменой this внутри функции во время её выполнения, а второй — список аргументов в виде массива.

    Метод concat массива объединяет его с другими массивами. Если конкретней, то к массиву, на котором он вызван, добавляет содержимое массивов из всех аргументов и возвращает итоговый массив. При этом массив, на котором вызван этот метод, остаётся неизменным.

    В строке
    arr.splice.apply(arr, [index, tmpArr.length].concat(tmpArr));
    сначала составляется список аргументов с помощью метода concat (массив аргументов, переданных по-обычному, объединяется с аргументами, переданными через оператор ...), затем с помощью apply вызывается метод splice массива и ему передаётся составленный массив аргументов.
    Ответ написан
    3 комментария
  • Можно ли учить Angular по старым материалам, после выхода Angular 2?

    @fetis26
    Ну, за фронтенд!
    Нет, не нужно. Тем более если стоит выбор React или Angular. Смотрите в сторону Реакта, но акцент сделайте на ES6 и новые возможности языка типа промисов, fetch. Фреймворки меняются, а JS остается.
    Ответ написан
    Комментировать
  • Можно ли учить Angular по старым материалам, после выхода Angular 2?

    inkluter
    @inkluter
    Frontend developer
    По сути, это два разных фреймворка, так что вопрос немного некорректен.

    Имеет ли смысл учить Angular 1?
    Да, определенно имеет. Это самый популярный js-фреймворк на сегодняшний день. С его помощью реализовано много (очень много) сайтов. Много статей, туториалов, модулей, большое комьюнити.
    Поэтому, зная ангуляр, можно без проблем найти работу (не всегда интересную, но это другой вопрос).

    Имеет ли смысл учить Angular 2?
    Да, имеет. Фреймворк молодой, но я знаю уже 2 проекта, где фронтенд реализован на нем. И будут появляться новые.
    Если верить статьям из интернета, второй Ангуляр лучше оптимизирован, в нем были исправлены недостатки первой версии.

    Имеет ли смысл учить React?
    Да, имеет.
    Rect сам по себе довольно простая для изучения и понимания технология. Это не совсем фреймворк, если быть точным, то это - слой представления.
    Свой потенциал React раскрывает в связке React + Redux + Webpack + Babel (ES6).
    Это очень крутая связка, но ее надо уметь правильно готовить. Иначе будет больше боли, чем удовольствия.
    Но на изучение такого стека времени потребуется гораздо больше, чем на первый или второй ангуляр.

    Советую почитать, здесь трезвые мысли
    https://habrahabr.ru/post/255769/

    P.S. мой выбор - React =)
    Ответ написан
    4 комментария
  • Можно ли учить Angular по старым материалам, после выхода Angular 2?

    SPAHI4
    @SPAHI4
    реактовцы - это не девы, а прокидыватели пропсов
    React изучать особо нечего, на нем за 1 день можно туду написать. Его обязательно, ибо он сейчас самый модный и молодежный, прочитать немного про принципы работы.

    Ну а по топику, тут без вариантов 2 версию, 1 даже смысла смотреть нет. Мб и есть на 2 гайды (книги) на русском, можно их использовать, если и успели устареть, ибо релиз недавно был, то не особо сильно, и на официальных доках можно глянуть изменения.
    Ответ написан
    4 комментария
  • Можно ли учить Angular по старым материалам, после выхода Angular 2?

    Ivan-P
    @Ivan-P
    Если нужен русскоязычный ввод в тему, то можно посмотреть короенький курс по первому Ангуляру. Например, от того же ЛофтБлога. Но только лишь посмотреть без никаких повторений в редакторе - просто чтобы увидеть что такое ангуляр вообще. А изучать стоит только материалы и доки второго. Отсюда, например, angular.io
    Ответ написан
    Комментировать
  • Откуда третий аргумент в setTimeout?

    EreminD
    @EreminD
    Кое-что умею
    Надо где-нибудь посмотреть про это
    Судя по всему, просто набор параметров для вызываемой функции. И, параметров может быть больше
    Вот пример

    Что из себя функция resolve представляет? Пробовали написать не 1, а 2, 3, 4 - результат меняется?
    Ответ написан
    1 комментарий