All streams
Search
Write a publication
Pull to refresh
-10
@alexesDevread⁠-⁠only

User

Send message

Когда не хватает денег для блога на хабре?

Я пользуюсь событиями в pg по мелочи, там где не страшно потерять событие.


Есть данные несколько события pg надежнее событий, к примеру, nats? nats потому что тоже простой как палка.

Может быть у меня психологическая травма после переписывания styled-components на css. Но это увеличило время первого рендера (react.memo) тут не поможет с 800мс до 200мс.

styled-componets v3 были в 3 раза медленнее обычного css. Половина этих лагов связна с поддержкой тем, который мы даже не использовали. И используя styled-components стоит понимать что вместо обычного 'div' строки, которая уходит в недра react, получается class MyCustomDivWithStyles extends React.Component. Это тысячи новых классов на пустом месте, если использовать везде.


Если в проекте уже используется styled-components, то можно убрать его на верхних уровнях дерева (всякие layouts и тп) и прилично ускорить приложение. Те styled-components плюс минус нормально работает для всяких Button, а для MainLayout — дикий ужас.

Без понятия что за придирки. То, что я написал — почти стандартное eslint правило — всегда писать radix. Еще есть старые браузеры. И большая часть сайтов которые написаны на "es6" это "синтаксис ES6+ с трансляцией в синтаксис ES5 посредством babel".

Не будет, если это старая нода и babel.

['1', '7', '11'].map(numStr => parseInt(numStr));

На практике этот код не работает как мы хотели до ECMAScript5. Работает такой


['1', '07', '11'].map(numStr => parseInt(numStr, 10));

Извините, тут не выйдет использовать HttpOnly куки.
Но я про то, что любое расширение может читать обычные куки и localstorage. В xss внедренный код тоже.
CSRF спасает от выполнение со стороннего сайта, а не от кражи куки.

Токены стоит сохранять только в HttpOnly cookie.

docker run -v /etc/ssl/certs:/etc/ssl/certs:ro
или вроде того
https://golang.org/src/crypto/x509/root_linux.go
доеду на работу — могу глянуть.


UPD
Из манифеста куба.


        volumeMounts:
          - name: certs
            mountPath: /etc/ssl/certs
      volumes:
        - name: certs
          hostPath:
            path: /etc/ssl/certs

UPD2
Так же если использовать nomad вместо с golang микросервисами… то даже докер не нужен, он умеет скачивать архив в бинарем и запукать в chroot. Плюс там рядом consul для go-micro.

Для golang чаще всего можно делать from scratch (пустой image), alpine — лишнее. А сертификаты монтировать с хоста — проще их обновлять.


WORKDIR /go/src/app

COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o app .

FROM scratch
COPY --from=0 /go/src/app/app .
CMD ["./app"]

go тем и отличается от остальных, что для деплоя обычно хватает scp на бинарник. Не нужно, в общем, ставить go на сервер. Просто wget https://github.com/adnanh/webhook/releases/download/2.6.9/webhook-linux-386.tar.gz (ссылка со страницы releases) и распаковать.

Так лучше не писать, толку не много, но работает =)


function renderItem({ id, name }) {
  const active = id === this.activeId;

  return <div className={cn({ active })}>{name}</div>;
}

const List = ({ items, ...props }) => (
  <div>
    {items.map(renderItem, props)}
  </div>
);

Потому что за базы следователь может пригласить?

Со всем не согласен =)


Хуки в React удобны (раза в два короче классов, лучше читать лапшекод с хуками, чем лапшекод с классами), только построены на той самой $_GLOBALS к сожалению для того, чтобы не ломать код. Если бы поменяли api на что-то вроде


const MyComponent = (props, io) => {
  const [value, setValue] = useState(io, 'default value');
};

стало бы лучше, это ЯВНЫЙ способ закрепить что-то на узле virtual dom. Сейчас этот io — объект в react модуле (сразу лазил смотреть, как сделали). Тестировать не удобно и тп.


Контекст нормальный и это не GLOBALS, потому что контекст доступен только в поддереве. Удобный механизм прокидываний props глубоко внутрь (не нравится — кидайте руками и получите по 100500 props на верхнем уровне).


JSX тоже нормальный, если целиком понимать, что внутри это React.createElement(MyComponent, myProps), просто сахар. И я хотел бы такой сахар например в c++ когда нужно делать подобные деревья (scenegraph в играх). К сожалению большая часть народа, которая хочет зп до 150к не понимает этого вообще (мой опыт).

Код на google drive шикарен. Как в 2005 вернуться.

Вроде уже все давно перешли на Caps Lock...

Есть раскладка Дворака для левой и правой руки.

Есть Дворак для программистов, ей и пользуюсь. Там спецсимволы на удобных местах. 30% смысла перейти на Дворак у меня — болел мизинец, если пытаться кодить на qwerty, поставив пальцы по учебнику.

qwerty не забывается, но не очень приятно.

Information

Rating
Does not participate
Registered
Activity