Как стать автором
Обновить
0
0
Асеев Алексей @Liteyshik

Технолог

Отправить сообщение

Древности: Железо «Криптономикона»

Время на прочтение10 мин
Количество просмотров16K
«Криптономикон», без всяких скидок, моя любимая книга. Я ее прочитал тыщу раз, и в оригинале, и в переводе. Ровно два года назад я даже написал сочинение, задавшись целью объяснить, почему это такая крутая книга. Несмотря на высокий уровень достоверности происходящих в книге событий, это все же фантастическое произведение, но оно привязано к определенному временному периоду, который мне и сам по себе, без книги интересен. Нил Стивенсон не называет точные даты, но определить примерное время действия книги нетрудно. Уточню, речь идет о «современной» части сюжета, так как там есть и «несовременная».

С одной стороны таймлайн происходящих в «Криптономиконе» событий подпирается техническим прогрессом. С другой — политикой экономикой. В книге упоминается самое начало Азиатского финансового кризиса, который прекратил бурный рост экономик стран Азиатского региона. Кризис начался в середине 1997 года, затронув не только Азию, но и (через год) Россию. Без этого бурного роста высокотехнологичного бизнеса, описанного в книге, не существовало бы. Так уж вышло, что технологии примерно двадцатилетней давности представляют для меня особый интерес. В этом посте я попробую соединить «Криптономикон» с айти-реальностью, используя цитаты из книги, вырезки из журналов и немного веб-архива.
Читать дальше →
Всего голосов 39: ↑38 и ↓1+37
Комментарии37

Программное обеспечение для умного дома #2

Время на прочтение6 мин
Количество просмотров37K

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


image

Далее...
Всего голосов 20: ↑19 и ↓1+18
Комментарии35

Перенос базы данных в более старую версию MS SQL Server

Время на прочтение5 мин
Количество просмотров36K


У вас есть база данных MS SQL Server, которую нужно перенести на другой физический комп. Вы уже сделали бэкап и радостно приступаете к восстановлению. Но тут обнаруживается, что на том компе, куда нужно перенести базу, установлена более старая версия MS SQL Server. Stack Overflow уверяет вас, что всё плохо. Но так ли это на самом деле?
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии22

Открытый урок «Пишем свою библиотеку для работы с xlsx файлами»

Время на прочтение1 мин
Количество просмотров6.1K
И снова здравствуйте! Небольшой открытый урок в рамках курса «Web-разработчик на Python», на котором преподаватель курса Илья Лебедев рассказывал как устроен формат xlsx, как с ним работать без специализированных библиотек, вроде openpyxl и показал как разработать свою библиотеку для работы с этим форматом с нужным набором функций.



Если есть вопросы\комментарии, то их можно задать здесь или зайти к Илье на день открытых дверей.
Всего голосов 23: ↑21 и ↓2+19
Комментарии1

Квантовый компьютер: один фотон, чтобы править всеми

Время на прочтение10 мин
Количество просмотров16K


История вычислительной техники, которую мы сейчас называем просто сервер или компьютер, началась много веков назад. С течением времени и развитием технологий совершенствовались и компьютеры. Улучшалась производительность, скорость работы и даже внешний вид. Любой компьютер в своей основе реализует определенные законы естественных наук, таких как физика и химия. Углубляясь в любую из этих наук, исследователи находят новые и новые пути совершенствования вычислительных систем. Сегодня мы будем знакомиться с исследованием, нацеленным на реализацию применения фотонов в квантовых компьютерах. Поехали.
Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии8

Свободные библиотеки для создания и редактирования файлов PDF

Время на прочтение3 мин
Количество просмотров15K
Неделю назад состоялся релиз свободной библиотеки для генерации pdf-файлов версии OpenPDF 1.1.0, самый значительной апгрейд этой библиотеки за последнее время.

OpenPDF — это Java-библиотека для создания и редактирования файлов PDF, которая распространяется под двойной лицензией LGPL/MPL. Библиотека основана на форке iText. В реальности у неё такая история:

LibrePDF/OpenPDF

forked from rtfarte/OpenPDF

