Search
Write a publication
Pull to refresh
10
0
Василий @ShiawasenaHoshi

Backend разработчик на Java/Python

Send message

Трёхмерный фон для сайта в реальном времени на JavaScript при помощи three.js

Reading time5 min
Views38K


Обучающий материал с ресурса Phyramid, у которых именно такая шапка сайта.



Обновив в 2014 свой сайт, мы сделали трёхмерный фон в шапке, состоящий из геометрических фигур в 3D Max. Но потом мы подумали, что было бы гораздо круче генерить его в реальном времени на JS. Сказано – сделано, и при помощи замечательного фреймворка three.js мы сделали простенькую сценку. И вот, как это было.

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

Как конкретно можно сделать детское образование в России лучше (и первый практический шаг)

Reading time10 min
Views60K


У нас 41-43 место из 65 по образованию по исследованию ОСЭР и 49 место по Education Index ООН.

После получения трёх высших, 13 лет я занималась тем, что учила айтишников, учёных и других странных людей, последний проект – Курсера в России. Год назад начала изучать детское образование. Ниже – моё ИМХО, но, думаю, многое вам хорошо знакомо. На мой взгляд, в детском образовании в России есть несколько важных областей для развития.

Вот с позиции детей:
  1. Дети не видят практического применения получаемым знаниям.
  2. Нет механизмов выбора профессии. Дети могут, например, выбирать своё будущее по наиболее доброму учителю (любимый предмет — желаемая профессия — специальность в универе — приплыли).
  3. Дети в целом жаждут знаний, но им очень хочется разнообразить процесс их получения и в школе.
  4. Ну, и они почти никуда не выходят, а их надо водить на разные интересные экскурсии и встречать с интересными людьми.

С позиции родителей и преподавателей:
  1. Дети недогружены: знаний даётся куда меньше, чем при СССР, например. С другой стороны они в конце обучения перегружены подготовкой к ГИА, ЕГЭ.
  2. Дети изначально живут в новой информационной среде, которая комфортна для них, но не очень комфорта для учителей.
  3. Дополнительное образование в крупных городах — это, порой, дичайшая логистика, например, нужно посреди дня везти ребёнка на другой конец города.
  4. Проблемы с кадрами: нужно быть реально круто замотивированным, чтобы полноценно и качественно работать с детьми.
Читать дальше →

Ускоряем написание Selenium-автотестов на Ruby

Reading time3 min
Views16K
Одним из инструментов, позволяющих автоматизировать взаимодействие с браузером, является Selenium Webdriver. В действительности автоматизированные тесты веб-страниц с использованием Selenium Webdriver выглядят довольно громоздко. Вот «небольшой» пример, который параллельно в двух браузерах открывает страницу поисковика Google, заполняет поисковую строку и отправляет форму:


Читать дальше →

ODROID-C1 — обзор и сравнение с RPi

Reading time4 min
Views107K

Доброго времени суток, уважаемые хабровчане и просто случайные гости.
В данном посте я сделал небольшой обзор нового мини-компьютера ODROID-C1 в сравнении с Raspberry Pi при использовании обоих устройств в качестве ТВ-приставки/медиасервера для дома. Статья рассчитана на знатоков Raspberry Pi или других похожих платформ.
Читать дальше →

Опыт создания домашнего Wi-Fi маршрутизатора. Часть 2. Установка и настройка ПО

Reading time12 min
Views64K


И снова здравствуйте!

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

Когда я затевал всё это движение, я предполагал, что будет непросто. Но не предполагал, что настолько. В одном из комментариев к предыдущей части статьи я клятвенно пообещал рассказать о нижеследующем «к выходным». Благоразумно умолчал к каким именно. :-) Тут ещё умудрился прихворнуть не вовремя, но всё-таки сдерживаю своё обещание.

Итак…
Поехали!

Опыт создания домашнего Wi-Fi маршрутизатора. Общий обзор

Reading time6 min
Views113K
image

