Обновить
0
0
ArtemS@ArtemS

Пользователь

Отправить сообщение

Action-Domain-Responder — доработка MVC под задачи веба

Время на прочтение16 мин
Охват и читатели28K

Цель


Разделить взаимодействия пользовательского интерфейса между веб-клиентом и веб-приложением на три чётко определённые роли.

ADR

Предпосылки


Термин MVC испытывает некоторое семантическое размытие своего первоначального значения, особенно в контексте веба (см. видео Стефана Прибша для более подробного рассмотрения вопроса). В качестве средства устранения этого размытия предлагаю вашему вниманию описание паттерна Action-Domain-Responder, являющегося доработкой концепции MVC под нужды решения специфичных для веба задач.

Я считаю, что ADR значительно лучше соответствует тому, что мы на самом деле реализуем в процессе веб-разработки изо дня в день. К примеру, на создание этого паттерна меня частично вдохновило то, как мы решаем проблемы роутинга и диспетчеризации, ведь в общем случае при роутинге и диспетчеризации мы обращаемся не к классу контроллера per se, а к какому-то конкретному методу действия в этом классе контроллера.

Еще одной вскрывшейся проблемой является тот факт, что часто мы рассматриваем Представление (View) как шаблон (template), хотя в контексте веба, вероятно, более уместно было бы говорить о том, что Представлением является HTTP-ответ. Исходя из вышесказанного, я считаю, что ADR способен предоставить лучшее, чем MVC, разделение концепций для веб-приложений.
Читать дальше →

Бесплатный учебник электроники, архитектуры компьютера и низкоуровневого программирования на русском языке

Время на прочтение2 мин
Охват и читатели255K

Господа! Я рад сообщить, что наконец-то все желающие могут загрузить бесплатный учебник на более чем 1600 страниц, над переводом которого работало более полусотни человек из ведущих университетов, институтов и компаний России, Украины, США и Великобритании. Это был реально народный проект и пример международной кооперации.

Учебник Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера», второе издание, 2012, сводит вместе миры программного обеспечения и аппаратуры, являясь одновременно введением и в разработку микросхем, и в низкоуровневое программирование для студентов младших курсов. Этот учебник превосходит более ранний вводный учебник «Архитектура компьютера и проектирование компьютерных систем» от Дэвида Паттерсона и Джона Хеннесси, причем соавтор предыдущего учебника Дэвид Паттерсон сам рекомендовал учебник от Харрисов как более продвинутый. Следуя новому учебнику, студенты строят реализацию подмножества архитектуры MIPS, используя платы с ПЛИС / FPGA, после чего сравнивают эту реализацию с индустриальными микроконтроллерами Microchip PIC32. Таким образом вводится вместе схемотехника, языки описания аппаратуры Verilog и VHDL, архитектура компьютера, микроархитектура (организация процессорного конвейера) и программирование на ассемблере — в общем все, что находится между физикой и высокоуровневым программированием.

Как загрузить? К сожалению, не одним кликом. Сначало надо зарегистрироваться в пользовательском коммьюнити Imagination Technologies, потом зарегистрироваться в образовательных программах на том же сайте, после чего наконец скачать:
Читать дальше →

Пример векторной реализации нейронной сети с помощью Python

Время на прочтение14 мин
Охват и читатели51K
В статье речь пойдет о построение нейронных сетей (с регуляризацией) с вычислениями преимущественно векторным способом на Python. Статья приближена к материалам курса Machine learning by Andrew Ng для более быстрого восприятия, но если вы курс не проходили ничего страшного, ничего специфичного не предвидится. Если вы всегда хотели построить свою нейронную сеть с преферансом и барышням векторами и регуляризацией, но что то вас удерживало, то сейчас самое время.

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

Уменьшаем количество ошибок с помощью чек-листа Code Review

Время на прочтение3 мин
Охват и читатели32K
В нашей статье об эффективных ревью кода мы рекомендовали использовать чеклист. Чеклисты (контрольные списки) — это великая вещь в ревью: они гарантируют, что ревью действительно прошло через вашу команду. Также они способствуют выявлению и решению общих трудностей.

