Pull to refresh
5
0
Рустам @RustamS

Пользователь

Send message

Чтение на выходных: 17 независимых блогов по математике, алгоритмам и языкам программирования

Reading time5 min
Views59K
Сегодня мы подготовили очередную [наш IaaS-дайджест и материалы по структурированию кода] подборку полезных источников. На этот раз мы решили изучить тематическую ветку на Hacker News и рассказали о блогах, которые могут хорошо дополнить чтение «Хабра».

Авторы данных блогов готовят как материалы для новичков с туториалами и разъяснениями основ, так и более углубленные статьи и исследования. Всех заинтересовавшихся приглашаем под кат.

Disclaimer: мы решили разбить подборку на несколько частей в соответствии с тематическими потоками и хабами. Начнем с блогов по математике, алгоритмам и языкам программирования, а в следующих выпусках перейдем к веб-разработке и дизайну.

Читать дальше →

V8 под капотом

Reading time14 min
Views33K
Ведущий разработчик Яндекс.Деньги Андрей Мелихов (также редактор/переводчик сообщества devSchacht) на примере движка V8 рассказывает о том, как и через какие стадии проходит программа, прежде чем превращается в машинный код, и зачем на самом деле нужен новый компилятор.



Материал подготовлен на основе доклада автора на конференции HolyJS 2017, которая проходила в Санкт-Петербурге 2-3 июня. Презентацию в pdf можно найти по этой ссылке.
Читать дальше →

Действительно, а что такое CRM-система?

Reading time10 min
Views55K
Этот вопрос мы слышим на протяжении 11 лет, от владельцев бизнеса, сотрудников, разработчиков, праздно шатающихся по сайту людей. И вот он нам был вновь задан уже здесь, на Хабре. Мы изменили привычке отвечать на все комментарии и проигнорировали вопрос jt3k, чтобы ответить на него максимально развёрнуто. Оказалось не так-то просто. А вы знаете, что такое CRM?


Читать дальше →

Спросите Итана: могла ли Вселенная начаться с Большого Отскока?

Reading time6 min
Views13K
image
Для «Большого Отскока» требуется фаза повторного коллапса, за которой следует фаза расширения

Благодаря прогрессу науки за последние сто лет мы смогли установить происхождение Вселенной, причины её сегодняшнего состояния и её судьбу в отдалённом будущем. Но и у наших знаний есть ограничения: как далеко в прошлое мы можем заглянуть, и насколько далёкое будущее эволюции Вселенной мы можем предсказывать с определённой долей уверенности. За пределами этих ограничений и лежат величайшие загадки. Наш читатель спрашивает об одной из таких загадок:

Я прочитала ваш пост о тепловой смерти Вселенной, и мне стало интересно, что вы думаете по поводу теории Большого Отскока?

Ответ на этот вопрос состоит из трёх частей: что нам известно, что считается возможным, и что мы считаем наиболее вероятным (по убедительным причинам).
Читать дальше →

ВЭДО. Внешний электронный документооборот что это и как выбирать

Reading time9 min
Views29K

Не так давно я занимался внедрением электронного документооборота для одного из своих клиентов. В процессе мне пришлось пояснять очень многие понятия, рассказывать, что это такое, как работают системы этого типа. И только после этого он сумел разобраться в сути моих предложений и одобрил план работ. В процессе обсуждения я понял, что по этой тематике очень мало написано простым языком для широкого круга читателей. Как обычно постараюсь объяснить простым языком про это понятие.


Важно понимать, что существует два вида документооборота — внутренний (СЭД) и внешний(ВЭДО). В России его принято называть ЭДО, но я считаю что правильнее называть его ВЭДО и СЭД так разделяют в принципе эти понятия в РФ. То есть если вы ищете систему для обмена с контрагентами, то вам нужно искать ЭДО, если для внутреннего документооборота то СЭД.

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

Читать дальше →

«Криптография в блокчейнах»: о хеш-функциях, ключах и цифровых подписях

Reading time5 min
Views44K
Криптография — это сердце блокчейна, которое обеспечивает работу системы. Архитектура блокчейна предполагает, что доверие между участниками сети базируется на принципах математики и экономики, то есть является формализованным. Криптография также гарантирует безопасность, причем основанную на прозрачности и проверяемости всех операций, а не на традиционном для индустрии ограничении видимости системы (perimeter security).

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

Читать дальше →

Как увеличить показатели сервиса в 7 раз за три месяца с помощью HADI-циклов и приоритизации гипотез

