Перевод книги Райана Макдермота clean-code-javascript
Оглавление:

Читать дальше →
[Перевод] Чистый javascript.Объекты и структуры данных. Асинхронность. Обработка ошибок
Source: habrahabr

Серьёзность, с долей сумасшествия ©
Перевод книги Райана Макдермота clean-code-javascript

Читать дальше →
[Перевод] Чистый javascript.Объекты и структуры данных. Асинхронность. Обработка ошибок
Source: habrahabr
UICollectionView может иметь практически любое расположение элементов. Элементы могут иметь как фиксированные размеры, так и динамические. В данной публикации внимание будет уделено только тем UICollectionViewLayout, размеры элементов которых фиксированы и задаются определенным алгоритмом (типичный пример — расположение иконок на экране Home вашего iPhone). Так же будет сделана попытка описать подход к формированию единого UICollectionViewLayout.
Главная особенность подобных UICollectionViewLayout состоит в том, что в каждом таком расположении можно выделить некую закономерность, по которой происходит повторение размеров и положений элементов. В дальнейшем будем называть это шаблоном. Соответственно, чтобы сделать UICollectionViewLayout нужно составить алгоритм, который формирует шаблон. Пример шаблона повторения:

Читать дальше →
[Из песочницы] Пишем универсальный UICollectionViewLayout
Source: habrahabr
Вручную выписывать коэффициенты СЛАУ и вводить их в программу — не самый эффективный способ программирования метода конечных разностей, потому что для каждой новой вариации постановки задачи потребуется писать новую программу. Логичнее разработать общий солвер для более широкого класса задач, что упростит программирование и тестирование. Тестирование алгоритмов МКР затруднено, так как точное решение неизвестно, но общий солвер можно протестировать на задачах с заданным точным решением.
Автором разработан солвер Joker FDM для решения 1- и 2-мерных задач сопряжения для эллиптических уравнений методом конечных разностей.
Читать дальше →
Программирование метода конечных разностей
Source: habrahabr
Итак, если вы только подумываете о выборе профессии консультанта то подумайте еще раз потом еще сто раз и дайте себе ответ на пару вопросов:
— Готов ли я к тому что клиент всегда прав?
— Готов ли я понять и простить всех этих роботов, которые пол дня заливают в себя кофе, вторые пол дня звонят по телефонам и переводят лес?
— Способен ли я убедить лидера Северной Кореи в том что демократия единственно верный путь развития современного общества?
Думаю этого достаточно. И все же, если ваш ответ “ДА”, то читайте дальше.
Читать дальше →
[Из песочницы] Консультант ERP CRM— вечный переговорщик
Source: habrahabr
Всем привет, сегодня поговорим про сетевое взаимодействие в онлайн играх. Да не обо всём, а о том, как исключить влияние некорректных данных на других пользователей. Все знают что сервер никогда не должен доверять клиенту, но иногда лучше на практике посмотреть где и какие данные обрабатываются на неком примере.
Хочу предупредить, что статья нацелена на новичков. Людей которые хотели бы написать свою первую многопользовательскую игру. Если вы хоть раз занимались сетевым взаимодействием в играх, ничего полезного здесь не найдёте.
И дабы не остаться теоретическим материалом была написана небольшая демка. Ее можно запустить, посмотреть какими данными обмениваются клиент и сервер. На чьём примере и будет рассмотрено клиент-серверное взаимодействие.
Приложение использует технологию canvas для графики и websockets для взаимодействия с сервером. Код не является предметом обсуждения, поэтому писался быстро (основная часть около 2-3 часов), без проектирования и рефакторинга. Я не рекомендую использовать его или его часть где бы то ни было.
Читать дальше →
Верификация данных пользователей в онлайн приложениях
Source: habrahabr
Здравствуйте все, кто не забывает заглядывать в наш блог и в традиционно нерабочее время суток!
Давным-давно в нашей публикации от 13 ноября 2015 года вы убедили нас дождаться допиливания Angular 2 и издать о нем книгу. Мы всерьез собираемся взяться за такой проект в самое ближайшее время, а пока предлагаем почитать развернутый ответ на вопрос, вынесенный в заглавие этого поста.
Читать дальше →
[Перевод] Angular 2: почему на TypeScript?
Source: habrahabr
Сервис Parse, позволявший, в числе прочего, легко запрограммировать отправку пуш-уведомлений, закрывается 28 января; осталось 8 дней. Самое время переехать
(это шутка, на самом деле нужно было переехать уже давно).
Мы знаем два хороших сервиса на замену:
Читать дальше →
Куда переехать с Parse Push?
Source: habrahabr
SHA-1 — все. Или нет? Следить за развитием событий вокруг этого алгоритма хеширования легко и приятно: несмотря на очевидную серьезность проблемы, она остается малоприменимой для практических атак, как минимум — массовых. Впервые я упоминал о SHA-1 в дайджесте аж от октября 2015 года. Проблемы с ним появились из-за того, что вычислительные ресурсы подешевели несколько быстрее, чем ожидалось. Эксперт по криптографии Брюс Шнайер в 2012 году предрекал, что через три года для создания коллизии при генерации хэшей потребуется 11 лет вычислений на условном сервере. Три года прошли, и выяснилось, что на самом деле (за счет развития технологий параллельных вычислений, и благодаря новым исследованиям в области криптографии) этот срок значительно меньше — всего 49 дней.
Так как хеширование с помощью SHA-1 используется в весьма ответственных операциях, например при установке защищенного соединения с веб-сайтами, разработчики софта довольно оперативно начали делиться планами по выводу ненадежного алгоритма из эксплуатации. Начиная с 24 января (для Firefox, для других браузеров чуть позже) посещение сайта, не поддерживающего более стойкий алгоритм SHA-2 (обычно модификации SHA-256), будет приводить к разнообразным угрожающим предупреждениям у пользователей.
Читать дальше →
Security Week 03: закат SHA-1 продолжается, баг или фича в Whatsapp, уязвимости в роутерах не чинятся
Source: habrahabr
Я писал эту статью, работая в государственном предприятии — научно-производственного характера. Данная статья нацелена на обобщение текущего состояния и структуры исследовательских работ РФ, указать слабые стороны и предложить решения по оптимизации организации развития науки в масштабах Государства.
Научные исследования являются источником технологий, материалов и механизмов, при помощи которых становится возможным создавать продукты лучшего качества, меньшей стоимости, создавать методы лечения болезней, бороться со стихийными бедствиями и т.д.
Однако Читать дальше →
[Из песочницы] Проведение научных исследований в современных условиях
Source: habrahabr
Флексбокс уверенно шагает по планете — наступает эпоха комфортной веб-разработки. В этой статье я расскажу о необычном способе верстки всего флексбоксами, и поделюсь готовым кодом для верстки таблиц и текста флексбоксами.

1) Флексбокс по умолчанию. Вместо обычного классического потока можно использовать флексбокс-форматирование. Результат будет аналогичный, кроме возможности float-обтекания, без которого можно вполне обойтись.
2) Абсолютное или фиксированное расположение относительно родительского контейнера или окна. Для того чтобы в любом контейнере можно было так позиционировать элементы — для каждого элемента по умолчанию position:relative.
3) Смещение относительно своего положения, и трансформации. Смещение через position:relative не анимируется, поэтому лучше использовать translate.
Графическая композиция — это комбинация этих трех методов + эффекты и прозрачность.
*
{
position:relative;
display:flex;
}
title,script,style
{
display:none; //Свойство display принимает только два значения — flex или ничего
}
Вот и всё! Это очень простой фреймворк, но он значительно упрощает верстку.
Читать дальше →
«Flexbox first». Верстка таблиц и текста флексбоксами
Source: habrahabr