У многих сейчас стоят счетчики воды. И большинство сталкиваются с проблемой снятия показаний с этих счетчиков и их своевременной сдачей. Я не стал исключением. Показания у меня было снимать удобно, но вот сдавать я их постоянно забывал и вспоминал в самый неподходящий момент. Было решено автоматизировать процесс снятие показаний, чтобы можно было их просмотреть в любой момент времени. Кому интересно как получить картинку слева у себя на телефоне прошу под кат.
Суходоев Павел @cyxoupshk
Пользователь
Взаимодействие с ГИС ЖКХ с помощью stunnel и openssl по ГОСТу
11 min
38KВстала перед нами в полный рост задача наладить взаимодействие с ГИС ЖКХ. Согласно документации, предполагается использование небезызвестного отечественного ПО для шифрования туннеля и формирования ЭЦП по ГОСТу, но это не наш метод. Вооружившись гуглом и консолью, я и slavam реализовали необходимый функционал подручными средствами.
Всё необходимое ПО есть как на Linux, так и на Windows платформах, потому методику можно назвать мультиплатформенной.
+10
Начинающим Java программистам
2 min
1.2MПрограммирую на Java вот уже 7 лет. Но на работе часто приходится обучать новое поколение. В связи с этим и решил сделать некоторую шпаргалку, которая, надеюсь, пригодится и для хабрчан. Если кто-то может помочь дополнить чем-то информацию из этой статьи, то пишите! Итак:
Основные ресурсы для начального обучения
- www.javable.com — сайт со статьями и tutorial'ом по Java. Все в основном на русском.
- www.exampledepot.com — очень полезный ресурс, где собраны краткие примеры использования классов для тех или иных пакетов
- java.sun.com — без первоисточника не обойтись. Для любого Java программиста JavaDoc должен быть истиной в последней инстанции. Так же здесь можно найти серию tutorial'ов на все возможные темы.
+106
Backbone.js для «чайников»
13 min
288KКак то поздним вечерком мне пришла мысль изучить Backbone.js и привязать его к уже написанному на jQuery сервису. Сервис уже серьёзно расширился и меня достало это нагромождение обработчиков кликов, запросов и логики. Поэтому, я как усердный школьник полез в официальную документацию. Но либо я тупой, либо мой английский меня подкачал, либо то и другое вместе, но я не черта не понял. Я прочитал уже второй раз, внимательно, и для особо одарённых мест использовал google translate. Прочитал также и пример ToDo List. Всё показалось понятно, ровно до той поры пока я не стал писать. После чего я взял всё что нашел по этой библиотеке, как на английском так и переводы. Прочтя кипу документации я решил, что сейчас вроде всё понял. Я напрягся, но… Не вышел каменный цветок у мастера Данилы, т.е. вышло, но это явно был не цветок, и камень как то неправильно пах. Тогда, как прилежный ученик, я решил написать «Hello,
+107
DLNA-сервер для дома и семьи
7 min
859KКак-то так сложилось, что тег DLNA сервер чаще встречается в постах-вопросах, чем в ответах. И если в вопросах установки на домашний Windows-ПК какой-то пользовательский опыт накоплен, то определиться с выбором ПО для домашнего сервера/NAS-а/медиацентра — оказалось непросто. Распределившись по песочницам народ обособленно решает проблемы каждой программы в отдельности. А понять что из них чего стоит и нужно ли оно вообще — лично мне не удалось.
И вот, я вооружившись ссылкой с Википедии Как выбрать DLNA-сервер под Windows, Mac OS X или Linux — опробовал почти всё, что есть под Linux.
И вот, я вооружившись ссылкой с Википедии Как выбрать DLNA-сервер под Windows, Mac OS X или Linux — опробовал почти всё, что есть под Linux.
+62
Mikrotik автоматическое переключение на резервный канал для динамического ip адреса (выдаваемого по DHCP)
6 min
52KПриветствую, Хабр! В связи с плохим качеством линии меня попросили настроить автоматическое переключение на резервный канал. Для этой цели предоставили роутер MikroTik RB 951Ui.
Думал, что проблем не возникнет… Всего-то настроить проверку канала и маршруты. Но, к сожалению, оба провайдера выдают IP динамически. Сначала я попробовал подставить в маршрут название интерфейса, но пинг не проходил. Прочитав несколько статей, включая зарубежные сайты, но не нашел решения проблемы, которое мне подошло бы. Пришлось знакомится с RouterOS по ближе, а в частности с созданием скриптов…
+11
Немного об АЭС
5 min
46KНесмотря на то, что долгие годы не утихают споры вокруг атомных электростанций, большинство людей мало представляют себе, что это вообще за зверь, хотя наверняка знают какую-нибудь легенду про АЭС. В статье я попытаюсь в общих чертах рассказать, как это все работает. Каких-то тайн и разоблачений ждать не стоит, но, надеюсь, кто-нибудь узнает для себя что-то новенькое.
+97
Почему стоит брать кредиты
3 min
202KПривет, Хабр!
Вчерашняя моя статья (Наглядно о том, почему я не беру кредиты) вызвала очень сильную реакцию, возможно даже кого-то задела за живое, тогда извиняюсь. Главным образом мне указывали на ошибку, что не учитывается стоимость аренды квартиры, пока Вася копит нужную сумму на вкладе. Что же, дельное замечание, спешу исправить свои ошибки (ведь не ошибается тот, кто ничего не делает, не так ли?).
В конце бонус — онлайн калькулятор с графиками,(преферансом… ну вы поняли).
Вчерашняя моя статья (Наглядно о том, почему я не беру кредиты) вызвала очень сильную реакцию, возможно даже кого-то задела за живое, тогда извиняюсь. Главным образом мне указывали на ошибку, что не учитывается стоимость аренды квартиры, пока Вася копит нужную сумму на вкладе. Что же, дельное замечание, спешу исправить свои ошибки (ведь не ошибается тот, кто ничего не делает, не так ли?).
В конце бонус — онлайн калькулятор с графиками,
+49
МАКС 2013 (фото на 50 мб)
5 min
170KВ четверг довелось побывать на МАКСе 2013. Тогда была еще бизнес-часть выставки, поэтому мне удалось посмотреть экспозицию без рекордных толп, которые салон собрал в выходные.
Фотографий там сделал немало, и решил оформить их в новую форму фоторепортажа — в GIF. Обычно внутри павильонов, без равномерного фона, сложно снимать какие-либо технологические штуки или их макеты — теряются детали из-за избытка деталей позади основного объекта съемки. Думаю анимация позволит лучше сформировать представление о предметах.
Трафик — 55 мб.
Фотографий там сделал немало, и решил оформить их в новую форму фоторепортажа — в GIF. Обычно внутри павильонов, без равномерного фона, сложно снимать какие-либо технологические штуки или их макеты — теряются детали из-за избытка деталей позади основного объекта съемки. Думаю анимация позволит лучше сформировать представление о предметах.
Трафик — 55 мб.
+170
Почему балансирует бухгалтерский баланс?
7 min
28KTutorial
Если вам известно, что такое бухгалтерский баланс, можете закончить чтение на этом. Если же баланс ускользнул от внимания, тогда, возможно, вас заинтересует его нехитрое, вместе с тем неординарное устройство.
Сейчас я коротко и по возможности доступно объясню, что бухгалтерский баланс такое и с какой стати ему балансировать.
+38
Голосовой автоинформатор даты и времени, приятным женским голосом, русским языком, на базе asterisk? Легко
7 min
38KTutorial
В преддверии выходных не чем себя занять, так как по регламенту не позволены грандиозные настройки? На старом, заброшенном сервере запылился asterisk? Абоненту нечем тестировать телефонную линию? Для тех, кому не с кем поговорить и для тех, кто потерялся во времени.
В этой публикации мы будем делать акцент на падежи порядковых числительных, так как произносимый текст должен быть связан и не резать слух. Попытаемся добиться следующего произношения:
или
Для простоты и прозрачности внедрения мы не будем пользоваться AGI и попросим железную леди сообщать нам дату и время, по большому счету, поработав лишь с dialplan`ом и say.conf`ом. И если ваш asterisk до сих пор не говорит по-русски — не беда, этому мы его научим. Кому стало интересно, добро пожаловать под хабракат.
В этой публикации мы будем делать акцент на падежи порядковых числительных, так как произносимый текст должен быть связан и не резать слух. Попытаемся добиться следующего произношения:
Текущее время пятнадцать часов, двадцать одна минута, двадцать секунд. Сегодня среда, пятнадцатое октября.
или
Текущее время один час, тридцать пять минут, десять секунд. Сегодня четверг, шестнадцатое октября.
Для простоты и прозрачности внедрения мы не будем пользоваться AGI и попросим железную леди сообщать нам дату и время, по большому счету, поработав лишь с dialplan`ом и say.conf`ом. И если ваш asterisk до сих пор не говорит по-русски — не беда, этому мы его научим. Кому стало интересно, добро пожаловать под хабракат.
+15
Как я создавал приложение, но был вынужден закрыть из-за действия закона
4 min
118K26 января 2014 года я создал приложение «MCKO для андроид». Классная шутка, которая обрела некоторую популярность. Но об этом позже.
MCKO (МЦКО) — это электронный дневник для московских школ. Так получилось, что он ужасен. Просто УЖАСЕН, а если заходить с телефона, то он вообще перестает работать. При всем его уродстве он, черт возьми, один из самых популярных в Москве. Наверное, его заставляли использовать сверху, государственный же.
MCKO (МЦКО) — это электронный дневник для московских школ. Так получилось, что он ужасен. Просто УЖАСЕН, а если заходить с телефона, то он вообще перестает работать. При всем его уродстве он, черт возьми, один из самых популярных в Москве. Наверное, его заставляли использовать сверху, государственный же.
+167
Web Components — будущее Web
12 min
115KСпустя какое время стало ясно, что основная идея Prototype вошла в противоречие с миром. Создатели браузеров ответили на возрождение Javascript добавлением новых API, многие из которых конфликтовали с реализацией Prototype.
— Sam Stephenson, создатель Prototype.js, You Are Not Your Code
Создатели браузеров поступают гармонично. Решение о новых API принимают с учётом текущих трендов в opensource сообществах. Так prototype.js способствовал появлению
Array.prototype.forEach()
, map()
и т.д., jquery вдохновил разработчиков на HTMLElement.prototype.querySelector()
и querySelectorAll()
.Код на стороне клиента становится сложнее и объёмнее. Появляются многочисленные фреймворки, которые помогают держать этот хаос под контролем. Backbone, ember, angular и другие создали, чтобы помочь писать чистый, модульный код. Фреймворки уровня приложения — это тренд. Его дух присутствует в JS среде уже какое-то время. Не удивительно, что создатели браузеров решили обратить на него внимание.
+83
+32
Как мы строили базовую станцию
6 min
170KТермины «базовая станция» и «вышка сотовой связи» давно и прочно вошли в наш лексикон. И если средний пользователь вспоминает об этих вещах не так часто, то уж «сотовый телефон» по привычности явно входит в десятку лидеров. Сотовой связью ежедневно пользуются сотни миллионов людей, но очень мало кто из них задумывается о том, как обеспечивается эта самая связь. И из этого меньшинства очень немногие действительно представляют всю сложность и тонкость этого инструмента связи.
С точки зрения большинства людей, установка базовой станции сотовой связи является весьма несложным делом. Достаточно повесить несколько антенн, подключить их к сети — и готово. Но такое представление в корне неверно. И поэтому мы решили рассказать о том, сколько тонкостей и нюансов возникает при монтаже базовой станции в условиях мегаполиса.
Осторожно, трафик!
+75
Кеширование изображений на SD карте
3 min
9.7KСовсем недавно пользователь sly2m описал свой метод сохранения изображений из ImageView на SD карту телефона. Кто-то (лично я например) ожидал от этого поста нечто иное, а именно:
1. Работа с изображениями из Интернета
2. Автоматическая загрузка и сохранение таких изображений
3. Продвинутое кеширование изображений
Если заинтересовало — прошу взглянуть.
1. Работа с изображениями из Интернета
2. Автоматическая загрузка и сохранение таких изображений
3. Продвинутое кеширование изображений
Если заинтересовало — прошу взглянуть.
+21
Ускоренная разработка веб/мобильного приложения
6 min
35KTutorial
Когда возникает идея создать что-нибудь полезное, обычно очень хочется сделать прототип (или версию 1.0) как можно скорее. Для кого-то, видеть быстрый результат — это хорошая мотивация, чтобы развивать идею дальше; для других — главное «начать», всем известная истина, что доделывать/переделывать готовое намного легче, чем писать с нуля. Итак, в процессе очередного чаепития и обсуждения финансовых рынков, у нас появилась идея создания легкого сервиса для обмена идей и новостей, а также определения текущей ситуации на фынансовых рынках (т.н. тренды) — ведь зная тренды, можно более эффективно торговать.
В требованиях были: веб сервис, мобильная версия (желательно app), легкая коллективная админ-часть, и простой интерфейс.
Как у нас получилось мега-быстро «слепить» одновременно и веб и мобильную версию приложения CxInvestor и пойдет речь в этой статье.
Первый вопрос, который нужно было решить — на чем писать сервер.
В требованиях были: веб сервис, мобильная версия (желательно app), легкая коллективная админ-часть, и простой интерфейс.
Как у нас получилось мега-быстро «слепить» одновременно и веб и мобильную версию приложения CxInvestor и пойдет речь в этой статье.
Разработка
Первый вопрос, который нужно было решить — на чем писать сервер.
+18
Enlarge your pension-2: Ребалансировка. Добавим риска для снижения риска!
3 min
16KПродолжаем тему распределения активов для пенсионного портфеля. Обычно Великие Гуру Финансовых Рынков финансовые консультанты в этом месте подробно показывают, почему инвестирование в недвижимость-золото-биткойн и прочие вечные ценности в чистом виде не решает проблему долгосрочных инвестиций. Мы это оставим на потом, а сейчас перейдем сразу к десерту. Судя по вопросам в предыдущем топике, не все сразу осознали силу и величие ребалансировки. Так что цитирую:
Ребалансировка возвращает портфель к первоначальным пропорциям распределения активов. Ребалансировка необходима, т.к. с течением времени какие-то из ваших инвестиций могут выбиться из выбранного вами распределения активов. Вы можете обнаружить, что некоторые из ваших вложений будет расти заметно быстрее, чем другие. Например, что вы решили, что инвестиции в акции будут составлять 60% от вашего портфеля. Однако после недавнего роста фондового рынка, доля акций увеличилась до 80% от состава портфеля. Вы должны будете либо продать часть из ваших акций, или докупить те виды активов, вес которых уменьшился, либо сделать и то, и другое, чтобы восстановить изначальные пропорции распределения активов…
Ребалансировка возвращает портфель к первоначальным пропорциям распределения активов. Ребалансировка необходима, т.к. с течением времени какие-то из ваших инвестиций могут выбиться из выбранного вами распределения активов. Вы можете обнаружить, что некоторые из ваших вложений будет расти заметно быстрее, чем другие. Например, что вы решили, что инвестиции в акции будут составлять 60% от вашего портфеля. Однако после недавнего роста фондового рынка, доля акций увеличилась до 80% от состава портфеля. Вы должны будете либо продать часть из ваших акций, или докупить те виды активов, вес которых уменьшился, либо сделать и то, и другое, чтобы восстановить изначальные пропорции распределения активов…
+27
Enlarge your pension size или сам себе финансовый консультант
6 min
46KОснователь компании Microsoft Билл Гейтс стал акционером сети парков развлечений Six Flags. Как заявил аналитик компании JP Morgan, покупка акций Six Flags основателем Microsoft является обычной процедурой вложения средств. По информации, полученной от личного представителя Гейтса, глава Microsoft регулярно инвестирует различные компании, продавая акции других фирм… Август 2002 г
Все мы работаем и отчисляем часть заработанного в пенсионные программы. Что происходит далее с пенсионными деньгами в официальных пенсионных программах и каковы перспективы пенсионных программ лет на 20-30 вперед… мы, пожалуй, обсуждать не будем. Причем проблема не в конкретной стране, проблемы глобальны во всех странах с пенсионной системой:
— Население стареет, толстеет и глупеет, пенсионеров в процентном соотношении все больше, а компенсировать рост пенсионных расходов в современных экономических условиях можно… повышением отчислений и налогов с тех, кто работает? И снижением реальных пенсий за счет инфляции?
— Официальные лицензированные управляющие пенсионных фондов во всем мире настолько хорошо делают свою работу, что в 2008 году… всем внезапно стало понятно, насколько. Чтобы решить, есть ли смысл зависить от работы этих ребят в костюмах, можно почитать Майкла Льюиса на сопутствующую тему — “Большая игра на понижение” и “Из первого мира в третий. Читаются легко и быстро.
Но не все так плохо,
Все мы работаем и отчисляем часть заработанного в пенсионные программы. Что происходит далее с пенсионными деньгами в официальных пенсионных программах и каковы перспективы пенсионных программ лет на 20-30 вперед… мы, пожалуй, обсуждать не будем. Причем проблема не в конкретной стране, проблемы глобальны во всех странах с пенсионной системой:
— Население стареет,
— Официальные лицензированные управляющие пенсионных фондов во всем мире настолько хорошо делают свою работу, что в 2008 году… всем внезапно стало понятно, насколько. Чтобы решить, есть ли смысл зависить от работы этих ребят в костюмах, можно почитать Майкла Льюиса на сопутствующую тему — “Большая игра на понижение” и “Из первого мира в третий. Читаются легко и быстро.
Но не все так плохо,
+31
Руководство по проектированию реляционных баз данных (7-9 часть из 15) [перевод]
6 min
525KTranslation
Продолжение.
Предыдущие части: 1-3, 4-6
Я уже показал вам как данные из разных таблиц могут быть связаны при помощи связи по внешнему ключу. Вы видели как заказы связываются с клиентами путем помещения customer_id в качестве внешнего ключа в таблице заказов.
Другой пример связи один-ко-многим – это связь, которая существует между матерью и ее детьми. Мать может иметь множество детей, но каждый ребенок может иметь только одну мать.
(Технически лучше говорить о женщине и ее детях вместо матери и ее детях потому, что, в контексте связи один-ко-многим, мать может иметь 0, 1 или множество потомков, но мать с 0 детей не может считаться матерью. Но давайте закроем на это глаза, хорошо?)
Когда одна запись в таблице А может быть связана с 0, 1 или множеством записей в таблице B, вы имеете дело со связью один-ко-многим. В реляционной модели данных связь один-ко-многим использует две таблицы.
Схематическое представление связи один-ко-многим. Запись в таблице А имеет 0, 1 или множество ассоциированных ей записей в таблице B.
Предыдущие части: 1-3, 4-6
7. Связь один-ко-многим.
Я уже показал вам как данные из разных таблиц могут быть связаны при помощи связи по внешнему ключу. Вы видели как заказы связываются с клиентами путем помещения customer_id в качестве внешнего ключа в таблице заказов.
Другой пример связи один-ко-многим – это связь, которая существует между матерью и ее детьми. Мать может иметь множество детей, но каждый ребенок может иметь только одну мать.
(Технически лучше говорить о женщине и ее детях вместо матери и ее детях потому, что, в контексте связи один-ко-многим, мать может иметь 0, 1 или множество потомков, но мать с 0 детей не может считаться матерью. Но давайте закроем на это глаза, хорошо?)
Когда одна запись в таблице А может быть связана с 0, 1 или множеством записей в таблице B, вы имеете дело со связью один-ко-многим. В реляционной модели данных связь один-ко-многим использует две таблицы.
Схематическое представление связи один-ко-многим. Запись в таблице А имеет 0, 1 или множество ассоциированных ей записей в таблице B.
+7
Information
- Rating
- Does not participate
- Location
- Кирово-Чепецк, Кировская обл., Россия
- Date of birth
- Registered
- Activity