Собираем
информацию
по крупицам
Главная страница

Здравствуйте!

 

Вы находитесь на сайте WebHamster.ru. Наш хомячок бегает по интернету в поисках интересной информации. Он собирает её по крупицам и аккуратно складывает здесь. А еще хомячок знает буквы, садится за свою маленькую пишущую машинку и сам пишет всякую ерунду. Он такой непоседа...


Новости

Книги по C++, которые меня выручают
09-09-2019
03:00:38

Недавно я закончил написание обзорной статьи о том, какими книгами я пользуюсь при ведении разработки на языке C++. У каждого программиста на этом языке есть своя библиотека книг, хранимая, как минимум, в электронном виде, и как максимум - в бумажном. Я решил написать про свои книги, чтобы помочь новым пользователям этого языка быстрее сориентироваться в литературе по C++ на российском книжном рынке.

 

Небольшая выдержа из статьи:

 

"...Мое отношение к языку C++ весьма потребительское: я отношусь к нему просто как к надежному инструменту, который может обеспечить долгосрочное и относительно беспроблемное существование кода разработок. И в разработке меня больше интересует организация структуры приложения, объектно-ориентированная декомпозиция предметных областей, принципы снижения сложности разрабатываемой системы. Я не храню в голове тонкости синтаксиса языка, если редко использую ту или иную возможность, так как информацию об этом всегда можно посмотреть в справочнике. Новые фишки языка я использую только тогда, когда осознаю их действительную необходимость и начинаю понимать, что они из себя представляют. У меня очень утилитарный подход к разработке: меня прежде всего интересует доведение очередного дела до логического конца вместо теоретической возможности сделать лучше, путем переписывания половины проекта с учетом новых возможностей. Другими словами, в своей работе я использую понятное мне подмножество языка, и медленно дрейфую в ту сторону, куда движется индустрия. С учетом вышесказанного, у меня и сформировался тот набор книг, про которые я буду рассказывать..."

 

Непосредственно сама статья на сервисе MyTetra Share:

 

 

Книги по C++, которые меня выручают

 

 

Надеюсь, эта информация может помочь пользователям, которые задаются вопросом "Что мне почитать по C++?". А кого-то может уберечь от разочарования, возникающего при изучении этого непростого языка программирования.

 


Обзор сервиса QrCall.org (видео)
28-08-2019
13:21:53

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

 

В настоящий момент я занимаюсь разработкой одного очень интересного проекта QrCall.org. Это проект необычного сервиса, который позволяет вызывать или оповещать человека посредством QR-кода.

 

Вот пара сценариев использования этого сервиса. Человек не хочет "светить" свой телефонный номер под стеклом машины. Однако он хочет иметь возможность вызова его к своей машине. Подключить у мобильного оператора второй телефонный номер, специально для машины? Как это банально... Дерзкое и неожиданное решение - оставить под стеклом QR-код, по которому будет произведен вызов владельца машины через сайт QrCall.org. При сканировании кода любым сканером QR-кодов, открывается Web-страница с кнопкой "Вызвать". И пользователь будет оповещен по всем возможным каналам связи:

 

  • Через Email;
  • Прямым телефонным звонком (голосовой робот);
  • Через мессенджер Telegram.

 

В QR-коде нет номера телефона владельца, это просто случайно сгенерированный идентификатор. Тем самым достигается сохранность телефонного номера пользователя.

 

Второй сценарий - виртуальный домофон. Этот сервис предназначен для строений, в которых есть закрываемая входная дверь, но нет домофона. Вместо домофона можно вывесить QR-код, с помощью которого будет открываться Web-страница входа в здание, на которой, как и на обычном домофоне, можно ввести номер квартиры. Если хозяин квартиры подключен к данному виртуальному домофону, ему будут поступать уведомления по всем каналам связи.

 

Ниже показан набор скриншотов этого сайта:

 

 

 

 

А вот как выглядит личный кабинет:

 

 

 

Полный размер

 

 

В проекте приходится заниматься всеми технологиями, которые используются в разработке и продакшене: PHP, Laravel, PhpUnit, Bootstrap, Composer, Npm, MySQL, Git, Sip-телефония,Mailgun, API Telegram, интернет-эквайринг, бэкапы, SSL-сертификаты... По сути, пришлось выступить в роли создателя информационной системы из 32 таблиц, написав первую боевую версию за полтора месяца. Мне, как специалисту по C++, Qt, QML этот прыжок дался нелегко, но тем больше мне хочется показать, что в итоге получилось:

 

 

 

 

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


Статья на Хабаре: Бытие современного фуллстек-разработчика
28-08-2019
12:07:58

Новость немного запоздалая, но опубликовать её таки нужно. Я не всегда пишу о своей работе только на своем сайте, иногда возникает необходимость публиковаться на сторонних ресурсах.

 