Reading time8 min
Views14K
image

Меня зовут Илья Китанин, я более 7 лет руковожу разработкой в различных компаниях, сейчас — в Преакселераторе ФРИИ. В этой статье я расскажу, как с помощью HADI-циклов и Теории ограничений Голдратта (TOC) мы смогли вырастить ключевые показатели сервиса Cofoundit в 7 раз за 3 месяца и продолжаем активно расти сейчас. В этом материале — кейсы применения методологии ФРИИ, грабли, которые мы прошли, и необходимый минимум теории.
Читать дальше →

TDD для хранимых процедур Oracle

Reading time11 min
Views19K

На одном из наших недавних проектов мы столкнулись с серьёзной проблемой. Веб-приложение, которое мы разрабатывали, должно было использовать внутренюю базу данных финансовой организации. Из соображений безопасности, доступ был очень сильно ограничен: любые изменения необходимо было делать при помощи хранимых процедур, а читать данные — только при помощи представлений. Таким образом, приложение должно было выполнять сложные манипуляции данными, не имея никакого представления об их структуре. Основной загвоздкой для нас было то, что наше приложение попадало в зависимость от больших и сложных процедур, для которых не существовало автоматизированных тестов.


Погуглив немного, мы обнаружили, что в штатном инструментарии Oracle SQL Developer [1] есть функционал для создания автоматизированных тестов. Мы тут же приступили к его изучению. И хотя тесты для самой сложной процедуры пришлось создавать уже после её написания, этот инструментарий всё же помог нам устранить несколько ошибок, а также существенно облегчил процесс расширения функционала и рефакторинга. Ниже я приведу пример использования TDD для построения хранимых процедур, а также поделюсь опытом в работе с инструментарием.

Читать дальше →

Как работает JS: управление памятью, четыре вида утечек памяти и борьба с ними

Reading time18 min
Views96K
[Советуем почитать] Другие 19 частей цикла
Часть 1: Обзор движка, механизмов времени выполнения, стека вызовов
Часть 2: О внутреннем устройстве V8 и оптимизации кода
Часть 3: Управление памятью, четыре вида утечек памяти и борьба с ними
Часть 4: Цикл событий, асинхронность и пять способов улучшения кода с помощью async / await
Часть 5: WebSocket и HTTP/2+SSE. Что выбрать?
Часть 6: Особенности и сфера применения WebAssembly
Часть 7: Веб-воркеры и пять сценариев их использования
Часть 8: Сервис-воркеры
Часть 9: Веб push-уведомления
Часть 10: Отслеживание изменений в DOM с помощью MutationObserver
Часть 11: Движки рендеринга веб-страниц и советы по оптимизации их производительности
Часть 12: Сетевая подсистема браузеров, оптимизация её производительности и безопасности
Часть 12: Сетевая подсистема браузеров, оптимизация её производительности и безопасности
Часть 13: Анимация средствами CSS и JavaScript
Часть 14: Как работает JS: абстрактные синтаксические деревья, парсинг и его оптимизация
Часть 15: Как работает JS: классы и наследование, транспиляция в Babel и TypeScript
Часть 16: Как работает JS: системы хранения данных
Часть 17: Как работает JS: технология Shadow DOM и веб-компоненты
Часть 18: Как работает JS: WebRTC и механизмы P2P-коммуникаций
Часть 19: Как работает JS: пользовательские элементы
В третьем материале из серии, которая посвящена особенностям работы JavaScript, мы поговорим о памяти. Эта тема крайне важна, однако, разработчики нередко игнорируют её. В основе этой ситуации лежат разные причины, среди которых — всё возрастающая сложность современных языков программирования и прогресс в развитии средств автоматического управления памятью. Помимо рассказа о модели памяти JS, мы поделимся с вами несколькими советами, направленными на борьбу с утечками памяти.



По словам автора статьи, в компании SessionStack используют приёмы предотвращения утечек памяти для того, чтобы не допустить неоправданно высокого потребления памяти в веб-приложениях, в которые интегрированы их разработки.
Читать дальше →

Тянем ролик с YouTube и раздаем по WebRTC в реалтайме

Reading time7 min
Views25K


Задача следующая. Провести совместный просмотр ролика с YouTube в реальном времени несколькими пользователями. Зрители должны получать видео одновременно, с минимальной задержкой.
Читать дальше →

«Используй Силу машинного обучения, Люк!» или автоматическая классификация светильников по КСС

