All streams
Search
Write a publication
Pull to refresh
4
0
Константин Брызгалин @constb

Backend, Node, NestJS

Send message

у меня после записи на NTFS-раздел, «разблокированный» с помощью Mounty, этот раздел перестал определяться везде, включая винду. не знаю что там «нативная поддержка» на нём запорола, но я в итоге вытащил с него данные, переформатировал диск и больше так не делал. ntfs-3g есть и под мак, работает через osxfuse, с ним никогда не было проблем…

Astra Linux – это устаревшая версия (5-и летней давности) почти свободно распространяющейся операционной системы Linux

а именно – Debian Wheezy, причём без последних обновок – где форкнулись, там видимо и остались… по крайней мере SE-шка, пришлось с ней немного помучиться, но потом я удачно уволился… :)

по MQTT скорее всего оно обращается на эндпойнт AWS IoT Core, там нужно доменное имя узнать. айпишник-то на балансировщике сидит, он будет меняться, по опыту, раз в месяц-два обязательно…


а вообще oregon scientific и другие станции обычно подключаются к компу по USB, и под линукс есть wfrog (для станций постарше) и weewx (для поновее). оба умеют локально выгружать данные в удобном виде, а weewx ещё и по дефолту пишет наблюдения в sqlite-базу…

ага, скажите только, зачем у вас в описании тарифа написано:


СМС на короткие номера (трех-шестизначные), а также доступ к услугам контент-провайдеров с использованием коротких номеров тарифицируется отдельно.

у них же вроде только подписок нет. а платные смс на короткие номера они поддерживают…

сейчас вроде модно всякие псевдо-операторы запускать, у сбера такой есть, у тинькова… мне вот интересно, ещё никто не придумал запустить «оператора» у которого платные смс/подписки были бы недоступны прямо на уровне биллинга, чтобы просто отсутствовал такой функционал… пусть даже если бы цены на звонки/инет были немного выше чем у обычных операторов – я бы точно к такому номер бы перенёс…

тоже заинтересовался этим вопросом. у libwebrtc же свой энкодер. скорее всего ребята делают MCU – микшируют потоки в одну картинку, фиксируя размер и положение в кадре картинок со всех участников, и потом клиентам отдают один поток вместо 16… это более затратно с точки зрения серверных ресурсов, количество потоков на один сервер должно быть совсем небольшим, плюс клиент не может по своему желанию выбирать расположение и размер картинок участников на экране, но трафик конечно экономится и синхронизация потоков одинаковая у всех зрителей…

это же тайпскрипт, структурная типизация, всё такое… с точки зрения компилятора эти типы совместимы…

я сразу вспомнил про extjs – вагон файликов с кучей параметров конфигурации, если пытаться делать по документации – ничего не работает как надо, отладить нереально – одна «магия», творящаяся где-то под капотом, в DOM творится какая-то дичь… и вдобавок если активна вкладка, хром кушает 30% на core i7.


видимо вебикс – из той же оперы.


я понимаю необходимость в специализированных решениях для фронта CRM-like систем – они же все как одна, сплошные датагриды и формы, но я бы всё же взялся за react-admin в таком случае. там нормальный датагрид из коробки, данные подтягиваются через стандартизированные дата-коннекторы (пишется на коленке за 15 минут), весь ui – стандартный material. а если чего-то не хватило – ну так это же реакт, просто возьми и добавь…


зачем для такой задачи браться за какой-то чёрный ящик непонятного качества и без возможности расширения – я не понимаю…

чтобы заблокировать чужой сайт проще купить заблокированный домен и поставить в него айпишник жертвы… свободных для регистрации доменов в списках блокировки вроде с месяц назад было 8600… в прошлом году РКН занимался расчисткой списка, но это была разовая акция, постоянно этим до сих пор никто там не занимается…

а в том проекте amazon linux 2, у него nvm – это стандартный способ установки ноды, в официальных репах её нет… собственно «поставить pm2 без nvm» там не выйдет…

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

у меня с pm2 вечная проблема с потерей всего состояния при обновлении ноды. unstartup/startup недостаточно, нода установлена через nvm и у неё меняются пути при установке новой версии. это надёжно убивает все записи сохранённые в дампе (pm2 save), потому что там абсолютные пути. получается так что я обновляю ноду, переустанавливаю pm2 (npm i -g pm2) так как путь к глобальному node_modules тоже изменился, делаю pm2 update – и после перезапуска у меня девственно чистый список процессов (pm2 ls)… :(


приходится заниматься жостким колхозингом – руками править startup-скрипты, руками править pm2.dump и то – как повезёт всё равно…


с логами тоже не всё идеально, pm2 logs неудобен, monit даёт кучу информации, но как раз по логам отмотать на произвольное время в прошлом не получается… в итоге приходится руками лезть в ~/.pm2/logs и там искать нужное…


по итогу несмотря на то что вроде инструмент хороший, в проде оказывается проще поднять докер, задеплоить с docker-compose up -d с параметром --scale, чтобы поднять нужное количество копий и позволить докеру самому разруливать между ними подключения… обновление версии ноды выполняется вместе с обновлением самого сервиса, а там и до интеграции с ci/cd недалеко, для автоматического прогона тестов перед деплоем, например…


на долю pm2 остаётся случай когда надо по-быстренькому что-то сунуть на сервер, всякие времянки, стейджинг – такого рода вещи…

на скрине ещё можно покрасить адреса *.1e100.net – это тоже сервера гугла…

на XFS тоже не всегда поддерживается CoW. нужно создавать файловую систему c mkfs.xfs -m reflink=1. уже на созданной ФС «включить» поддержку CoW нельзя. плюс, на ядрах до 4.11 включение этой опции вызывает красные варнинги в dmesg о том что фича – экспериментальная… в остальном работает. использую на свалке картинок нескольких сайтов (debian stretch), время от времени гоняю по ней duperemove…

ткнул на ссылку foundation db в вики, читаю:


С апреля 2018 FoundationDB переведена в разряд свободных СУБД и поставляется под лицензией Apache 2.0

вроде как наоборот выходит…

а проксирование DNS-запросов случаем не приводит к тому что CDN будут отдавать IP-шники поближе к прокси, а не к клиенту? или unbound транслирует исходный IP при обращении к вышестоящему DNS? я к сожалению не представляю формат запроса и что в нём передаётся…

зашёл в статью почитать как люди готовят REST и наверное не нашёл то, чего искал – понимания почему его до сих пор горячо любят и активно используют…


у GraphQL интроспекция схемы – часть стандарта, и вопрос как его документировать пожалуй не особо актуален, JSON-RPC простой как валенок и для небольших сервисов его можно описать в одном md-файле. оба имеют стандартные механизмы для пушей через веб-сокеты.


у REST-а же вечные споры какой код ошибки правильно послать на ту или иную ошибку. под знаменем с {"success":false} марширует толпа вордпрессеров. а как правильно засадить фильтры и сортировки в выборки. а коммент к посту – это /comment/:id или /post/:post_id/comments/:comment_id – let the battle begin. и снова отсутствие стандарта на пуши через веб-сокеты…


я наверное что-то упустил, но с REST в проектах я постоянно вижу какую-то сборную солянку и кустарщину. может мне просто не везёт?… или просто я смотрю на REST с клиентской стороны, а для внутреннего общения микросервисов вот это всё – вообще не проблема?…

ну наверное главная задача собеседования – отсеять тех, кто совершенно точно не подходит… а там уже как человек на испытательном проявит себя – так и в итоге и выйдет. естественно с первого дня никому доступы в продакшен сразу не дадут, и код ревьюить надо внимательно… ну и по тому как человек onboarding в проект проходит, какие вопросы задаёт – тоже можно многое о нём понять…

в «до ECMAScript5» у вас и стрелочная функция будет вызывать Syntax Error. :)

Information

Rating
Does not participate
Location
Анталья, Турция
Date of birth
Registered
Activity

Specialization

Backend Developer
Lead