• Как победить ошибку "Cannot access before initialization"?

    @Delagen
    Техногик
    У вас классический пример циклической зависимости, вынесите NDS в отдельный модуль, а то у вас получается цепочка загрузки app -> methods -> app
    Ответ написан
    Комментировать
  • Как устроен (на чем сделан) Google Docs?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Ответ написан
    Комментировать
  • Как устроен (на чем сделан) Google Docs?

    Olek1
    @Olek1
    Подскажите пожалуйста на чем сделан Google Docs?

    На Writely и XL2Web

    Какие технологии необходимо знать?

    Как минимум надо: HTML, CSS, JavaScript, AJAX, Java, Microsoft Office

    Кто нибудь пытался сделать сам такой "сервис"?

    Маловероятно, так как Google потребовалось выкупить по меньшей мере 4 компании, чтобы реализовать Google Docs
    Ответ написан
    Комментировать
  • Как рассчитать кол-во вариантов?

    Вы поставили совершенно верный тег - Комбинаторика. Этот раздел математики и начинался как метод подсчета количества различных вариантов/комбинаций.

    Наиболее часто задачи на комбинаторику подразумевают последовательное фиксирование количества состояний переменных одной за одной.

    Давайте начнем со второй задачи - она несколько проще.

    2а) Первую цифру двузначного числа с заданными условиями можно выбрать 4 способами; после того как первая цифра определена, вторую можно выбрать снова 4 способами. Итого вариантов 4х4=16.
    2б) Первую цифру двузначного числа с заданными условиями можно выбрать 4 способами; после того как первая цифра определена, вторую можно выбрать уже только тремя способами, т.к. цифра не может совпасть с той которая на первой позиции. Итого вариантов 4х3=12.

    1а) Целых неотрицательных, которые могут сыграть роль "x", - 9 (от 0 до 8 включительно). После того как "x" зафиксирован, "y" может быть выбран (8-x+1) способами, например, если х=7, то остается для "y" только 0 и 1. После того как "х" и "y" зафиксированы, "z" всегда можно выбрать только 1 способом, следовательно, количество вариантов решений он не увеличивает. Осталось посчитать сумму кол-ва возможных комбинаций (считаем по "y"-кам) = (9+8+7+...+1) - по формуле суммы арифметической прогрессии - 10*9/2 = 45. И соответственно, Ваш ответ неверен.

    1б) Аналогично, но уменьшая кол-во "x"-ов до 6 (от 1 до 6 включительно), а кол-во "y" до (7-х) способов. Сумма (6+5+...+1) = 7*6/2 = 21.
    Ответ написан
    Комментировать
  • Что такое REST и RESTful api?

    DzodzikovAK
    @DzodzikovAK
    Java Developer
    REST - набор архитектурных принципов построения сервис-ориентированных систем.

    RESTful - прилагательное, употребляющееся по отношению к сервисам, которые следуют принципам REST.

    Вот здесь человек рассказывает (переводит), как определить, является ли ваш сервис RESTful и в какой степени:
    https://habrahabr.ru/post/319984/
    Ответ написан
    Комментировать
  • Как узнать положение курсора в div'e с contentEditable="true"?

    midnightcoder-pro
    @midnightcoder-pro
    Full stack разработчик
    Знаю, поздно
    function getCursorPosition(parent) {
    	let selection = document.getSelection()
    	let range = new Range
    	range.setStart(parent, 0)
    	range.setEnd(selection.anchorNode, selection.anchorOffset)
    	return range.toString().length
    }
    
    function setCursorPosition(parent, position) {
    	let child = parent.firstChild
    	while(position > 0) {
    		let length = child.textContent.length
    		if(position > length) {
    			position -= length
    			child = child.nextSibling
    		}
    		else {
    			if(child.nodeType == 3) return document.getSelection().collapse(child, position)
    			child = child.firstChild
    		}
    	}
    }
    Ответ написан
    2 комментария
  • Где в WebStorm находятся настройки кавычек?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Settings → Editor → Code style → (язык, в вашем случае typescript) → Punctuation → Use [single] quotes [in new code].
    Ответ написан
    Комментировать
  • Что делать если увольняют с работы(IT компания. Скорее всего по статье за несоответствие занимаемой должности)?

    @McBernar
    Дважды уходил через пару месяцев работы. Когда ты понимаешь, что это не твое — задачи, коллеги, атмосфера — нужно просто встать и уйти. И это нормально. Найти с одной попытки место, где задержишься надолго — не такая уж и простая задача.
    Ответ написан
    Комментировать
  • Что делать если увольняют с работы(IT компания. Скорее всего по статье за несоответствие занимаемой должности)?

    php666
    @php666
    PHP-макака
    Пригласили работать в компанию Web-программистом. Разрабатывать сайты на WordPress, Joomla, Bitrix, Yii.
    не программистом, а чернорабочим по клепанию говносайтов - низшая форма деятельности в IT.

    я проработал чуть более месяца и почему то не устроил работодателя по срокам
    ты плохой раб, да.

    Что делать если увольняют с работы
    Уволиться. Желательно, послав их всех в известном направлении, высказав все, что думаешь. Открыть сайты с отзывами о работодателях и написать о них отзывы, что бы другие к ним не ходили работать.

    Потом открыть эту статью и прочитать от корки до корки.
    Ответ написан
    7 комментариев
  • Что делать если увольняют с работы(IT компания. Скорее всего по статье за несоответствие занимаемой должности)?

    Ух прям моя тема.
    Только у меня тема ещё только начинается, вот вот состоится судебное.
    Сейчас ограничен в времени, чтобы расписать ситуацию, я позже обязательно займусь и уже отредактирую ответ добавив необходимое описание ситуации с работодателем и подводные камни трудового законодательства и судебной системы в целом.
    Сейчас можете ознакомиться с ситуацией и поданными в суд документами, всё опубликовано тут https://vk.com/furmanov?w=wall-169093088_28
    Позже так же опубликую ссылки на аудиозапись судебного заседания и судебное решение, прочие необходимые документы.
    Ответ написан
    Комментировать
  • Git: объясните «на пальцах» разницу между rebase и cherry-pick?

    Все красиво объяснил Nkly777, только в блоке PS merge с rebase перепутаны.
    Добавлю картинок.

    git rebase devel - собачка на молнии - "сшивает" коммиты по дате их создания
    (ветка devel "растворяется" в основной ветке)
    518b8dbce1cd4f96b30de9782ae38fcd.png
    git merge devel - пожарная лестница, все коммиты ветки devel крепятся в конец, образуется пересечение
    (devel остается отдельной веткой, к которой можно вернуться)
    1ba8186d879d46ff85ea7c1e192328e2.png
    git chery-pick idea - забрать коммиты из ветки idea
    2717e3091f644ef2954aa2de4514f446.png
    Ответ написан
    2 комментария
  • В какой последовательности учить математику?

    @kapysta13
    Учите в интернет ресурсах , если не понятна какая-то тема в математике, то нужно временно отойти назад, к более простым вещам. осуществить тактическое отступление. вкладывайте силы чтобы максимально понять текущую мат программу, решайте школьные олимпиадные задачи. и раз в пол года возвращайтесь к тому, что было для вас слишком сложно до этого. в какой-то момент понимание начнёт появляться.
    Пару советов которие мне помогли:
    1.матана много знать не надо, только понять что такое оптимизация
    2. курс Andew Ng на youtube тоже норм базу обьясняет
    3. udacity курс по Data science очень детально покрывает минимальную базу по математике
    4. потом читайте Gareth James "Introduction to Statistical learning", там с виду сложновато, формулы особенно итд итп, но по сути все очень просто, если на них не слишком сложным взглядом смотреть
    Ответ написан
    1 комментарий
  • Математическая литература - почему всё так плохо?

    Deerenaros
    @Deerenaros Автор вопроса
    Программист, математик, задрот и даже чуть инженер
    Раз уж начали так спешно подписываться на мой совершенно бесполезный вопрос... Таки поделюсь полу-решением.

    Khanacademy - шикарный ресурс с огромным количеством материалов. Что есть: все разделы математики, неплохо структурированы, хорошо подобраны. Отлично подан материал. Английский очень простой - у меня не возникало проблем слушать. Чего нет: всего нового. Материал конкретно по математики едва дотягивает до нормального университета. Никаких геометрий Лобачевского или доказательств теорем Ферма. Что хорошо: попытка учить в игровой форме, неплохой дизайн (не вырвиглазный), социальный аспект. Что плохо: не вырвиглазный дизайн не значит отличный, до хорошего едва дотягивает, неплохо структурирован также не означает отлично - всё таки некоторый хаос присутствует, хотя бы в том, что материал не очень хорошо связан даже между подразделами. Не говорю о разделах. И самое ужасное - плохо оценивает текущие знания. Уже какую неделю бьюсь об него и нередко глупо ошибаюсь. Понимаю, что ошибся. Но он снова за своё - повторяет и повторяет эти бестолковые несократимые дроби. Открывать calc.exe лениво, считать в уме получается не очень.

    Однако, для начальной систематизации может подойти.
    Ответ написан
    Комментировать
  • Математическая литература - почему всё так плохо?

    @throughtheether
    human after all
    Вот я и подумал, авось знает кто что. Может есть неизвестный мне человек, что написал монументальный труд, являющийся чем-то всеобъемлющим.
    У меня создалось впечатление, что у вас отношение к математике, как к некоей "царице наук", что есть какая-то всеобъемлющая математическая теория и т.д. С моей (инженерной) точки зрения, к математике следует относиться как к дисциплине, предоставляющей некоторые модели. Как выразился один человек, все модели неверны, но некоторые из них в определенных условиях полезны. Вы же не видите в реальной жизни "прямые", "сферы" и "цилиндры", но эти сущности могут быть полезны при моделировании (предсказании поведения и т.д.) реальных объектов. Или пример из статистики - какая вам разница, 60% пациентов, получивших лекарство, выздоравливают, или 40%? Вам, если вы сами пациент, важно, подействует ли лекарство на вас.

    Ибо математика сейчас сама себя раздирает.
    Не понял о чем вы, но если о "противоречиях" (геометрии Евклида, Римана, Лобачевского как пример), то, по-моему, "пусть цветут тысячи цветов". Каждая из "противоречащих" моделей имеет определенное приложение к реальной жизни и некие полезные результаты. Хотя могут пройти годы, прежде чем созданная модель (поля Галуа, геометрия Лобачевского) найдет применение.

    Еще один момент - математику, как и другие науки, делают люди. Поэтому, на мой взгляд, единая стройная математическая теория "всего" возможна тогда, когда множество людей сойдется во мнении касательно ряда фактов, понятий, категорий. Я не думаю, что это будет скоро.

    Из книжек, думаю, может быть полезно прочитать "Апологию математики" Успенского, хотя это не совсем то, что вы запрашиваете.
    Ответ написан
    2 комментария
  • Есть ли польза от codewars?

    sim3x
    @sim3x
    Синтетические задачки
    Для начинающих - крайне полезно
    Для средняков - полезно посмотреть на чужой код и понять как он работает
    Для топов - развлечение на самое простое, короткое или однострочное решение

    Просто куски кода оттуда никогда не юзал
    Подходы - юзал

    Не знаешь как решить. Сядь и нарисуй блоксхему алгоритма без привязки к ЯП
    Ответ написан
    Комментировать
  • Как назвать переменные?

    @red-barbarian
    Длина имени соответственно области видимости.
    Если функция небольшая то и длина не нужно большая.
    Нужно учитывать контекст. Если понятно, что соцсеть контакт, то нет нужды это писать в имени.
    Если понятно, что лайки только на пост, то незачем писать пост.
    Т. Е. Возможно лучше
    getLikes
    Или getLikesCount.
    Но все решает контекст и конкретный случай.
    Можно так. Придумываешь много имен. Затем понимаешь, что в именах есть что-то общее. Например слово лайки. И танцуешь от этого слова. Т. Е. Количество лайков, дать количество лайков и тд
    Ответ написан
  • Как назвать переменные?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Конкретно в этом случае я бы просто назвал: likes_in_vkpost().

    Поясню:
    1.
    Если функция используется в правой части и присваивает значение в переменную в левой части, то что это если не геттер-функция? Зачем еще раз заострять читателю кода "Нет чувак, я тут 100 пудов достаю лайки из поста". Ему надо просто сказать "Лайки из поста". Не верит, пойдет в функциию и почитает ее код или заглянет в код юнит-тестов.

    Если в коде гет-функии шлется http-запрос, потом получается http-ответ. Потом что-то считается. То это означает нарушение принципа "одно действие одна функция".
    * Послать запрос одна функция
    * Получить ответ другая
    * Проанализировать еще одна
    * А вот достать уже полученное из сети и хранящееся в объекте или каком-либо хранилище в памяти это и есть гет-функция. По этому ее делают read-only , чтобы она не разрушила объект и тогда она получается "свойством объекта" и по этой причине нет смысла использовать 'get' в имени функции

    2. Глагол в функции имеет смысл использовать только тогда, когда вы хотите ЯВНО сказать, что тут нужна крайне внимательно присмотреться.

    2.1. У вас есть сложный вычислительный процесс по подсчету лайков и этот код может "тупить", т.е. долго работать тогда и надо говорить compute_likes(). Читающий код задумается при глаголах: compute, analyze, etc

    2.2. Обновление значений в объекте тоже может нести опасность и по этой причине нужно добавлять 'set' . Если у чувака объект рушится, то он задаст вопрос: "А кто изменяет объект?" и тогда он будет искать глаголы : set, update, push, pop, etc

    3. Используйте грамматику английского языка

    Возьмем предложения "Эта строка пустая?", "Эти данные зашифрованы?". Как бы вы спросили это по-английски?
    'Is string Empty?" , 'Is data encrypted'?. Тогда в коде будем читать как:

    if ( str1.empty() )
    if ( data1.encrypted() )

    Если вы будете использовать схему:

    if ( str1.is_empty() )
    if ( data1.is_encrypted() )

    То вы нарушаете грамматику английского. Глагол 'to be' в вопросительных предложениях ставится ДО подлежащего! Возьмите к примеру документацию к C++ стандартной библиотеке и прочтите описание std::string.

    Оговорка: Это не касается случая, когда вы пишите в процедурном стиле. Пример:

    empty(driver_data_request)

    тут сложно понять что имел ввиду автор и поэтому 'is_empty' вполне имеет смысл!
    Ответ написан
  • Как понять, что ты middle front-end developer?

    @Lord_Dantes
    Как понять, что ты уже middle front-end developer?

    Когда просыпаешься от лучиков солнца, а не от заказчика который говорит что твоя верстка поплыла
    Чем junior отличается от middle front-end?

    Джуниора контролят на каждом этапе и дают небольшую волю, мидла могут отпустить на вольные хлеба
    Что такого знает middle, чего не знает junior front-end developer?

    JS, какой-то фреймворк возможно на базовом уровне немного бэка
    Как происходит процесс повышения до middle front-end developer в компаниях?

    Как и процесс повышения зарплат
    Чем отличаются обязанности junior и middle front-end developer?

    Джуниор может верстать, а мидл может может верстать, пить кофе, читать статью про какой-то топовый фреймворк и помогать джунам верстать за одинаковое кол-во времени.
    По каким критериям сравнивают?

    Умение находить ответы на вопросы и я больше не знаю прям таковых важных
    Набор скилов для middle front-end developer?

    Своя чашка кофе, аккаунт на тостере с достаточным вкладом, и свой ноутбук.
    Как стать middle front-end developer?

    Если читать постоянно читать советы и указания то никак. Если действовать то скоро.
    Ответ написан
    1 комментарий
  • Где найти примеры очень сложных работ на Javascript/React/Angular/Vue?

    d1monster
    @d1monster
    Front-End Developer
    На гитхабе есть целые репозитории с примерами для разных языков, фреймворков и тп.
    Искать по запросу «real world» : https://github.com/search?utf8=✓&q=real+world
    Ответ написан
    5 комментариев
  • Как теория графов применяется в программировании?

    Человек Паук, для новичка программиста при обучении основ программирования в теории графов нет необходимости. Это я Вам говорю, как дипломированный математик прикладник с опытом работы в индустрии разработки ПО.

    Дискретная математика с современному программированию имеет опосредованное отношение. Согласен, что для тех, кто претендует на звание среднего уровня или эксперта крайне желательно знать графы, алгоритмы сортировки, местами комбинаторику и т.д.

    Для новичков, рекомендую "потреблять легкую пищу" при обучении. Основы алгоритмов, методологии программирования (хотя бы императивный подход и ООП), практические навыки работы с инструментами программистов (tooling: IDE, линтеры, VCS, инструменты для сборки и/или упаковщики), технологии (http, ajax, сериализация, ...), ...

    Объясните, пожалуйста, новичку, зачем нужно изучать ее и как и где она применяется.

    На практике, много где применяется:
    1. Не понимая основ графов, можно запросто запутаться и испортить репозитории в git. Точно так же понадобится для анализа дерева зависимостей и разрешения проблем связанных с ним (смотри).
    2. При отладке программ и профилировании зачастую приходится смотреть AST.
    3. Нахождение путей, определение цикличностей и т.д. понадобятся, когда Ваши данные хорошо подходят для представления в качестве графов. К примеру социальные сети, GPS навигация, множество абстракции в компьютерных играх и т.д.
    Ответ написан
    Комментировать