Приветствую многоуважаемое Хабрасообщество! Оговорюсь сразу: так исторически сложилось, что оба моих верхних образования связаны с IT чуть менее чем никак, поэтому возня с железками является одним из моих любимых хобби. Как-то так.

Понимаю, что я далеко не первый описываю данную тему, на хабре уже делились опытом построения подобных решений, но, полагаю, есть люди, которые, как и я, далеки в своей повседневной жизни от компов сетей, но интересуются а, возможно, хотят приобщиться и сделать что-то подобное. К тому же проживание в 2000 км от МКАД в «суровом» (sic!) городе накладывает некоторые ограничения на доступность компонентов и прочего. В общем, весь процесс создания далее…
Осторожно! Трафик!

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

Reading time1 min
Views12K
Выкладываем доклад мобильного архитектора ТКС Банка Дмитрий Тарасова «Практический пример переиспользования кода. Как повысить качество и ускорить разработку» с конференции мобильных разработчиков #MBLTDev, которая прошла в конце октября.


Презентация

В разработке может сложиться ситуация, когда у вас есть несколько приложений с общей логикой и поведением интерфейса. Дмитрий Тарасов рассказывает о пути, по которому развивалась разработка мобильного банка и кошелька ТКС для Android. Откровенный рассказ о последствиях нетехнологичных решений в стиле copy-paste общего кода из приложения в приложение. Следующий шаг — общая библиотека. Как ее оформить? В виде jar? Оформив, как ее подтягивать в проекты? Grandle или subtree/submodule? Что делать с неравномерным развитием потребителей библиотеки? Решить этот вопрос выстраиванием правил ветвления? Как это вписать в стандартную связку bug tracker — code review — CI (в случае ТКС Jira + Stash + TeamCity)? Что будет, если к изначальным двум приложениям добавится еще два, причем у последнего будет другой backend? Смотрите видео выступления.
Читать дальше →

Промо-коды на бесплатную сдачу экзаменов Microsoft 70-695, 70-696

Reading time1 min
Views14K
У компании Microsoft предновогодняя акция на сдачу двух бесплатных экзаменов (скажу сразу — они оба beta)!



Если вы хотели сдавать экзамены 70-695 Deploying Windows Devices and Enterprise Apps или 70-696 Managing Enterprise Devices and Apps, то до 29.12.2014 вы можете сдать их абсолютно бесплатно!
Оба экзамена требуются для получения сертификации MCSE: Enterprise Devices and Apps.

Читать дальше →

5 улучшений для сайта, которые могут увеличить продажи в 3 раза

Reading time5 min
Views12K
Корпоративный сайт в наши дни — штука жизненно необходимая. Сайты есть у большинства компаний, но лишь некоторые используют все их возможности для роста продаж и повышения дохода. И это досадно, ведь в сайт вкладывается много времени и денег, а для того, чтобы сайт сохранял актуальность, приходится много работать.

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



Мы в Alconost перевели для вас эти советы и даже добавили пару слов от себя в примечаниях. Правда, цифры прогнозируемого роста продаж, указанные автором для каждого из советов, нам показались недостаточно обоснованными — но суть ведь не в них.
Читать дальше →

Поговорим о VPN-ах? Типы VPN соединений. Масштабирование VPN

Reading time82 min
Views195K
Коллеги, здравствуйте. Меня зовут Семенов Вадим и я хочу представить статью, посвященную вопросу масштабируемости VPN-ов, причем тех VPN-ов, которые доступны для настройки в обычной корпоративной сети предприятия, а не со стороны провайдера. Надеюсь, данная статья станет справочным материалом, который может потребоваться при дизайне сети, либо при её апгрейде, либо для того, чтобы освежить в памяти принцип работы того или иного VPN-на. 
Читать дальше →

WiFi Pineapple Mark V: черный ящик для беспроводного перехвата

Reading time6 min
Views116K


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

Описание устройства


WiFi Pineapple — это продукт предприимчивых американцев, которые заказали у китайцев Wi-Fi роутер с двумя беспроводными интерфейсами и одним проводным, написали под него прошивку на базе OpenWRT и напичкали утилитами для взлома\перехвата и анализа трафика.