В середине лета я, по просьбе своего работодателя, написал статью о том, как разрабатывается наш новый проект QrCall.org. Этот проект релизует вызов и оповещение пользователей о разных событиях через различные каналы связи: Email, телефонию, Telegram; а чтобы достучаться до нужного человека, используется безопасный QR-код.

 

Нужно было сделать, так сказать, взгляд изнутри. Я предупредил, что статья может не понравиться, но работодатель проповедует принцип "даже плохой пиар - это хороший пиар", так что статья была опубликована как есть:


Бытие современного фуллстек-разработчика

 

 

Эта статья раскрывает подробности о том, как строится разработка нового проекта в небольших компаниях. Там очень много технических подробностей, много спорных моментов, душевные терзания о том, как совместить в одной голове C++ и PHP, в общем, есть всё, что нужно для запуска обсуждения. Статья была воспринята аудиторий Хабара положительно, лучшего невозможно было и желать.

 

Кто еще не успел насладиться моим эпистолярным стилем - бегите скорее читать.

 


MyTetroid - новая оболочка для базы знаний MyTetra под Android
25-07-2019
20:05:04

Давно хотел написать, но что-то все не было времени. Сейчас исправляюсь.

 

Итак, с некоторых пор появился человек под ником gee12, который занимается Java-разработкой под платформу Android. Он написал Андроид-клиента MyTetroid (доступен в Google Play), работающего с базой данных менеджера накопления информации MyTetra.

 

Описание

 

В настоящий момент данная программа скорее демонстрационная, но в ней уже можно просматривать базу данных. Что самое интересное, товарищ gee12 заморочился, и сделал поддержку кастомной криптографии. Для этого он портировал библиотеку RC5Simple с C++ на Java. Благодаря этому имеется возможность просматривать как открытые, так и зашифрованные записи. С криптографией есть небольшие проблемы: похоже, что Java-библиотека не всегда корректно работает с некоторыми инициализирующими векторами, поэтому некоторые базы данных с зашифрованными ветками этот клиент не открывает. Однако эту проблему можно обойти, сделав перешифровку всей базы данных в самой MyTetra.

 

В настоящий момент актуальна версия MyTetroid 1.7. Программа распространяется под лицензией GPL v.3. Вот какие возможности она предоставляет:

 

  • Древовидная структура веток, как в оригинальной программе
  • Список записей в ветках и прикрепленных файлов к записям
  • Просмотр (а не редактирование) содержимого записей
  • Расшифровка закрытых веток, записей и файлов
  • Открытие прикрепленных файлов и каталога записи
  • Некоторые опциональные возможности:
    • Выбор пути к хранилищу данных
    • Хранение пароля локально на устройстве или спрашивать постоянно
    • Выбор подсветки записей с файлами
    • Формат отображения даты/времени создания записей
    • Использование временного каталога для расшифровки файлов
    • Запись логов в файл

 

Скриншоты

 

Главная страница приложения выглядит вот так:

 

 

 

 

Экран настроек выглядит так:

 

 

 

 

Экран просмотра содержимого записи:

 

 

 

 

Видно, что работа проделана большая, и автор MyTetra благодарит автора MyTetroid за его нелегкий труд.

 

Ссылки

 

Страница программы MyTetroid на сайте разработчика:

 

https://gee12.space/mytetroid/

 

Репозитарий на GitHub:

 

https://github.com/gee12/MyTetroid

 

Установка через Google Play:

 

https://play.google.com/store/apps/details?id=com.gee12.mytetroid

 

 


Сайт WebHamster.Ru лежит второй день: с хостингом iHor.ru что-то не так
02-04-2019
14:07:56

Уважаемые посетители сайта WebHamster.Ru и пользователи MyTetra Share! В настоящий момент у сервера хостинга iHor.ru, на котором размещен этот сайт, возникли какие-то необъяснимые проблемы. Да вчерашнего дня аптайм (время непрерывной работы) моего виртуального сервера составлял 332 суток. Но вчера сервер пришлось перезагрузить, однако это проблему не решило.

 

Вместо долей секунд, за которые ранее генерировались страницы на моем сайте, теперь страницы генерируются по пол-минуты, доходит и до минуты на одну страницу:

 

 

curl -w %{time_total}\\n http://webhamster.ru
25,342533

 

curl -s -w '\nLookup time:\t%{time_namelookup}\nConnect time:\t%{time_connect}\nPreXfer time:\t%{time_pretransfer}\nStartXfer time:\t%{time_starttransfer}\n\nTotal time:\t%{time_total}\n' -o /dev/null https://webhamster.ru