Исследование, проведенное Software Engineering Institute, показывает, что программисты делают 15-20 распространенных ошибок. Добавив такие ошибки в чеклист, вы можете быть уверены, что заметите их в момент появления и поможете от них избавиться надолго.

Чтобы вам было от чего отталкиваться, вот вам список типичных пунктов:
Читать дальше →

Эффективные ревью кода: 9 советов от исправившегося скептика

Время на прочтение4 мин
Охват и читатели20K
Я знал теорию. Ревью кода помогает:
  • Находить баги
  • Обеспечивать читаемость и поддерживаемость кода
  • Распространять знания кода на всю команду
  • Быстрее входить в работу новым членам команды
  • Показывать всем новые подходы к решению задач

Или, это всего лишь пустая трата времени. По крайней мере, таким было мое первое впечатление от ревью кода.
Читать дальше →

Мины в Haskell и Gloss: быстрое прототипирование интерактивной графики

Время на прочтение14 мин
Охват и читатели13K
На Хабрахабре есть уже немало хороших статей по хаскелю, но по большей части это всяческие введения в ФП, разъяснения каких-то теоретических штук (вроде монад, лямбда-исчисления или семейств типов) и совсем немного практических примеров. Ни в коем случае не умаляя их полезности, попробую всё-таки сместить дисбаланс, внести свою лепту в неблагодарное дело популяризации функциональщины и ещё раз показать, что язык пригоден не только для написания факториалов и неэффективных быстрых сортировок в две строчки, но и для вполне практичных вещей вроде быстрого прототипирования.

Статья постарается быть относительно real-world, но при этом не утомлять читателя объёмом или экзотическими предметными областями. «Графика и игры в обучении — это всегда sexy», как завещал великий В. С. Луговский, поэтому я набросаю простую игру, всенародно любимый «Сапёр». Разработка будет вестись «сверху вниз» — это удручающе малораспространённая, но заслуживающая пристального внимания (как и сам хаскель) методология, которая когда-то давно встретилась в отличной статье о шашках в «Практике функционального программирования», и с тех пор запала в душу.
Читать дальше →

Категории Клейсли

Время на прочтение9 мин
Охват и читатели28K

Композиция логирования


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

Свет и цвет: основы основ

Время на прочтение10 мин
Охват и читатели422K
Piccy.info - Free Image Hosting
Мы часто говорим о таком понятии как свет, источниках освещения, цвете изображений и объектов, но не совсем хорошо себе представляем, что такое свет и что такое цвет. Пора разобраться с этими вопросами и перейти от представления к понимаю.
Читать дальше →

Самый лучший способ обучения английскому для холостых мужчин

Время на прочтение2 мин
Охват и читатели142K
imageКогда я неожиданно стал фрилансером, жизнь меня поставила перед фактом, что все мои заказчики англоговорящие и с ними придется переписываться, а то общаться в скайпе голосом. За всю свою жизнь я перепробовал наверно все возможные методы изучения английского.
1) Изучал его в школе и универе (на самом деле досталось куча неправильных вещей не имеющих реального отношения к текущему английскому, от которых сложно отучиться).
2) Изучал по курсам Ешко.
3) Читал всевозможные учебники.
4) Читал и зубрил слова со словаря.
5) Тренировался с разговорниками.
6) Пытался общаться с носителями языка в аськах, скайпах и прочем.
7) Ходил в протестантскую церковь в которых были бесплатные уроки с носителями языка, а потом проповедь.
8) Мучался с lingvaleo и аналогами.
9) Зубрил слова с карточками.
10) Пробовал читать книги на английском.
11) Наверно какие то ещё методы о которых я не помню, кто их знает пишите в комментах.
Читать дальше →

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

Время на прочтение6 мин
Охват и читатели74K
Продолжение.

