Pull to refresh
33
0
Алексей @musuk

User

Send message

Нетривиальные приемы поиска бизнес-идей

Reading time3 min
Views13K
Кладоискатели по сути и реформаторы в мечтах, бизнесмены не любят вычислять «рыбные места» анализом скучной статистики. Им больше по душе готовые рецепты и короткие пути. Но во времена научно-технических революций ходить к гадалкам стало не модно. Поэтому на их место приспособили методики управления творчеством.

image
Конструирование идей как инновационный магический кристалл
Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments0

Не виноватая я. Он сам пришел

Reading time4 min
Views102K
image

Я как-то немного пропустил статью и весь всплеск обсуждений и критики Xored. Поэтому буду нагонять.

Xored — лучшее место для работы, со своей уникальной культурой, уникальным подходом к росту и открытой зарплатной сеткой. Интересные задачи, отличный сплоченный коллектив, гибкий график, возможность частичной работы, и еще много-много всего. За последние годы фирма выросла до 110 человек. При всем при этом, она сохранила и хорошие зарплаты, и интересные проекты, и командный дух.
Вот только есть одно НО
Total votes 327: ↑302 and ↓25+277
Comments407

Мириады запущенных задач на C#

Reading time7 min
Views51K

Недавно на ресурсе Medium были опубликованы две статьи от одного и того же автора, затрагивающие функциональность C# async/await.


Основными выводами были:


  • рекурсивный вызов асинхронного метода в C# подвержен StackOverflowException
  • goroutine'ы лучше задач (тасков) в .NET в плане производительности

Но главная проблема вышеприведенных публикаций — абсолютное непонимание модели кооперативной многозадачности в C# с вводом читателей в заблуждение. Сами же бенчмарки — бессмысленные, как мы увидим позже.


Далее в статье я попытаюсь раскрыть суть проблемы более подробно с примерами решения.


TL;DR

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


NB: использоваться будут свежевыпущенный .NET Core 2.0 и Go 1.8.3.

Читать дальше →
Total votes 32: ↑29 and ↓3+26
Comments35

Взлом Wi-Fi

Reading time7 min
Views330K

Взлом маршрутизаторов WPA/WPA2 Wi-Fi с помощью Airodump-ng и Aircrack-ng/Hashcat


Это краткое пошаговое руководство, которое демонстрирует способ взлома сетей Wi-Fi, защищённых слабыми паролями. Оно не исчерпывающее, но этой информации должно хватить, чтобы вы протестировали свою собственную сетевую безопасность или взломали кого-нибудь поблизости. Изложенная ниже атака полностью пассивна (только прослушивание, ничего не транслируется с вашего компьютера) и о ней невозможно узнать, если вы только реально не воспользуетесь паролем, который взломали. Необязательную активную атаку с деаутентификацией можно применить для ускорения разведывательного процесса. Она описана в конце статьи.
Читать дальше →
Total votes 77: ↑64 and ↓13+51
Comments51

Введение в теорию взаимодействующих последовательных процессов (Communicating Sequential Processes — CSP)

Reading time6 min
Views17K

Предисловие


Данный текст является переводом и сокращённым пересказом начальных глав книги Чарльза Э. Хоара. Целью является ознакомление русскоязычной аудитории с данной алгеброй исчисления процессов, коя нашла достаточно широкое применение в современной вычислительной науке в связи с большим распространением параллельных систем. Наиболее близкими и понятными практическими применениями CSP, думаю, будут являться следующие языки программирования:

CSP является формальным математическим языком, позволяющим описывать взаимодействие параллельных систем, основным его применением является формальная спецификация параллельной работы систем, например таких как Транспьютер, кроме того он применяется при разработке высоконадёжных площадок электронной торговли.
В данной статье будут рассказаны основы данной алгебры, без которой невозможно её дальнейшее изучение, в основном это базовое описание процесса, что покрывает первую половину первой главы книги.
Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments9

Типичные распределения вероятности: шпаргалка data scientist-а

Reading time11 min
Views131K

У data scientist-ов сотни распределений вероятности на любой вкус. С чего начать?


Data science, чем бы она там не была – та ещё штука. От какого-нибудь гуру на ваших сходках или хакатонах можно услышать:«Data scientist разбирается в статистике лучше, чем любой программист». Прикладные математики так мстят за то, что статистика уже не так на слуху, как в золотые 20е. У них даже по этому поводу есть своя несмешная диаграмма Венна. И вот, значит, внезапно вы, программист, оказываетесь совершенно не у дел в беседе о доверительных интервалах, вместо того, чтобы привычно ворчать на аналитиков, которые никогда не слышали о проекте Apache Bikeshed, чтобы распределённо форматировать комментарии. Для такой ситуации, чтобы быть в струе и снова стать душой компании – вам нужен экспресс-курс по статистике. Может, не достаточно глубокий, чтобы вы всё понимали, но вполне достаточный, чтобы так могло показаться на первый взгляд.
Читать дальше →
Total votes 86: ↑85 and ↓1+84
Comments28