У устройства 3 сетевых интерфейса (2 беспроводных с возможностью работы в режиме монитора и 1 проводной ), 1 USB порт для флешки\3-4G модема\GPS-треккера и слот для microSD карт.

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

Concurrency структуры в .net. ConcurrentDictionary изнутри

Reading time4 min
Views41K
Все началось с одного собеседования, которое и натолкнуло меня к написанию данной статьи. Довольно большая часть разработчиков на платформе .Net не понимает базовые вещи, хотя и использует их повседневно, например lock-ом оборачивают все методы, использующие ConcurrentDictionary, хотя можно было бы обойтись обычным Dictionary<>.

В науке существуют 3 основных способа реализации конкурентных структур данных:
• Lock-free структуры данных;
• Fine-grained блокировка;
• Transactional memory implementation(транзакционная память);

ConcurrentDictionary<TKey, TValue> — это thread-safe аналог Dictionary<TKey, TValue>. В его основе лежит, так называемый Fine-grained блокировка.
Читать дальше →

Установка, настройка и тестирование Fedora 21 Workstation на личном или игровом компьютере

Reading time37 min
Views205K
9-го декабря вышла новая Fedora 21 Workstation, которую по совокупности параметров можно назвать «самым свежим и стабильным» Линукс-десктопом.

За время использования и тестирования Fedora я проникся к этой платформе глубокой симпатией и хочу поделиться этим теплом и знаниями о ней с вами.

В течение года я наблюдал за её работой в качестве рабочего и игрового места в разных ситуациях — от станций с «умирающим» железом до нового игрового ноутбука Asus G750JM с Nvidia Optimus.

Собранные заметки получились несколько шершавыми, старающимися охватить одновременно и новичков в Линуксе, и опытных пользователей с разработчиками. Прошу простить. Хочу донести большой объем информации в одной статье: и по общей настройке и установке Федоры, и по технологии Nvidia Optimus на ноутбуках, wi-fi с проприетарными драйверами, о настройке симпатичных шрифтов в Java и IDE от JetBrains, запуску игр в Steam на дискретной видеокарте, о результатах сравнительного тестирования игр, графики и браузеров между Федорой и Windows 8.1, и даже об установлении одного «абсолютного» рекорда.

Хочу отметить, что свежие десктопные Линуксы также отличаются качественной поддержкой дисплеев высокого разрешения с хорошей отрисовкой шрифтов и оконных элементов, предоставляют высочайшую степень различных персональных настроек, «хаков» и возможностей оперирования с приложениями. Всё это позволяет не только значительно повысить эффективность своей работы, но и сделать это с комфортом для глаз.

Читать дальше →

Элегантный Builder на Java

Reading time7 min
Views148K
Наверняка большинство сколько-нибудь опытных программистов знакомы с паттерном Builder. Он позволяет сделать инициализацию структур данных более наглядной, гибкой при этом сохраняя такое полезное их свойство как неизменяемость (immutability). Вот классический пример с первой страницы выдачи гугла на запрос «java builder pattern example». При всех своих преимуществах, самый главный недостаток данной реализации паттерна — в два раза больше кода, по сравнению с обычным плоским бином. Если генерация этого дополнительного кода не проблема для любой популярной IDE, то редактировать такой класс становится достаточно утомительно и читабельность страдает в любом случае.
Что же делать?

Инфраструктура команд для вызова пользователем действий в шаблоне MVVM