forked from kulatamicuda/iText-4.2.0

forked from daviddurand/iText-4.2.0

forked from ymasory/iText-4.2.0


Все форки ведут историю от одной версии iText 4.2.0, которая вышла восемь лет назад и стала последней версией под свободной лицензией. Сами разработчики iText перешли на AGPL и сконцентрировались над созданием пятой версии, чтобы более успешно продавать коммерческий софт. К настоящему времени они доросли до версии iText 7. Но свободный проект тоже не погиб, а продолжил развитие силами всего сообщества.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии8

Arduino для начинающих. Часть 2

Время на прочтение3 мин
Количество просмотров20K

Предисловие автора


Доброго времени суток, Хабр. Как и планировала, продолжаю цикл статей, которые помогут Вам в знакомстве с Arduino. Также, в каждой последующей статье (включая эту) вы сможете найти ответы на самые важные вопросы, которые появляются в комментариях. Для тех кто не читал первую часть, сюда.


Как определить полярность светодиода


На данный момент большинство светодиодов делают так, чтоб упростить процесс определения полярности. У светодиода есть две ножки, одна из которых будет длиннее другой. Длинная ножка – это плюс (анод). Короткая ножка — это минус (катод). Но что же делать если выводы светодиода одинакового размера? Иногда вывод катода отмечают точкой или небольшим срезом на корпусе. Также узнать полярность можно путём внимательного рассмотрения кристалла. Плюс имеет гораздо меньший размер внутри линзы по сравнению с минусом. Контакт минуса, в свою очередь, напоминает флажок, на котором размещается кристалл. Также можно определить полярность источником питания. Для этого необходимо источник тока (с напряжением от 3 до 6 вольт), резистор (с сопротивлением 220 – 470 Ом) и сам светодиод. Сначала соедините одну ножку светодиода с резистором. Затем коснитесь светодиодом контактов источника питания. Дотрагиваясь анодом к плюсу, а катодом к минусу, светодиод будет светиться (если он исправен).

Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии12

Своя змейка, или пишем первый проект. Часть 0

Время на прочтение9 мин
Количество просмотров102K

Предисловие


Привет Хабр! Меня зовут Евгений «Nage», и я начал заниматься программированием около года назад, в свободное от работы время. Просмотрев множество различных туториалов по программированию задаешься вопросом «а что же делать дальше?», ведь в основном все рассказывают про самые основы и дальше как правило не заходят. Вот после продолжительного времени за просмотром разных роликов про одно и тоже я решил что стоит двигаться дальше, и браться за первый проект. И так, сейчас мы разберем как можно написать игру «Змейка» в консоли со своими начальными знаниями.

Глава 1. Итак, с чего начнем?


Для начала нам ничего лишнего не понадобится, только блокнот (или ваш любимый редактор), и компилятор C#, он присутствует по умолчанию в Windows, находится он в С:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe. Можно использовать компилятор последней версии который поставляется с visual studio, он находится Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Roslyn\csc.exe.

Создадим файл для быстрой компиляции нашего кода, сохранил файл с расширением .bat со следующим содержимым:

@echo off
:Start
set /p name= Enter program name: 
echo.
С:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe "%name%.cs"
echo.
goto Start

"@echo off" отключает отображение команд в консоли. С помощью команды goto получаем бесконечный цикл. Задаем переменную name, а с модификатором /p в переменную записывается значение введенное пользователем в консоль. «echo.» просто оставляет пустую строчку в консоли. Далее вызываем компилятор и передаем ему файл нашего кода, который он скомпилирует.

Таким способом мы можем скомпилировать только один файл, поэтому мы будем писать все классы в одном документе (я не разобрался еще как компилировать несколько файлов в один .exe через консоль, да и это не тема нашей статьи, может кто нибудь расскажет в комментариях).
Читать дальше →
Всего голосов 32: ↑23 и ↓9+14
Комментарии34

ТОП-11 бесплатных ресурсов для изучения английской грамматики

Время на прочтение3 мин
Количество просмотров300K
Мы уже говорили о том, как быстро и эффективно учить английские слова. Время узнать о подводных камнях английской грамматики. Опираясь на свой опыт, мы собрали список сайтов, на которых классно ее практиковать.

