Как стать автором
Обновить
96.2
Карма
0
Рейтинг
dotneter @dotneter

Разработчик

Фильтр комментариев по оценке

FirefoxHabrGoogle ChromeРасширения для браузеров

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

Давным давно мной уже был написан юзер скрипт, упрощающий поиск комментариев, и в связи с карантином дошли руки его немного причесать и оформить в виде расширений для браузеров Google Chrome и Mozilla Firefox. Расширение выводит статистику всех оценок в комментариях. Кликнув на одну из положительных оценок, подсвечиваются все комментарии с оценкой равной или выше, а при клике на отрицательную — равной или ниже. Повторный клик на оценку снимает фильтрацию и возвращает дефолтное дерево комментариев.
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры1.2K
Комментарии 5

Новости

Показать еще

Заменяем Redux c помощью Observables и React Hooks

Разработка веб-сайтовJavaScriptReactJSTypeScript
Перевод
Tutorial

Управление состоянием — одна из важнейших задач, решаемых в разработке на React. Было создано множество инструментов в помощь разработчикам для решения этой задачи. Наиболее популярным инструментом является Redux — небольшая библиотека, созданная Дэном Абрамовым, и предназначенная помочь разработчикам использовать паттерн проектирования Flux в их приложениях. В этой статье мы разберем, действительно ли нам нужен Redux, и посмотрим, как мы можем заменить его более простым подходом, в основе которого лежат Observable и React Hooks.

Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры8.5K
Комментарии 27

Управление состоянием приложения с RxJS/Immer как простая альтернатива Redux/MobX

JavaScriptФункциональное программированиеAngularReactJSTypeScript
Tutorial
"Вы поймете, когда вам нужен Flux. Если вы не уверены, что вам это нужно, вам это не нужно." Пит Хант


Для управления состоянием приложения я как правило применяю Redux. Но не всегда есть необходимость в использовании модели Action\Reducer, хотя бы из-за трудозатратности ее применения для написания простейшего функционала. Возьмем в качестве примера обычный счетчик. На выходе хотелось получить простое и практичное решение, которое позволит описать модель состояния и пару методов его меняющие, наподобие такого:


state = {value: 0} 
increase() { 
  state.value += 1 
} 
decrease() {
  state.value -= 1
}

Сходу кажется, что такое решение может обеспечить MobX, так почему бы им и не воспользоваться? Поработав с MobX некоторое время, для себя пришел к выводу, что лично мне проще оперировать последовательностью иммутабельных состояний (наподобие Redux), чем логикой мутабельного состояния (наподобие MobX), да и его внутреннюю кухню я бы не назвал простой.


В общем, захотелось найти простое решение для управления состоянием, в основе которого лежала бы иммутабельность, с возможностью применять его в Angular\React и реализованное на TypeScript. Беглый обзор на просторах github подходящего решения не выдал, поэтому возьмем RxJS/Immer и попробуем сделать свое.

Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Просмотры3.8K
Комментарии 15

Избегание ада с помощью монад

ПрограммированиеHaskellФункциональное программирование
Перевод

Мы как программисты иногда попадаем в "программистский ад", место где наши обычные абстракции не справляются с решением ряда повторяющихся проблем.


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


Ад проверки на null


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


Такие функции обычно приводят в глубоко вложенному и сложно читаемому коду с чрезмерным количеством синтаксического шума.


var a = getData();
if (a != null) {
  var b = getMoreData(a);
  if (b != null) {
     var c = getMoreData(b);
     if (c != null) {
        var d = getEvenMoreData(a, c)
        if (d != null) {
          print(d);
        }
     }
  }
}
Читать дальше →
Всего голосов 32: ↑28 и ↓4 +24
Просмотры13K
Комментарии 21

Создание приложения для тренировки мозга. Выбор технологии и приемы геймификации

Разработка веб-сайтовJavaScriptРазработка мобильных приложенийРазработка игр

В статье попытаюсь рассказать об опыте поиска кроссплатформенной технологии для реализации хобби проекта посвященного тренировке мозга и некоторых приемах ее геймификации.


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


И пока идея полностью не созрела, начался процесс поиска технологий для реализации версии сайта 2.0, плюс был интерес по изучать новые технологий и языки

Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Просмотры5K
Комментарии 0

Тренировка мозга и ее геймификация

Разработка игр

В статье попытаюсь рассмотреть два типа мышления и возможные варианты их тренировки и геймификации. Мышление по типу решаемой задачи можно разделить на так называемое продуктивное и репродуктивное.
Продуктивное, оно же творческое мышление характеризуется созданием чего то качественно нового, в контексте решения задач (problem solving) иcпользуется для решения сложных, до этого не решаемых человек задач. Репродуктивное же мышление наоборот, используется для задач у которых уже известна схема решения, и выполнение по сути зависит только от базовых когнитивных навыков человека.

Творческое мышление


Представим задачу стоящую перед творческим мышлением в виде абстрактной двухмерной плоскости, на которой где-то находятся несколько точек приемлемых решений. Перед человеком стоит проблема найти одну из таких точек-решений, но сложность состоит в невозможности перебрать все возможные варианты, поэтому в большинстве случаем на помощь приходит озарение. Классическая схема решения творческой задачи состоит из стадий
1) Подготовка — формулирование задачи
2) Инкубация — временное отвлечение от задачи
3) Озарение — появление интуитивного решения.
Читать дальше →
Всего голосов 27: ↑20 и ↓7 +13
Просмотры39.8K
Комментарии 22

Превращаем статический сайт в мобильное приложение с помощью jQuery Mobile и PhoneGap

jQueryРазработка мобильных приложенийРазработка под Android
Tutorial

