• Как быть в курсе всех новостей в сфере технологий и программирования?

    @nirvimel
    Youtube каналы

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

    roswell
    @roswell
    и швец, и жнец, и на дуде игрец
    В полной безопасности приложение существует только на выключенном сервере. Вот тебе пример кода, от которого не спасёт ничто, и даже медицина тут бессильна (пробовали лечить т-щей и электричеством, и холодными компрессами, но тщетно):
    eval( $_GET[ 'stupid' ] );
    Смех-смехом, но подобных (или загруженных позднее) закладок вот этими руками выковыряно немало. Так что регулярно читайте CVE, публикуйте фиксы, репортите баги, и ни в коем случае не меняйте Wordpress на что-нить более толковое, а то оставите меня без половины зарплаты.
    Ответ написан
    6 комментариев
  • Есть ли замена count_chars для массива?

    R0dger
    @R0dger
    Laravel/Yii/2 AngularJs PHP RESTful API
    $array = array('имя', 'почта', 'телефон');
    $str = implode('',$array);
    $count = substr_count($str, 'е'); 
    var_dump($count);
    Ответ написан
    3 комментария
  • Условие для Assets в Yii2?

    DieZz
    @DieZz
    Используйте AssetBundle и метод init() в нем, например:
    <?php
    
    namespace app\assets;
    
    use yii\web\AssetBundle;
    
    class AppAsset extends AssetBundle
    {
        public function init()
        {
            $format = 'theme/assets/global/plugins/date/locales/dater.%s.min.js';
            $this->js[] = sprintf($format, \Yii::$app->language);
        }
    }
    Ответ написан
    Комментировать
  • Как делают меню в терминале linux?

    roswell
    @roswell
    и швец, и жнец, и на дуде игрец
    2 комментария
  • Стоит ли учить программировать по старинке?

    @evgeniy_lm
    1. В программировании язык ни какого значения не имеет.
    2. Язык СИ был разработан для переноса кода ОС UNIX на различные аппаратные платформы. Короче, пока будет существовать программирование будет существовать язык СИ и его потомок С++.
    3. Обучение программированию может осуществляться единственным способом - чтение книг.
    4. Сначала научись писать программы, а потом ты с удивлением обнаружишь, что знаешь все языки программирования
    Ответ написан
    6 комментариев
  • Что выбрать сео или веб-дизайн?

    @FridayEvening
    В далекой перспективе SEO отомрет, ну или сожмется до соблюдения нескольких правил. А дизайн будет всегда))
    Ответ написан
    Комментировать
  • Возможно ли вытягивать данные с MySQL асинхронно и мгновенно, совершенно без задержек?

    AxianLTD
    @AxianLTD
    Периодическая предварительная выборка через тот же Ajax. Двойная буферизация, только так будет создана иллюзия отсутствия задержек. Иначе как если время на выборку тратиться, время на передачу данных тратиться - а отображается мгновенно? Концы не сходятся с концами.
    Ответ написан
    Комментировать
  • Как ходить на "пристрелочные" интервью (когда нет цели трудоустроиться)?

    zolt85
    @zolt85
    Программист
    Периодически, и с переменным успехом, хожу на такие собеседования. Начальнику сказал открыто, что мониторю рынок, уходить никуда не собираюсь, но время такое, что случиться может все что угодно.

    На самом собеседовании сразу говорю,что меня все устраивает на прежнем месте работы, но вдруг Вы сможете сделать предложение, от которого я не смогу отказаться? Отказов по причине, мол "чо тут разговаривать, и так все ясно" не получал.

    Занимаю позицию тимлида команды разработчиков на текущем месте работы.
    Ответ написан
    Комментировать
  • С чего начать ребёнку программировать?

    AlexeyGfi
    @AlexeyGfi
    YouTube >>> Битриксоид из Колхоза
    Моему 10, задатки есть, но пару моих попыток не увенчались успехом. Я не наседаю, просто время от времени придумываю какой-то ход и пробую. Например выбирал простенькие примеры и на css+js показывал, что можно делать... В таком стиле, в общем.
    Что пошло: игровой движок Construct2, при чем он у меня в закладках лежал, пока сын не спросил, какие есть игровые движки.
    Разбирался сам по урокам, я буквально в нескольких моментах принимал участие.
    Сейчас у него заготовок 6-7. Небольшие работающие игровые кусочки.
    https://www.scirra.com/construct2
    Там в основном алгоритмы и события, но без прямого программирования.
    Ответ написан
    Комментировать
  • Как работают WebSockets?

    Ivanq
    @Ivanq
    Знаю php, js, html, css
    Вкратце:
    ws_vs_http.pngWebSockets2.pngОтветы
    1. Не совсем, но, думаю, скоро будет понятно
    2. Соединение всегда открыто, если одна из сторон его не закроет или не прервется связь
    3. Клиент отправляет - сервер тут же получает. Сервер отправляет - клиент тут же получает.

    На примере чата
    1. Устанавливается соединение между сервером и клиентом 1 (handshake)
    2. Сервер -> клиент1: Вы присоединились к чату
    3. Сервер -> клиент1: Сейчас у нас 1 пользователь: клиент1
    4. Устанавливается соединение между сервером и клиентом 2 (handshake)
    5. Сервер -> клиент2: Вы присоединились к чату
    6. Сервер -> клиент2: Сейчас у нас 2 пользователя: клиент1 и клиент2
    7. Сервер -> клиент1: Присоединился клиент2
    8. Клиент1 -> сервер: Скажи клиент2 "Привет!"
    9. Сервер -> клиент2: Клиент1 сказал "Привет!"
    10. Клиент2 -> сервер: Скажи клиент1 "Здасте!"
    11. Сервер -> клиент1: Клиент2 сказал "Здасте!"

    То есть клиенты могут когда угодно посылать сообщение серверу, он сразу же его прочитает, но не другим клиентам (минус сокетов). Сервер может послать сообщение любому клиенту, они сразу же его прочитают.
    Ответ написан
    4 комментария
  • Как работают WebSockets?

    bingo347
    @bingo347
    Crazy on performance...
    WebSocket - постоянное соединение поверх http(s)
    При установлении соединения происходит рукопожатие с помощью специальных http заголовков, после любая сторона в любой момент времени (пока соединение не прервется) может писать в тело запроса сообщения. Каждое такое сообщение представляет из себя передаваемые данные + мета-данные

    1. Можно найти сходство с tcp, только вместо пакета у нас сообщение. Так как ws работают поверх http, который в свою очередь работает поверх tcp, то формально одно сообщение может быть разбито на несколько tcp пакетов, а в одном пакете может содержаться несколько сообщений, однако единицей данных для ws является именно сообщение
    2. ws - это постоянное соединение, которое будет висеть пока любая из сторон не закроет его либо пока не оборвется связь. Так как сокет формально может простаивать (когда нет обмена данными), то tcp соединение для него нужно открывать с опцией keep-alive, а так же желательно отправлять http заголовки для keep-alive в рукопожатии.
    3. Любая сторона может в любой момент времени может отправить любое количество сообщений. Получающая сторона получит данные, когда до нее дойдут все tcp пакеты самого раннего из сообщений (это гарантирует, что сообщения придут в том же порядке, в котором они были отправлены)
    Ответ написан
    6 комментариев
  • Где поискать поэтапное руководство по архитектуре и настройке сервера?

    Sanasol
    @Sanasol
    нельзя просто так взять и загуглить ошибку
    В идеальном мире этим должно заниматься как минимум 2-3 человека, каждый по своей специализации: админ серверный, админ/спец по базам которые вы используете и т.д.

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

    Stalker_RED
    @Stalker_RED
    В USB 4 пина: +5V, +Data, -Data и земля.
    Если вы подключите двигатель к +5 и земле, он конечно сможет работать, но далеко не все материнские платы умеют отключать питание подающееся на USB, и управлять им не получится. Со скоростью все еще интереснее - скорость двигателей регулируется изменением напряжения или при помощи ШИМ. Изменять напряжение на USB вы не сможете, а попытка реализовать ШИМ отключением питания на USB может открыть врата ада.

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

    И да, для всяких -дуин есть IDE с поддержкой кучи языков.

    И второй уровень, с файфаем - есть такая штука как ESP8266 - это контроллер со встроенным вайфаем. Очень часто используется во всякой любительской электронике. Стоит в районе $2.5 - $3.
    Ответ написан
    2 комментария
  • Как защитить код от воровства в крупной компании?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Просто код - ничего не стоит. Ценность имеет только то, как и что он делает. Это важно понимать.
    У многих программистов дома хранятся копии проектов, в которых они участвуют, или участвовали раньше. Чаще всего их используют как набор сниппетов. Например в одном проекте был удобный класс для коллекций, в другом хорошо спроектировано несколько таблиц, в третьем - большой список исключений на любой чих и пук... Сам же проект "скомуниздить" - смысла, как правило, нет так как это не только код, это еще и целая экосистема и куча народу, которая ее обслуживает.

    Что касается передачи кода третьим лицам - это уже юридический и административный вопрос, NDA всякие и т.д.

    ИБ можно обмазываться до самого не балуйся, и это надо делать, но нужно соблюдать разумные границы.

    Знакомые как-то отзывались о проекте, где вся разработка велась на серверах в США по rdp, большинство решало задачи "на оте**сь" не потому, что вот подлецы такие, а потому, что отклик нажатия клавиши 5-15 сек. Проект закрыли через какое-то время, слишком долго, дорого и некачественно.
    Ответ написан
    Комментировать