• Есть ли бесплатный api переводчика?

    @Alex2080
    Ребят, тоже искал ответ на данный вопрос. С google у меня не получилось. Обнаруживает не зарегистрированный трафик и банит. И вот что я нашёл:

    Сборник бесплатных API

    Далее выбираете API, а там на вкладке pricing подписываетесь на бесплатный план. Ещё что удобно можно посмотреть рабочие (!) примеры на большинстве языков.

    p.s. Написал этот коммент для ищущих, таких как я и автор поста. Как вариант.
    Ответ написан
    Комментировать
  • Есть ли бесплатный api переводчика?

    Есть!
    Подобная тема на Хабр Q&A

    Или вот

    Если коротко, то
    http://translate.google.ru/translate_a/t?client=x&text={textToTranslate}&hl=en&sl=en&tl=ru

    {textToTranslate}, собственно и есть то, что нам надо перевести (с предложениями справлялось)
    Ответ приходит в виде строки json, который нужно распарсить и получить translatedText = myJSON.sentences[0].trans;
    Ответ написан
    Комментировать
  • Как изменить горячую клавишу смены языка на Ctrl+Shift в Ubuntu 18.04?

    Надо установить gnome-tweaks:
    sudo apt-get install gnome-tweak-tool
    Далее вызываете gnome-tweaks, с левой стороны выбираете "Клавиатура и мышь".
    Под "Комбинация клавиш ... " есть кнопка "Дополнительные параметры раскладки" нажимаете и в окне выбираете "Переключение на другую раскладку". Там можно выбрать любую комбинацию от Alt+Shift и т.д.
    Ответ написан
    15 комментариев
  • Как сделать 2 div display: inline-block; width: 50%?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    дело в том, что display: inline-block; добавляет после каждого такого блока пробел 3-4px (в зависимости от браузера).
    есть 2 решения:
    1. использовать правило margin-right: -3px - этот отрицательный отступ компенсирует те 3 пикселя, которые появляются. НО! В разных масштабах и в разных браузерах изначальный отступ в 3px может выглядеть шире/уже на пару пикселей и в итоге получим либо наезды блоков друг на друга, либо тот же самый перенос
    2. этот способ наиболее удобный. просто между блоками удалить все пробелы и переносы строк. т.е. закончился предыдущий div, и сразу же после закрывающего тега нужно вставлять следующий открывающий.


    правильно: </div><div> - в этом случае отступов не будет
    не правильно: </div> <div> - даже один символ отступа или переноса строки нарушит "хрупкое равновесие"
    Ответ написан
    6 комментариев
  • Как правильно писать тесты для приложения на Yii2?

    SamDark
    @SamDark
    Yii2 core team
    В Yii даже банальное ... порождает запрос к базе данных, для получения структуры таблицы news.


    Смокать вполне реально. Не знаю, как через Mockery, но через PHPUnit у меня вполне получалось.

    В шаблонах yii2-advanced и yii2-basic есть unit, functional, acceptance. Стоит выделить отдельную группу тестов - integration?

    Это название означает, что тесты не строго модульные. Реализованы они могут быть тем же PHPUnit.

    integration==functional

    Нет. integration = тестирует реальную базу, но всё ещё в терминах кода. functional = тестирует в терминах конечного пользователя: страницы, URL-ы, парсинг тела ответа. При этом реальный браузер не запускается. acceptance = то же, но с реальным браузером.
    Ответ написан
    7 комментариев
  • Есть ли у Яндекс.Музыки API?

    itsmepetrov
    @itsmepetrov
    Node.js разработчик
    У Яндекс.Музыки есть неофициальный API который они используют в своих приложениях для iOS/Android.
    Я написал библиотеку для Node.js для работы с ним: https://github.com/itsmepetrov/yandex-music-api
    В репозитории можете посмотреть как все устроено.
    Ответ написан
    2 комментария
  • Как установить bitcoind для приема платежей Bitcoin на сайте?

    @beatleboy
    Из опыта, скажу что лучше всего ставить на ubuntu. На другие UNIX оси ставиться геморойно.
    Инструкция по установке

    PHP библиотека для подключения к bitcoind
    Ставится быстро, не лагает.
    Ответ написан
    Комментировать
  • Как удалить несколько моделей в backbone?

    aen
    @aen
    Keep calm and 'use strict';
    Что значит "частично"? Если вы не хотите, чтобы браузер слал delete-запрос, то не вызывайте метод `destroy` на модели. Он как раз и нужен для того, чтобы модель была удалена из БД, то есть была полностью уничтожена.
    Ответ написан
    Комментировать
  • Как разрабатываются такие сайты?

    Carduelis
    @Carduelis
    Web-developer, front-end, js, less
    Опыт создания подобных штук есть. Это очень геморройно. Таких работ мало, так как тут нужен не простой дизайнер и не простой верстальщик, и даже не простой front-end'er, а все вместе: программист js-ер, умеющий толково верстать, при этом, прочитавший немало книг по дизайну.
    Не думаю, что под данную достаточно специфичную задачу есть фреймворк.
    UPD. Продублирую ответ из комментариев:
    специфично здесь следующее: когда вы начнете делать такой сайт, вы столкнетесь с кучей проблем уровня js, верстки и дизайна. Сначала вы будете тупить над версткой и css, потом над тем, чтобы ваш js-код был читабельным, затем над тем, чтобы все это дело подгонять, потому что с первого и десятого раза у вас получится некрасивая херня. Придется менять js-код и верстку по 10 раз, и, если вы не имеете достаточного опыта в том и в другом, у вас получится страшный код, 100500 итераций переделки и огромное число человеко-часов.
    Это просто так кажется, что вот тут полоска, тут полоска, го анимировать. Это же все надо продумать, скреативить, затем подгонять параметры анимации и прочего.
    Либо трех людей (js-программист, верстальщик, дизайнер) запереть в одной комнате и привязать цепью =)
    Ответ написан
    9 комментариев
  • Как эффективно изучать angular js?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1) продолжаем учить "ванильный JS", паралельно почитывая про babel, es2015 и т.д.
    2) когда мы ищем информацию в интернетах - учитываем что сейчас актуальная версия ангуляра - 1.5, второй ангуляр в бете, так что 90% информации устарело. Я даже больше скажу - даже официальная документация устарела, обновленный вариант сможете найти на github проекта в пул реквестах.
    3) https://github.com/gdi2290/ngExam - рекомендую этот список тем того, что вам надо знать про ангуляр (ну и не только).
    4) https://github.com/AngularClass/NG6-todomvc-starter - тут я попытался собрать полезные статьи на тему что надо учить и как + пример маленького современного приложения. Так же в ишусах к NG6-starter обсуждается как лучше его готовить.
    5) https://habrahabr.ru/post/277087/ - про angular 1.5 и то как я готовлю ангуляр.

    Ну и так же не стоит пренебрежительно относиться ко всяким реактам и эмберам - идеология у всех приблизительно схожа, все крутые чуваки юзают компонентный подход (потому что это удобно и логично для проектирования интерфейсов), у всех примерно одинаковое виденье по поводу data-flow в приложениях и т.д. Так что с ними ознакомиться тоже можно, у реакта чуть больше расписано про компоненты например.

    Ну и да - обязательно прочитать документацию к ангуляру. Возможно не всю сразу но базовые понятия что бы раскрыть. И разобраться с тем что значит "декларативное представление".
    Ответ написан
    4 комментария
  • Есть ли система, способная разпознавать и блокировать нецензурные фотки при их загрузке на сайт?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Если просто делать:
    1. Ищем цветовые диапазоны и замкнутые области (с площадью не менее заданных) кожных оттенков на фото.
    2. При превышении порога - считаем, что там изображено обнажённое тело.

    Если делать правильно:
    Используем контурную и цветовую сегментацию изображения и нейросеть с последующим постепенным обучением: где пристойные фото, а где - нет.

    На первое время (пока возможны ложные срабатывания, т.к. нейросеть еще недостаточно обучена) самым активным пользователям можно выдать права голосования при успешном прохождении фильтра.

    Проценты диапазонов пристойного изображения (при количестве голосовавших >=5):
    1. От 0-33% - отсеиваем
    2. От 34-66% (включительно!) и проголосовали ВСЕ, кто может голосовать -> на модерацию администратору (этот случай очень редкий)
    3. От 67% и более -> пропускаем (изображение нормальное)
    Ответ написан
    4 комментария
  • Что лучше canvas или svg?

    @Sashjkeee Куратор тега CSS
    f-e
    Плюсы Canvas:
    • Высокая производительность при отрисовке любых 2D объектов.
    • Стабильная производительность — всё есть пиксель. Производительность падает только при увеличении разрешения изображения.
    • Лучше всего подходит для создания растровой графики (например, в играх, фракталов и т.п.), редактирования изображений и операций, требующих манипулирования на уровне пикселей.
    Плюсы SVG:
    • Нет зависимости от разрешения — SVG лучше подходит для кроссплатформенных пользовательских интерфейсов, так как позволяет масштабировать изображение при различных разрешениях экрана.
    • SVG очень хорошо поддерживает анимацию. Элементы могут быть анимированы с использованием описательного синтаксиса или с помощью JavaScript.
    • Можно получить полный контроль над каждым элементом, используя SVG DOM API в JavaScript.
    • SVG хранится в формате XML, что предоставляет больше возможностей браузерам по обеспечению доступности SVG документов по сравнению с элементом canvas. Таким образом, SVG выглядит лучшим решением для пользовательских интерфейсов веб-приложений.
    Минусы Canvas
    • Отрисовка основана на пикселях.
    • Не существует API для анимации. Вам придется прибегать к использованию таймеров и других событий для обновления канвы.
    • Слабые возможности по рендерингу текста.
    • Возможно, не самый лучший выбор, когда доступность имеет решающее значение. Канва предоставляет вам поверхность для рисования в выбранном контексте (2D и 3D). Можно указать альтернативный контент внутри элемента canvas, который будет показан браузером при невозможности отображения графики. Кроме того, вы можете выполнить проверку доступности выбранного Canvas API с помощью JavaScript. На основе этого вы можете обеспечить различную функциональность для пользователей браузеров с разной поддержкой HTML 5 Canvas.
    • HTML 5 Canvas не подходит для создания веб-сайтов или интерфейсов веб-приложений, так как пользовательские интерфейсы обычно должны быть динамическими и интерактивными, а Canvas требует от вас постоянной перерисовки каждого элемента в интерфейсе.
    Минусы svg
    • Низкая скорость рендеринга при увеличении сложности документа (рисунка), так как используется модель DOM
    • Скорее всего, SVG не подходит для таких приложений как игры. Возможно лучшим выбором будет комбинация HTML Canvas + SVG.
    Вывод
    HTML 5 Canvas следует использовать для:
    1. Редактирования изображений: обрезки, изменения размеров, фильтров (удаления эффекта красных глаз, создания эффекта сепии, изменения цветности или яркости)
    2. Создания растровой графики: визуализации данных, создания фракталов и графиков функций.
    3. Анализа изображений: создания гистограмм и т.п.
    4. Создания игровой графики, такой как спрайты и фоны.
    SVG следует использовать для:
    1. Создания пользовательских интерфейсов веб-приложений, независимых от разрешения экрана.
    2. Высокоинтерактивных анимированных пользовательских интерфейсов.
    3. Графиков и диаграмм.
    4. Редактирования векторных изображений.
    честно скопипастил
    Ответ написан
    Комментировать
  • Как осуществить связь между отдельными reducers в redux?

    Зависимостей, как правило нет. Но можно сделать вложенные редьюсеры:
    const myReducer = combineReducers({ connectedReducer1, connectedReducer2 })

    PS для форм используйте redux-form.

    UPD1 При этом вы можете вручную вызывать вложенные редьюсеры:

    function combinedReducer(state = initialState, action = {}) {
      switch(action.type) {
        case SOME_COMPLEX_ACTION:
          return {
             ...state,
             someProp: someOtherReducer(state.someProp, { type: OTHER_ACTION, payload: action.payload.something })
          }
        default:
          return {
             ...state,
             someProp: someOtherReducer(state.someProp)
          }
      }
    }
    Ответ написан
    1 комментарий
  • Поисковая оптимизация профиля под upwork.com. У кого есть информация?

    StivenLH
    @StivenLH
    Full-Stack Web Developer & Team Lead
    1) Быть доступным по статусу Availability. Если нет - то не придет совсем.
    2) Top Rated (в большей степени), Rising Talent (в меньшей). Буквально через 3 дня после получения TR мне почти ежедневно стали падать предложения на интервью.

    Очень многие из них, к сожалению, абсолютно бесполезны (ибо рассылаются еще сотням таких же фрилансеров и редко несут интересные контракты). Но бывают некоторые заманчивые, однако чтобы их выиграть нужуно либо иметь _именно ту_ специализацию что хочет клиент, либо превосходное портфолио, относящееся к контракту.

    В целом для себя пользы особой не нашел. Приходится еще и следить за этим чтобы поддерживать статус "Responds within 24h"
    Ответ написан
    Комментировать
  • Как вы храните закладки на страницы скриптов, статей, программ и прочих интересностей?

    @DP-Studio
    20 лет веб-разработки
    Будете ржать, но я для этого поставил отдельный вордпресс на хостинге и во всех браузерах которыми пользуюсь вывел на панель кнопку "опубликовать" (есть такая фишка у вордпресса). Удобно, правда -))) Не теряется, доступно везде из любого браузера, можно свои комментарии при публикации добавить, поиск внутренний вордпрессовский если что работает -)))
    Ответ написан
    6 комментариев