Как стать автором
Обновить
1
0
Николай @nik_o

QA

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

Система сбора измерений на примере метеостанции

Время на прочтение21 мин
Количество просмотров17K
imageКазалось бы, каждый, кто осваивает ардуино, первым делом конструирует или повторяет прибор для измерения температуры и(или) прочих параметров окружающей среды. Только большинство подобных конструкций, к сожалению, мало применимы в домашнем хозяйстве — в качестве тренировки сгодится, а пользы нет. Попробуем исправить эту недоработку. В статье расскажу о создании комплекса для измерения и хранения любых данных на примере сбора показаний датчиков температуры, влажности воздуха и атмосферного давления. Начну с требований к прибору и описания протокола обмена, закончу web-службой для получения данных из БД. Подробных выкладок и пошаговых руководств не будет, но будет немного теории и много кода.

Смотреть дневник наблюдений
Всего голосов 11: ↑11 и ↓0+11
Комментарии7

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

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

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


image

Биофизик Джереми Ингланд взбудоражил общественность в 2013 году своей новой теорией, делающей происхождение жизни неизбежным следствием термодинамики. Его уравнения подразумевают, что при определённых условиях группы атомов естественным образом перегруппировываются так, чтобы тратить всё больше и больше энергии, содействуя непрерывному рассеянию энергии и появлению «энтропии», или беспорядка во Вселенной. Ингланд говорит, что этот эффект реструктуризации, называемый им адаптацией под воздействием рассеяния, стимулирует рост сложных структур, включая и живые организмы. Существование жизни – не загадка и не удача, писал он в 2014-м, оно следует из основных физических принципов и «должно быть настолько же неудивительно, как катящиеся с горы камни».
Всего голосов 47: ↑42 и ↓5+37
Комментарии340

FreeNAS 9.1.1 — создаем сетевое хранилище. Часть 1. Установка

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

Вступление


FreeNAS 9.1.1 — дистрибутив для быстрого развёртывания сетевого хранилища, основан на базе FreeBSD, отличается интегрированной поддержкой ZFS и полностью настраивается через веб-интерфейс. Для организации доступа к хранилищу поддерживается FTP, NFS, Samba, AFP, rsync и iSCSI, для повышения надежности хранения может применяться программный RAID (0,1,5), для авторизации клиентов реализована поддержка LDAP/Active Directory.

Версия FreeNAS 9.1.1 примечательна переходом на кодовую базу FreeBSD 9, (прошлый выпуск был основана на FreeBSD 8.3), а также проведением огромной работы по улучшению удобства использования, стабильности и производительности. Улучшения затронули практически все подсистемы дистрибутива, от web-интерфейса до системы подключения плагинов. Инфраструктура разработки проекта переведена на использование Git.

FreeNAS можно установить на жесткий диск или USB-флешку. При этом система занимает весь объем носителя на который устанавливается, не зависимо от емкости, а все сетевые ресурсы для хранения информации размещаются на других жестких дисках.
т.е. сама система freenas занимает 1 жёсткий диск на котором нельзя ничего хранить, а на втором уже может хранится вся наша инфа!

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

Установка.


Вставляем CD-диск с FreeNAS в привод, и загружается с него. Видим такую картину

Читать дальше →
Всего голосов 19: ↑14 и ↓5+9
Комментарии14

Цандер: забытый между Циолковским и Королевым

Время на прочтение10 мин
Количество просмотров34K
23 августа исполняется 130 лет со дня рождения Фридриха Цандера. Больших торжеств не будет — Фридрих Артурович умер в 1933 году, он успел принять участие только в самом начале советской ракетно-космической отрасли. Увы, не все пионеры и энтузиасты смогли увидеть реализацию своих мечтаний. Но помнить их труд полезно и правильно.

Всего голосов 74: ↑74 и ↓0+74
Комментарии29

40 лет полёта «Вояджеров». Скоро они замолчат навсегда

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


40 лет назад ученые Земли отправили в далекий полет две межпланетные станции, которые получили названия «Вояджер-1» и «Вояджер-2». Эти станции идентичны, различает их лишь название и время запуска.

Станцию «Вояджер-2» запустили 20 августа 1977 года, её близнеца — 5 сентября того же года. До сорокалетия «Вояджера-1» осталось подождать еще пару недель. Путаницы с нумерацией зондов нет, поскольку специалисты изначально запланировали, что «Вояджер-1» должен обогнать своего собрата. Так и получилось: зонд с номером один смог вырваться вперед между орбитой Марса и поясом астероидов.

Обе станции направились по разным маршрутам, что позволило им войти в историю. «Вояджер-1» на данный момент — самый удаленный от нашей планеты объект, созданный человеком. А «Вояджер-2» — первый и единственный пока зонд, который смог нанести визит сразу четырем планетам-газовым гигантам Солнечной системы: Юпитеру, Сатурну, Урану и Нептуну.
Всего голосов 67: ↑67 и ↓0+67
Комментарии286

Pygest #16. Релизы, статьи, интересные проекты из мира Python [15 августа 2017 — 28 августа 2017]

Время на прочтение2 мин
Количество просмотров9.5K
image Всем привет! Это уже шестнадцатый выпуск дайджеста на Хабрахабр о новостях из мира Python.

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

А теперь к делу!
Перейти к дайджесту
Всего голосов 12: ↑12 и ↓0+12
Комментарии0

Управление памятью в Python

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


Одна из главных проблем при написании крупных (относительно) программ на Python — минимизация потребления памяти. Однако управлять памятью здесь легко — если вас вообще это волнует. Память в Python выделяется прозрачно, управление объектами происходит с помощью системы счётчиков ссылок (reference count), и память высвобождается, когда счётчик падает до нуля. В теории всё прекрасно. А на практике вам нужно знать несколько вещей об управлении памятью в Python, чтобы ваши программы эффективно её использовали. Первая вещь, надо хорошо в ней разбираться: размеры основных объектов в Python. И вторая вещь: как устроено управление «под капотом» языка.


Начнём с размеров объектов. В Python есть много примитивных типов данных: целые числа (int), long (версия int с неограниченной точностью), числа с плавающей запятой (они же числа с двойной точностью, double), кортежи (tuple), строковые значения, списки, словари и классы.

Читать дальше →
Всего голосов 73: ↑71 и ↓2+69
Комментарии58

Всё познаётся в сравнении, или реализация одной простенькой задачи на python и tcl

Время на прочтение8 мин
Количество просмотров11K
В силу исторических причин, у нас в конторе, используется старенькая АТС Panasonic TDA200. И, как известно, журнал звонков она выводит в последовательный порт, для чтения данных из которого, на сервере использовалась одна программулька. У этого ПО есть ряд ограничений, делающий его использование неудобным (размер лог-файла, размер БД) и дабы побороть эти недостатки и в силу природной лени (чтобы избежать постоянной очистки лога и БД вручную) было решено набыдлокодить что-то своё. А так как, уже давно, на глаза попадается слово «python» да и пытливый ум периодически просыпается, то решено было данную задачу реализовать на этом языке и попутно на, хорошо мне знакомом, tcl. Ну а результатами решил поделиться с обществом. Да, сразу замечу, что задача решена и сервис доведён до «промышленной» эксплуатации. Для хранения данных используется СУБД MariaDB (оно уже было), в качестве хост-системы CentOS 7.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии6

10 бесплатных и крутых шрифтов

Время на прочтение5 мин
Количество просмотров77K
Сегодня рассказываем про шрифты, которые часто используют наши дизайнеры — все они бесплатные, минималистичные и удобные в использовании. Надеемся, наша подборка пригодится вам при выборе шрифтов.

Шрифт – часть фирменного стиля, которой нельзя пренебрегать. Форма и начертание букв – основа читабельности и настроения бренда. Текст окружает нас повсюду: название компании, слоган или реклама в журнале. Встречают по одежке. Притягательность текста зависит от того, зацепится ли взгляд за приятные очертания букв или излишние закорючки вызовут отторжение у читателя. Создание шрифтов – наука, но всемирная сеть предлагает неисчерпаемый источник публичных семейств от гуру типографики.

1. Open Sans


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

Подборка подкастов по программированию на русском и английском языках

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

Подкасты представляют собой звуковые файлы, которые можно слушать в любое время на вашем компьютере или другом устройстве (IPod, IPad, смартфон и т.д.). Это самый портативный способ потреблять контент и узнавать что-то новое. Популярность подкастов росла на протяжении многих лет и теперь они охватывают очень широкий круг вопросов.

И да, есть много интересных и популярных подкастов для разработчиков и программистов. Подкасты невероятно полезны, они будут держать вас в курсе всего что происходит в интересующей вас сфере, а также помогут вам развить более широкий взгляд на постоянно развивающуюся область информационных технологий.
Читать дальше →
Всего голосов 74: ↑71 и ↓3+68
Комментарии63

Второе издание книги «Изучаем Python. Программирование игр, визуализация данных, веб-приложения»

Время на прочтение7 мин
Количество просмотров15K
image Привет, Хаброжители! В том году мы делали обзор книги Эрика Мэтиза. На данный момент вышло новое издание с исправленными опечатками и листингами. Сама книга показывает базовые принципы программирования, знакомит со списками, словарями, классами и циклами, учит создавать программы и тестировать код. Во второй части книги вы начнете использовать знания на практике, работая над тремя крупными проектами: создадите собственную «стрелялку» с нарастающей сложностью уровней, займетесь работой с большими наборами данных и освоите их визуализацию и, наконец, создадите полноценное веб-приложение на базе Django, гарантирующее конфиденциальность пользовательской информации.

Внутри отрывок из книги «Знакомство с Django»
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии6

Что может чат-бот

Время на прочтение6 мин
Количество просмотров156K
Сначала мы выделили основные офисные процессы. Про чат-бота мы даже не говорили. Вот, например, заказ командировок. Сейчас я должна написать сотруднику службы деловых поездок в почту: «Я собираюсь в командировку в Сургут 5-го числа на три дня», а он: «Такой-то самолет и такая-то гостиница — всё подходит?», а я: «Да, давай». Дальше он пойдет согласовывать с руководством, забронирует сам билеты, спустя какое-то пришлёт мне подтверждение, что все Ок. Всё то же самое может делать бот.

Или если нужна справка для визы, то бот постучит в шину, шина постучит в кадровую подсистему и заберёт PDF, дальше отправит его на принтер отдела кадров и напишет письмо, что туда нужна печать. Затем уведомит меня, что можно подойти через пару часов. Если нужно оформить пропуск на гостя или забронировать переговорку для встречи, то достаточно поручить боту эту задачу, и он её выполнит.



Теперь давайте покажу пример чуть посложнее.

Читать дальше →
Всего голосов 113: ↑107 и ↓6+101
Комментарии102

Мультипротокольный NAS-доступ к Netapp-ресурсам c ACLs

Время на прочтение4 мин
Количество просмотров3.5K
imageНебольшое предисловие к статье.
Заказчик выставил требование организовать доступ по CIFS (SMB) к некоторым NFS-экспортам, которые лежат на NetApp. Звучит вроде бы несложно: нужно создать CIFS-шару на уже экспортированном qtree. Позже было выставлено требование, что нужно гранулярно управлять доступом на эти шары. Опять-таки задача выглядит решаемой: это можно контролировать и с NetApp и через оснастку Shared Folders (share permissions). Затем выяснилось, что нужно варьировать доступ к различным подпапкам на CIFS-шаре. Это уже оказалось нетривиальной задачей. Так как нужно было настроить списки контроля доступа (ACL) и для CIFS и для NFS к одним и тем же данным.

На первый взгляд, можно воспользоваться классическими правами доступа в Linux. У каждой папки и файла есть атрибуты владельца, группы владельца и others (все остальные). Ниже приведен пример классических прав доступа в Linux.

>$ ls -lrt	
drwxr-xr-x.  2 root      root          4096 May  8 15:47 nfsv4_test

Но что делать, если нужно более гранулярно контролировать доступ? POSIX ACLs? Они не поддерживаются NetApp. В итоге единственным решением оказались NFSv4 ACLs.

В этой статье предлагаем описание того, как транслировать NFSv4 ACLs для Windows-пользователей. Будем проводить нашу настройку пошагово. Стиль будет максимально сжатый и емкий. Я не буду останавливаться на каждом пункте подробно, к тому же не буду приводить детального листинга всех команд. Итак, приступим.
Читать дальше →
Всего голосов 5: ↑4 и ↓1+3
Комментарии0

Model-View-Intent и индикатор загрузки/обновления

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

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


  • при переходе на экран показывать индикатор загрузки (ProgressBar) в то время, как данные грузятся с сервера;
  • в случае ошибки загрузки показать сообщение об ошибке и кнопку "Повторить загрузку";
  • в случае успешной загрузки дать пользователю возможность обновлять данные (SwipeRefreshLayout);
  • если при обновлении данных произошла ошибка, показать соответствующее сообщение (Snackbar).

При разработке приложений я использую архитектуру MVI (Model-View-Intent) в реализации Mosby, подробнее о которой можно почитать на Хабре или найти оригинальную статью о MVI на сайте разработчика mosby. В этой статье я собираюсь рассказать о создании базовых классов, которые позволили бы отделить описанную выше логику загрузки/обновления от остальных действий с данными.

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

Учимся программировать под Андроид

Время на прочтение2 мин
Количество просмотров74K
Привет Хабр! Предлагаю вашему вниманию свободный перевод статьи «How To Learn Android Development» от Amit Shekhar.

image

Как изучить разработку приложений под Андроид?

Я видел много вопросов о том, как начать изучать программирование под Андроид и стать успешным разработчиком. Здесь я попытался охватить большинство важных аспектов в Android Development.
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии5

Пишем бота для Slack на Python

Время на прочтение3 мин
Количество просмотров23K
Небольшой туториал, как сделать простого слэк-бота на Python, развернуть его на Heroku, подключить Travis CI за двадцать минут и начать делать что-то полезное.

Итак у нас есть бот, который карает людей пишущих в чат «привет», только чтобы отвлечь нас от работы. Как сделать себе такого же, но лучше?
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии4

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

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


Аннотация: Рассказ о том как я подошел к процессу оздоровления своего организма с «точки зрения химика» и что из этого получилось. Вкратце :– сильно похудел пока на 28кг(процесс сильно замедлился и вполне управляем), многие элементы физического состояния сильно улучшились. В общем – много плюсов, особенно при сидячей работе, как это и бывает при работе с компьютерами. Неожиданно – что удалось обойтись без угнетающих и неприемлемых для меня диет. Минусы – для этого процесса мне пришлось выделять очень много времени. Особенно в начале, когда организм еще не настроился должным образом. Бывает трудно заснуть, Однако, у меня получилось то что получилось, и это оказалось много лучше того, что я ожидал.

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

Если Вам это интересно – пожалуйте под кат, обещаю много букв и мало картинок.
Читать дальше →
Всего голосов 83: ↑80 и ↓3+77
Комментарии563

Нейрокурятник: часть 1. Установка Raspberry Pi и камеры в курятник и их настройка

Время на прочтение9 мин
Количество просмотров26K
image
Большой брат следит за тобой, птица!


Статьи про нейрокурятник
Заголовок спойлера
  1. Вступление про обучение себя нейросетям
  2. Железо, софт и конфиг для наблюдения за курами
  3. Бот, который постит события из жизни кур — без нейросети
  4. Разметка датасетов
  5. Работающая модель для распознавания кур в курятнике
  6. Итог — работающий бот, распознающий кур в курятнике

Читать дальше →
Всего голосов 45: ↑40 и ↓5+35
Комментарии32

Домашний медиацентр (HTTP, NFS, FTP, Torrent, MiniDLNA и Firebird server) на основе Raspberry Pi

Время на прочтение4 мин
Количество просмотров69K
Больше всего я не люблю шум. Даже минимальный шум от внешнего винчестера долго не дает мне заснуть.

Поэтому я решил оборудовать свой домашний медиацентр только бесшумными (в крайнем случае, малошумными) составляющими.
В наличии был ПК (в кабинете), внешний винчестер WD MyBook 1TB, подключенный к ТВ, звуковой проектор Yamaha YSP-900, куда по toslink выводился звук (это добро в комнате для просмотра фильмов, то есть в спальной).

Телевизор Samsung B550, 2009 года, хотя и показывает фильмы с USB (после шаманства с настройками), но далеко не все, также не умеет битстримить DTS на проектор. Для просмотра фильмов был выбран дешевый WDTV Live Streaming 2012 года, славящийся своей всеядностью. Однако, винчестер продолжал шуметь и мешать как просмотру, так и сну.

Поэтому, винчестер был перенесен в кабинет, и подключен к новокупленному Raspberry Pi, после чего был переформатирован в ext4.

Сам Raspberry Pi питается от USB порта компьютера (такая схема работает в том числе и при глубоком сне).

Далее туториал по настройке Raspberry Pi

Читать дальше →
Всего голосов 29: ↑16 и ↓13+3
Комментарии20

Cubietruck. Дорожный мини сервер. Часть 1

Время на прочтение5 мин
Количество просмотров39K
image
Идея такого сервера родилась на отдыхе. Вечером хотелось посмотреть онлайн сериальчик на планшете, а из-за не устойчивого приема 3G, просмотр превращался в муку. Как вариант можно было скачать серию, но опять же при скачивании сигнал постоянно плавал, скорость прыгала и планшет надо было держать постоянно включенным и на зарядке (специфика приложения). К вечеру скачивалось пару серий и можно было спокойно посмотреть сериальчик.
В это время то и зародилось идея создания данного девайса. В инете большое количество реализации хранилища информации на одноплатных компьютерах разных производителей, но объединения нескольких решений найдено не было.
Читать дальше →
Всего голосов 25: ↑21 и ↓4+17
Комментарии29

Информация

В рейтинге
Не участвует
Откуда
Одесса, Одесская обл., Украина
Зарегистрирован
Активность