• Какой электронный кошелек использовать для удалённой работы?

    fillosofik
    @fillosofik
    любитель интернета
    Живу в УКРАИНЕ и даже живя здесь я остановил свой выбор на Яндекс.Деньгах. К сожалению у нас не работают выплаты с PayPal, думаю вам, как жителю РФ, было бы удобнее получать доллары из Таиланда в долларах, а не в рублях. А как по мне, я бы пользовался на вашем месте Яндексом и не морочил себе голову)) проверенный сервис годами!
    Ответ написан
  • Какой электронный кошелек использовать для удалённой работы?

    Zoominger
    @Zoominger
    System Engineer
    там будет браться 6% для налогового вычета, вроде. Но это же много!

    Лол. Когда налоговая возьмёт за ass (даже за фрилансные копейки), заберут гораздо больше.
    Берите ЯД и не вибрируйте.
    Ответ написан
  • Удобнейший способок получить итемсы для дропдауна в Yii2?

    @LAV45
    public static function getList()
        {
            return static::find()
                ->select(['name', 'id'])
                ->indexBy('id')
                ->asArray()
                ->column();
        }

    asArray() - возвражает данные как обычный масив, помагает секаномить на памяти и немного быстрее отрабатывает.
    column() - возврашает первую калонку name т.к. она бедет первой select(['name', 'id'])
    indexBy('id') - расставляет правильные ключи
    Ответ написан
  • Какой электронный кошелек использовать для удалённой работы?

    @anton99zel
    29а класс средней школы №7
    Яндекс деньги позволяют сделать пластиковую карту за 199 рублей на 3 года.
    Пользуюсь такой, но есть минус:
    3% комиссия на снятие или переводы более 10000 рублей в месяц.
    Не знаю, но мне кажется прием денег от иностранных агентов в ЯД невозможен (могу ошибаться).
    Для меня плюс - привязка дополнительных валют и оплата этой валютой без конвертации заграницей.
    -
    Очень сомневаюсь на счёт самозанятости, потому как там предусматривается, что деньги поступают от плательщиков своего региона.
    Кроме того, если с российскими контрагентами ещё можно работать в темную до поры до времени, то рисковать с иностранцами - я бы не стал. Только в "белую". Мало ли, что вы там отмываете и финансируете.
    -
    Любые "белые" взаимоотношения будут обложены налогами. Работая в "черную", однажды могут не хило оштрафовать, почти на полную сумму полученных доходов.
    Ответ написан
  • Сложный и интересный проект для новичка?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    ## Анонимный чат с темами для обсуждения деликатных офисных проблем
    Иногда хочется обсудить что-то с коллегами в офисе, но не хочется смущать их или показывать лишнюю инициативу.
    Например кто-то не смывает в туалете или слишком громко орёт и сам того не замечает. Может быть кто-то слишком интенсивно пользуется парфюмом.
    - Анонимность
    - Постоянная ссылка на чат, тему или дерево чатов
    - ссылки в виде QR-кодов
    - голосовалка
    - закрепленные посты

    ## Сайт checklist
    Веб-сервис и мобильное приложение для краудсорсинга чеклистов для всего: зарегать ИП, получить визу, что делать при ДТП, как влезть в ипотеку, как вылезть из неё, чем заняться с ребенком на выходных (N-ле

    - Коллекция чек-листов снабженных тегами, доступная для краудсорсинга.
    - Краудфандинг составления и поддержки нового листа.
    - Фильтрация чек-листов.
    - Фильтрация пунктов.
    - Тегирование пунктов.
    - Графовые алгоритм обхода чек-листа.
    - Мастер обхода чек-листа.
    - Отчет по чек-листу.
    - Вложенные чеклисты, гиперссылки между разными листами.
    - Параметризация.
    - Экспертная система, логические связи (расширенный режим).

    Примеры:
    - Что делать при ДТП
    - Открыть ИП
    - Осмотр авто при покупке (подветки для разных конкретных моделей)
    - Первая помощь при...
    - Диагностика инсульта
    - Зомби-акопалипсис: как приготовиться
    - Атомный взрыв неподалёку - что делать
    - Планетарная катастрофа - как выживать
    - Поход выходного дня - что взять
    - Подготовка авто к поездке
    - Путешествие: Алжир (виза, прививки, документы, отели, транспорт)
    - Как влезть в ипотеку
    - Как вылезть из ипотеки
    - Как быстро заработать (во все тяжкие)
    - Покупка квартиры (на что обратить внимание)
    - Самостоятельное строительство дома (общий план)
    - Чем заняться с ребёнком N-лет
    - Как отметить новый год
    - Что интересного в районе <пос. Майский>
    - Номера телефонов и документы в автомобиле

    ## Эротический краудфандинг
    Интернет ресурс, где девушки могут делать крауд-фандинговые кампании

    - Крауд-фандинговая кампания по сбору средств на проект
    - оформление проекта (доказательство личности в виде фото с сигном, некое обещание, порог недовольных результатом, целевая сумма)
    - посетители анонимно финансируют проект в биткоинах
    - если кол-во лайков среди профинансировавших (в соответствии с весами) > порогового, учредитель получает сумму за вычетом комиссии
    - если кол-во лайков не превысило порог, сумма возвращается обратно инвесторам

    ## Простой открытый сервис для обмена сообщениями
    - HTTP API, Web-sockets
    - p2p rtsp
    - опциональное end-to-end шифрование
    - хранение истории на клиентах
    - возможность использования нескольких серверов
    - возможность использования альтруистичных клиентов для проксирования трафика p2p
    - поиск узлов на основе блокчейн технологий и DHT таблиц

    ## Онлайн-журнал путешествия
    - публикация трека в реальном времени
    - комментарии путешественника и фолловеров
    - стримы (аудио, видео, фото)
    - отложенная загрузка
    - журнал(расходы, чек-поинты, расписания, цены, погода)
    - FAQ
    - голосовалка

    ## Поэтический онлайн редактор
    - выбор стопа, стиля и жанра
    - шаблон с плейсхолдерами, разбивающий текст на слоги
    - облако рифм
    - подражающий автогенератор
    - многосегментный словарный банк (дифференциально-слоистая древовидная структура, своя специфика в верхнем слое, поэлементное ранжирование сегментов)
    - тезаурус
    - словарь сочаетаемости
    - N-граммы поэзии по авторам и стилям
    - корпус поэзии
    Ответ написан
  • Где джуну получать тестовые задания?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Для тестового задания надо что-нибудь посложней. Простенький real world app.

    Например простенький Weather App:
    1. Строка поиска городов(можно использовать например API Google):
    2. Результат поиска с погодой.
    3. Список сохраненных городов.
    4. Погода в текущей позиции.
    Для погоды можно использовать API любого сервиса(например OWM API).
    Такое приложение спроектировать сложней, тут помимо тупой работы с API библиотек придется проектировать.
    Можно использовать роутинг, а можно обойтись и без него. Да и целый ряд задач, над решением которых новичку придется хорошо подумать:
    1. Структура приложения
    2. Работа с API
    3. Реализация строки поиска
    4. Обработка исключений( нет связи, отклонили использование геолокации)
    5. Верстка
    Когда такой проект начнет оживать и работать как задумано это, конечно, принесет человеку радость и уверенность в себе.

    Так же можно реализовать Dashboard, но это посложней и требует серверной части или использование публичного тестового API вроде Star Wars API
    Еще можно реализовать простенький клиент для любого сервиса. Например поиски и проигрывание видео c Youtube.

    ИМХО совсем простые задачи, конечно могут показать знание API той или иной библиотеки, но обладает ли кандидат навыками необходимыми для Junior Developer они не отразят. А Junior Developer должен уметь самостоятельно решить точно поставленную задачу с пояснениями и рекомендациями по пути ее решения.
    Ответ написан
  • Где джуну получать тестовые задания?

    maxfarseer
    @maxfarseer Автор вопроса
    https://maxpfrontend.ru, обучаю реакту и компании
    Выяснилось, что удобного места со списком заданий нет, кроме ответа от Максим Зайцев
    Так же выяснилось, что созданием ТЗ и последующим разбором в данный момент никто не занимается кроме меня, поэтому добавляю ответ от себя.

    Здесь есть задания и разбор. Будет пополняться.

    Задание 1 (уже разобрано)
    Задание 2 (будет разобрано в конце мая)

    p.s. ссылки ведут на github, поэтому я надеюсь у модераторов не будет претензий.
    Ответ написан
  • Как работает электронная почта?

    Возьмём двух почтовых провайдеров: mail.ru и gmail.com.
    На них зарегистрировались соответственно два пользователя: А@mail.ru и Б@gmail.com
    Чтобы А успешно оправил письмо получателю Б, а тот его принял, происходит следующее.

    Схема довольно проста:

    Отправитель А@mail.ru посылает письмо получателю Б@gmail.com

    Сервер mail.ru (MTA), получив задание с помощью почтового посредника MUA (клиентская почтовая программа (The Bat, Mozilla Thunderbird)) по протоколу SMTP, ищет почтовый сервер gmail.com (MTA) по доменной части адреса (в нашем случае gmail.com) через DNS. SMTP сервер mail.ru ищет в DNS для домена gmail.com запись MX (mail exchange), она и указывает на MTA сервер получателя Б@gmail.com (в простом случае).
    Далее MTA mail.ru связывается с MTA gmail.com по протоколу SMTP, происходит ряд проверок со стороны обоих серверов, если все успешно, то письмо передается в почтовую очередь сервера gmail.com.
    Затем MTA gmail.com доставляет письмо на сервер входящей почты (называющийся MDA, то есть агент доставки электронной почты), который хранит письмо в почтовом ящике пользователя Б@gmail.com в ожидании его приема пользователем. Далее с помощью MUA (клиентская почтовая программа (The Bat, Mozilla Thunderbird)) пользователь Б@gmail.com извлекает из MDA письмо по протоколу POP или IMAP.
    В качестве MUA может выступать веб-интерфейс, использующийся для взаимодействия с сервером входящей почты (MDA) и сервером исходящей почты (MTA).
    Ответ написан
  • Почему возникает белая страница при подключении к БД?

    @OnlyMyQuestion
    E_ALL - константа, без кавычек.
    display_errors - лучше "on", а не "1".
    Ответ написан
  • Как оформлять документацию для REST api?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Дока пишется в гугл докс (так нужно), сервисы, вроде swagger не подходят.


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

    Хотя если это вам надо для вашей внутренней бюрократии а не для пользы - то кто ж вам запретит. В таком случае в целом все равно как вы её будете оформлять и описывать, главное чтобы под эту бюрократию подходило.
    Ответ написан
  • Как использовать NewRequest в golang?

    @kshvakov
    buffer := new(bytes.Buffer)
    params := url.Values{}
    params.Set("username", "a")
    params.Set("password", "b")
    buffer.WriteString(params.Encode())
    req, _ := http.NewRequest("POST", "", buffer)
    req.Header.Set("content-type", "application/x-www-form-urlencoded")


    req.Form - это "входящий" реквест и после request .ParseForm
    Ответ написан
  • Можно ли считать Golang убийцей Node.js?

    @Q001
    Мало ли кто там чего производительнее. Есть инструменты и побыстрее Go.

    Да, golang - это от рождения система быстрее чем Node

    Но насчет убийцы...
    Ну это глупо же.
    Это просто технологии.
    Ты выбираешь ту или иную в зависимости от того что тебе нужно.

    Появился (много лет назад кстати) Go - и тут же прекратит жить Node?
    Почему?

    Это паралельные измышления.
    Node появился и живет - благодаря тому, что есть куча фронтендеров, знающих JS, которые хотят писать бекенд, не изучая новых языков.

    Да, какие то компании переписали свой код с Node на Golang.
    Ну а какие то перепесали с PHP на Node

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

    Даже, гипотетически, если все будет плохо - то такие распространенные технологии как Node, не исчезают в одночасье.

    Бояться тут нечего.
    Ваши коллеги-программисты (ваши конкуренты по сути) в одночасье не переучатся на другую систему, ровно так же как и вы.

    Пока нет никаких признаков угасания Node.

    Используют большие компании, говорите?
    А еще они используют Python и Java, к примеру.

    И вообще -
    Вы — не Google
    Наверняка у вас в голове сложилась цепочка "Это использует Гугль, если я буду это использовать, то я стану как Гугль".
    А это не так.
    Не Go сделал Гугль таким каким он сейчас является.

    P.S.:
    Сам я использую именно Go.
    Но - осознанно.
    И по совсем другим причинам.
    Ответ написан
  • Почему PHP теряет популярность?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Никогда не ведитесь на уговоры разрабатывать какой то веб проект на каком то экзотичном языке, например Питоне или Яве, в результате вы получите костыльный долгострой и дефицит программистов которые будут готовы над ним работать.
    Это как в моде - есть всякое эпатажное дерьмо для показов на подиуме, а есть повседневные джинсы с рубашкой, все любят обсуждать эпатаж но носят джинсы.
    Ответ написан
  • Как вернуть результат fetch после запроса к API?

    `fetch(URL)` возвращает обещание(Promise), а вы сразу возвращаете результат. Колбэк функция передаваемая в метод then будет вызвана позже, когда закончится процесс `fetch`.
    Функция `myfunc` должна тоже возвращать Promise вот так:
    function myfunc() {
      results = [];
      return fetch(URL)
        .then((response) => response.json())
        .then((hitsJSON) => {
          return hitsJSON.hits.map(item => {
            return {
                  id: item.id,
                  url: item.previewURL,
                  tags: item.tags
              };
          }));
      });
     }
    
    // и использование 
    myfunc()
      .then((results) => {
        // do something
      })
    Ответ написан
  • Где лучше качество кода?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    Все плохо
    • Глобальные переменные — зло
    • На лицо некий код, который и с сессией работает и с БД — явное нарушение общепринятных принципов, например SRP
    • $dao как инициализирована? Явно не через конструктор
    • Использование цифры, вот сиди гадай по ней — это плохо, используйте именованную константу. Например 3 — это некий статус для desktop, вот и назовите ее STATUS_DESKTOP, хотя далее...
    • вы обращаетесь к одному методу, который шибко умный — работает с флагами, тем самым нарушая SRP и сам содержит if/else, сделайте просто 2 раздельных метода:
      getMobileOpinionList()
      getDefaultOpinionList()

    • Предикат лучше вынести в отдельный метод isMobileOnly(), тк условия могут поменяться в нем, не будете же везде в if менять по всему проекту
    Ответ написан
  • Можно-ли скачать видео с YouTube используя DevTools?

    Есть такая «секретная» ссылка: www.youtube.com/get_video_info?video_id=XXXXXX
    Вместо XXXXXX подставьте хэш видео, который в ссылке на ролик, типа youtu.be/BWCiWZtrWXU после слеша.

    По этой (первой) ссылке вернутся URL-encoded данные. Распакуйте их и возьмите параметр url_encoded_fmt_stream_map. Его значение опять надо распаковать как URL-параметры. И из результата вытащить параметр url – это ссылка на единый скачивабельный видеофайл.

    Например, в консоли браузера:
    function getUrlParams(search) {
        let hashes = search.slice(search.indexOf('?') + 1).split('&')
        let params = {}
        hashes.map(hash => {
            let [key, val] = hash.split('=')
            params[key] = decodeURIComponent(val)
        })
    
        return params
    }
    var s = '------'; // здесь длиннющая строка из ответа /get_video_info
    var a = getUrlParams(s);
    var b = getUrlParams(a.url_encoded_fmt_stream_map);
    console.log(b.url); // эту ссылку открываем в браузере - это скачиваемый видеофайл


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