-Поиск по дневнику

Поиск сообщений в rss_rss_hh_new

 -Подписка по e-mail

 

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 17.03.2011
Записей:
Комментариев:
Написано: 51

Habrahabr/New








Добавить любой RSS - источник (включая журнал LiveJournal) в свою ленту друзей вы можете на странице синдикации.

Исходная информация - http://habrahabr.ru/rss/new/.
Данный дневник сформирован из открытого RSS-источника по адресу http://feeds.feedburner.com/xtmb/hh-new-full, и дополняется в соответствии с дополнением данного источника. Он может не соответствовать содержимому оригинальной страницы. Трансляция создана автоматически по запросу читателей этой RSS ленты.
По всем вопросам о работе данного сервиса обращаться со страницы контактной информации.

[Обновить трансляцию]

Мириады запущенных задач на C#

Воскресенье, 20 Августа 2017 г. 20:02 + в цитатник

Недавно на ресурсе Medium были опубликованы две статьи от одного и того же автора, затрагивающие функциональность C# async/await.


Основными выводами были:


  • рекурсивный вызов асинхронного метода в C# подвержен StackOverflowException
  • goroutine'ы лучше задач (тасков) в .NET в плане производительности

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


Далее в статье я попытаюсь раскрыть суть проблемы более подробно с примерами решения.


TL;DR

После небольшой правки кода исходных примеров, реализация бенчмарка на .NET оказывается быстрее варианта Go. Попутно решаем проблему переполнения стека у рекурсивных асинхронных методов.


NB: использоваться будут свежевыпущенный .NET Core 2.0 и Go 1.8.3.

Читать дальше ->

https://habrahabr.ru/post/336000/


Метки:  

Blockchain

Воскресенье, 20 Августа 2017 г. 15:46 + в цитатник
Данный текст будет являться новой главой для учебного пособия по защите информации кафедры радиотехники и систем управления МФТИ (ГУ). Полностью учебник доступен на github. На хабре я же планирую выкладывать новые «большие» куски, во-первых, чтобы собрать полезные комментарии и замечания, во-вторых, дать сообществу больше обзорного материала по полезным и интересным темам.

Когда у вас есть знания о том, что такое криптографически стойкая хеш-функция, понять, что такое blockchain («цепочка блоков») очень просто. Blockchain – это последовательный набор блоков (или же, в более общем случае, ориентированный граф), каждый следующий блок в котором включает в качестве хешируемой информации значение хеш-функции от предыдущего блока.

Технология blockchain используется для организации журналов транзакций, при этом под транзакцией может пониматься что угодно: финансовая транзакция (перевод между счетами), аудит событий аутентификации и авторизации, записи о выполненных ТО и ТУ автомобилей. При этом событие считается случившимся, если запись о нём включена в журнал.

В таких системах есть три группы действующих лиц:
  • источники событий (транзакций)
  • источники блоков (фиксаторы транзакций)
  • получатели (читатели) блоков и зафиксированных транзакций.


В зависимости от реализации эти группы могут пересекаться. В системах типа BitCoin, например, все участники распределённой системы могут выполнять все три функции. Хотя за создание блоков (фиксацию транзакций) обычно отвечают выделенные вычислительные мощности, а управляющими их участников называют майнерами (см. раздел про децентрализованный blockchain далее).

Основное требование к таким журналам таково:
  • Невозможность модификации журнала: после добавления транзакции в журнал должно быть невозможно её оттуда удалить или изменить.


Читать дальше ->

https://habrahabr.ru/post/335994/


Метки:  

[Из песочницы] Edge ненавдит ваши атрибуты

Воскресенье, 20 Августа 2017 г. 15:00 + в цитатник

Сказ о том, как мы бездумно использовали на проекте бойлерплейт, с целым боекомплектом зависимостей, которыми никто не пользовался, как нам потом это акнулось, когда потребовалась поддержка Edge, и как мы героически починили то, что, по факту, сами и поломали. Нет, это слишком длинно.


Сказ о том, что все браузеры — атрибутофобы, а некоторые особенно.


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

https://habrahabr.ru/post/335992/


Дайджест интересных материалов для мобильного разработчика #217 (14 августа— 20 августа)

Воскресенье, 20 Августа 2017 г. 14:43 + в цитатник
На этой неделе у Nokia вышел новый флагман – чистый Android, хорошие камеры, топовая начинка. А кроме этого в нашем дайджесте борьба Яндекса со Swift, вторая серия борьбы с ДИТом, красоный код, помогающий в разработке, будущее дизайна и тестирования иконок.