Natural Language Processing — как это будет по-русски?

Reading time4 min
Views20K
Вокруг нас — огромные объемы текстовых данных в электронном виде, в них — человеческие знания, эмоции и опыт. А еще — спам, который выдает себя за полезную информацию, и надо уметь отделять одно от другого. Люди хотят общаться с теми, кто не знает их родной язык. А еще — управлять своим мобильником/телевизором/умным домом голосом. Все это обеспечивает востребованность и бурное развитие методов Natural Language Processing (NLP).

image

Читать дальше →
Total votes 32: ↑32 and ↓0+32
Comments4

Разбираемся с Conductor

Reading time10 min
Views15K

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


Conductor позиционируется как замена стандартным фрагментам. Основная идея обернуть View и дать доступ к методам жизненного цикла. Conductor имеет свой жизненный цикл, который сильно проще чем у фрагметов, но и в нём есть свои хитрости (об этом дальше).


Основные преимущества, которые даёт Conductor:


  • Упрощение кода
  • Транзакции выполняются мгновенно
  • Возможность построить приложение на одной Activity
  • Не ограничивает в выборе архитектуры приложения
  • Легко встраиваемые анимации
  • Отсутствие необходимости сохранять состояния между изменениями конфигураций

Так же в коробке вы получите:


  • Работа с бэкстеком
  • Стандартные коллбеки активити легко доступны
  • Несколько стандартных анимаций
  • Привязка жизненного цикла к RxJava
  • Быстрая интеграция с ViewPager

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


Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments1

Путь к трансдьюсерам на чистом JavaScript

Reading time13 min
Views18K
Если вы наслышаны о так называемых «трансдьюсерах», но до сих пор не применяете их в JavaScript-разработке, сегодня у вас есть шанс найти ответы на вопросы: «Что такое трансдьюсеры?» и «Как ими пользоваться?». Это позволит вам понять, нужны ли они в ваших проектах, и, если нужны — поможет приступить к их использованию.



Речь пойдёт о том, как писать код, который предназначен для построения хорошо подходящих для компоновки конвейеров преобразований данных, не потребляющий слишком много памяти. Для того, чтобы как следует разобраться в концепции трансдьюсеров, начнём мы с более простых механизмов, редьюсеров, или функций для свёртки данных.
Читать дальше →
Total votes 31: ↑25 and ↓6+19
Comments12

Bash-скрипты, часть 3: параметры и ключи командной строки

Reading time10 min
Views550K
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

Освоив предыдущие части этой серии материалов, вы узнали о том, что такое bash-скрипты, как их писать, как управлять потоком выполнения программы, как работать с файлами. Сегодня мы поговорим о том, как добавить скриптам интерактивности, оснастив их возможностями по получению данных от пользователя и по обработке этих данных.

image
Читать дальше →
Total votes 47: ↑41 and ↓6+35
Comments23

Kotlin + Rx2: Реактивный и функциональный подход к разработке мобильных приложений

Reading time8 min
Views11K
Количество технологий, библиотек увеличивается с каждым днем, и зачастую можно потеряться в выборе стека технологий и архитектуры для старта или развития вашего мобильного проекта. Минимизировать риски однозначно можно, один из вариантов — это прислушаться к мнению специалистов по Android-разработке.



Именно поэтому мы обратились к Денису nekdenis Неклюдову (Android GDE) и Степану stepango Гончарову, Android-разработчикам в 90Seconds.com. В интервью будут затронуты несколько важных тем, от архитектуры мобильного приложения  до применения библиотек Rx в проектах. Итак, начнем…

Читать дальше →
Total votes 33: ↑27 and ↓6+21
Comments0

Теория близости: главное правило дизайна, которое помогает перейти от субъективных ощущений к конкретике

Reading time3 min
Views73K
Впервые о теории близости я прочитал в 2007 году. Она была сформулирована так: «объекты, расположенные близко друг к другу, воспринимаются связанно». Тогда я подумал: «спасибо, Кэп! Я как-то и сам догадался, что букву “М” нужно вешать ближе к мужскому туалету, а не к женскому». Тогда я не осознал, что это одно из главных правил дизайна, которое помогает подбирать расстояния между элементами, размеры полей, расположение кнопок, размер логотипов и многое другое. А главное, теория позволяет быстро понять, хороший перед вами дизайн или нет, даже если вы не дизайнер.
image
Читать дальше →
Total votes 64: ↑60 and ↓4+56
Comments23

Имена или семантика классов в программировании

Reading time2 min
Views13K
1. При программировании на придумывание имен может уходить ощутимо много времени. Казалось бы, такая маловажная вещь, как имя. И вот только сегодня я осознал, почему я трачу на это время, и почему, в итоге, это не напрасная трата времени.

Придумывание имени для модели, класса (предметной области) — важно и при проектировании, и при кодировании. Ведь имя несет с собой огромное облако ассоциаций из реальной жизни, из других областей.