Lookup time: 0,004126
Connect time: 0,027547
PreXfer time: 0,103447
StartXfer time: 44,469446

Total time: 44,495544

 

 

Либо процесс завершается ошибкой:

 

 

504 Gateway Time-out

 

 

Нагрузки на CPU нет, память не забита, а вот на дисковый ввод-вывод, похоже, ввели ограничения:

 

 

# iostat
Linux (webhamster.ru) 04/02/2019 _i686_ (1 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle
          6.18  0.00    0.50   63.86   0.11 29.35

Device:   tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda     12.18     72.00     81.41 6526729 7379664

 

 

Объемы дискового ввода-вывода на устройстве vda небольшие, но показатель iowait=63.86% говорит о том, что система только и занята тем что ожидает ввод-вывод.

 

Техподдержка вначале говорила, что проблем нет, зато на второй день прислала вот такой фееричный ответ:

 

Смените тариф на SSD и не будете испытывать таких проблем вероятней всего.

 

Затем пришло пояснение:

 

HDD диск не отличается большой скоростью и при близкой к полной заполнении ноды он будет работать так.

 

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

 

Я уже проходил через это у предыдущего хостера, и меня вынудили сменить хостинг. Тогда я перешел на iHor.ru, и три года мог нормально работать. Теперь, видимо, пришло время съезжать с iHor.ru. Будут некие неудобства, конечно, но что поделаешь. Хорошо, что оплата хостинга до мая, как раз за апрель надо решить куда переезжать.

 

 


Книги стали продавать в кредит
27-03-2019
11:01:29

Понадобилась мне книга по очередным изучаемым IT технологиям. Я не умею глубоко читать с экрана, поэтому приходится покупать бумажные книги. Зашел в местный магазин "Читай город", нашел книгу, офигел от цены и ушел.

 

Зашел на портал "Озон", и купил ту же книгу. Уцененную. С механическими повреждениями. За пол-цены. В кредит. С платежом 59 руб/мес.

 

У меня всё.


Бизнес по-русски
03-03-2019
21:40:56

Очередная заметка в ЖЖ-стиле.

 

Новостью прошедшего февраля было сообщение о том, что мой прекрасный хостинг iHor.ru подвергся рейдерской атаке. Владельцы грамотно начали кричать об этом на весь интернет, и поэтому, похоже, обошлось.

 

Вот типичная новость об этом:

 

Провайдер «Айхор-хостинг» заявил о рейдерском захвате: сотрудникам заблокировали доступ и отключили электричество

 

Я, признаться, стреманулся тогда, и судорожно стал искать зарубежный хостинг с параметрами, похожими на те, которые предлагает Айхор. Из вменяемых оказался немецкий Fornex.com, который принимает рубли и имеет цены, адекватные российскому рынку. Я про него узнал еще в 2012 году, с тех пор периодически слежу за ним. У меня даже статья про него написана:

 

 

Выбор хостинга Fornex для размещения своих интернет-проектов

 

 

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

 

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

 


Видеоотчет за 2018 год - Промышленная разработка на Qt и QML
20-02-2019
18:28:10

На сайте WebHamster.ru я блюду традиции. Одна из таких традиций - это ежегодные отчеты о проделанной мною работе в области IT. В прошлом году был, например, такой отчет. В этом году я что-то сильно забегался, и сил и времени на составление годового отчета просто нет.

 

Но чтобы не нарушать традицию, я все равно публикую отчет, только не текстовый, а в формате видеоролика. И не про свои личные проекты, а про проект, которым весь 2018 год я занимался на работе. Для этого я подготовил видеоролик на Youtube:

 

 

Промышленная разработка на Qt и QML


 

 

Сразу оговорюсь: это НЕ обучающее видео. Это видео, в котором рассказывается о вполне конкретном проекте на Qt и QML, который собирается под Android и под Linux десктоп (так как единая кодовая база на языке C++). В видео рассказывается об особенностях работы Qt/QML-приложения в среде Android, с какими трудностями придется столкнуться во время разработки и как их можно решить (всё решаемо!).

 

А для гурманов в этом ролике есть еще и экономическая часть.

 

Но хочу сразу предупредить: я очень подробно и занудно говорю, и поэтому не каждый эстетствующий критик способен выдержать целый час моих потуг. Это видео для настоящих профессионалов.

 

Приятного просмотра!

 


Опубликовано описание системы шифрования в MyTetra
30-01-2019
13:58:17

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

 

Поэтому, для проекта MyTetra я потихоньку пишу документацию и различные обзоры функционала. Уже существуют статьи о настройке синхронизации через Интернет, описание формата хранения данных, описание опций командной строки, описания различных настроек подсистемы грячих клавиш. А сегодня опубликована новая статья:

 

 

Описание системы шифрования в MyTetra

 

 

Это описание очень долго существовало в закрытом виде в виде заметочек "чтобы не забыть как что с чем связано". Наконец-то у меня дошли руки собрать все воедино и сделать одну общую статью о всей подсистеме шифрования, используемой в MyTetra.

 

Существование такой статьи необходимо из-за того, что в MyTetra применяется не просто шифрование в лоб, по типу вот пароль, вот данные, шифруем! А сделаны различные дополнительные механизмы для проверки пароля при разных сценариях использования, плюс сделана реализация "запоминания пароля" для ленивых пользователей, что потребовало дополнительного усложнения системы шифрования и схемы хранения ключевых данных.

 

Рекомендуется к прочтению всем разработчикам, принимающих участие в проекте MyTetra.

 


Результаты опроса о менеджерах заметок
28-01-2019
17:52:31

Неделю назад на сервисе SurveyMonkey.com был организован опрос интернет-адитории о программах, называемых менеджерами заметок. Посетителям предлагалость ответить на следующие вопросы:

 

  1. Знаете ли вы, что такое менеджер заметок (PIM-менеджер) ?
  2. Как вы храните личные записи, телефоны, контакты, копии документов, постоянно используемую документацию и прочее?
  3. О каких менеджерах заметок вы знаете? (Знаете название, и как минимум, видели его интерфейс хотя бы на скриншотах)
  4. Если вы пользуетесь менеджером заметок, есть ли у вас к нему доверие?
  5. Боитесь ли вы, что в какой-то момент ваши данные в менеджере заметок исчезнут или будут заблокированы по какой-либо причине (технические проблемы, неуплата, завершение поддержки и разработки)?
  6. Готовы ли вы сделать общедоступными и опубликовать часть своих заметок, не относящиеся к личным данным? Например, статьи, рецепты, результаты разбирательства по сложному техническому вопросу, списки рекомендаций и прочее?
  7. Выставите важность работы со своими данными в различных сценариях использования
  8. Какого вида синхронизация данных вам нужна?
  9. Готовы ли вы платить за предоставляемые услуги?
  10. Важно ли вам, в каком формате хранятся ваши данные?

 

Я планировал, что в опросе будет участвовать максимальное число из доступного количества респондентов, а именно 100 человек (такое ограничение на бесплатном тарифе сайта SurveyMonkey.com). По факту, для накопления статистики дожидаться опроса 100 человек не имеет смысла, поэтому было решено остановиться на половине из планируемого количества (48 человек). На процентное распределение в вариантах ответов это сильно не влияет, а ознакомить аудиторию с результатами хочется.

 

Поэтому я закрыл опрос, и результаты разместил здесь:

 

 

Результаты опроса о менеджерах заметок

 

 

Думаю, что пользователям PIM-менеджера MyTetra и пользователям других менеджеров заметок будет интересно ознакомиться. Я выношу свою благодарность всем респондентам, принявшим участие в этом опросе.

 


Страницы:  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Далее › 

Интересное на сайте


Интерфейс и юзабилити » Оформление кода: Почему я выбрал для себя отступ в 2 пробела?

В мире программирования существует достаточно холиварная тема: "Каким должен быть отступ в коде"?   Оставим за бортом споры по теме "Форматироват...


Мультиплатформенные игры » MoveNoid - арканоид с бесконтактным управлением

MoveNoid - это игра по типу классического арканоида, в которой управление битой (ракеткой) происходит с помощью графической метки. Для захвата изобр...


Отладчик GDB » Отладка в gdb: как отловить обращение к переменной или к нужному свойству класса

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

RSS подписка

Подпишитесь на новости сайта по RSS

Поделиться этой страницей


Статистика


Официальный club vulkan проводит розыгрыши призов каждый день

Внимание!


На этом сайте разрабатывается программа MyTetra и её родственные проекты. Доступны к просмотру следующие базы знаний:

 

База Xintrea (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)

База Rarrugas (1, 2)

База Balas

База YellowRaven

База Yurons

База Lesnik757

База Shandor

База Sirrichar

База Anatolean

База Аrmagedec

База SorokinRed

База Deadelf79

База Adgaver (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)

База Pipitos1983

База Soxsten

База Silenn

База Shlyapnikova - херомантия и ригидность

База Svoynickname

База Larson227

База Velonski

База BrokeRU

База Mcold

 

Требуют доработки:

 

База Tairesh

База Ivnglkv

База Kolyag87

База Andyk101

База Garik456456

База Harpokrat

База SalexIzyh

База Duwaz

База RuDennn

База Manakaden

База Vitvrn

База Fanrok

 

Подробности на странице MyTetra Share.

 WebHamster.Ru
 Домик любопытного хомячка
Яндекс индекс цитирования
Почтовый ящик