• Помощь,Сделать Post запрос(fetch)?

    @UNy
    function but(id) {
    
            fetch('/ajax', {method: 'POST',body:JSON.stringify({
                    name:'vlad',
                    id:id
                }),headers:{'content-type': 'application/json'}})
                .then(function (response) {
                    alert(response.status); // 200
    
                    return response.json();
                })
                .then(function (data) {
                    alert(data.id);
                    let elem = document.getElementById('h2o');
                    elem.innerText = data.id;
                })
                .catch(alert);
        }

    Вот мой пример изменения содержимого. В первом .then вы возвращаете return response.json(); А куда? Сделайте еще один then который принимает эти данные и работает с ними.
    Ответ написан
    Комментировать
  • Что будет если устанавил то, что уже установлено?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Установленные вещи обычно заново не устанавливаются. Но если факт установки не проверяется (или игнорируется), то все зависит от скрипта установщика.
    Установщик:
    (если не отключено) проверяет зависимости и доустанавливает то, что нет
    (всегда) раскладывает файлы пакета по тем местам, где им назначено лежать
    (если предусмотрено) бэкапит старые конфиги
    (если предусмотрено) устанавливает новые конфиги, при этом старые может затереть
    (всегда) обновляет информацию в БД с данными об установленных программах
    Ответ написан
    1 комментарий
  • Как взаимодействует vue с бэкендом?

    @DanSorokin
    Full-stack developer at onvoya.com
    Так же возможен вариант когда Vue рендерится на стороне сервера. Это когда сервер сам сует данные в шаблоны, после парсит комоненты vue к html-строке и отдает такой вариат клиенту. Этот механизм называется серверный рендеринг. Ваш описанный механизм называется клиентский рендеринг. Если их совместить, то получится изоморфное приложение.
    Ответ написан
    4 комментария
  • Как использовать vue.js в большом django-проекте?

    Konstantin18ko
    @Konstantin18ko
    Стоматолог
    Могу сказать по себе, есть компоненты, есть фильтры, есть vue resource... Много что использую в связке Django + DRF + VueJS.

    Статичкский контент - Django, динамический DRF + VueJS.

    Участок кода повторяется, в компонент. Если нет, то новый экземпляр.
    Ответ написан
    Комментировать
  • Как унаследовать абстрактный класс в C#, WPF?

    Griboks
    @Griboks Куратор тега C#
    Что за конченный вопрос? Таким матёрым программистам не место на этом форуме.
    Partial declarations of 'RanksWindow' must not specify different base classes

    Честно говоря, можно просто зайти в переводчик. Но я поясню, что c# сообщает об отсутствии поддержки множественного наследования. Что это значит? Это означает, что у вас в коде есть два объявления класса RanksWindow , один наследуется от BaseWindow, а второй - чего-то ещё, наверное Window. А нужно указать только одного родителя. И ещё выучить английский, или хотя бы научиться пользоваться переводчиком. И самое главное - культурно писать.
    Ответ написан
    1 комментарий
  • Как добавить значение при первой миграции?

    1) Дата миграции https://docs.djangoproject.com/en/2.0/topics/migra...
    2) Фикстуры https://docs.djangoproject.com/en/2.0/howto/initia...

    Выбирайте что удобней :)
    Ответ написан
    Комментировать
  • У вас недавно было успешное собеседование на тестировщика: назовите основные темы, о которых вас спрашивали?

    @meilmut
    Я последнее время часто провожу собеседования тестеров. Начал вам подробно отвечать, получилось столько текста, что решил написать на эту тему полноценную статью. Правда там больше информации по найму manual junior. Но на некоторых вопросах посыпется половина и более опытных QA. Разместил ее на спарке в блоге нашего проекта: https://spark.ru/startup/neaktor/blog/31094/nanyat...

    Краткое содержание вопросов по самому собеседованию:
    • Что такое вообще тестирование?
    • Что такое blackbox / whitebox / graybox?
    • Жизненный цикл бага / ПО?
    • Чем отличается чек-лист от тест-кейса? Когда стоит их использовать?
    • Виды / типы / уровни тестирования
    • Техники тест-дизайна. Минимальный набор: Boundary Values, Equivalence Partition, Decision Tables, State Transition. Более продвинутые: Pairwise например. Решите практическое задание по составлению тест-кейсов с применением техник тест-дизайна, которые знаете. Explorative - не в счет
    • Логические задачи
    • Вопросы на адекватность. Что делать, если вам возвращают тикет в Reject? Не знаете как тестировать какой-то функционал. Что делать?


    Отдельно тестовым заданием проверяется оформление дефектов.

    Большинство вопросов "открытые", то есть можно остановить соискателя в любой момент и попросить уточнить какие-то делали. Например, "Тестирование производительности? Давайте остановимся подробнее. Какие подтипы знаете? Чем отличается Load от Stress тестинга? Как вы будете проводить тестирование производительности?"

    Или вот например еще задача на подумать. Когда тестирование интерфейса является функциональным тестированием, а когда нет? Приведите пример.

    Если говорить про собеседования senior, то более технические вопросы обязательны. Артем выше привел неплохие примеры. Но тут можно вообще про много что спрашивать. От как вы будете тестировать API до запросов в noSQL базы. Также у тестеров с опытом спрашивать про матрицы покрытия тестов, тест-планирование, цикл разработки тестовой документации и так далее.

    Надеюсь вам поможет.
    Ответ написан
    Комментировать
  • Как опубликовать игру/приложение в Ubuntu Store написанное на Golang?

    @vanyamba-electronics
    As a free/open source app, you essentially have two options:
    Ответ написан
    Комментировать
  • Как наверстать знания в javascript?

    Yertuwernat
    @Yertuwernat
    Кратко о себе: живу в России, не женат, характер
    Как вариант ты можешь работать без всех этих технологий: babel, webpack, typescript и тд и тд.

    Вообще без них!

    Но если ты хочешь работать как все в индустрии - то страдай!
    Страдание неизбежно.
    И неизбежно ты вынужден будешь работать с лентяями, дебилами, психопатами, жуликами и тд и тд.

    Я например создаю веб-приложения "для себя" ну и для всех кому понравится, и пишу код так как мне удобно, и не страдаю вообще, и для работы мне хватает старенького мака 2005 года выпуска.
    В принципе, работая так, можно даже делать на заказ. Но чаще всего заказчики дебилы и хотят чтобы разработчик работал по стандартному шаблону, чтобы его потом можно было бы уволить и нанять другого. Это страх и недоверие типичное в наших людях.

    На самом деле эта возможность легко увольнять разработчиков - это и есть главная причина существования этих безумных сложных технологий: babel, webpack, typescript и тд и тд.

    И те кто вынужден работать в этих фреймворках чаще всего сами себе внушают что так и должно быть и это нормально - и рекламируют это другим...
    Это просто дурдом.
    Ответ написан
    15 комментариев
  • Как вы боретесь со слабой типизацией и зачем ее придумали?

    И самое главное: кто придумал слабую типизацию?

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

    Динамическую типизацию придумали для того, чтобы было легче писать обобщённые алгоритмы и мета-алгоритмы, в дин. языке для обобщения кода не нужны ухищрения типа дженериков (TypeScript, C# и много чего ещё) или шаблонов/макросов (C++). В ОО-языках часто доступны и другие удобства, например смена интерфейса объекта в зависимости от его состояния (т.к. решение о возможности вызова метода/свойства объект может принимать сам).

    Слабую типизацию придумали чтобы заставить людей страдать (да, я не знаю кому такое нужно вообще).

    Как вы пишете код на жс?

    Мы не пишем код на JS, мы пишем код на TypeScript. Да, такие сейчас странные времена, когда язык со статической типизацией компилится в язык с динамической, т.к. исполнять на клиенте (в браузере) больше нечего пока.

    Он же не должен быть напичкан parseInt() и !== undefined.

    Не должен. Если писать на голом JS, можно а) использовать JSDoc для аннотаций о типах, и работать с типами на уровне документации и договорённостей; б) писать алгоритмы в максимально обобщенной манере, и требовать по возможности не конкретных типов данных, а значений, над которыми допустимы нужные вам операции; в) покрывать код тестами, что и спасает в динамических языках.

    Чем больше проект, тем важнее статическая типизация, это нормально. JS - это язык который популярен по техническим причинам и по стечению обстоятельств, а не потому что он этого заслуживает (имхо). Очень неглупые дяди и тёти не стали бы тратить годы своего времени и кучу денег на разработку TypeScript и Flow, если бы это было ненужно.
    Ответ написан
    1 комментарий
  • Какое направление будет более перспективно?

    @Zwerty
    Больше трёх лет работал с PHP и Zend, сейчас интересных проектов стало меньше, пришлось уходить в фронтенд. Рынок PHP-разработки держится на "трёх хромых слонах": CMS-разработка (нужно дешево и сейчас), поддержка старых проектов, ну и новые крупные и интересные проекты на Symfony/Laravel, которых становится все меньше (такие проекты, как правило, начинают на Node.js, Python или ASP.NET Core). На PHP остается ширпотреб.
    А JS сейчас это уже не просто тренд или будущее, это самое что ни на есть настоящее. Практически все веб-проекты сейчас разрабатывают с помощью JS-фреймворков (React, Angular, Ember, Polymer, Vue). JS уже и в мобильной разработке. Если раньше моб. разработчики смеялись с React Native или NativeScript, то сейчас это уже зрелая технология (React Native уж точно) и вакансий полно, это прекрасные инструменты для прототипов или несложных приложений (приложений, которые просто что-то дергают по api, а таких 90%). Даже десктопные клиенты делают с помощью JS. Помню, раньше такие монстры на Electron жрали много оперативки и были очень неповоротливые, но сейчас ситуация изменилась (использую 5 приложений на Electron, все используют не больше 120 Мб оперативки).
    Я уж молчу про серверный JS в виде Node.js, который становится все популярнее с каждым годом.
    Поэтому на вашем месте я бы двигался в сторону JavaScript.
    Ответ написан
    Комментировать
  • Есть библиотека для выбора страна/город Django?

    @techkuz
    Ответ написан
    Комментировать
  • Как сделать правильную структуру сайта на WagtailCMS?

    m1kola
    @m1kola
    Вы можете использовать страницы (наследоваться от Page) для главной страницы, для страницы категории и для страницы статьи.

    Т.е. вам нужны три модели:
    • class HomePage(Page)
    • class CategoryPage(Page)
    • class ArticlePage(Page)


    Wagtail использует древовидную структуру для страниц. Т.е. дерево страниц будет примерно таким:
    - Root
    -- Home (HomePage)
    ---- Category 1 (CategoryPage)
    ----- Article 1 (ArticlePage)
    ----- Article 2 (ArticlePage)
    ---- Category 2 (CategoryPage)
    ----- Article 3 (ArticlePage)


    Вы можете ограничить для каждого типа страницы какие страницы могут использоваться как дочерние (subpage_types) и какие типы страниц могут использоваться как родительские (parent_page_types).

    Вот пример:
    class HomePage(Page):
        # Ваши поля, если нужно
    
        # Тут не ограничиваем дочерние и родительские страницы
        # т.к. на сайте могут быть не только 3 типа страниц
    
    
    class CategoryPage(Page):
        # Ваши поля, если нужно
    
        # Может быть создана только как дочерняя страница для HomePage
        parent_page_types = ['your_django_app_name.HomePage']
    
        # Дочерними страницами могут быть только CategoryPage.
        subpage_types = ['your_django_app_name.CategoryPage']
    
    
    class ArticlePage(Page):
        # Ваши поля. StreamField, или что угодно
    
        # Может быть создана только как дочерняя страница для CategoryPage
        parent_page_types = ['your_django_app_name.CategoryPage']
    
        # Дочерних страниц у этой страницы быть не может
        subpage_types = []


    Есть другие варианты реализации - выбор зависит от ваших требований. Вы можете использовать сниппеты или теги в качестве категорий.

    P.S.: ответ запоздал, но надеюсь он будет полезен тем у кого возникнет похожий вопрос.
    Ответ написан
    Комментировать
  • Почему почти все open source проекты на ASP.NET требуют денег за удаление копирайта?

    @Z-r
    > Почему...

    Почему добрая половина программ на Жуквери вообще непонятно кому принадлежит и на каких условиях распространяется? А у программ на Емакс-лиспе напротив — всегда очень педантично оформлен список правообладателей и лицензия.

    Субкультура такая сложилась.

    > Насколько такая «жадность» соответствует открытым лицензиям?

    Открытые лицензии — это лицензии, выданные неограниченному кругу лиц. Никакого отношения к «жадности» или «нежадности» они не имеют. Есть, к примеру, целая куча открытых лицензий, что вообще запрещают вам пользоваться программой бесплатно дольше N дней, эта практика даже имеет особое название — shareware.

    Может быть, вы хотите узнать, насколько требование про «powered by...» соответствует понятию свободной программы? Я не усматриваю никаких противоречий между требованием атрибуции и определением свободной программы.

    Или возможно, что вы хотите спросить, не противоречит ли такое требование какой-нибудь отдельно взятой свободной лицензии — ну, например, самой популярной из таковых — GNU GPL?

    Если брать ее актуальную (третью) версию, то я тоже никаких противоречий не усматриваю. Напротив — пункт «b» статьи 7 прямо разрешает требовать «preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it». Этот пункт зачастую трактуется довольно широко — скажем, лицензия OnlyOffice’а требует отображать в пользовательском интерфейсе уже не простую гиперссылку, а графический логотип (если это технически возможно). И кстати, это еще один пример в вашу копилку, ибо его серверная часть также написана на ASP.NET’е.

    То же справедливо и в отношении GNU Lesser GPL и GNU Affero GPL.

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

    P. S. [цитаты реплик — из комментариев]

    > Как раз тот факт, что «так сложилось» я понимаю. Я не понимаю, почему так сложилось.

    А это, я полагаю, вопрос, который еще ждет своего исследователя — историка свободных программ. Учитывая, что я вообще не знаю ни одного человека с такой специализацией (а вы?), надо думать, что кроме догадок вы в обозримой перспективе ничего не получите.

    Формат вопросов и ответов — на самый подходящий для догадок и версий, но если вам все-таки интересна лично моя гипотеза, то я думаю, что вопрос следовало бы задать наоборот — почему за пределами субкультуры ASP.NET’чиков так не принято — нет, серьезно, по всему получается, что это отличный способ этичного заработка на свободных программах! Подозреваю, что за ее пределами о таком приеме просто не знают.
    Ответ написан
    4 комментария
  • Как наладить обмен данными между клиентом и сервером?

    AlexanderYudakov
    @AlexanderYudakov
    C#, 1С, Android, TypeScript
    1. Убрать все "lock" - никакой пользы от них здесь нет.

    2. Убрать все "try {...} catch (Exception e) { Debug.Print(e.Message); }
    Никакой пользы от них тоже нет.

    3. Убрать IsCorrect. Читаем длину сообщения, затем читаем нужное количество байт. А то, что вы называете "Фактическая длина" - плод вашей фантазии.

    4. Читать надо ни до тех пор, пока DataAvailable, а до тех пор, пока не будет получено нужное количество байт. Синхронно, либо асинхронно вы это будете делать - без разницы.

    5. А теперь собственно ответ на ваш вопрос:
    Механизм чтения сообщений умирает, когда читатель читает быстрее, чем писатель пишет (либо сеть передает). В этом случае DataAvailable вернет false; ваш алгоритм, вместо того, чтобы дождаться оставшейся части сообщения, прерывает чтение на середине сообщения, говорит, что IsCorrect() == false, и зависает.

    6. Формат сообщения имеет смысл упростить: первые 4 байта - длина тела в байтах; затем само тело (например, в UTF-8, если вам нужен текст). Соответственно, читаем сначала 4 байта, а потом еще столько, сколько там указано.

    P.S.
    7. Вызывать Encoding.GetString() следует только на целом сообщении; если вы делаете это на части сообщения - результат непредсказуем.

    8. Сетевые исключения обрабатывать, конечно же, надо. Однако Debug.Print - это не решение проблемы. Сокет имеет смысл закрыть. А дальше - либо уведомить об этой проблеме своего клиента (кто обрабатывает полученные сообщения), либо, по-хорошему, - попытаться открыть другое соединение и повторить попытку продолжить работу так, чтобы клиент ничего не заметил :)
    Ответ написан
    Комментировать
  • Тестовое задание для собеседования на php программиста?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    Мы ожидали увидеть приложение с использованием готовых библиотек для работы с HTTP, базой данных, работы с консолью. А также легко расширяемое и поддерживаемое.

    Теперь понятно, что они хотят — но в ТЗ не было указано:
    • Под HTTP понимают либы, работающие с PSR 7 или близкие по «духу», например Symfony HTTP Foundation
    • Под БД понимают Doctrine 2 или Eloquent
    • По консольным — на рынкке используют как правило Symfony Console

    Именно это и хотели, предлагаю вам либо объяснить и написать уже на компонентах, либо послать к черту, НО отметить этот момент и на будущее таки делать уточнение, каковы ожидания от задания...
    Нескольких людей встречал до фанатизма не принимающих сторонние пакеты, и наоборот... Это нужно учитывать... видел задания на PHP 5.3, видел задания строго на Codeigniter...

    Тут на Тостере был пример, когда человек применил композер даже не для сторонней либы, а для внутренних, так на него тимлид сокрушился...
    Разве Composer бесполезен в 2017?

    Люди разные :)


    Материал по компонентной разработке

    Елена,
    не нужно Symfony ассоциировать с фреймворком — это в первую очередь компоненты — потрясающие компоненты:
    • Symfony Console
    • Symfony HTTP Foundation
    • Syfony Routing (к слову очень быстрый, недавно ускорили его в 70 раз ребята и сделали самым шустрым компонентом)
    • Twig
    • Debug
    [*!*] В некоторых вакансиях даже указывают, что нужно уметь работать с некоторыми выше перечисленными компонентами :) Пруф: https://novosibirsk.hh.ru/vacancy/25367906

    Doctrine — совсем не из Symfony и этот компонент можно использовать где угодно

    Zend к слову пошел по тому же пути, например
    • для HTTP Request/Response PSR 7 у него есть отличный компонент Zend Diactoros,
    • для работы с PSR 15 Middleware есть компонент Zend Expressive,
    • для работы с ролями и правами крутое решение Zend ACL

    Laravel уже да — фреймворк, и опять же на компонентах, и можно использовать его куски, например у него замечательная ORM (Active Record) — в отличие от AR в Yii2 ее можно (и нужно) использовать в любом кастомном проекте вне фреймворка Laravel или вообще фреймворка там , где Доктрина лишняя


    Почитать и посмотреть:

    Современный PHP без фреймворков (статья Mail.ru на Хабре)
    Консольное приложение (мастер-класс) — собрано из компонента Symfony Console и ORM Eloquent (от Ларавел)
    PSR-7 фреймворк от Д.Елисеева
    Ответ написан
    3 комментария
  • Какие ресурсы понадобятся для разработки своей медицинской CRM?

    Exploding
    @Exploding
    wtf?
    Чего-то я не очень пойму, что тут сложного то?
    Понятно, что предварительно ничего не понятно, но из того, что есть:

    • регистрация на сайте компании: да ради бога
    • ведение личной истории: в формате "темы форума" с "постами" думаю пойдет. Иного врачам и не нужно, да и сами они не знают еще что им нужно и никто не знает, т.к. тематика специфическая, поэтому как для старта - думаю вполне, а там допиливать уже можно будет.
    • запись к врачам: форма а-ля feedback + 1 select со списком врачей?)) Уточняйте.
    • онлайн-консультации: siteheart и ему подобные сервисы вполне решают. Было бы кому отвечать.
    • онлайн-оплата может быть: может быть
    • администрирование всего этого: хорошо
    • интеграция с чем-нибудь понадобится: с чем-нибудь всегда отлично получается
    • создание мобильного приложения: а вот это не надо! Адаптивной ровной версии вполне... По крайней мере на таком сыром старте.

    Ну это так... на вскидку... Даже CRM сюда с трудом клеится...
    UPD: + мой ответ также служит наглядным примером того, на сколько "размыта" ваша задача и на сколько по разному ее видят разработчики на данном этапе.
    Ответ написан
    Комментировать
  • Что обязательно нужно знать в PHP и что посоветуете выучить?

    voronkovich
    @voronkovich
    Я бы порекомендовал посмотреть плейлист PRS-7 фреймворк на канале Дмитрия Елисеева.
    Там обсуждается создание современного фреймворка на PHP и рассматриваются такие темы как: PSR, Dependency Injection, шаблонизаторы и т.д. Крайне рекомендую!

    Также советую почитать книгу Джоша Локхарта (создатель фреймворка Slim) Современный PHP.
    Slim-фреймворк тоже можете посмотреть, он достаточно добротно написан :).

    TDD. Есть хорошая книга Кента Бека Экстремальное программирование. Разработка через т.... Примеры там даны на Java, но будут понятны любому кто знает хотя бы один Си-подобный язык (PHP к таковым относится!).

    UPD: Вы просили указать: можно ли с вашими знаниями устроится джуном. Я думаю, что да, можно.
    Ответ написан
    Комментировать
  • Как полность удалить или отключить систему обновлений в Windows 10?

    Moskus
    @Moskus
    Запустить gpedit.msc через Run...
    Далее - Computer Configuration > Administrative Templates > Windows Components > Windows Update, установить Configure Automatic Updates в значение Disabled.
    Ответ написан
    Комментировать