Читать дальше ->

https://habrahabr.ru/post/335990/


[Из песочницы] Один безопасный пароль на все случаи жизни

Воскресенье, 20 Августа 2017 г. 14:06 + в цитатник
Спорить не буду, заголовок провокационный. Но и продолжение не лучше…

Доброе утро! Я законченный параноик. Поэтому я люблю сложные пароли. Но хранить их в голове очень хлопотно… Вы же еще помните, что я параноик? И поэтому не пользуюсь менеджерами паролей, кроме тех, что могу поставить на свои сервера и могу контролировать трафик. Но я все-равно физически не смогу проверить на закладки. Не хватит ни времени, ни опыта. Поэтому я боюсь пользоваться чужими менеджерами паролей.

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

https://habrahabr.ru/post/335986/


Метки:  

Планетарный ландшафт

Воскресенье, 20 Августа 2017 г. 13:36 + в цитатник
Трудно поспорить, что ландшафт — неотъемлемая часть большинства компьютерных игр на открытых пространствах. Традиционный метод реализации изменения рельефа окружающей игрока поверхности следующий — берем сетку (Mesh), представляющую из себя плоскость и для каждого примитива в этой сетке производим смещение по нормали к этой плоскости на значение, конкретное для данного примитива. Говоря простыми словами, у нас есть одноканальная текстура размером 256 на 256 пикселей и сетка плоскости. Для каждого примитива по его координатам на плоскости берем значение из текстуры. Теперь просто смещаем по нормали к плоскости координаты примитива на полученное значение(рис.1)


Рис.1 карта высот + плоскость = ландшафт

Почему это работает? Если представить, что игрок находится на поверхности сферы, и радиус этой сферы чрезвычайно велик по отношению к размеру игрока, то искривлением поверхности можно пренебречь и использовать плоскость. Но что если не пренебрегать тем фактом, что мы находимся на сфере? Своим опытом построения такого рода ландшафтов я хочу поделиться с читателем в данной статье.
Читать дальше ->

https://habrahabr.ru/post/335588/


Метки:  

Настраиваем автоматическую сборку проекта в Gitlab CI

Воскресенье, 20 Августа 2017 г. 13:26 + в цитатник
Зачем нужна автоматическая сборка проекта никому объяснять не надо.
В случае со сборкой проектов под Unity это особенно актуально, так как средненький проект, например, под WebGL собирается на рабочей машине 5-7 минут, полностью её завешивая.

Не так давно вышла версия Unity под Linux, что дало принципиальную возможность настроить автоматическую сборку при помощи Gitlab CI (которая основана на docker образах).

Я хочу поделиться своим опытом такой настройки.
Читать дальше ->

https://habrahabr.ru/post/335980/


Метки:  

Как создавалась карта с голосами болельщиков для Олимпиады. Лекция в Яндексе

Воскресенье, 20 Августа 2017 г. 13:16 + в цитатник
К летней Олимпиаде 2016 года в Рио-де-Жанейро Яндекс подготовил сразу несколько проектов. В том числе — «Карту болельщика». Вы могли отметить свой город на карте, которая отображалась на главной странице Яндекса. Чем больше отметок от жителей города мы получали, тем ярче горел его огонёк.

На одном из Я.Субботников руководитель группы интерфейсов главной страницы Яндекса Иван Карев объяснил, как создавалась эта карта.




Читать дальше ->

https://habrahabr.ru/post/335982/


Метки:  

[Из песочницы] Об омолаживании вебсайта — критерии принятия решения

Воскресенье, 20 Августа 2017 г. 12:33 + в цитатник
Ваша фирма десять лет назад вложила в разработку сайта существенные средства, и худо-бедно за эти годы сайт их отбил. Это выразилось как в новых клиентах, пришедших через сайт, так и в возможности оперативно информировать существующих клиентов о ваших продуктах и услугах.

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

https://habrahabr.ru/post/335976/


Метки:  

Генерация лабиринта алгоритмом Эллера в Unity

Воскресенье, 20 Августа 2017 г. 11:47 + в цитатник
Всем привет!

Сегодня хотелось бы рассказать о том, как генерировать лабиринты алгоритмом Эллера, и о том, как сделать красивую 3д визуализацию в Unity, чтобы потом использовать её в своих играх. Также немного рассказать о том, как можно настроить пост обработку внутри данного решения. И по традиции ссылка GitHub с самим генератором.


Читать дальше ->

https://habrahabr.ru/post/335974/


Метки:  

Игровая модель поведения на рынке двух конкурирующих фирм на Python