После приобретения телефона на базе Android, возникла задача сделать из сайта brainexer мобильное приложение. Выбор пал на jQuery Mobile и PhoneGap. До этого никаких познаний в обрасти мобильной разработки не было, поэтому пришлось осознать некий пласт новой информации, выжимкой из которого я бы и хотел поделиться. В итоге статья представляет из себя небольшой quick start — как из пачки html файлов получить приложение опубликованное в Google Play.
Читать дальше →
Всего голосов 54: ↑46 и ↓8 +38
Просмотры111.4K
Комментарии 41

Продолжаем тренировать мозг. Добавляем соревнования

Я пиарюсь

Полгода назад я написал пост о моем интересе к упражнениям для тренировки мозга, результатом которого был небольшой сайт с такого рода упражнениями, созданный для всех желающих вступить на путь когнитивного просветления. Так как сайт делался с оглядкой на десктопные игры и приложения, то и получился он по сути таким приложением только в вебе. Но недавно было решено исправить этот маленький недостаток и добавить какое то взаимодействие между пользователями сайта, в надежде что кому то это сможет придать дополнительную мотивацию к тренировокам. Первое что приходит в голову это конечно же система соревнований.
Читать дальше →
Всего голосов 10: ↑8 и ↓2 +6
Просмотры14.2K
Комментарии 7

Упражнения для тренировки мозга

Я пиарюсь

В силу склада ума или давнего увлечения скорочтением, мнемотехникой и прочим, у меня был повышенный интерес к играм состоящим из набора упражнений для тренировки мозга(BrainChallenge, Dr.Kawashima и др.). Переиграв практически во все что было на десктопе и nds, появилось желание использовать такие игры для каждодневных тренировок, но для этого они не совсем подходят(в тексте объясню почему). Поэтому на досуге решил написал небольшой сайт с набором такого рода упражнений.
Читать дальше →
Всего голосов 96: ↑81 и ↓15 +66
Просмотры123K
Комментарии 83

Легкая прогулка от функтора через монаду к стрелке

ПрограммированиеHaskellC#

Давайте совершим прогулку по цепочке Pointed, Functor, Applicative Functor, Monad, Category, Arrow, в процессе которой я попытаюсь показать что все это придумано не для того что бы взорвать мозг, а для решения вполне реальных проблем, притом существующих не только в haskell. Большая часть кода написана на C#, но думаю и без его знания можно будет понять что к чему.
Читать дальше →
Всего голосов 55: ↑43 и ↓12 +31
Просмотры26.2K
Комментарии 152

Linq To Tasks и монада продолжения

.NET
После анонса C# 5.0 с его async и await, у меня появился небольшой интерес к асинхронному программированию, копание в сторону которого и послужило возникновению данного текста.
В процессе чтения статьи вы узнаете/омните.
  • Что есть монада на примере Maybe.
  • Что такое CPS и монада продолжения.
  • Как это связать с классом Task из TPL.

Читать дальше →
Всего голосов 30: ↑25 и ↓5 +20
Просмотры3.7K
Комментарии 20

Javascript fluent html builder

JavaScript
Идея генерации html с помощью javascript меня не отпустила. Напомню eе суть с помощью jQuery
$("<div>", {"class":"something",id:10})

но так как читаемость оставляет желать лучшего, была реализована небольшая библиотека.
Читать дальше →
Всего голосов 40: ↑22 и ↓18 +4
Просмотры3.2K
Комментарии 12

Создаем за 10 минут PivotViewer контента сайта на примере Хабрахабр

Silverlight
Для достижения поставлено цели на нужны три вещи.
1) Картинки в формате DeepZoom.
2) Контент в виде xml.
3) Силверлайт контрол который все это будет отображать.

Для примера будем использовать последние 3000 статей на Хабрахабр с картинкой.
Одолев все пункты получим pivotviewer.narod.ru/habr/index.html
image

Читать дальше →
Всего голосов 78: ↑51 и ↓27 +24
Просмотры937
Комментарии 17

Шаблонизатор на основе объектной модели html

JavaScript
Прочитав предыдущий топик (http://habrahabr.ru/blogs/javascript/96588/) в сознании всплыла старая идеи. Подход известный, но то ли у него есть минусы которые я не вижу, то ли мы с гуглом друг друга не поняли. В общем, готового решения я найти не смог, поэтому за пару часов набросал свое. Но так как наши пути с джава скриптом на данный момент разошлись, опробовать его в реальном проекте не получилось.
Интересны два вопроса, какие вам видятся минусы и встречали ли вы похожие решения для javascript?
Читать дальше →
Всего голосов 9: ↑4 и ↓5 -1
Просмотры1.3K
Комментарии 14

HabrTree — скрипт сворачивающий по оценке

GreaseMonkey
Заметил за собой что в больших или малоинтересных обсуждениях читаю только комментарии с положительной оценкой. Что бы упростить себе это занятие был написан скрипт.

userscripts.org/scripts/show/71427

После установки появляется следующее.

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

PS Если что то не работает, попробуйте установить новую версию.

Убран инпут спасибо vrent
Всего голосов 43: ↑26 и ↓17 +9
Просмотры2.9K
Комментарии 26

Можете ли вы назвать самые популярные языки программирования?

Программирование
http://www.sporcle.com/games/moogles/programlanguages
И если первоначальная расстановка может вызывать сомнения, то See the most missed можно считать уже неким адекватным показателем.
После 19 пунктов мой мозг вскипел.
Всего голосов 98: ↑78 и ↓20 +58
Просмотры1.2K
Комментарии 146

Информация

В рейтинге
5,879-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность