• Можно ли одной переменной обойти вложенный массив (из разряда саморазвлечений)?

    MhMadHamster
    @MhMadHamster
    ваш вариант сломается если увеличить вложенность
    function foo() {
      var arr = [[[1,2,3],[4,5,6]],[[7,8,9],[10,11, [12, 13]]]];
      arr = arr.join(',').split(',');
      for (var i = 0; i < arr.length; i++) {
        console.log(arr[i]);
      };
    };
    Ответ написан
    1 комментарий
  • Почему Angular плохой?

    @VanKrock
    Angular всего лишь инструмент, если вы умеете им пользоваться и он решает ваши задачи, используйте его, если нет используйте другой инструмент. На Angular достаточно просто решать большой пул задач, если вы будете постоянно только сравнивать инструменты и искать который лучше, то в итоге вместо проекта вы все еще будете искать инструмент, который лучше.
    Ответ написан
    4 комментария
  • Как определить имя компьютера по IP-адресу?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    В одноранговой сети при включении компьютер отсылает широковещательный запрос по UDP (137-139,445 порты), оповещая всех, что он включился. Те ему отвечают у кого какой IP.
    Слушайте широковещательный пакет и будет вам счастье, также можете попросить другие компы откликнуться послав широковещательный запрос.
    Ответ написан
    4 комментария
  • Конструкция new устаревает?

    27cm
    @27cm
    TODO: Написать статус
    Конструкция new устаревает и будет заменена? Или create, это не убийца new?)

    stackoverflow.com/questions/4166616/understanding-...
    es5.javascript.ru/x15.2.html#x15.2.3.5
    es5.javascript.ru/x15.2.html#x15.2.2.1


    Оффтоп - это у меня вирус или на тостере порно реклама появилась?

    Это Яндекс.Директ показывает персональную рекламу и вы немножко спалились)
    Рекомендую режим инкогнито в браузере и AdblockPlus
    Ответ написан
    4 комментария
  • Как делаются скриптовые языки программирования?

    Короткий ответ: читаем книгу дракона. Есть и более навороченная литература, но начинают все с этой книги (нам по ней читали в универе курс трансляции языков).

    Длинный ответ: ваш транслятор принимает на вход последовательность символов (допустим, UTF-8 текст), "понимает" ее в соответствии со спецификацией вашего языка, и выплевывает в качестве вывода инструкции на другом языке (в виде текстового файла или файла спец. формата). Этим "друим языком" может быть язык ассемблера какой-то железной платформы (x86_64, ARM, SPARC), и результирующим файлом будет бинарник под указанную архитектуру (точнее - объектный модуль, бинарник потом будет собран линковщиком) - так компилятся, например, C/C++. "Другим языком" может быть язык виртуальной машины (LLVM/байткод Java/MSIL) - так компилятся С/C++ (если через LLVM), Java, Scala, C#, F#, VB. "Другим языком" может быть и более высокоуровневый язык - часто, чтобы не париться на начальных этапах развития языка генерацией машинного кода, делают транслятор, который генерит код на Си, и этот код на Си уже компилят известным компилятором в бинарник. Или к примеру, CoffeeScript/TypeScript транслируются в JavaScript, т.к. веб-браузеры кроме джаваскрипта исполнять пока ничего не умеют.

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

    На каком языке реализовать сам транслятор - не имеет особого значения. Более того, хорошим тоном считается реализовать на разрабатываемом языке компилятор этого же языка - это называется self-hosting. Обычно наличие компилятора языка на этом же языке считается первым этапом серьезного отношения к языку. Разумеется, первую версию компилятора нужно будет реализовать на уже существующем языке (или сделать bootstrapping, если уж вы совсем суровый разработчик).

    Т.к. в задачах разбора входного потока (parsing) уже набито очень много шишек, и люди посвятили свои жизни и научные карьеры изучению этого вопроса, то сделано и немало инструментов для помощи в разработке компилятора. Как правило, такие инструменты дают возможность описать грамматику вашего языка на некоем специализированном синтаксисе (вроде BNF), а потом по этому описанию генерят вам код лексера и парсера на удобном для вас языке (это модули, которые выполнят первичный разбор входного потока на вашем языке на токены, и построят абстрактное синтаксическое дерево (AST)). А вы уже дописываете к ним основную часть вашего компилятора. Как пример, при написании компиляторов на языке Си часто используют flex в связке с yacc/bison. Есть более комлексные пакеты, позволяющие генерить код парсеров на различных языках - ANTLR, GOLD. А можно и самому написать лексер и парсер, особенно если вы уже сделали первую версию компилятора и переписываете его на вашем же языке).
    Ответ написан
    Комментировать
  • Есть ли jQuery библиотека для визуализации занятого времени?

    @lnked
    может подойдет fullcalendar.io
    Ответ написан
    Комментировать
  • Как оценить стоимость работы?

    mrusklon
    @mrusklon
    Не получается? Яростно гугли!
    придумайте себе число в голове , подумайте выполните ли вы эту работу за это число , если нет увеличивайте пока не передумаете

    summaUSD = X
    happy = true
    
    if  summaUSD >= happy
    profit

    Магическая формула поможет всегда :)
    Ответ написан
    Комментировать
  • Как оценить стоимость работы?

    pfsenses, послушайте, ну правда, вы какие-то странные вещи пишете - оцените за меня стоимость моей сферической работы в вакууме.
    Ценообразование - это процесс переговоров между исполнителем и заказчиком. Исполнитель хочет получить как можно больше, заказчик заплатить как можно меньше. При этом каждый понимает цели другой стороны, поэтому ищется компромисс.
    Определите минимальную планку, за которую вы готовы во все это ввязаться, потом определите комфортную для вас стоимость и озвучьте ее заказчику. Если он согласится - ура, если нет, торгуйтесь.
    Если поймете, что максимальная планка заказчика ниже вашей минимальной, отказывайтесь.
    Ответ написан
    Комментировать
  • Почему у одних псевдоэлементов одно двоеточие :before, а у других два ::before?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Потому что два двоеточия — это псевдоэлемент, а одно — псевдокласс (как :hover).
    Псевдоэлементы появились только в CSS3, поэтому браузеры принимают и одно, как в CSS2. Источник.

    P.S. Если не надо поддерживать IE8, то давно можно писать ::, см. caniuse
    Ответ написан
    3 комментария
  • Java EE каждый раз нужно делать редеплой проекта при разработке на TomCat?

    Ewintory
    @Ewintory
    Java / Android developer
    Есть: JRebel (статья). Но он платный.
    Ответ написан
    Комментировать
  • Chrome dev tools. Скрывается элемент при потере фокуса. Как победить?

    @tplus
    CKE обычно висит в iframe и имеет характерные опознавательные знаки - можно найти его в Elements вручную.
    Ответ написан
    9 комментариев
  • Оправдан ли переезд в Санкт-Петербург в нынешних реалиях?

    @FoxInSox
    1. Что вы как девочка? Судя по зарплате у вас ни семьи, ни ипотеки, ни горы кредитов. Какой нафиг кризис?
    2. 30к хватит на квартиру/комнату, еду и транспорт. Больше ни на что не хватит. Но для junior android разработчика я бы просил 45. 30к это Макдональдс или верстальщик. Если вы будете на собеседовании в Яндексе и пройдете успешно интервью, то можете просить и гораздо больше.
    3. Вы опять как девочка. Какая разница сколько вам лет и сколько вы работаете? Всех работодателей интересует лишь одно: насколько успешно вы сможете решать его задачи.
    4. Я нашел первую работу и снял комнату в Питере в 2008. Причем из опыта у меня был только фриланс. Тогда точно так же все вокруг ныли и истерили о конце света и крахе мировой экономической системы.

    PS1 Переезд из провинции в Москву/Питер могут изменить вашу жизнь полностью. Количество возможностей в городах миллионниках в миллион раз больше. Цены в крупных городах выше, но это другой вопрос. Для начала карьеры вам должно быть все равно что есть: макароны по 30р за 1кг или мясо индейки по 300р за 1кг.
    PS2 Чем дольше вы живете в провинции, тем сложнее будет переехать в перспективе. Хотя это не всегда так, но мне кажется в большинстве случаев.
    PS3 Как специалист вы будете развиваться гораздо быстрее в крупном городе.
    PS4 В мегаполисах другие люди, другой образ мышления. Пожить в мегаполисе должен каждый.
    Ответ написан
    2 комментария
  • Как лучше обеспечить защиту SSH от брутфорса?

    DevMan
    @DevMan
    - использовать ключи, пароли отключить
    - port knocking
    - fail2ban
    Ответ написан
    Комментировать
  • Отладка модулей Node в Chrome Dev Tools в node-webkit (nw.js)?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Вы не задумывались, откуда берется документация? Ее пишут люди, которым, так же, как и вам, интереснее кодить, чем писать доки. Поэтому она имеет свойство устаревать.

    Последний раз, когда я залезал в проект на nw.js, модули были видны и брейкпойнты работали.

    P.S. Если на клетке слона написано «буйвол» — не верь глазам своим.
    Ответ написан
    5 комментариев
  • Есть ли что-то более удобное для работы с Elastic, чем curl?

    korel
    @korel
    Javascript developer
    Честно говоря не пользовалась ничем из перечисленных ранее, но мне понравился марвел (который рекомендуют сами elasticsearchевцы). Как установить:
    www.elastic.co/guide/en/elasticsearch/guide/curren...
    Если установится, то при повторном обновлении окошка увидите что-то вроде этого:
    screencloud.net/v/kTmO
    Чрезвычайно удобный отладчик запросов. Запускать можно те запросы, которые нужны в данный момент (для каждого из них справа кнопка запуска). Также работает валидация + адекватные табы.
    Если у вас, как у меня, при открытии страницы марвела выдаст что-то вроде этого: Upgrade Required Your version of Elasticsearch is too old. Kibana requires Elasticsearch 0.90.9 or above
    то необходимо обновить версию elasticsearch вместе еще с кучей туллзов (Logstash, Kibana), которые надо скачать отсюда и просто установить как обычные пакеты: https://www.elastic.co/downloads
    Чтобы проверить какой версии сейчас у вас elasticsearch:
    в консоли: curl -XGET localhost:9200/_nodes/_all/process?pretty
    в браузере localhost:9200/_nodes/_all/process?pretty
    Также, если не хочешь пользоваться марвелом (что очень удобно), можно просто запросы в браузере писать:
    localhost:9200/_all/_settings
    localhost:9200/_all/_mapping
    Ответ написан
    1 комментарий
  • Есть ли что-то более удобное для работы с Elastic, чем curl?

    God-emperor
    @God-emperor
    create a golden path
    Напишите свои rest-скрипты. Если уж вас curl не устраивает.
    Ответ написан
    7 комментариев
  • Удобно ли версии приложения в git мерджить с master?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    В своих репозиториях веду ветки с номерами версий, 0.0.1, 0.0.2 и т.д.

    Для этого в git есть тэги. Обычно делают тэг на каждый релиз + если уже есть скажем версия 0.1.1, то, если вам еще нужно поддерживать предыдущую версию, можно сделать ветку 0.0.x, и там уже делать тэги. Так если вы найдете уязвимости или баги в версии 0.0.x, можно спокойно поправить и выкатить минорный релиз. Ну или например баг затрагивает только версию 0.2.4, тогда мы делаем опять же коммит в ветке 0.2.x который фиксит проблему. Так же этот коммит можно либо смерджить либо черепикнуть в другие ветки, которые так же нуждаются в этом фиксе. Все очень привязано к тому как именно вы работаете.

    Мастер должен быть стабилен (некоторые не согласны и заводят отдельную ветку release или prod для стабильного кода), и там должна находиться самая последняя версия. Мерджить мастер в более старые ветки иногда не ок и нужно просто понимать как вы хотите построить процесс разработки. Собственно если вы поддерживаете версию 0.4.x то смысла обновлять changelog для версий 0.5.x не особо много, и потому самый актуальный changelog в случае gitlab хранится в master.
    Ответ написан
    Комментировать
  • Как развить скорочтение?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    Скорочтение не миф, но если сравнивать это с нормальным чтением это как вместо прочтения книги посмотреть фильм снятый по его мативам. Отлично подходит для худежественной литературы (800 страниц за 2 дня по несколько часов в день легко), но совершенно не пригодно для учебников и т.п. (если только это не какая ни будь история или чтото в этом духе). Самый простой способ нужно определить что вы вообще хотите найти в тех книгах, далее для каждого вашего пункта буквально по оглавлению ищите то где нужно искать, потом беглым просмотром определите где в той главе книги должна быть нужная информаци и далее уже нормально читайте только ее.
    Ответ написан
    Комментировать
  • Как развить скорочтение?

    @deliro
    Скорочтение годится, разве что, художественную литературу читать. Вникать вы будете намного дольше, чем читать (даже нормально). Какой вообще смысл читать быстро книги по программированию? Их нужно тестить, иначе завтра можно заново перечитывать.
    Ответ написан
    2 комментария