/* здесь могла быть картинка про грамматику, но мы решили не нагружать ваш браузер */
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии16

Буби, крести, пики. Или своя CRM-cистема в Гугл Таблицах за пару часов

Время на прочтение4 мин
Количество просмотров12K
Так как моя статья немного коснется гемблинга, я сразу оговорюсь, что никакой рекламной цели я не преследую. Я хочу рассказать о том, как мы сделали удобную систему отчетности, используя Google таблички и коснуться некоторых моментов, возможно, кому-то это будет полезно.

Пару слов о сути нашего предприятия: мы обучали (бесплатно) и спонсировали на игру в онлайн-покере (как это называется в игровых кругах — без несчатья, то есть, если человек проигрывал наши деньги, то ничего не оставался должен). Сейчас проекта уже нет, но на пике кол-во наших учеников превышало 50 человек.

Когда у вашей компании 5 клиентов, то в расчетах с ними можно использовать что угодно, хоть рисовать мелком на детской доске, отмечая поступления-отправления денег и другие нюансы. Проблемы начинаются, когда кол-во клиентов увеличивается и когда, как в нашем случае, нужно постоянно собирать от них обратную связь, чтобы можно было оперативно вмешиваться в процесс, если что-то пошло не так. Нашим ребятам нужно было по итогам каждого дня работы доносить до нас определенные цифры, ну, пусть будет дата работы и баланс (специально немного упрощу).
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии16

Стандарты и шаблоны для ТЗ на разработку ПО

Время на прочтение7 мин
Количество просмотров747K

Введение


Недавно ко мне обратились, чтобы я посоветовал стандарты для написания технического задания (ТЗ) на разработку автоматизированных систем (АС) и программного обеспечения (ПО). Вот думаю, сейчас зайду в Яндекс, найду подходящую статейку и отправлю её. Но не тут-то было! Одной статьи, где перечисляются стандарты для ТЗ, включая шаблоны и примеры готовых документов, я не нашел. Придется сделать такую статейку самому…

И так, основные стандарты, методологии и своды знаний, где упоминается ТЗ или SRS (Software (or System) Requirements Specification):

• ГОСТ 34
• ГОСТ 19
• IEEE STD 830-1998
• ISO/IEC/ IEEE 29148-2011
• RUP
• SWEBOK, BABOK и пр.
Читать дальше →
Всего голосов 36: ↑34 и ↓2+32
Комментарии22

Python на службе у конструктора. Укрощаем API Kompas 3D

Время на прочтение8 мин
Количество просмотров38K

Logo


Работая в конструкторском отделе, я столкнулся с задачей — рассчитать трудоёмкость разработки конструкторской документации. Если брать за основу документ: «Типовые нормативы времени на разработку конструкторской документации. ШИФР 13.01.01" (утв. Минтрудом России 07.03.2014 N 003)», то для расчета трудоёмкости чертежа детали нам необходимы следующие данные:


  • Формат чертежа и количество листов
  • Масштаб
  • Количество размеров на чертеже (включая знаки шероховатости и выносные линии)
  • Количество технических требований

Из имеющихся инструментов на предприятии имеем: Kompas 3D v14 и Python 3.5.


В интернете не так много статей о написании программ с использованием API Kompas 3D, и ещё меньше информации о том, как это сделать на Python. Попробую рассказать по шагам, как решалась поставленная задача и на какие грабли приходилось наступать. Статья рассчитана на людей, владеющих основами программирования и знакомых с языком Python. Итак, приступим.


Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии27

Умная кормушка: Machine Learning, Raspberry Pi, Telegram, немножко магии обучения + инструкция по сборке

Время на прочтение15 мин
Количество просмотров38K
Всё началось с того, что жена захотела повесить кормушку для птиц. Идея мне понравилась, но сразу захотелось оптимизировать. Световой день зимой короткий — сидеть днём и смотреть на кормушку времени нет. Значит нужно больше Computer Vision!



