Skip to content

Instantly share code, notes, and snippets.

View YozhEzhi's full-sized avatar

Alexandr Zhidovlenko YozhEzhi

  • Sportmaster Lab
  • Saint-Petersburg, Russia
View GitHub Profile
@YozhEzhi
YozhEzhi / remarks.md
Created June 20, 2018 21:00
JS: AJAX и COMET

AJAX и COMET.

Источник.

AJAX (аббревиатура от «Asynchronous Javascript And Xml») – технология обращения к серверу без перезагрузки страницы. Comet (в веб-разработке) — любая модель работы веб-приложения, при которой постоянное HTTP-соединение позволяет веб-серверу отправлять (push) данные браузеру без дополнительного запроса со стороны браузера.

Общая черта таких моделей состоит в том, что все они основаны на технологиях, непосредственно поддерживаемых браузером (напр., JavaScript), а не на проприетарных плагинах. Теоретически модель Comet отличается от изначальной концепции

@YozhEzhi
YozhEzhi / remarks.md
Last active June 20, 2018 21:21
JS частые вопросы.

Falsy и Truthy значения.

    truthy:
    if (true)
    if ({})
    if ([])
    if (42)
    if ("foo")
 if (new Date())
@YozhEzhi
YozhEzhi / remarks.md
Created June 19, 2018 20:45
Поль Анри Гольбах. Цитаты
  • Всякая религия по сущности своей нетерпима как в силу своих принципов, так и в силу своих интересов.

  • Всякий, кто серьезно задумается над религией и её сверхъестественной моралью, кто трезво взвесит все её преимущества и недостатки, сможет убедиться, что религия и её мораль вредны человечеству и, во всяком случае, противоречат природе человека.

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

@YozhEzhi
YozhEzhi / es6katas.org.md
Last active July 13, 2018 08:59
es6katas.org
it('object and array', () => {
    const {z: [, x]} = {z: [23, 42]};
    assert.equal(x, 42);
});
it('multiple params from array/object', () => {
    const fn = ([, {name}]) => {
@YozhEzhi
YozhEzhi / remarks.md
Last active June 6, 2018 20:23
Заметки при прочтении typescript-lang.ru

Использование readonly.

interface Point {
    readonly x: number;
    readonly y: number;
}

let a: number[] = [1, 2, 3, 4];
let ro: ReadonlyArray = a;
@YozhEzhi
YozhEzhi / Книга для родителей (Конспект).txt
Created March 26, 2018 19:28
Макаренко А.С. - Книга для родителей (Конспект)
Отсутствие времени - наиболее распространенная отговорка родителей-неудачников.
Чтобы речь родителя произвела полезное воспитательное действие, требуется
счастливое стечение многих обстоятельств. Надо, прежде всего, чтобы вами
выбрана была интересная тема, затем необходимо, чтобы ваша речь отличалась
изобразительностью, сопровождалась хорошей мимикой; кроме того, нужно,
чтобы ребенок отличался терпением.
Бессмысленна и безнадежна попытка некоторых родителей извлечь ребенка из-под
влияния жизни и подменить социальное воспитание индивидуальной домашней дрессировкой.
@YozhEzhi
YozhEzhi / recursive-search-in-tree.js
Last active March 14, 2018 07:33
Recursive search in tree.
import { l, cons, head, tail, isEmpty, isList, toString } from 'hexlet-pairs-data';
const searchZeros = (tree) => {
const iter = (list, acc) => {
if (isEmpty(list)) return acc;
const current = head(list);
const rest = tail(list);
if (!isList(current)) {
@YozhEzhi
YozhEzhi / Scrum.txt
Created February 20, 2018 07:36
Тезисно о Scrum.
=====================================================================
ОБЩАЯ ЦЕЛЬ ЦИКЛОВ РАЗРАБОТКИ:
Сократить затраты бизнеса на пути от планирования проекта до сдачи в
пользование. Для этого нужна возможность оперативной корректировки
проекта и отсутствие "ложной загрузки" (плохая обратная связь, много
переделок).
=====================================================================
Модели цикла разработки.
ВОДОПАД (КАСКАД).
@YozhEzhi
YozhEzhi / reselect-with-props.js
Created November 8, 2017 10:50
Reselect example with using props.
const makeGetPosts = () => createSelector(
(state, props) => props.user,
(state) => state.postsById,
(state) => state.usersById,
(state) => state.postListing,
(userId, posts, users, listing) => listing
.filter(id => posts[id].author === userId)
.map(id => {
const post = posts[id];
return {...post, user: users[post.author]}
@YozhEzhi
YozhEzhi / async\await и циклы.txt
Last active June 2, 2021 09:29
Анти-паттерн: async/await и циклы.
Рассмотрим перебор массива с коллбэком:
const BEATLES = ['john', 'paul', 'george', 'ringo'];
// Обычный цикл for:
for (let i = 0; i < BEATLES.length; ++i) {
console.log(BEATLES[i]);
}
// Метод Array.forEach:
BEATLES.forEach(beatle => console.log(beatle));