Reading time10 min
Views11K
Представим типичный пользовательский интерфейс. Есть несколько элементов управления, которые запускают некоторые повторяемые (за время жизни приложения) действия разной сложности. Чтобы сложные действия, такие как обращение к различным носителям, обращение к сети или сложное вычисление, не снижали отзывчивость интерфейса, они должны быть асинхронными. Дополнительно могут быть элементы управления, отменяющие асинхронно запущенное действие. Действие имеет свойство состояния (неактивно, запущено, завершено успешно, завершено с ошибкой, отменено), которое тем или иным образом отображается пользователю. Принятый в WPF, Silverlight и WinPhone шаблон проектирования MVVM диктует, чтобы такое «действие» было частью модели представления, давая возможность вызывать сервисы модели из пользовательского интерфейса без создания между ними жёсткой связи. К сожалению, такое «действие» в базовой библиотеке классов не реализовано. Ближайшие имеющиеся в библиотеке сущности, такие как задачи System.Threading.Tasks.Task, команды System.Windows.Input.ICommand и делегаты System.Delegate, не подходят: задачи всегда одноразовые и не могут представлять повторяемое действие, делегаты и команды не поддерживают отмену и не содержат свойств состояния, а команды вообще не могут быть асинхронными. Далее я предлагаю решение в виде небольшой библиотеки классов, дающей возможность легко использовать описанные «действия» в ваших приложениях.
Читать дальше →

Писать плагины с AppDomain — весело

Reading time12 min
Views21K
Как часто вы писали плагины для своих приложений?

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

Кто хочет повелосипедить — вперед под кат.
Читать дальше →

Автоматическое подключение сетевых МФУ с возможностью сканирования [Часть 1]

Reading time8 min
Views173K

HP LaserJet 1522, 1536, 3052/3055, 300/400 Color...


Я думаю, многим системным администраторам известны описанные в заголовке мфу, отличаются они, в первую очередь, не очень удобной установкой и от этого имеют дурную славу. Однажды, копируя на очередной компьютер сквозь узкий канал пакет fullsolution для мфу весом около 300 мегабайт, идея разобрать этот инсталлятор и автоматизировать установку вылезла попапом на глаза — работу пришлось приостановить.



Разбором драйвера я занимался уже около полутора лет назад, в то время интернет на эту тему был совершенно пуст. Сейчас быстро погуглил по теперь уже известным мне ключевым словам утилит и нашел немного разрозненной информации. Несмотря на это, я решил. что собранная в одно место информация все равно не помешает, при том, что в этом посте она более полная.
Читать дальше →

Выигрываем ценные призы с exim и mail piping

Reading time5 min
Views10K
Всем доброй хабранедели!
Итак, цель статьи: рассказ о том, как автоматически разбирать входящую почту с примерами обработки.
Попутно: как я считерил и выиграл аж 8 из 10 комплектов планшетов у DX и сдался китайцам.

Итак, цель номер ноль: научиться разбирать инкам методами, отличными от «зайти по POP/IMAP раз в минуту».
Я решил, что helloWorld это не так интересно, тем более на глаза попалась лотерейка от DX (dx.com/newsletters).
Вкратце работает она так:
0. Вводим email на страничке подписки (HTTP POST)
1. На него приходит ссылка для подтверждения email
2. Проходим по ссылке
3. Если email зарегистрирован впервые, получаем на email lucky number, который и участвует в розыгрыше

Внимательный читатель уже понял суть довольно простого «финта ушами», но цель статьи в практических мелочах.
Читать дальше →

Делаем простое освещение в 2D игре. Подробные примеры на C# и XNA для новичков

Reading time5 min
Views31K
В этой публикации я постараюсь предельно просто рассказать, как можно легко и быстро сделать динамическое освещение в 2D игре на XNA; без шейдеров, карт нормалей и вообще, без дополнительных ресурсов. Целью у нас будет красивая игровая сцена с ночным небом, темным задним фоном, освещенным фонарями, передним фоном и игровым меню. Количество источников света не ограничено (в разумных пределах, конечно), форма произвольная. Освещается только передний фон. Читателю желательно иметь элементарные навыки работы с XNA, поскольку будет много кода.

2d освещение
Читать дальше →

Возможно ли создать световой меч с точки зрения современной науки?

Reading time4 min
Views232K


Благодаря обширному техническому описанию, созданному сценаристами, мы имеем довольно хорошее представление о том, как может быть устроен световой меч. И вот уже несколько десятков лет миллионы поклонников вселенной «Звёздных войн» мечтают о создании подобной технологии. Давайте посмотрим, в каком приближении современная наука позволяет создать оружие а-ля световой меч?
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity