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

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

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

Сумбурно описал, но надеюсь, смысл понятен будет.
ertaquo
+2
Блин, самая первая картинка глаза аж режет
ertaquo
+18
Важно! Система «1С-Битрикс. Управление сайтом» требует широкого перечня возможностей хостинга, некоторые хостинг-компании даже вводят специальные тарифные планы для «интернет-магазинов на Битрикс», это важно помнить при выборе хостинга и расчете стоимости поддержки сайта.
Да не требуются никакие там особые возможности хостинга. Просто это настолько кривая штука, что жрет ресурсов немеряно, поэтому и делают специальные тарифные планы, в 2-3 раза дороже обычных.
ertaquo
+3
Почему? Очень даже замечали, вон сколько раз специально банили остальные клиенты.
ertaquo
+1
Простите, но ради того, чтобы писать программы на C++ или Go, я что, должен изучить исходники всей стандартной библиотеки?
Описанная мной проблема возникает только при нагрузке. Если не проводить нагрузочное тестирование (да, грешен) и не знать про подобные тонкости, то предусмотреть ее практически невозможно. Поэтому я и считаю, что подобные вещи обязаны описываться в документации.
ertaquo
0
Тут скорее претензия к документации. Эти две функции лишь кратко упомянуты на этой странице документации, и нигде более. Про механизм connection pooling'а ничего не раскрыто. Да даже в большинстве примеров в интернете (в том числе в официальной вики на гитхабе) про них ничего нет. Хотя момент как бы довольно важный.
ertaquo
0
У меня недавно случился нехилый факап из-за незнания особенностей работы go с базами данных (db/sql). А именно: по умолчанию количество открытых соединений к БД не ограничено, это надо делать вручную при помощи функций SetMaxOpenConns и SetMaxIdleConns. Ну а если это значение не указать, то при возросшей нагрузке забьется весь пул соединений к БД, и все остальные запросы будут просто отфутболиваться с ошибкой.
ertaquo
0
Я бы все-таки посоветовал обратить внимание на React, вместо Knockout. Ибо Knockout — довольно тормознутая штука (по крайней мере была, до введения deferred updates в 3.4.0).
ertaquo
+1
Догадался. Но если использовать только стратегию local, без OAuth и прочего, эта библиотека становится практически бесполезной. Все манипуляции с базой (поиск и добавление пользователей, проверка пароля и т. п.) производятся вручную. И получается, что все, что выполняет данная библиотека, это хранение данных в сессии.
По факту эта библиотека более-менее полезна тем, кто использует различные стратегии в ней (вход через соцсети). Для local-only толку от нее практически нет.
Поправьте, пожалуйста, если я не прав.
ertaquo
+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 и прочим. Профессионалы этого дела запросто заткнут меня за пояс, да и вообще презрительно прочитают этот комментарий и гневно уничтожат одной тирадой. Но лично для меня все эти штуки до сих пор сыроваты и сложны в использовании, тем более когда под рукой уже есть наработанный и вполне готовый функционал.
ertaquo
0
Плюс для остальных вещей, типа обработки перемещений объектов и т. п., можно использовать deltaTime.
ertaquo
+24
Боже, да не будет никакого «убийцы Windows». Сейчас есть три основных ОС: Windows, Linux, macOS. Рынок десктопных операционок давно поделен и занят. Каждая из этих ОС не совместима между собой, под каждую есть огромная куча приложений, и большая часть из них не кроссплатформенна. Для некоторых из них нет никаких альтернатив под другую операционку, или же они неудобны, непривычны, не имеют приемлемой совместимости (в том числе из-за закрытости форматов файлов). Чтобы оттянуть на себя хотя бы полпроцента пользователей, придется создать окружение с набором основных, часто используемых функций, заручиться поддержкой огромной кучи разработчиков, да еще суметь прорекламировать себя.
За примером далеко ходить не надо: Windows Phone. Рынок смартфонных ОС тоже уже поделен между iOS и Android. Microsoft попыталась влезть туда со своей новой мобильной ОС, но особого успеха не возымела. Сама ось вполне неплохая — быстрая, удобная в использовании, мало жрет батарейку и все такое… Но вот должную поддержку среди разработчиков она так и не получила. Вдобавок антипиар в виде полного отказа от поддержки и обновления старых версий ОС. В конце концов, похоже, что и сами Microsoft подзабили на нее, причем когда она все-таки стала набирать популярность.
Или же переход на IPv6. Огромный воз устройств не дает возможности полностью отказаться от устаревшего IPv4 и перейти на новую версию. Да и просто та же инерция мышления — зачем он нужен, этот IPv6, если все прекрасно и так работает?
Если и получится сделать что-то крутое, новое, работающее на новом уровне технологий и все такое — это получится достаточно широко внедрить, наверное, только в колониях на Луне или Марсе. Не на этой планете.
ertaquo
0
Справедливости ради, первая версия Safari for Windows была дико глючной, и пользоваться ей было просто нельзя. Правда, потом уже допилили и стало все хорошо.
Плюс эта штука, когда Top Sites отображались в виде 3d-стенки, лично у меня дико тормозила (на не самой слабой видюхе).
Из плюсов разве что режим инкогнито (вроде бы до Safari его не было ни в Opera, ни в Firefox — хотя может, я и ошибаюсь), панель разработчика (уже тогда для меня была гораздо удобнее Firebug) и классная система сглаживания шрифтов.
ertaquo
0
На самом деле там два парсера — один в gofmt, другой непосредственно в компиляторе. Компилятору пофиг на табы и пробелы. А gofmt создает синтаксическое дерево и по нему заново строит код по сути.