Глава 1: Нейробиология и искусственный интеллект: часть первая — ликбез.
Глава 1.5: Нейробиология и искусственный интеллект: часть полуторная – новости от Blue Brain Project.
Глава 2: Нейробиология и искусственный интеллект: часть вторая – интеллект и представление информации в мозгу.


Рис. 1

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

Это дает повод спекулировать об альтернативных теориях сознания, в которых берут какой-нибудь малоизученный эффект и объявляют его панацеей. Одна из таких теорий была выдвинута Р. Пенроузом и С. Хамероффом – квантовая теория сознания, основанная на теоретических предпосылках к квантовому взаимодействию тубулиновых микротрубочек, составляющих цитоскелет нейронов. Если будут желающие, могу обсудить эту теорию в отдельной главе, а пока вернемся к более проверенным теориям.

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

25 полезных шорткатов для Photoshop

Время на прочтение3 мин
Охват и читатели193K
Здравствуй, дорогой хабрадруг! В этой статье приводятся 25 самых полезных сочетаний клавиш (шорткатов) в Photoshop, которые вы можете использовать, для того чтобы ускорить выполнение вашей работы. Некоторые из них редко упоминаются, некоторые применяются довольно часто, а некоторые вообще доступны только в Photoshop CS5. Я надеюсь, что каждый из вас найдет новые и полезные шорткаты в этой статье. Итак, давайте же начнем!


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

Что делать, если вам грозят 38 млрд. (или меньше) за нарушение авторских прав

Время на прочтение5 мин
Охват и читатели11K
38 млрд. рублей! Этой суммы вполне бы хватило для закрытия внешнего долга — ну, например Албании. Оказалось — это ущерб, нанесенный известным отечественным и зарубежным компаниям.
Сумма фантастическая, особенно для супружеской пары с фамилией отличное от «Абрамович». Хочу заметить, что если все и далее пойдет по строгой букве закона, с буквальным трактованием и отсутствием вопросов суда к обвинению, то сумма может вырасти.
Читать дальше →

В гостях у Одноклассников

Время на прочтение9 мин
Охват и читатели3.3K
Недавно удалось посетить рижский офис компании «Одноклассники» – про сам офис я расскажу чуть позже, а в этом посте хочу пересказать беседы с рядом сотрудников компании. Начну с Элины Пархоменко, она — директор по развитию продукта.

image

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

Фильмы IT-тематики

Время на прочтение2 мин
Охват и читатели15K
imageВ свое время, в 1995-ом году, на меня произвел впечатление фильм «Хакеры». Можно
сказать, он стал мотиватором моей дальнейшей ИТ-карьеры. Далеко не эталон киноискусства, однако
стремление стать похожим на героев фильма, продолжилось в самообразовании. Далее первый выклянченный компьютер, первые строчки кода, начало проб и ошибок. Когда уже были написаны эти самые «хэлоу-ворды», «калькуляторы», затем испробованы несколько *nix'ов — на руки попалась болванка с «Antitrust». В одноголосном переводе и гиблом качестве. К слову, это не помешало, пересмотреть фильм пару десятков раз. Что послужило более зрелому стремлению, чем быть всемогущим кул-хакером. Под катом, перечислю увиденные мной фильмы IT-тематики, с кратким описанием. В основном из двухтысячных. Неувиденное или забытое, будем добавлять.

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

Обзор китайской bluetooth-гарнитуры «NOKIA» BH-503

Время на прочтение6 мин
Охват и читатели61K


ВСТУПЛЕНИЕ


Я люблю слушать музыку и основным плеером для меня служит смартфон на андройде, в комплекте с которым поставлялась довольно качественная гарнитура с «затычками». Но вот наличие провода и отсутствие карманов (особенно летом) в верхней части моего гардероба несколько раздражало. Долгое время я никак не мог собраться с духом и купить что-то беспроводное для прослушивания музыки и ответа на звонки, но постоянные неудобства взяли верх над ленью и я направился на dealextreme.com в поисках недорогой и качественной стерео bluetooth-гарнитуры.