Воскресенье, 20 Августа 2017 г. 09:20 + в цитатник

Введение


Математическое моделирование в экономике позволяет предупредить возникновения ряда проблем, возникающих в реальной предпринимательской деятельности. Одной из таких проблем у производителей товаров является банкротство.

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

Постановка задачи


Рассмотрим модель поведения на рынке двух конкурирующих фирм, выпускающих аналогичный товар в объемах х и у, пользующийся неограниченным спросом [1]. Построим следующие две функции для цены и издержек.

Листинг построения графиков функций цены и издержек
# -*- coding: utf8 -*-    
import numpy as np
import matplotlib.pyplot as plt
a=10
def f(q): Функция цены от объёма товара
         return a*np.e**(-0.5*q**2)
def h(q): #Функция издержек от объёма товара
         return np.sqrt(q)
plt.figure()
q= np.arange(0, 2.01, 0.1)#Массив значений аргумента
plt.title(r'$y=f(q)$') #Заголовок в формате TeX
plt.ylabel(r'$f(q)$') #Метка по оси y в формате TeX
plt.xlabel(r'$q$') #Метка по оси x в формате TeX
plt.grid(True) #Сетка
plt.plot(q,f(q)) #Построение графика
plt.figure()
plt.title(r'$y=h(q)$') #Заголовок в формате TeX
plt.ylabel(r'$h(q)$') #Метка по оси y в формате TeX
plt.xlabel(r'$q$') #Метка по оси x в формате TeX
plt.grid(True) #Сетка
plt.plot(q,h(q)) #Построение графика
plt.show() #Показать график


Читать дальше ->

https://habrahabr.ru/post/335972/


Метки:  

Ломаем хаКс полностью. Читаем машинные коды как открытую книгу

Воскресенье, 20 Августа 2017 г. 08:56 + в цитатник
Если haXe оттранслирован в C++, а из него — в машинные коды, это может показаться безнадёжным, тем более, на первый взгляд этот код пестрит вызовами виртуальных методов, которые, не запуская отладчик, трудно соотнести с адресами тел методов.

Но всё не так уж плохо. Даже при отключенной поддержке сценариев (HXCPP_SCRIPTABLE) в файле можно обнаружить строки с названиями методов и полей. Разбираем, как можно размотать этот клубок, сопоставить имена методов с их адресами и смещениями в таблице виртуальных методов.
Читать дальше ->

https://habrahabr.ru/post/335970/


Метки:  

Клонирование игры Lode Runner с первого ПК в СССР «БК-0010» плюс несколько слов о программировании игр в конце 80-х

Воскресенье, 20 Августа 2017 г. 08:13 + в цитатник

Недавно я оказался в не совсем обычной для себя ситуации вынужденного безделья. Пару недель поваляв дурака, я стал чувствовать, что это не такое уж и веселое занятие, которое к тому же еще и стало переходить в скуку. И мне надо было себя занять чем-нибудь относительно полезным. Раньше мне периодически приходили в голову мысли о том, чтобы вернуть к жизни какую-нибудь старую игру из времен моей юности. Но я всегда гнал такие идеи прочь, так как понимал, что "никому это теперь не надо". Но сейчас у меня было свободное время и, главное, было желание. В результате для клонирования я выбрал один из вариантов игры Lode Runner, в который я когда-то играл на первом персональном компьютере времен позднего СССР, который назывался БК-0010. Не думаю, что многие о нем помнят, так как мир «железа» поменялся с тех времен очень сильно. Однако сам Lode Runner с этого БК-0010 был достаточно уникален своими правилами среди других одноименных Lode Runner-ов. Эта версия игры была моей самой любимой, как мне кажется, по объективным причинам, хотя… может быть тут дело просто в ностальгии. В результате я сумел себя мотивировать тем, что "лично мне", а, возможно, и "всему миру", эта игра может быть интересна, и на её восстановление стоит потратить время (ссылка на полученный результат).

Для начала взглянем на оригинал с БК-0010 (хвала Интернету, в котором можно найти почти всё): Читать дальше ->

https://habrahabr.ru/post/335968/


Метки:  

Параметрическое моделирование в САПР SolveSpace: «Неисповедимы пути Решателя» или «Червоточины Ньютона»

Суббота, 19 Августа 2017 г. 22:28 + в цитатник

На первый взгляд, задача применения размерных ограничений к чертежу кажется не сложнее упражнения из школьного учебника. Точно так же показалось и мне, когда я впервые узнал о ней. В то время я работал в компании, которая занималась разработкой программного комплекса для проектирования индивидуальных жилых домов с подготовкой проектной документации "под ключ". В этом проекте я занимался разработкой алгоритма генерации многоскатных крыш, а впоследствии и всего геометрического ядра на основе Булевых операций, поэтому за дальнейшей историей я следил издалека. В какой-то определенный момент, заказчику захотелось, чтобы проектировщики могли просто указать размеры комнат, углы эркеров и ширину дверных проемов, а программа автоматически рассчитала бы все остальные параметры внешнего и внутреннего устройства дома. Эта мысль возникла у заказчика спонтанно, и поэтому срочно нужно было сделать “точно так же, как в CATIA”. Наш тимлид подошел к решению задачи с энтузиазмом и начал разрабатывать прототип. Он решал сотни уравнений в MathCAD, весь кабинет был завален графиками частных решений для двух, трех, четырех точек… Его изначальное предположение о том, что задачу можно решить аналитически, потерпело фиаско: на дворе был 2005, а это значило, что в интернете невозможно было найти хоть какую-то информацию по данной теме. В результате, после двух месяцев напряженных исследований, данную функциональность пришлось исключить.


Читать дальше ->

https://habrahabr.ru/post/335962/


Метки:  

[Из песочницы] Играючи BASH'им

Суббота, 19 Августа 2017 г. 21:28 + в цитатник
Как я написал игру на bash'е.

image

Нетерпеливые могут посмотреть\поиграть, скачав игру тут.
Далее небольшой рассказ о процессе создания и разбор интересных (по моему мнению) мест.
Читать дальше →

https://habrahabr.ru/post/335960/


Метки:  

Реализация, аналог и адаптация для «чистого» JavaScript'а JQuery функций. Часть 1. JQuery(); и прилегающие к ней

Суббота, 19 Августа 2017 г. 20:43 + в цитатник
Когда-то библиотека jQuery была хорошим помощником для программистов. Так как она позволяла в разы облегчить создание функционала, который в то время с помощью одного JavaScript было почти нереально написать, и предоставляла очень хорошую кроссбраузерность.

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

Так вот, в своих статьях я расскажу, как работают функции в jQuery, как их можно написать на «чистом» JavaScript и о их полифиллах.

В этой части я расскажу про самую главную функцию jQuery — jQuery();. Читать дальше ->

https://habrahabr.ru/post/335958/


Метки:  

Почему во время apt-get upgrade запускается игра Dwarf Fortress?

Суббота, 19 Августа 2017 г. 19:23 + в цитатник
Большую популярность на ресурсе Ask Ubuntu снискал весьма странный вопрос пользователя Linux-дистрибутива Ubuntu. По его словам, в некоторых случаях при обновлении системы с помощью sudo apt-get upgrade происходит то, чего он совсем не может ожидать: запуск игры «Dwarf Fortress». История оказалась поучительной…

Читать дальше ->

https://habrahabr.ru/post/335944/


Метки:  

ReactOS версус Windows XP SP3: эпическая битва в 3DMark

Суббота, 19 Августа 2017 г. 14:40 + в цитатник

Метки:  

Операция виртуализация: сравнение облачного сервера и shared-хостинга

Суббота, 19 Августа 2017 г. 14:13 + в цитатник

Многие владельцы интернет-ресурсов размещают свои веб-приложения на виртуальных серверах или же задействуют shared-хостинг. В данной статье мы постараемся детально рассмотреть обе услуги, и на основе опыта службы поддержки клиентов CloudLITE выведем заключение: какой из этих услуг можно отдать свое предпочтение и при каких обстоятельствах. Все подробности читайте под катом!

Читать дальше ->

https://habrahabr.ru/post/335902/


Превращаем WordPress в гибкий framework для разработчика

Суббота, 19 Августа 2017 г. 14:01 + в цитатник
wp

Дорогой друг, если ты уже знаешь, что WP — это “CMS для домохозяек“, “Движок для простеньких блогов” и вовсе никакой не framework. Что он тормозит из-за ужасной структуры БД, что большой и сложный сайт, интернет-магазин, и тем более какой-нибудь веб-сервис на нем сделать нельзя (а если и можно то все будет очень криво), и что профи предпочитают Laravel, Symfony, Yii и CodeIgniter для решения абсолютно всех задач. То призываю тебя остаться с этими знаниями и дальше не читать, то что будет написано ниже скорее всего тебе не понравится.
Читать дальше ->

https://habrahabr.ru/post/335950/


Метки:  

Поиск сообщений в rss_rss_hh_new
Страницы: 1437 ... 1103 1102 [1101] 1100 1099 ..
.. 1 Календарь