• Какие есть SIP операторы с подменой номера для шлагбаума?

    @aleksmisha1
    Если легально - то самый лучший вариант - SIPNET. Берете номер хозяина шлагбаума, (естественно он должен согласиться или вы должны все сделать незаметно) и в сервисе подтверждаете номер. После этого он ставится как CallerID (ну там разберетесь).

    Если нелегально, то black-wolf.tech, правда да, там сложности с техподдержкой и с активацией учетки.
    Ответ написан
    6 комментариев
  • Какие есть SIP операторы с подменой номера для шлагбаума?

    @Gansterito
    Не нужно подделывать номер.
    Арендуете самую дешевую ВАТС и номер в коде DEF.
    С этого номера в коде DEF в ВАТС ставите переадресацию на номер шлагбаума.
    Номер DEF передаете обслуживающей шлагбаум компании как новый номер Мужика.
    И Вы, и мужик для открытия шлагбаума звоните на DEF, вызов переадресуется на шлагбаум, он открывается.
    Есть минус - любой прозвон на DEF откроет шлагбаум.
    Ответ написан
    1 комментарий
  • Зачем крупные компании заказывают разработку сервисов у сторонних компаний?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    Комплексные проекты выгоднее заказывать у IT-гигантов, чем создавать и поддерживать собственное управление разработки.
    Поэтому свои IT-шники в основном занимаются административными работами, составлениями тз, приемками, решениями проблем и ковровым сопровождением, выявлением и описанием багов.
    Захотел "сбер" сделать портал: это ему надо нанять 100 давольно специфичных по стэку IT-шников, чтобы они за полгода-год его написали, потом, в первый год, для исправления багов достаточно 30, а в последующие для поддержки и 10 не спешно справятся. Получается лишних 70, 20 надо сокращать, или же, у стороннего разраба их просто переведут на другие проекты. Тк "сберу" питонисты больше не нужны, у них следующий проект на яве планируется.
    Ответ написан
    Комментировать
  • Зачем крупные компании заказывают разработку сервисов у сторонних компаний?

    Zoominger
    @Zoominger
    System Integrator
    Потому что их специалисты занимаются чётко определённым кругом ежедневных задач, а нанимать большую команду ради одного проекта крайне невыгодно.
    Ответ написан
    3 комментария
  • Зачем продают стартапы?

    @jazzus
    1) Чтобы получить деньги на развитие.
    2) Чтобы получить деньги в карман.
    3) Чтобы скинуть то, что уже не нужно и получить какие-то деньги)
    Ответ написан
    Комментировать
  • Особенности по миграциям в Symfony?

    @Flying
    В Symfony по-умолчанию используется Doctrine, для неё есть Doctrine Migrations.

    Поскольку Doctrine - data mapper, то вам не нужно "добавить к таблице колонку / индекс / поменять тип колонки", вместо этого вам нужно менять свои entities и mappings для них (подробнее здесь), а затем создать для неё миграцию, используя команду doctrine:migrations:diff для Symfony console. Т.к. команда работает на сравнении схем базы данных - в итоге вы получите миграцию с SQL скриптами для применения и отката изменений, внесённых в ваши mappings.
    Ответ написан
    6 комментариев
  • В 40 лет планирую поменять сферу деятельности с 1С на Android? Сколько на старте смогу зарабатывать?

    @nikbrik
    Нахожусь почти в идентичной ситуации. 33 года, образование высшее, работаю в 1С 9 лет, перехожу в Андроид, есть жена и ребенок, жена не работает. +Ипотека.
    Учусь уже год, недавно начал пробовать ходить на собеседования.
    Моё ИМХО:
    - Твой опыт в 1С не релевантный в "большой" разработке, от слова совсем. Причем не только по мнению работодателя, это так и есть. Алгоритмы и структуры данных - не знаешь. ООП - не знаешь. Функциональное программирование - не знаешь. Архитектурные паттерны, шаблоны, принципы SOLID и метапринципы - не только не знаешь, но и не понимаешь, нужно будет много практиковаться, чтобы понять. TDD - не знаешь (хотя может быть тебе и повезло работать на проектах, где пытались использовать BDD, но в 1С это все равно немного не то). Git - не знаешь. Многопоточность и клиент-серверное взаимодействие - только думаешь, что знаешь. Устройство ОС и другие базовые вещи computer science - уже давно выветрились из головы. Даже банально английский - не знаешь. Все современные подходы и инструменты - не знаешь.
    - Java и Kotlin - сейчас это одно целое, ты должен знать оба, без вариантов. Начинай с любого. Во flutter еще надо будет выучить Dart. В принципе все очень похоже (но не на 1С)
    - 1000$ на старте - это очень хороший вариант, чтобы свитчнуться, если предложат - бери не глядя. Многие будут предлагать меньше.
    - Твой возраст не имеет значения, если ты им не кичишься. Для них ты 18-летний постаревший джун без опыта и веди себя соответствующе.
    - Кроссстек (ios + android) никому не нужны. Но во flutter опыт нативной разработки (там или там) считается плюсом. Jetbrains также разрабатывает kmm, может в будущем взлетит, туда из андроид попасть легче.
    - Учиться придется 2 часа в день по ночам. Или рано утром. Если ездишь на работу на машине - пересядь на общественный транспорт, будет дополнительное время читать и смотреть. Также придется учиться в туалете, в обеденный перерыв, если не можешь уснуть вечером, вместо фильмов/сериалов/игр и т.д. Год минимум (нужно же минимум 1000$, правильно?)
    - Роадмэпов полно, ищи. Также нужно будет иметь несколько вылизанных пет-проектов.
    - Неплохой вариант - найти стажировку где-то параллельно с основной работой. Запасись корвалолом.
    - Вся информация есть бесплатно на https://developer.android.com/
    Ответ написан
    6 комментариев
  • Доступ к определенному значению данной библиотеки?

    EvgenyMamonov
    @EvgenyMamonov Куратор тега Go
    Senior software developer, system architect
    Вот так можно добраться
    package main
    
    import (
        "fmt"
    
        php "github.com/kovetskiy/go-php-serialize"
    )
    
    func main() {
        s := `a:6:{s:7:"__flash";a:1:{s:3:"mes";s:5:"Hello";}s:4:"__id";s:36:"3c5035d9-aea1-4f08-8325-9e598921e2a9";}`
        val, err := php.Decode(s)
        if err != nil {
            fmt.Println(err)
            return
        }
    
        session := val.(map[interface {}]interface {})
        flash := session["__flash"].(map[interface {}]interface{})
    
        fmt.Println("id", session["__id"])
        fmt.Println("mes", flash["mes"])
    }

    По хорошему надо проверять прошло ли нормально приведение типов, чтобы небыло panic
    session, ok := val.(map[interface {}]interface {})
        if !ok {
            // с val явно что-то не так, оно не соответствует типу map[interface {}]interface {}
        }
    
        flash, ok := session["__flash"].(map[interface {}]interface{})
        if !ok {
            // ...
        }
    Ответ написан
    Комментировать
  • Доступ к определенному значению данной библиотеки?

    @DonnieDrummer
    fmt.Println(val.(map[interface {}]interface{})["__flash"])
    Ответ написан
    Комментировать
  • Как повысить скорость отдачи изображений в PHP?

    kotomyava
    @kotomyava
    Системный администратор
    Если используется nginx, можете отдавать и напрямую им картинку после проверки, используя x-accel-redirect(https://www.nginx.com/resources/wiki/start/topics/...)
    Ответ написан
    Комментировать
  • SEO - как продвинуть сайт в топ?

    Алгоритмы гугла конечно поменялись.
    Но вместе с тем... на вопрос "какие новые техники продвижения появились за последние пять лет?" вам почти любой seoшник ответит НИКАКИХ
    Вот в статье собрал вечнозеленые советы по оптимизации и продвижению сайта https://digitalowl.top/seo/sovety-po-seo/
    Ответ написан
    1 комментарий
  • Как защитить контент от парсинга с помощью Nginx?

    @rPman
    Основная защита от парсинга - только при доступе к данным по авторизации и установка лимитов на данные (объем, доступный пользователю либо за какой то период времени, например сутки/месяц).

    Анонимно доступные данные, в общем случае, защитить от выгрузки пользователями - невозможно. Все что пользователь видит на экране можно тупо скопировать и проанализировать.

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

    Можно поставить 'палки в колеса', сделав этот процесс сложнее (и дороже), в основном это запутывание/шифрование данных, доступных напрямую (по api) с бакэнда и обфускация кода, его преобразования в видимый пользователю контент, чтобы классические (дешевые) инструменты не работали. Как всегда стоимость защиты (затрат на разработку) должна быть сравнима затрат граберов на получение данных (обычно им проще).
    К сожалению вместе с контент-грабером, в заблуждение будут введены роботы поисковых систем, ведь их основная работа - грабить контент.
    spoiler
    * api не должен быть простым и интуитивно понятным, идентификаторы могут вообще не быть постоянными (их можно преобразовывать на бакэнде на основе данных в сессии)
    * код javascipt, например получения ссылки на объект должен быть нетривиальным, т.е. чтобы получить следующую ссылку на требуемый граберу объект, потребовалось бы использовать сам браузер (а не простенький скрипт парсер html)
    * верстка может быть непостоянной, изменяющиеся, простые гуляющие наименования классов и идентификаторов уже могут создать кучу проблем (я такое встречал), а уж постоянное изменение структуры должно совсем запудрить голову даже опытным граберам (не встречал)
    * шрифт может не являться правильным (видимые символы могут не соответствовать их кодам), при этом генерируемый каждый раз новый под конкретную сессию пользователя. Простая подстановка, сильно усложнит (но не сделает невозможной) получение данных через буфер или document.innerText в консоли браузера, оставив граберу только вариант распознавание экрана скринридером (а не тривиальная верстка потребует от пользователя сложную настройку и автоматизацию и эти инструменты)
    * типовые javascript методы браузера должны быть замещены на 'неправильно работающие', чтобы граберу пришлось использовать внешние скрипты а не простой инжект javascript (обычно это сильно упрощает).
    Ответ написан
    3 комментария
  • Как защитить контент от парсинга с помощью Nginx?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Не нужно вешать на nginx задачу защиты от парсинга, он не для этого создан.
    Защищаться надо собственными силами на бэке
    Ответ написан
    Комментировать
  • Как защитить контент от парсинга с помощью Nginx?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Могу порекомендовать доклад от 2GIS и их вариант с написанием lua-модуля для nginx (opernresty)
    https://www.youtube.com/watch?v=pYxnW7kYcbU

    Доклад как минимум полезен тем, что там есть полезная информация о том как выявлять парсеры и что с этим делать.
    Ответ написан
    Комментировать
  • Можно ли заряжать телефон от 65W адаптером с Type C?

    В каждом телефоне стоит контроллер, который не будет брать больше энергии чем ему нужно, так что можешь смело ставить телефон на зарядке, плюс на ЗУ есть информация по выходному напряжению, посмотри, там должно быть OUTPUT 5v - xA
    Ответ написан
    Комментировать
  • Можно ли заряжать телефон от 65W адаптером с Type C?

    DevMan
    @DevMan
    Можно, если он не потребляет больше 65 ватт.
    Среди современных телефонов я не знаю ни одного, который хотя бы близко подбирался к 65.
    Ответ написан
    Комментировать
  • Можно ли заряжать телефон от 65W адаптером с Type C?

    Jump
    @Jump
    Системный администратор со стажем.
    Да конечно.
    65W это максимальная мощность которую может выдать данный блок питания.
    Больше он не может выдать. Поэтому если вы подключите устройство потребляющее большую мощность он не справится.
    Ответ написан
    3 комментария
  • Можно ли заряжать телефон от 65W адаптером с Type C?

    xez
    @xez
    TL Junior Roo
    Можно
    Ответ написан
    Комментировать
  • Как найти работу в 15 лет?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Для начала поймите насколько сильны ваши навыки.

    Сделайте CV и попробуйте пройти интервью в несколько зарубежных компаний на английском языке. Говорите что вам 18 лет.

    Если результаты этих интервью покажут что вы что-то можете и понимаете (например получите оффер), то можно продолжать бороться за признание дееспособности (возможно с 16 лет) и поиск работы.

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

    P.S. Стас Иванов, в любом случае нужно ждать до 16 лет. Там будет возможна эмансипация и принятие полной дееспособности. А если у вас будет такой документ - вы сможете показывать его фриланс биржам вместе с паспортом и спокойно пользоваться.
    Ответ написан
    2 комментария
  • Почему не продаются ноутбуки Samsung в России?

    xez
    @xez
    TL Junior Roo
    Потому что samsung ушел с российского рынка ноутбуков в 2013-2014гг. Пока, видимо, не вернулся.
    https://www.cnews.ru/news/top/samsung_prekrashhaet...
    Ответ написан
    Комментировать