Идея была простой: прилетает птичка — вжуууух — она оказывается на телефоне. Осталось придумать как это сделать и реализовать.
В статье:
  • Запуск Caffe на Raspberry Pi B+ (давно хотел это сделать)
  • Построение системы сбора данных
  • Выбор нейронной сети, оптимизация архитектуры, обучение
  • Оборачивание, выбор и приделывание интерфейса

Все исходники открыты + описан полный порядок развёртывания получившейся конструкции.
Читать дальше →
Всего голосов 73: ↑72 и ↓1+71
Комментарии58

Почему вам может пригодиться собственный Twitter-бот и как создать его за полчаса

Время на прочтение7 мин
Количество просмотров19K
Twitter-боты могут значительно больше, чем просто спамить популярные хэштеги и неутомимо подписываться на пользователей.

Взять хотя бы оповещения от Twisst ISS бота, который отправляет вам сообщение каждый раз, когда Международная космическая станция (МКС) будет видна из вашего местоположения.



Или боты публичных сервисов наподобие Earthquake Robot, который отправляет твит о подземных толчках более 5 баллов по шкале Рихтера, как только они случаются.

Ну и конечно, poem.exe, робот, который постит стихотворения, а также Accidental Haiku, который ретвитит посты, случайно написанные в форме хайку.

Читать дальше →
Всего голосов 21: ↑16 и ↓5+11
Комментарии2

Строки в C# и .NET

Время на прочтение10 мин
Количество просмотров320K
image
От переводчика: Джон Скит написал несколько статей о строках, и данная статья является первой, которую я решил перевести. Дальше планирую перевести статью о конкатенации строк, а потом — о Юникоде в .NET.

Тип System.StringC# имеющий алиас string) является одним из наиболее часто используемых и важных типов в .NET, и вместе с тем одним из самых недопонимаемых. Эта статья описывает основы данного типа и развенчивает сложившиеся вокруг него мифы и непонимания.
Читать дальше →
Всего голосов 69: ↑64 и ↓5+59
Комментарии38

Уравнение теплопроводности в tensorflow

Время на прочтение9 мин
Количество просмотров25K
Привет, Хабр! Некоторое время назад увлекся глубоким обучением и стал потихоньку изучать tensorflow. Пока копался в tensorflow вспомнил про свою курсовую по параллельному программированию, которую делал в том году на 4 курсе университета. Задание там формулировалось так:

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

\frac{\partial u}{\partial t} = \sum \limits_{\alpha=1}^{2} \frac{\partial}{\partial x_\alpha} \left (k_\alpha \frac{\partial u}{\partial x_\alpha} \right ) -u, \quad x_\alpha \in [0,1] \quad (\alpha=1,2), \ t>0;

k_\alpha =
\begin{cases}
    50, (x_1, x_2) \in \Delta ABC\\
    1, (x_1, x_2) \notin \Delta ABC
\end{cases}

(\alpha = 1,2), \ A(0.2,0.5), \ B(0.7,0.2), \ C(0.5,0.8);

u(x_1, x_2, 0) = 0,\ u(0,x_2,t) = 1 - e^{-\omega t},\  u(1, x_2, t) = 0,

u(x_1,0,t) = 1 - e^{-\omega t},\ u(0, x_2, t) = 0,\  \omega = 20.

Хотя правильнее было бы назвать это уравнением диффузии.

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

Я не специалист в численных методах, пока не специалист в tensorflow, но опыт у меня уже появился. И я загорелся желанием попробовать вычислять урматы на фреймворке для глубокого обучения. Метод сопряженных градиентов реализовывать второй раз уже не интересно, зато интересно посмотреть как с вычислением справится tensorflow и какие сложности при этом возникнут. Этот пост про то, что из этого вышло.

Численный алгоритм


Читать дальше →
Всего голосов 36: ↑34 и ↓2+32
Комментарии8

Как прокрастинировать эффективно: 6 полезных онлайн-сервисов

Время на прочтение4 мин
Количество просмотров55K