Выбор имени — это один из этапов проектирования, когда какие-то сложные вещи — операции, объекты, отношения, скрываются уровнем абстракции. То есть скрываются за назначенным именем.

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

Как вы яхту назовете, так она и поплывет.
Читать дальше →
Total votes 25: ↑14 and ↓11+3
Comments41

Фильтры данных на ASP.NET MVC и Entity Framework

Reading time12 min
Views23K
Очень часто в различных веб-приложениях мы работаем с данными, выбранными из таблиц БД. И нередко необходимо предоставлять пользователю возможность фильтровать эти данные. Можно, конечно, для каждого случая собирать данные с формы в ручную и в ручную создавать соответствующий запрос под них. Но что если у нас 20 разных страниц, представляющих те, или иные данные? Обрабатывать в ручную все долго и не удобно, а поддерживать еще хуже. Моя версия решения данной проблемы на ASP.NET MVC + Entity Framework под катом.
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments42

Авторизация в ASP.NET Core MVC

Reading time14 min
Views89K

Logo designed by Pablo Iglesias.


В статье описаны паттерны и приемы авторизации в ASP.NET Core MVC. Подчеркну, что рассматривается только авторизация (проверка прав пользователя) а не аутентификация, поэтому в статье не будет использования ASP.NET Identity, протоколов аутентификации и т.п. Будет много примеров серверного кода, небольшой экскурс вглубь исходников Core MVC, и тестовый проект (ссылка в конце статьи). Приглашаю интересующихся под кат.


Содержание:



Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments5

Воссоздание подтаблицы в таблице на AngularJS

Reading time6 min
Views6K

Здраствуйте! Хотел бы поделиться с вами разработкой подтаблиц для нашего веб проекта. Цель заключалась в воссоздании веб модуля, имитирующего таблиц и подтаблиц (subdatasheet) созданных на базе Аccess. Наш клиент привык работать на Access'e, но времена меняются, и теперь наша задача заключается в гладком переходе на веб платформу, с минимальной разницей.


Почему AngularJS?


Имея не много опыта с различными javascript библиотеками, пришел к выводу что AngularJS изначально принуждает вашему проекту быть маленьким, чистым, изолированным и легко расширяемым. Также, используя directive со своим изолированным скопам (scope), дает возможность многоразового применения, даже внутри себя. Что и будет продемонстрировано под катом.


Как наш итоговый directive будет применяться


Так как в нашем проекте будет много таких подтаблиц, нам нужно сделать удобным нашу утилиту в применении. Должно быть примерно таким:


<div ng-controller="ctrl1">
    <subgrid config="config1"> </subgrid>
</div>

Посмотрите демо здесь. Кому интересно прошу под кат.


Читать дальше →
Total votes 16: ↑13 and ↓3+10
Comments17

Просто Angular

Reading time10 min
Views130K

Введение


8-9-го декабря 2016 года была проведена первая конференция по Angular в Бельгии. Игор Минар (ведущий разработчик Angular) выступил в качестве основного докладчика с несколькими интересными объявлениями относительно того, по какому графику будет выпускаться Angular. И представьте себе, в марте 2017 года нас ждет релиз Angular 4. При этом, на данный момент уже опубликована бета-версия.


От переводчиков


Всем привет, с вами Максим Иванов и Дмитрий Сергиенков, и сегодня мы выясним куда делась третья версия, и почему мы по-прежнему можем быть верны Angular. Сейчас начинающему фронтенд-разработчику, изучающему JavaScript, довольно трудно определиться: какой же фреймворк или библиотеку им взять и изучить, оставаясь в тренде? Конечно, без слова React, сейчас не обходится ни один разговор на тему фронтенда, однако, в свое время я начал с первой версии Angular, начитался много руководств по написанию фронтенда на ES6 (с классами и прочим добром) и до сих пор не жалею. Да, вы можете писать корпоративные приложения с использованием только jQuery, но по мере развития и сложности проекта вы начнете закапывать себя в спагетти-коде, смешивая логику и представление, MV*-фреймворки же этого сделать вам не дадут.

Total votes 36: ↑35 and ↓1+34
Comments43

Регистрация безналоговой компании в Эстонии

Reading time5 min
Views168K
«Платить налоги – обязанность, платить мало налогов – искусство! » (с)

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

Задача стояла следующая — найти юрисдикцию, в которой не нужно платить налог на прибыль, при этом клиентам из США, Канады и ЕС удобно было с ней работать. Реальный офис открывать в этой стране задачи не стояло.

Основная деятельность компании — разработка ПО (классическая аутсорс компания со штатом ~20 девелоперов).
Читать дальше →
Total votes 61: ↑57 and ↓4+53
Comments73

BLE под микроскопом 3

Reading time3 min
Views21K
image

BLE под микроскопом. Часть 3


В первой и второй частях мы рассмотрели принципы построения сетей BLE, а так же затронули необходимый инструментарий для работы с ними. В третьей части мы займемся практическим применением полученных знаний. Для этих целей мы рассмотрим этот проект на микросхеме nRF51822 фирмы Nordic.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments10

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity