(c) Ivan Borisenko 2016. All rights reserved.
A compression algorithm, simultaneously is a computing engine has a simple target function: 'To increase internal order, to decrease entropy changes (to preserve internal complexity or simplicity)'
(c) Ivan Borisenko 2016. All rights reserved.
A compression algorithm, simultaneously is a computing engine has a simple target function: 'To increase internal order, to decrease entropy changes (to preserve internal complexity or simplicity)'
Effect name, effect arguments and complete current state are passed into present() function, which will filter out the necessary data to create a stale data and state representation useful for passing into corresponding effect execution function. For a single effect, application can be configured to have multiple present() functions, which will adapt state and effect arguments into arguments for a particular presentation function. Application can be configured to use different multiple presenters even for the same present() effect arguments and state convertation.
Component's init() function have to be supplied with external pluggable Effects mapping, for every component's effect it should be at least one (assigned by list) presenter, which will implement action predicate interface. For each effect, it could be a list of state adapt functions, for each state adapt function, it could be a list of presenters supplied externally. All presenters, even console.log(), have to be supplied externally as dependencies
var net = require('net') | |
var sock = net.connect(1337) | |
process.stdin.pipe(sock) | |
sock.pipe(process.stdout) | |
sock.on('connect', function () { | |
process.stdin.resume(); | |
process.stdin.setRawMode(true) |
Я гуру разработки на C++, фанат и практик CI/CD, Agile, Microservices, Node.js, WebSockets, VP8, P2P, IP sockets. Адекватный архитектор великолепно работающих в продакшене решений. "Handy" с Web-технологиями (Flux, React, Marionette) и БД (Postgres, Mongo, SQL Server, MySQL). Изучаю вопрос применения Redis в качестве сессионного кеша и архитектуру мониторинга микросервисов. Прекрасно знаю, как работает интернет и чего стоит то или иное решение. Дружу со всеми коллегами. Карьеру руководителя специально не строил, но во всех компаниях занимался по факту огромным количеством координирующей работы и проектированием, то есть, по-сути, принимал много технических решений (и даже давал советы с маркетинговыми решениями). Последние два места могу охарактеризовать "анархо"-"демократичными"-самоорганизующимися, то есть, руководители здесь не в моде. Собеседовал кучу народа, составлял объявления на hh.ru, пришёл к выводу что программисты в Москве так себе (ну или работал в непривлекательных компаниях).
Постоянно учусь н
Загрузка файла на сервер. Требования.
Представь, что тебе надо срочно передать скриншот экрана твоего смартфона. Веб-интерфейс поддерживает поле выбора файла, при нажатии на кнопку открывается как раз обзор твоих последних фото, и там же есть только что сделанный тобой скриншот. Представь, что тебе досталась глючная версия Сафари, которая падает через несколько секунд, после того, как сама внутри свяжется с серверами Apple и проверит какие-то обновления. Повлиять на это никак нельзя, на сервера лезет именно сам браузер, настроек для отключения причин падения нет. Ты написал здоровский сервис техподдержки, помогающим людям избавиться от истерики, связанной с совпадением ста неприятностей в один момент времени, путём решения всех его проблем. Для решения очередной проблемы вам позарез необходим скриншот телефона вашего клиента. Место на его телефоне почти закончилось, благо, на скриншот хватит. Удалять больше нечего - он только что забил весь телефон видео-свидетельствами очевидца наблюдения пришельцев. Ничего
var Location = (function LocationClosure(){ | |
var properties = {}; | |
// Create and return a link with the given URI | |
function makeLink( URI ){ | |
var link = document.createElement( 'a' ); | |
link.href = URI; | |
return link; |
console.log(process.memoryUsage()); | |
global.gc(); | |
var a = { | |
m: new Uint8Array(100000000) | |
}; | |
var b = { | |
m: new Uint8Array(100000000) | |
}; |
The Dispatcher is singleton visible for all Views with its dispatch() method. | |
(Note: it visible for Stores with its register() method). | |
View uses The Dispatcher to call its dispatch() method specifying eventName and eventItemData | |
Store: | |
Domain A | |
Store A : EventEmitter | |
Collection Model A1 | |
Tree Model A2 |
'use strict'; | |
var m = require('mithril'); | |
var extend = require('lodash').extend; | |
var setFocus = require('../util/viewhelper').setFocus; | |
var keymage = require('keymage'); | |
function noop(){} | |
function addClass(el, className) { |