Пользователь
Классификация на гуманитариев и технарей по комментариям в VK
Привет, хабр! Хочу поделиться своим опытом классификации пользователей социальной сети по их комментариям на два класса по складу ума: гуманитарный или технический. В данной статье не будут использоваться последние достижения глубокого обучения, но будет разобран завершенный проект по классификации текстов: от поиска подходящих данных до предсказаний. В конце будет представлено веб-приложение, в котором вы сможете проверить себя.
Переписать базу сообщений ВКонтакте с нуля и выжить
Это довольно много. Если бы Вы задались целью прочитать все сообщения всех пользователей, это бы заняло больше 150 тысяч лет. При условии, что Вы довольно прокачанный чтец и тратите на каждое сообщение не больше секунды.
При таком объёме данных критически важно, чтобы логика хранения и доступа к ним была построена оптимально. Иначе в один не такой уж и прекрасный момент может выясниться, что скоро всё пойдёт не так.
Для нас этот момент наступил полтора года назад. Как мы к этому пришли и что получилось в итоге — рассказываем по порядку.
Ubuntu + XRDP + x11RDP терминальный сервер, с поддержкой звука, для серфинга в интернете — пошаговое руководство
А для всех остальных…
Что это такое и для чего это нужно
В первую очередь данное решение можно использовать как очень бюджетный вариант реализации безопасного доступа к интернет сотрудникам небольшой фирмы.
История номер один. (основано на реальных событиях)
Предположим бухгалтеру, в конце отчетного периода, когда все «на ушах», на
эл.почту приходит страшное письмо от «Налоговой Полиции» в котором говорится о том, что её фирма попала под жуткую проверку и ей следует немедленно ознакомиться с официальным документом который находится в прикреплённом к письму файле.
В панике бухгалтер пытается открыть прикреплённый файл и… все компьютеры фирмы подключенные в данный момент к внутренней локальной сети получают порцию вируса щифровальщика который парализует работу фирмы не не один день.
Инструменты для команды удалённых разработчиков
Сегодня все чаще говорят о возможности удаленной работы. Тут и там большие компании анонсируют повсеместный исход офисного и не только планктона из корпоративных теплиц. Разработчики – первые, кого вспоминают в этот контексте. Работая удалённым разработчиком, вы зачастую не можете встретиться лицом к лицу с клиентом, лично представить свой проект, присесть за стол к коллеге, чтобы вместе решить какую-то проблему. Из-за этого у некоторых может возникнуть впечатление, что у удалённой работы есть ряд серьёзных недостатков. На мой взгляд, и по мнению десятков тысяч удаленных разработчиков это ложное впечатление. Удалённые разработчики в целом счастливее, работают усерднее, и быстро осваивают подходящие инструменты для совместной работы. Конечно, удалённая работа — вещь непростая. Ведь нас с детства приучают к тому, что нам нужен коллектив, и что общаться нужно лицом к лицу. Уходя из офиса на удалёнку, приходится учиться пользоваться инструментами, компенсирующими географическую распределённость команды. Под катом — подборка инструментов, которая поможет вам эффективно взаимодействовать с коллегами в других городах и странах. Безусловно, это не весь инструментарий. Было бы любопытно прочесть о ваших находках в комментариях к данной статье.
Идеальный каталог, набросок архитектуры
Каталог подразумевает упорядоченность — иерархию, подразумевает непосредственно хранение информации, и конечно поиск, наверное аналитику… что-то ещё? Больше ничего в голову не приходит.
Теперь по пунктам.
Uber — причины перехода с Postgres на MySQL
В конце июля 2016 года в корпоративном блоге Uber появилась поистине историческая статья о причинах перехода компании с PostgreSQL на MySQL. С тех пор в жарких обсуждениях этого материала было сломано немало копий, аргументы Uber были тщательно препарированы, компанию обвинили в предвзятости, технической неграмотности, неспособности эффективно взаимодействовать с сообществом и других смертных грехах, при этом по горячим следам в Postgres было внесено несколько изменений, призванных решить некоторые из описанных проблем. Список последствий на этом не заканчивается, и его можно продолжать еще очень долго.
Наверное, не будет преувеличением сказать, что за последние несколько лет это стало одним из самых громких и резонансных событий, связанных с СУБД PostgreSQL, которую мы, к слову сказать, очень любим и широко используем. Эта ситуация наверняка пошла на пользу не только упомянутым системам, но и движению Free and Open Source в целом. При этом, к сожалению, русского перевода статьи так и не появилось. Ввиду значимости события, а также подробного и интересного с технической точки зрения изложения материала, в котором в стиле «Postgres vs MySQL» идет сравнение физической структуры данных на диске, организации первичных и вторичных индексов, репликации, MVCC, обновлений и поддержки большого количества соединений, мы решили восполнить этот пробел и сделать перевод оригинальной статьи. Результат вы можете найти под катом.
Vysor — удобный инструмент для тестирования
Привет, Хабр! В этой статье я хочу рассказать об удобном инструменте для работы QA-инженера. Это Vysor — расширение, доступное в интернет-магазине Google, которое позволяет делать скриншоты и записывает видео с мобильных устройств.
Генерация документов в doc, excel, pdf и других форматах на сервере
Hack.me: Ещё одна площадка для оттачивания навыков в области ИБ
Всем доброго времени суток, сегодня не будет VulnHub'a. Сегодня рассмотрим его альтернативу hack.me. На котором содержится не мало интересных площадок для взлома, на различные темы. В этой статье рассмотрим BeachResort. Как пишет автор, это не типичный CTF,
Оптимизация одного запроса с GROUP BY в PostgreSQL
Сразу скажу, что в этой статье нет универсального совета на все случаи, а рассмотрен случай оптимизации лишь небольшого класса запросов. Тем не менее такие запросы могут встречаться во многих проектах.
История моего стартапа: 500000 пользователей за 5 дней на стодолларовом сервере
Календарные функции в MySQL и MariaDB
Как показывает практика, множество систем с использованием календарей обычно строится в виде статических таблиц, в которых перечислены даты и их соответствие рабочим, выходным, праздничным дням. Обычно проблемы начинаются когда система работает без вмешательств программистов достаточно долго и заполненный календарь просто кончается. Для очередного проекта я решил немного оптимизировать данную ситуацию и написал календарь, который создаётся или пересчитывается автоматически, например по встроенному таймеру.
Три минуты на настройку WiFi-авторизации по СМС
Есть у меня хороший знакомый, владелец весьма уютного и популярного кафе в Суздале, которое недавно пережило реновацию и расширение. Денег в интерьеры вложено было много, дело наконец дошло и до Wi-Fi. На фоне вентилирования этого дела, мой знакомый пошел все разузнавать у всех по кругу и схлестнулся в дискуссии со своим родственником (юристом по профессии), на тему волен ли он делать, что захочет в своем «кафе с претензией на ресторан», если это не вредит гостям – конкретно, речь пошла о едином Wi-Fi доступе гостям во всех залах и на веранде ресторана к будущему лету.
На примере недавно обвайфаенного офиса в московской компании, я собирался ему рекомендовать Edimax PRO, так как по сей день проблем с этим оборудованием не возникло, а ценник приемлемый. После дискуссии с родственником юристом, мой знакомый вернулся ко мне с репликой, что мол будет без вариантов заказывать более широкий канал вместе с оборудованием у местного телекома, который и прикроет его от всех потенциальных претензий надзирающих органов «если что». Ему родственник якобы подробно объяснил, что теперь обязана быть какая-то хитрая авторизация и учет подключившихся гостей, что может дать только телеком с его собственным оборудованием.
В результате я сказал, своему мегаресторатору «обожди, ничего не делай пару дней» и занялся изучением этого вопроса с двух сторон: с точки зрения чтения законодательной базы и того, что мы можем «сварить» из имеющегося Эдимакса, не подключая дорогие «магнетические сферы» в лице местного ОПСа.
Делюсь результатами моей работы, которая вылилась в простом, на мой взгляд, способе авторизации WiFi пользователей по СМС.
Простые и удобные уведомления
Мне подобная задача встречается практически на всех проектах, с которыми работаю в последние годы. Решил упростить себе жизнь — найти или сделать удобный инструмент для уведомлений.
Определил требования:
- бесплатно (плату за трафик не учитываем)
- работает на большинстве популярных платформ
- групповые и индивидуальные уведомления
- простая реализация отправки
Как я избегал выгорания, проработав программистом более трёх десятков лет
Конечно, я частично объяснил это в моём посте «Да, я в мои 56 всё ещё хочу делать это», получившем известность почти три года назад. Но тот пост был о стороне жизни профессионального программиста, связанной с самим процессом программирования; здесь же речь пойдёт не о самом написании кода, а о том, как я всё ещё выдерживаю «программистское бытие». Что же это за работа, которая захватывает так, что утром ждёшь не дождёшься открыть текстовый редактор или IDE или же испытываешь благоговейный ужас от мысли отправить свой зад в офис?
Оглядываясь назад на мои места работы — те, которые мне нравились, те, которые я ненавидел, и те, с которыми просто было можно жить, — я думаю, в чём же различие между ними? Что я делал такого, что позволило мне так долго идти по этому пути?
Как я повысил свою продуктивность или волшебный пинок для умных и ленивых
Бывает, что проведёшь день на работе, вроде ничего не сделал, а все равно устал. Виной этому, как правило, рутина. Куча мелких срочных, иногда не очень срочных, но все равно важных, поручений и повседневных обязанностей. Из-за этих дел не успеваешь делать какие-то другие, более важные вещи. Знакомая ситуация?
Я тоже столкнулся с этой проблемой, но все попытки тайм менджмента практически не увенчались успехом. Не приживается у меня тайм менеджмент, но я все-таки нашел альтернативный выход.
Что такое шаблоны проектирования?
Шаблоны проектирования — это допускающие многократное использование оптимизированные решения проблем программирования, с которыми мы сталкиваемся каждый день. Шаблон проектирования — это не класс или библиотека, которые мы можем просто вставить в нашу систему. Он — много больше. Это — некоторый шаблон, который должен быть реализован в надлежащей ситуации. Он не зависит от языка. Хороший шаблон проектирования должен быть таким, чтобы его можно было использовать с большинством языков (если не со всеми) в зависимости от характеристик языка. Чрезвычайно важно то, что любой шаблон проектирования необходимо использовать очень осторожно — если он применён в ненадлежащем месте, то его действие может быть разрушительным и породить много проблем для вас. Однако применённый в нужном месте в нужное время он может стать вашим спасителем.
Учебник AngularJS: Всеобъемлющее руководство, часть 2
4.1 $rootScope
$rootScope не сильно отличается от $scope, просто это объект $scope самого верхнего уровня, от которого происходят все остальные области видимости. Когда Angular начинает создание вашего приложение, он создаёт объект $rootScope, и все привязки и логика приложения создают объекты $scope, являющиеся наследниками $rootScope.
Обычно мы не используем $rootScope, но с его помощью можно обеспечить передачу данных между разными областями видимости.
Учебник AngularJS: Всеобъемлющее руководство, часть 1
Содержание
1 Введение в AngularJS
2 Engineering concepts in JavaScript frameworks
3 Modules
4 Understanding $scope
5 Controllers
6 Services and Factories
7 Templating with the Angular core
8 Directives (Core)
9 Directives (Custom)
10 Filters (Core)
11 Filters (Custom)
12 Dynamic routing with $routeProvider
13 Form Validation
14 Server communication with $http and $resource
1 Введение в AngularJS
Angular – MVW-фреймворк для разработки качественных клиентских веб-приложений на JavaScript. Он создан и поддерживается в Google и предлагает взглянуть на будущее веба, на то, какие новые возможности и стандарты он готовит для нас.
MVW означает Model-View-Whatever (модель – вид – что угодно), то есть гибкость в выборе шаблонов проектирования при разработке приложений. Мы можем выбрать модели MVC (Model-View-Controller) или MVVM (Model-View-ViewModel).
Этот обучающий материал задумывался как отправная точка для изучения AngularJS, его концепций и API, чтобы помочь вам создавать великолепные веб-приложения современным способом.
Информация
- В рейтинге
- Не участвует
- Откуда
- Тамбов, Тамбовская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность