• Размещение постов на стену вконтакте

    @Limosha
    Попробуйте «обмануть» систему. Авторизуйтесь не как сайт, а как мобильное/десктоп приложение (они наделены правами постить на стену). Проблема будет с получением токена т.к. для мобильных/десктоп приложений ВКонтакте выбрасывает на страницу vk.com/blank.html#параметры (вроде так).

    Пробовал сам — работает. Но мне нужно было для личных целей — поэтому авторизовался «вручную» и копировал токен из адресной строки браузера.

    Единственный минус — иногда требует капчу.
    Ответ написан
    Комментировать
  • Telegram канал, откуда брать первых подписчиков БЕЗ денег?

    Noizefan
    @Noizefan
    1) Нет волшебной кнопки "сделать канал успешным".
    2) Любой посредственный или посреднический контент не выстрелит "сарафанным радио"
    3) уверен, что сарафанка сработает - дай ей пинок, сделай хоть один рекламный посев
    4) Любой посредственный или посреднический контент - постоянная реклама в околотематических местах

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

    Noizefan
    @Noizefan
    Всё гораздо проще, не пудри людям мозги.
    Создать абсолютно пустую страницу в вакууме, конечно же якобы ничего с неё не делать (этот момент ты, естественно, не упомянула) и внезапно непойми кто пишет такие вещи?))

    Никакими "узнать страницу по номеру" или "номер по странице" или "страницу по имени и фамилии" "за 5000 рублей лучший хакфорум lolzteam" тут и не пахнет.
    Вот для чего страницу создала - общаться с подружкой, вступить в группу, в которой всего 15 человек, добавиться ко всем друзьям своим, у которых итак друзей по 5 штук - вот к подружке, группам и друзьям и иди
    Какие в жопу сотовые операторы, друзья? Вы с ума посходили? вирусы флешки))) Может, своими фантазиями девок клеить в реал пойдете уже а?)) диванные племянники Холмса))
    нееет, это точно цру а наша тс это спецагент в бегах. Вот не знает уже что и делать на тостер пришла.

    Ты элементарнейшим образом сама себя слила, и злоумышленнику помогли 33% удачи, 33% социальной инженерии и 33% твоей собственной глупости. Подруга тебя подставила или издевается, схожесть интересов, GetContact, всё в тысячи раз проще, стоит лишь немного пораскинуть мозгой.

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

    Noizefan
    @Noizefan
    Оно позволяет трекать вашу мышку, клики, области зависания глаз, и, как следствие, оценивать заинтересованность в тех или иных продуктах. А снизу (ты ведь выберешь мой ответ правильным? :) ) херни какой-то наговорили, секта теорий заговоров.

    Ты остаёшься потенциальным клиентом для такого рода сервисов всегда, или я неправ, неужели в личном кабинете нет функционала покупки чего-либо?)

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

    ору особенно про "зло" - чеб ты делал то без маркетологов бро, на каком заводе бы щас работал?
    "вебвизор скрывает под звездочками весь ввод в формах" - а это че за бред вообще

    у 9Б в расписании информатика походу, расстраиваете вы меня
    Ответ написан
    4 комментария
  • Как получить значение из объекта?

    Элементы массива нумеруются с нуля.

    const arr = [
        [1, 'Вася'],
        [2, 'Петя'],
        [3, 'Коля'],
        [4, 'Федя']
    ];
    
    const obj = arr.reduce((obj, innerArr) => {
        obj[innerArr[0]] = innerArr[1];
        return obj;
    }, {});
    
    console.log(b[1]); // 2: 'Петя'
    for (let user in b) { console.log(user); } // 1, 2, 3, 4
    Ответ написан
    Комментировать
  • Yandex maps Uncaught TypeError: Cannot read property '1' of null - как исправить?

    forgotten
    @forgotten
    Руководитель разработки API Яндекс.Карт
    Обычно такая проблема возникает, если у вас некорректно заданы координаты меток в кластере — строки вместо чисел, широты больше 90 градусов и т.п.
    Ответ написан
    2 комментария
  • Переход с Angular на React. Тренд или нет?

    @msdosx86
    Реакт это библиотека, а Ангуляр - это целый фреймворк. Если вы работаете в сфере энтерпрайза, то легче выбрать ангуляр, так как в нём уже есть то, что нужно для создания архитектуры огромного веб приложения и для поддержки кода в дальнейшем. Когда же огромные приложения начинают писаться на реакте, то это выглядит как мешанина из кучи npm пакетов (тот же редакс, санки, аксиос, флоу, реакт-роутер). Не спорю, что на реакте тоже можно большие приложения создавать, но для этого потребуется больше усилий (при одинаковых знаниях фреймворков). Почему? Да потому что в ангуляре с тайпскриптом и архитектурой, которую ангуляр навязывает разработчикам, можно применять классические паттерны проектирования, которые до этого применялись в классических языках типа джавы или c#. Их в обычном js'е тоже можно применять, но толку от этого не много, так как классические паттерны завязаны на ООП и статической типизации. Зачем нужны паттерны? Для поддержания кода. У нас в компании проекты поддерживаются по несколько лет (знаю проекты, которые поддерживаются уже больше 5 лет) и на проект подключают других людей. Кого то убирают, кого то подключают. И когда нужно поддерживать код, то тут тайпскрипт и архитектура ангуляра в самый раз позволяет всё это делать безболезненно (при условии, что код пишут хорошо). Весь этот, не побоюсь слова, "высер", который написал коллега выше, в сторону ангуляра обусловлен тем, что у ангуляра порог вхождения выше, чем у остальных фреймворков. И поэтому людям кажется, что там происходит какая-то магия. И получается, что люди не понимают, что там происходит и жалуются, что слишком сложно, но зато в реакте всё просто. В реакте действльно всё намного проще. Чтобы писать на реакте вам в принципе хватит знаний es6. Чего не скажешь про ангуляр. Ибо там тайпскрипт и rxjs, который просто понять не получится, надо изрядно постараться, чтобы начать думать потоками и как с ними работать. Но когда ты начинаешь понимать как работает rxjs, как работает сам ангуляр (change detection например), то становится просто невообразимо легко писать код. Весь хейт в сторону ангуляра из-за того, что фронтенда изначально не существовало как такового. Ведь был пхп и он прекрасно работал с хтмл. Потом появились шаблонизаторы и jquery. Всё это делалось бекендерами и фронтенда как такового не было. И потом появились фреймворки типа ангуляра, которые бОльшую часть логики взяли на себя и бекенд превратился в REST API. Фронтенд не был сложным, Ангуляр значительную часть логики взял на себя и тем самым усложнил фронтенд, поэтому те, кто привыкли формочки верстать, не могут осилить эти тонны абстракций. На каком нибудь фрилансе или средних проектах нет смысла в ангуляре, поэтому там и используются реакт и вью, ну и жиквери, куда ж без него. А если проект уровня 50-100К долларов, то тут ни о каких жиквери речи нет.
    Ответ написан
    4 комментария
  • Как пишут REST API на Java?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Самый простой вариант:
    sparkjava.com

    На первой странице пример - сервер в одну строку.
    "Разворачивать" много не надо. Просто запускаешь и оно работает.
    Ответ написан
    Комментировать
  • Как отправить картинку методом POST после вставки картинки через ctrl+v?

    @Timoschenko
    Можно вот так.
    <input type="text" id="my-input" name=""/>
    
    <img width="100%" id="my-img" src=""/>
    
    <script type="text/javascript">
    
    window.addEventListener('load', function(e) {
    
        let my_input = document.getElementByID('my-input');
    
        my_input.addEventListener('keyup', function(e){
            if( e.keyCode == 13 ){ // ENTER
                console.log( my_input.value );
            }
    
        });
    
        my_input.addEventListener('paste', function(e) {
    
            let reader = new FileReader();
            let pasteData = e.clipboardData.files; // .getData('file');  .getData('text');
            // e.originalEvent.clipboardData.types; // Array of Data Types
    
            reader.onload = function (e) { 
                let raw_data = e.target.result;
                $('#my-img').attr('src', raw_data); 
            }
    
            reader.readAsDataURL( pasteData[0] );
    
        });
    
    
    });
    
    
    </script>
    Ответ написан
    Комментировать
  • Сетевой чат Spring + JavaFx, как?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    6 комментариев
  • Как работать с диском пользователя через WEB-технологии?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    HTML5 FileSystem API

    HTML:
    <input type="file" id="filepicker" />
    JS:
    var files;
    document.getElementById("filepicker").addEventListener("change", function(event) {
      files = event.target.files;
    }, false);

    PS: Как вариант, можно использовать www.netdrive.net (облачные хранилища как локальный диск)
    Сам юзаю (купил лайф-тайм лицензию) - очень удобно!
    Ответ написан
    1 комментарий
  • Как защитить продукт от воровства?

    Adamos
    @Adamos
    Проект интересен только вам или потенциальным покупателям тоже?
    Если второе - вам нужны свои продажники, которые будут кричать о продукте громче, чем это могут сделать потенциальные воры.
    Битрикс вон тоже можно при желании скопировать, но попробуйте его продать...
    Ответ написан
  • Angular Json error?

    EreminD
    @EreminD
    Кое-что умею
    1. Открываете https://jsoneditoronline.org/
    2. Вставляете совой второй json в него
    3. Видите ошибку - Parse error on line 21:
    4. Нельзя передать два объекта через запятую: или массив, или оберните это все в объект


    Возможные решения:
    Массив
    [
      {
        "general": [
          {
            "firstName": "Liana",
            "lastName": "Crooks",
            "avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/kevinoh/128.jpg"
          }
        ],
        "job": [
          {
            "company": "Ledner, Johnson and Predovic",
            "title": "Investor Functionality Coordinator"
          }
        ],
        "contact": [
          {
            "email": "Gerry_Hackett77@gmail.com",
            "phone": "(895) 984-0132"
          }
        ],
        "address": [
          {
            "street": "1520 Zemlak Cove",
            "city": "New Devon",
            "zipCode": "42586-7898",
            "country": "Guinea-Bissau"
          }
        ]
      },
      {
        "general": [
          {
            "firstName": "Deontae",
            "lastName": "Dare",
            "avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/andysolomon/128.jpg"
          }
        ],
        "job": [
          {
            "company": "D'Amore, Dicki and Borer",
            "title": "International Applications Consultant"
          }
        ],
        "contact": [
          {
            "email": "Kellie.Marvin38@yahoo.com",
            "phone": "1-615-843-3426 x600"
          }
        ],
        "address": [
          {
            "street": "65901 Glover Terrace",
            "city": "Alden ton",
            "zipCode": "57744-4248",
            "country": "Kenya"
          }
        ]
      }
    ]
    Объект
    {
      "a": {
        "general": [
          {
            "firstName": "Liana",
            "lastName": "Crooks",
            "avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/kevinoh/128.jpg"
          }
        ],
        "job": [
          {
            "company": "Ledner, Johnson and Predovic",
            "title": "Investor Functionality Coordinator"
          }
        ],
        "contact": [
          {
            "email": "Gerry_Hackett77@gmail.com",
            "phone": "(895) 984-0132"
          }
        ],
        "address": [
          {
            "street": "1520 Zemlak Cove",
            "city": "New Devon",
            "zipCode": "42586-7898",
            "country": "Guinea-Bissau"
          }
        ]
      },
      "b": {
        "general": [
          {
            "firstName": "Deontae",
            "lastName": "Dare",
            "avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/andysolomon/128.jpg"
          }
        ],
        "job": [
          {
            "company": "D'Amore, Dicki and Borer",
            "title": "International Applications Consultant"
          }
        ],
        "contact": [
          {
            "email": "Kellie.Marvin38@yahoo.com",
            "phone": "1-615-843-3426 x600"
          }
        ],
        "address": [
          {
            "street": "65901 Glover Terrace",
            "city": "Alden ton",
            "zipCode": "57744-4248",
            "country": "Kenya"
          }
        ]
      }
    }
    Массив в объекте - самый подходящий
    {
      "data": [
        {
          "general": {
            "firstName": "Liana",
            "lastName": "Crooks",
            "avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/kevinoh/128.jpg"
          },
          "job": {
            "company": "Ledner, Johnson and Predovic",
            "title": "Investor Functionality Coordinator"
          },
          "contact": {
            "email": "Gerry_Hackett77@gmail.com",
            "phone": "(895) 984-0132"
          },
          "address": {
            "street": "1520 Zemlak Cove",
            "city": "New Devon",
            "zipCode": "42586-7898",
            "country": "Guinea-Bissau"
          }
        },
        {
          "general": {
            "firstName": "Deontae",
            "lastName": "Dare",
            "avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/andysolomon/128.jpg"
          },
          "job": {
            "company": "D'Amore, Dicki and Borer",
            "title": "International Applications Consultant"
          },
          "contact": {
            "email": "Kellie.Marvin38@yahoo.com",
            "phone": "1-615-843-3426 x600"
          },
          "address": {
            "street": "65901 Glover Terrace",
            "city": "Alden ton",
            "zipCode": "57744-4248",
            "country": "Kenya"
          }
        }
      ]
    }
    Ответ написан
    Комментировать
  • Зачем нужен Spring Cloud?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Spring Cloud нужен для автоматизации разворачивания сервисов на облачных платформах, типа AWS, Azure, GCP и прочем. Обычно он нужен тогда, когда система должна автоматически реагировать на изменение нагрузки и разворачивать новые инстансы десятками.
    Ответ написан
    4 комментария
  • Есть ли сервис по типу Upwork, но без заказов и фрилансеров?

    Upwork без фрилансеров и заказчиков это в точности https://hubstaff.com

    Тот чё трекинг часов.
    Ответ написан
    1 комментарий
  • Как бороться с клеветой и черным пиаром в интернете?

    Про «негативный» сайт забудьте. Его создавали как раз для такого эмоционального якорения. Не надо кормить тролля.

    Сосредоточьте некоторые усилия на создании положительного фона на большом числе ресурсов: это должна быть кампания, растянутая хотя бы на 3-6 месяцев, охватывающая большое число сайтов: от форумов близкой тематики, до частных блогов, стен вконтакте и комментариев к фотографиям на фликре. Представьте, где бы ещё могла, скажем, девочка, в восторге от вашего сервиса, поделиться с близкими подругами опытом приятного общения. Или опытный путешественник, воспользовавшийся услугами вашего турагентства, мог бы написать отчет о путешествии, вскользь упомянув что «а авиабилеты я удачно поймал в Рога и Ко».

    Ваш потенциальный клиент шуршит по интернетам не в поиске негатива/позитива про вас, а ищет лучший способ решить свою задачу. И если в поиске ответа он хотя бы дважды в разных местах найдёт несвязанные друг с другом косвенные позитивные упоминания вашей компании — вы в шоколаде. По сравнению с этим одна клякса на помойке жалоб — вообще ничто.
    Ответ написан
    1 комментарий
  • Хочу сделать API, с чего начать?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Следует начать с проектирования API. Возмите https://swagger.io/ и набросайте все, что нужно.
    Swagger вам позволяет объединить роутинг, документацию и примеры вызовов в единое целое.
    Кроме этого он позволяет сгенерировать заглушки для разных языков программирования и фреймворков.
    В принципе вы можете найти значительное количество интеграций для разных фреймоворков.

    В целом API лучше делать с помощью фреймворков, поскольку в них уже реализованы тривиальные моменты по безопасности, аутентификации и авторизации. Вы можете использовать микрофреймворки, например тот же Slim. Вы даже можете сгенерировать роутинг для него используя генератор от Swagger.

    В REST есть 6 принципов, прекрасно изложенных в Wiki. В REST нет ничего сложного и особенного. Это просто надстройка над стандартным протоколом HTTP. Именно поэтому нет никаких особенных уроков. Изучите работу HTTP и вы поймете как работает веб в целом и REST в частности.

    По поводу отдельного сервера для API. Есть множество разных подходов. В последнее время все более актуальными становятся Serverless-приложения. Serverless архитектура идеально вписывается в REST. Но думаю для вас это пока рановато и сложновато. Слишком много для начала.

    Логичнее всего держать проект в моно-репозитарии, если он не будет большим. Если вы точно не знаете насколько большим он будет, то можно разбить проект на компоненты и использовать Composer для управления зависимостями (советую полность прочитать эту страницу от корки до корки).

    По поводу best practices есть очень хороший ресурс https://12factor.net/ru/
    Он в целом применяется для всех приложений.

    Запомните: первый блин всегда комом. Прочитайте все ресурсы, которые я привел для вас. В них много ссылок на другие, походите по ним, присмотритесь. Напишите первую версию API так, как вам кажется удобно. Постарайтесь применить практики из статей.
    Вам нужен опыт и вы его не наберетесь, пока не сделаете что-то сами. Вы можете потратить год на чтение, но останетесь на том же месте, с которого начали. А другой человек напишет на коленке API за неделю, а потом перепишет его 20 раз за год и он вам расскажет в 10 раз больше, чем то, что вы изучили за год.
    Дерзайте!
    Ответ написан
    16 комментариев
  • Как решить данную задачу?

    Beshere
    @Beshere
    Разработчик
    Если нужен именно генетический алгоритм, то надо сделать так:

    1. Создать случайную популяцию водителей, каждый со своим набором монет.
    2. Прогнать этих водителей по маршруту.
    3. Отбросить некоторый процент самых неудачливых водителей.
    4. Оставшихся водителей "скрестить", "мутировать".
    5. Повторять алгоритм, начиная с пункта два, пока результаты самых экономных водителей в популяции перестанут улучшаться.

    Как-то так, наверно. Осталось придумать, как "скрещивать" и "мутировать".

    "Скрещивать" можно, например, порождая нового водителя со случайным набором монет из карманов его "родителей". А "мутировать", отбирая случайную монету, и выдавая взамен её другу случайную.
    Ответ написан
    Комментировать
  • Хром не хочет удалять кешированную версию сайта. Что делать?

    SagePtr
    @SagePtr
    Еда - это святое
    Сайт через HTTPS? Если через HTTP, то есть вероятность, что у провайдера где-то воткнут по пути кэширующий прокси, прозрачно перехватывающий запросы
    Ответ написан
    8 комментариев