Прямо скажем изобилия в этом товарном сегменте не наблюдалось. Я сосредоточился на поиске тех товаров, у которых есть отзывы покупателей. Выбирать пришлось между изящными BH-505, похожими на них S9-HD и несколько громоздкими BH-503. Почитав обзоры я понял, что либо я пожертвую легкостью и изяществом гарнитуры, либо её потребительскими качествами. Смирившись с тем, что габариты и вес гарнитуры будут большими, чем мне хотелось бы, я выбрал BH-503. Оплатив покупку пэйпелом, всего с меня взяли 784 рубля, я стал ждать заветную посылку. Это не первый мой заказ на дилэкстриме и, надо сказать, в этот раз посылка дошла довольно быстро — всего за 3 недели.

О самой гарнитуре и о моих впечатлениях после месяца эксплуатации и пойдёт рассказ. Как обычно десяток фоток.
Читать дальше →

Видео всех лекций с «Курсов информационных технологий» от «Яндекса»

Время на прочтение1 мин
Охват и читатели31K
Для тех, кто не смог посетить Курсы информационных технологий, видеоролики всех лекций выложены в свободный доступ. Это лекции по полтора-два часа на базовые темы: операционные системы; архитектура ЭВМ; устройство GNU/Linux; системы хранения данных; файловые системы; сети и протоколы; виртуализация; безопасность.
Читать дальше →

О производных

Время на прочтение3 мин
Охват и читатели37K

Когда-то в школе я не понимал производных. Не подумайте, что я был совсем уж дураком — я знал определение, умел их брать (в рамках простеньких школьных примеров) и оценки по математике имел неплохие. Но вот смысл этого понятия от меня ускользал. Я понимал насколько важен график некоторой функции — по нему легком можно увидеть зависимость функции от аргумента. Глянул в какую-нибудь точку — и сразу ясно положение дел в данном конкретном месте. А что мне с производной? Ну, знаю я "предел отношения приращения функции к приращению ее аргумента при стремлении приращения аргумента к нулю, если таковой предел существует" — и что? В общем, не понимал я это дело. И не любил.
И только значительно позже, уже в ВУЗе, когда оказалось, что ни одна мало-мальски важная задача по физике, электротехнике, системам автоматического управления, мат.анализу и многим другим предметам без производных не решается — я понял, какая это важная вещь — знание не только текущего положения дел, но и динамики их изменения. Казалось бы, и что статья с таким началом может делать в этом блоге?
Читать дальше →

Тысяча чертей! Потребитель? Защищайтесь!

Время на прочтение5 мин
Охват и читатели16K
Так уж сложилось, что законодательство РФ в большинстве своем далеко от совершенства. Противоречит само себе, множественно трактуется и вообще сложновато для восприятия.
Но есть луч света в темном царстве!
Закон о защите прав потребителя. Замечательная штука, поверьте. При прокачанном скиле использования данного закона можно стать настоящим потреб. террористом. Это, кстати, полуофициальный термин — так называют людей, намеренно злоупотребляющих широкими возможностями, которые предоставляются вышеупомянутым законом.
Итак! На что вы имеете право!
По просьбе NermaN я попробую составить мануал, как и что.
Читать дальше →

Разработка привлекательных реалистичных пользовательских интерфейсов

Время на прочтение4 мин
Охват и читатели15K
Cекрет разработки привлекательных интерфейсов заключается в реализме. Ваша задача — придать плоским элементам объём, используя свойства реальных объектов, вроде неровностей и шероховатостей, бликов и теней, различных текстур поверхностей. В идеале они должны выглядеть как предметы на вашем столе. Создавая классный интерфейс, в первую очередь нужно думать не «как», а «почему».
Читать дальше →

Как достичь профессионального вида с помощью цвета

Время на прочтение9 мин
Охват и читатели11K
image

Что заставляет дизайн выглядеть скоординированным, спланированным и профессиональным? Ответ: 'цвет'.

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

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

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

Информация

В рейтинге
Не участвует
Откуда
Россия
Работает в
Зарегистрирован
Активность