• +1
    Дурацкий вопрос: как потестить стратегию на локалке? Скажем, версию для nodejs.
    Приглашаем на mini ai cups
  • 0

    Слева у вас код дублируется аж четыре раза. Без этого ненужного дублирования код сокращается ровно до 10 строк, что не так уж и много.

    Go, go, go… Первые впечатления
  • 0
    Тут тоже варианты есть. Можно было бы попробовать как-нибудь так:
    func SomeFunc(a int, b int = 10, c int = 20) { ... }
    SomeFunc(5, c = 40);

    Афайк, внутри компилятора аргументы функций и структуры хранятся одинаково. Только такой синтаксис реализовать сложнее будет.
    Релиз Go 1.9
  • +3
    А мне очень-очень хотелось бы, чтобы в языке наконец появились значения по умолчанию для аргументов функций и полей структур. Это было бы дико удобно.
    Релиз Go 1.9
  • +4
    Ох уж эти хипстерские технологии. Там, где можно написать три строчки, они развернут целую философию (которую никто не поймет, включая их самих), и напишут три сотни (размазав по десятку файлов).
    Выбранный UI-фреймворк – вред. Архитектурные требования – профит
  • +1
    В Docker добавили цепочку DOCKER-USER в iptables, которая вставляется первой в FORWARD и не сбрасывается.
    Т. е. теперь можно закрыть доступ к опубликованному через Docker порту для конкретного интерфейса/IP, или наоборот.
    Docker 17.06 и Kubernetes 1.7: ключевые новшества
  • +2
    Простите, конечно, но на кой черт менять document.title в requestAnimationFrame? Оно вообще не для этого предназначено.
    Насколько мне известно, на текущий момент для подобного нужно использовать Service Workers, если они доступны.
    Обновление document.title в фоновой вкладке
  • +9
    А давно вы видели html страницы с простым текстом и парой статичных картинок? Сейчас вон для одностраничников всякие анимации да реакты применяют, что уж говорить о сайтах посложнее.
    Вышел Firefox 54, который наконец получил поддержку многопроцессного режима
  • +1
    set sw=2
    set ts=2

    И никаких проблем. Даже не знаю, табы там или пробелы используются.
    Результаты опроса Stack Overflow 2017: разработчики, которые используют пробелы, зарабатывают больше
  • +1
    Что-то вы намудрили. В начале статьи казалось, что вы хотите обойтись чисто браузером, безо всяких устанавливаемых приложений, но в итоге пришли к запуску node.js на каждом компьютере, да еще и под серверным аккаунтом.
    На вашем месте я бы написал приложение со своим HTTP API, на любом языке, для которого есть библиотеки для работы с нужным оборудованием. Да, примерно как сейчас, но без серверного яваскрипта, все-таки не думаю, что он подходит для работы с кучей разного оборудования :)
    Работа с периферией из JavaScript: от теории к практике
  • 0
    Тех. директор на то и нужен, чтобы контролировать работу сотрудников тех. отдела. В частности, написание документации, работу бэкапов и обучение джуниоров. Я не говорю, что именно он должен заниматься всем этим, но как минимум контролировать своих же работников.
    Junior, который в первый день работы удалил базу данных с production
  • +1
    С течением времени, я выработал свое собственное мнение о том, что представляет собой хороший, идиоматичный Redux код, и я хотел бы поделиться некоторыми из этих мыслей. Несмотря на мой статус мейнтейнера Redux'а, это всего лишь мнения, но я предпочитаю думать, что они являются достаточно хорошими подходами.

    Т. е. разработчик Redux сам плохо представляет, как нужно писать код с использованием Redux?
    Идиоматичный Redux: Дао Redux'а, Часть 1 — Реализация и Замысел
  • +5
    Могу посоветовать еще ресурсы от Kennley: http://kenney.nl/
    Очень красивые, разнообразные и бесплатные.
    Must-Have: 20 игровых ассетов для дизайнера и художника
  • 0
    Есть способы нехило подвесить браузер. Некоторые даже нельзя остановить дебаггером.
    Например, можно одновременно загрузить все шрифты, установленные в системе. Правда, тут нужно использовать Flash, без него список шрифтов получить нельзя (разве только жестко вшить).
    Подлавливаем пользователя на вводе в консоли в Google Chrome
  • 0
    В игре Teeworlds именно так все и сделано. Есть некое «ядро» игры, в котором ведутся все основные расчеты физики мира. Это ядро используется одновременно на сервере и на клиенте (для предсказаний). Вдобавок файлы с его кодом используются при расчете специального хеша. При подключении клиента к серверу эти хеши сверяются, и если они не совпадают, значит на клиенте и на сервере используются разные, скорее всего несовместимые версии игры.
    Правда, последний момент не слишком удобен для игр без автообновления. В некоторых версиях разработчики сами костыль ставили, чтобы передавался старый хеш.
    Синхронизация состояний в многопользовательских играх
  • –3
    Интересно, а про оптические компьютеры что-нибудь слышно?
    Уже в этом году: Google планирует создать квантовый компьютер
  • +14
    Урок 7: толпой мишек можно победить могущественную межпланетную Империю.
    Шесть уроков, которые я извлек из саги «Звездные Войны»
  • +2
    Блокчейн — очередная модная технология, которую почему-то позиционируют как затычку в любой щели, от банковских операций и до обмена музыкой. Ну прямо как сначала Node.js, а теперь React в веб-разработке, тоже везде суют.
    Только почему-то не задумываются, везде ли нужны эти модные технологии, или где-то проще и быстрее обойтись по-старинке. Зато каждый день по несколько новых статей.
    10 нелепых заблуждений о блокчейн
  • +1
    Лично мне больше всего не хватает возможности задавать значения по умолчанию для аргументов функций и полей структур. Самое забавное, что внутри компилятора аргументы функций как раз хранятся так же, как и структура :)
    Что я изменил бы в Go
  • –1
    У меня есть нечто самописное, состоящее из роутера и своей реализации ActiveRecord (которая по функционалу пока не доходит до реализации из Yii2, но уже превосходит ту, что в первом Yii; по удобству использования имхо превосходит обе).
    Не сказать, что работает быстрее прочих, но зато писать код с его помощью довольно просто.
    Опрос. Какой php-фреймворк вы используете?
  • +5
    Простите, но зачем нужна эта статья?
    sslforfree.com по сути является клиентом Let's Encrypt, а у Let's Encrypt есть официальная утилита Certbot. Эта утилита вполне умеет работать с Apache и nginx (хоть и несколько кривовато, имхо).
    Так что способ получения бесплатного SSL-сертификата в 2017 году — это зайти на https://certbot.eff.org/ и следовать написанной там инструкции.
    Делаем бесплатный SSL сертификат в 2017 году
  • 0
    Знаете, мне и с графикой Forth кажется не слишком подходящим для программирования. Не в этом веке и не для современных машин и задач.
    Windows Forth +
  • 0
    Забыл упомянуть, пардон, не со зла.
    Кстати, вот статья про разработку этого шедевра: https://nooby-games.ru/щи-симулятор-жестокости/
    Топ 10 ошибок в проектах C# за 2016 год
  • +3
    Это была такая локальная шутка :)
    Топ 10 ошибок в проектах C# за 2016 год
  • +2
    Оффтоп: а вы не проверяли исходный код игры «ЩИ!!! Симулятор жестокости»?
    http://www.gamedev.ru/projects/forum/?id=160897
    https://gist.github.com/ForNeVeR/9001938
    Топ 10 ошибок в проектах C# за 2016 год
  • +1
    В Gluster для безопасности используется SSL с сертификатами.
    Использование GlusterFS с кластером Docker swarm
  • 0
    Велкоме ту тхе матрица.
    Нетрадиционная ориентация ООП
  • 0
    Нет, с дженериками, насколько я понимаю, было бы как-то так:
    func <T> Qwerty(a, b T) T {
      return a + b;
    }
    
    Новогодние обещания Go-разработчика
  • +1
    А мне очень хотелось бы иметь в Go задаваемые по умолчанию значения аргументов функций и элементов структур (насколько понимаю код компилятора, там аргументы функций хранятся как структуры как раз). Чтобы написать как-то так:
    func Qwerty(a string, b string = "zxc") string {
      return a + b;
    }
    
    Новогодние обещания Go-разработчика
  • 0
    Ага. Вот из доков кусок: https://firebase.google.com/docs/database/web/structure-data#flatten_data_structures
    И подобный стиль работы используется и в официальных примерах.
    Firebase: прощание с иллюзиями
  • +1
    Я недавно начал работать с Firebase (пробую писать кой-чего под Android). Мне в нем нравится то, что для моего приложения не нужно писать вообще ни байта серверного кода (за исключением правил для базы данных). Но огорчает ужаснейшая документация и отсутствие возможности сделать выборку элементов из базы по идентификаторам.
    Кстати, вложенные сущности использовать наоборот не рекомендуется. Суть в том, что при подписке на какой-либо из ключей при изменении вложенных сущностей передаются вообще все данные этого самого ключа. Например, в отеле изменили данные о номере. Если вы были подписаны на "/отель/", то вам придут данные об этом отеле целиком, со всеми номерами и прочим. Если же внутри отеля хранить данные о бронях, то придут и брони. Короче говоря, трафик увеличивается в разы. Поэтому нужно хранить данные как-то так:
    {
      "отели": {
        "id отеля": {
          ...
        }
      },
      "номера_отеля": {
        "id отеля": {
          "id номера": {
            ...
          }
        }
      }
    }
    

    Сумбурно описал, но надеюсь, смысл понятен будет.
    Firebase: прощание с иллюзиями
  • +2
    Блин, самая первая картинка глаза аж режет
    «Великий уравнитель» или способ решить проблему выравнивания по высоте
  • +18
    Важно! Система «1С-Битрикс. Управление сайтом» требует широкого перечня возможностей хостинга, некоторые хостинг-компании даже вводят специальные тарифные планы для «интернет-магазинов на Битрикс», это важно помнить при выборе хостинга и расчете стоимости поддержки сайта.
    Да не требуются никакие там особые возможности хостинга. Просто это настолько кривая штука, что жрет ресурсов немеряно, поэтому и делают специальные тарифные планы, в 2-3 раза дороже обычных.
    Что такое Bitrix
  • +3
    Почему? Очень даже замечали, вон сколько раз специально банили остальные клиенты.
    ICQ: 20 лет — не предел
  • +1
    Простите, но ради того, чтобы писать программы на C++ или Go, я что, должен изучить исходники всей стандартной библиотеки?
    Описанная мной проблема возникает только при нагрузке. Если не проводить нагрузочное тестирование (да, грешен) и не знать про подобные тонкости, то предусмотреть ее практически невозможно. Поэтому я и считаю, что подобные вещи обязаны описываться в документации.
    50 оттенков Go: ловушки, подводные камни и распространённые ошибки новичков
  • 0
    Тут скорее претензия к документации. Эти две функции лишь кратко упомянуты на этой странице документации, и нигде более. Про механизм connection pooling'а ничего не раскрыто. Да даже в большинстве примеров в интернете (в том числе в официальной вики на гитхабе) про них ничего нет. Хотя момент как бы довольно важный.
    50 оттенков Go: ловушки, подводные камни и распространённые ошибки новичков
  • 0
    У меня недавно случился нехилый факап из-за незнания особенностей работы go с базами данных (db/sql). А именно: по умолчанию количество открытых соединений к БД не ограничено, это надо делать вручную при помощи функций SetMaxOpenConns и SetMaxIdleConns. Ну а если это значение не указать, то при возросшей нагрузке забьется весь пул соединений к БД, и все остальные запросы будут просто отфутболиваться с ошибкой.
    50 оттенков Go: ловушки, подводные камни и распространённые ошибки новичков
  • 0
    Я бы все-таки посоветовал обратить внимание на React, вместо Knockout. Ибо Knockout — довольно тормознутая штука (по крайней мере была, до введения deferred updates в 3.4.0).
    Каково оно учить JavaScript в 2016
  • +1
    Догадался. Но если использовать только стратегию local, без OAuth и прочего, эта библиотека становится практически бесполезной. Все манипуляции с базой (поиск и добавление пользователей, проверка пароля и т. п.) производятся вручную. И получается, что все, что выполняет данная библиотека, это хранение данных в сессии.
    По факту эта библиотека более-менее полезна тем, кто использует различные стратегии в ней (вход через соцсети). Для local-only толку от нее практически нет.
    Поправьте, пожалуйста, если я не прав.
    Каково оно учить JavaScript в 2016
  • +4
    Труъ.
    Недавно решил попробовать запилить проект, но на NodeJS+express+React. До этого NodeJS тыкал давным-давно, когда он еще только появился. Иии…
    WebPack, Babel и прочие страшные слова вызвали легкое недоумение, но в принципе понятно, для чего это надо и зачем. В ES6 действительно куча классных фич, и оно стоит того.
    Потом тыкался с express. Вроде бы это самый популярный и простой фреймворк на данный момент? Но черт побери, почему в 2016 году в самом популярном и простом фреймворке нужно вручную подключать такие функции, как парсинг форм и cookie? Я как-то привык, что подобные вещи есть «из коробки». Может это сделано ради скорости — чтобы использовать только то, что тебе нужно? Но для скорости я предпочел бы Go, чем Javascript. А в express вообще какой-то middleware hell получается, честное слово.
    В итоге почти неделю я потратил только на то, чтобы разобраться во всем этом и реализовать регистрацию и вход пользователей на сайт, с подтверждением по емейлу. Посмотрел на все это дело… Плюнул, снес все нафиг и ввел что-то типа: rails new myapp -B && cd myapp && echo "gem 'devise'" >> Gemfile && bundle install && rails g devise User && rake db:setup. Всего несколько команд дали мне функционал, на который я убил кучу времени.
    Да, у меня нет опыта в написании проектов на NodeJS, express и прочим. Профессионалы этого дела запросто заткнут меня за пояс, да и вообще презрительно прочитают этот комментарий и гневно уничтожат одной тирадой. Но лично для меня все эти штуки до сих пор сыроваты и сложны в использовании, тем более когда под рукой уже есть наработанный и вполне готовый функционал.
    Каково оно учить JavaScript в 2016