Reading time15 min
Views5.8K
«Сила машинного обучения среди нас, методы её окружают нас и связывают. Сила вокруг меня, везде, между мной, тобой, решающим деревом, лассо, гребнем и вектором опорным»
Так бы, наверное, мне сказал Йода если бы он учил меня пути Data Science.

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

В прошлых двух статьях мы решали задачу классификации источников света по их спектру (на Python и C# соответственно). В этот раз попробуем решить задачу классификации светильников по их кривой силе света (по тому пятну которым они светят на пол).

Если вы уже постигли путь силы, то можно сразу скачать dataset на Github и поиграться с этой задачей самостоятельно. А вот всех, как и я новичков прошу подкат.

Благо задачка в этот раз совсем несложная и много времени не займет.

Читать дальше →

Проекции? Hет, спасибо

Reading time5 min
Views5.9K

Под катом будет небольшая заметка о применении пространственного индекса
на основе zcurve для индексации точечных данных, расположенных на сфере. А так же bencmark-и для PostgreSQL и сравнение с таким же (но совсем другим)
индексом на R-дереве.
Читать дальше →

«Паттерны» функционального программирования

Reading time10 min
Views73K

Многие люди представляют функциональное программирование как нечто очень сложное и «наукоемкое», а представителей ФП-сообщества – эстетствующими философами, живущими в башне из слоновой кости.

До недавнего времени такой взгляд на вещи действительно был недалек от истины: говорим ФП, подразумеваем Хаскель и теорию категорий. В последнее время ситуация изменилась и функциональная парадигма набирает обороты в web-разработке, не без помощи F#, Scala и React. Попробуем взглянуть на «паттерны» функционального программирования, полезные для решения повседневных задач с точки зрения ООП – парадигмы.

ООП широко распространено в разработке прикладного ПО не одно десятилетие. Все мы знакомы с SOLID и GOF. Что будет их функциональным эквивалентом?.. Функции! Функциональное программирование просто «другое» и предлагает другие решения.


Читать дальше →

Дайджест свежих материалов из мира фронтенда за последнюю неделю №280 (11 — 17 сентября 2017)

Reading time4 min
Views18K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.


Читать дальше →

Используем SVG на сайте

Reading time6 min
Views228K


Оставим за скобками вопрос о целесообразности использования SVG на сайте. Каждый сам для себя должен определить полезность этой технологии. Тем более что эта тема поднималась уже неоднократно.

Сейчас мы рассмотрим методы встраивания SVG, их плюсы и минусы, а так же возможности манипулирования элементами SVG.

Статья рассчитана в первую очередь на тех, кто до сих пор не использует векторную графику на своих сайтах, но очень хочет быть одной ногой в будущем настоящем.
Для любопытных сразу приведу сводную таблицу:
Иконочный шрифт IMG, background-image Object Inline
CSS Манипуляции Частично1 Нет Частично2 Да
JS манипуляции Частично1 Нет Да Да
SVG анимации Нет Да Да Да
Интерактивные SVG анимации Нет Нет Да Да
Читать дальше →

Ланнистеры всегда платят свои долги! (и технические тоже)

Reading time10 min
Views11K

Практики управления техническим долгом в отдельно взятой команде


Примерно год назад наша команда перешла из фазы ускоренного наращивания функциональности к более плавной разработке с упором на повышение качества. К этому моменту в наших продуктах накопилось заметное количество неоптимальных решений, некрасивого кода, устаревших библиотек. Со всем этим надо было что-то делать.


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


Что удалось получить в результате:


  • Команда довольна. В релизной ретроспективе регулярно фигурируют положительные пункты про совершенствование технологий и уменьшение технического долга.
  • Несколько квартальных релизов подряд мы смогли наращивать функциональность без увеличения количества строк кода в проекте. Удаление ненужного кода и упрощение нужного уменьшали размер кодовой базы для существующей функциональности. И это уменьшение как раз примерно совпадало по масштабу с новым кодом, реализующим новую функциональность.
  • Во время проведения рефакторингов и модернизаций продукт всегда в рабочем состоянии. Каждые две недели мы выпускаем полностью работающий промежуточный релиз.

Давайте расскажу, как мы этого добились.


Читать дальше →

Экономика токенов: почему так популярны ICO?

Reading time6 min
Views15K
Хайп-батюшка да безумие-матушка на Руси создали крипто-рост не праведный...



Сегодня хотелось бы продолжить (см. внизу список) публикации про ICO. Причин на то три:
Читать дальше →

Information

Rating
Does not participate
Location
Казахстан
Registered
Activity