Прокрастинация — явление, жертвой которого становятся все, даже животные не могут ему противостоять. Несколько лет назад проблему ярко описал Тим Урбан на страницах своего блога Wait But Why. И раз уж прокрастинация неизбежна, стоит постараться извлечь пользу и из неё — я составил подборку из шести онлайн-сервисов (и их альтернатив), которые помогут научиться чему-то новому, даже когда работать нет никаких сил.
Читать дальше →
Всего голосов 44: ↑40 и ↓4+36
Комментарии31

Home Assistant или еще один «мозг» для проекта типа «Умный Дом»

Время на прочтение11 мин
Количество просмотров77K
Добрый день, уважаемый читатель. На днях довелось мне поиграться с многим уже известной игрушкой от Google – Google Home. Штука хорошая — обзор ее я делать конечно не буду. В чулане совершенно случайно завалялись Raspberry PI 3 (RPi), Arduino Mega и еще им подобная мелочь, которую захотелось подключить к Google Home (GH) с целью голосового управления. Простого API у GH нет, но есть возможность с помощью стороннего сервиса организовать голосовое управление системой на RPi + Arduino с задержкой команд в несколько секунд.

Читая буржуйские форумы (справедливости ради, нужно отметить, человек я повернутый на автоматизации и IoT), обратил внимание на доселе мне неизвестное нечто, что называют Home Assistant (HASS), эту систему умельцы-то и прикручивают к GH.

В двух словах о самой платформе:

Система написана на Python, последний релиз был 29 января, текущая версия: 0.37.0

Поддерживаемые ОС:

  • Windows 10
  • Mac OS X
  • Ubuntu 14.04
  • Raspbian (Raspberry PI)
  • iOS App – beta

Поддерживаемые компоненты: 545 шт., включая почти все TV/AV receivers, Broadlink, ZigBee, iCloud, Yandex TTS и многое, многое другое.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии27

Azure понятным языком [Шпаргалка]

Время на прочтение10 мин
Количество просмотров71K
Скажите, приходилось ли вам слышать о новых службах Azure: Elasticville, StorageWart и API Gatesian? Разумеется, нет, ведь эти названия были придуманы только что. В этой статье мы делимся с вами шпаргалкой, в которой понятным языком описана экосистема Microsoft Azure.


Читать дальше →
Всего голосов 49: ↑45 и ↓4+41
Комментарии12

Делегаты и события в .NET

Время на прочтение26 мин
Количество просмотров238K
От переводчика. Судя по своему опыту, а также по опыту знакомых коллег-программистов, могу сказать, что для начинающего разработчика среди всех базовых функций языка C# и платформы .NET делегаты и события являются одними из наиболее сложных. Возможно, это из-за того, что необходимость делегатов и событий на первый взгляд кажется неочевидной, или же из-за некоторой путаницы в терминах. Поэтому я решил перевести статью Джона Скита, рассказывающую о делегатах и событиях на самом базовом уровне, «на пальцах». Она идеальна для тех, кто знаком с C#/.NET, однако испытывает затруднение в понимании делегатов и событий.

Представленный здесь перевод является вольным. Однако если под «вольным», как правило, понимают сокращённый перевод, с упущениями, упрощениями и пересказами, то здесь всё наоборот. Данный перевод является немного расширенной, уточнённой и обновлённой версией оригинала. Я выражаю огромную благодарность Сергею Теплякову aka SergeyT, который внёс неоценимый вклад в перевод и оформление данной статьи.


Люди часто испытывают затруднения в понимании различий между событиями и делегатами. И C# ещё больше запутывает ситуацию, так как позволяет объявлять field-like события, которые автоматически преобразуются в переменную делегата с таким же самым именем. Эта статья призвана прояснить данный вопрос. Ещё одним моментом является путаница с термином «делегат», который имеет несколько значений. Иногда его используют для обозначения типа делегата (delegate type), а иногда — для обозначения экземпляра делегата (delegate instance). Чтобы избежать путаницы, я буду явно использовать эти термины — тип делегата и экземпляр делегата, а когда буду использовать слово «делегат» — значит, я говорю о них в самом широком смысле.
Читать статью
Всего голосов 50: ↑44 и ↓6+38
Комментарии5

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность