Как стать автором
Обновить
0
0

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

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

EntityFramework: (анти)паттерн Repository

Время на прочтение15 мин
Количество просмотров114K
Repository Pattern
Репозиторий является посредником между слоем доступа к данным и доменным слоем,
работая как in-memory коллекция доменных обектов. Клиенты создают декларативные
описания запросов и передают их в репозиторий для выполнения.
  — свободный перевод Мартина Фаулера

EntityFraemwork предоставляет нам готовую реализацию паттернов Repository: DbSet<T> и UnitOfWork: DbContext. Но мне часто приходится видеть, как коллеги используют в своих проектах собственную реализацию репозиториев поверх существующих в EntityFraemwork.


Чаще всего используется один из двух подходов:


  1. Generic Repository как попытка абстрагироваться от конкретного ORM.
  2. Repository как набор запросов к выбранной таблице БД (паттерн DAO).

И каждый из этих подходов содержит недостатки.

Читать дальше →
Всего голосов 47: ↑45 и ↓2+43
Комментарии159

Что будет, если подать в электросеть постоянный ток

Время на прочтение10 мин
Количество просмотров208K
Война токов завершилась, и Тесла с Вестингаузом, похоже, победили. Сети постоянного тока сейчас используются кое-где на железной дороге, а также в виде свервысоковольтных линий передачи.

Подавляющее большинство энергосетей работают на переменном токе. Но давайте представим, что вместо переменного напряжения с действующим значением 220 вольт в ваш дом внезапно стали поступать те же 220 В, но постоянного тока.
Читать дальше →
Всего голосов 153: ↑150 и ↓3+147
Комментарии241

Как в первый раз запустить i2pd: инструкция под Debian/Ubuntu

Время на прочтение4 мин
Количество просмотров63K


I2p — это сеть со специализацией на анонимности внутрисетевых ресурсов, этим она отличается от сети tor, основной задачей которой являются не внутренние ресурсы, а построение безопасного доступа к интернету. Зная об этих двух особенностях, люди могут гораздо эффективнее работать в обеих сетях.

В i2p ты можешь заниматься множеством вещей: посещать и создавать сайты, форумы и торговые площадки, принимать почту, чатиться и скачивать торренты, и многое многое другое. Программа i2pd способна работать с большим числом программ и сервисов.
Читать дальше →
Всего голосов 45: ↑35 и ↓10+25
Комментарии78

Проверяем партнера по открытым источникам

Время на прочтение3 мин
Количество просмотров40K


В нашей стране никто не застрахован от «кидалова» партнером по договору: заказчики не платят фрилансерам, соучредители выходят из проекта, а поставщики отказываются от выполнения контрактов. Хорошие закупщики за то и ценятся, что имеют хорошие базы и связи в налоговой и могут неофициально проверить любого контрагента. К счастью, непрозрачный российский рынок в последние годы проясняется: появилось сразу несколько бесплатных государственных сервисов для проверки контрагента на честность. О них и пойдет речь в статье.
Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Комментарии19

Генетическое программирование («Yet Another Велосипед» Edition)

Время на прочтение16 мин
Количество просмотров31K

Давайте на время отвлечемся от очередного "языка-убийцы C++", ошеломляющих синтетических тестов производительности какой-нибудь NoSQL-ой СУБД, хайпа вокруг нового JS-фреймворка, и окунемся в мир "программирования ради программирования".

Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии42

Советы и секреты №3

Время на прочтение4 мин
Количество просмотров34K

Как сжать Windows 10 и освободить место. Самый удобный аудио- и видеотранскодер под Windows, Mac и Linux. Аналог GitHub для внутреннего использования


Как сжать Windows 10
В июле 2016 года Microsoft выпустила для Windows 10 новый механизм компрессии Compact OS для утилиты командной строки compact.exe, которая сжимает файлы операционной системы непосредственно во время её работы. У нового механизма компрессии есть много других интересных функций, но в целом он похож на работу программы WIMBoot в Windows 8.1 Update 1.

Compact OS освобождает минимум 2 ГБ места на диске. Не так уж и много, но на небольших SSD-накопителях это заметно.
Читать дальше →
Всего голосов 29: ↑16 и ↓13+3
Комментарии34

Графический пароль не дает смотрящему украсть себя

Время на прочтение3 мин
Количество просмотров39K
В этой статье расскажу про свой дипломный проект на тему «Иконографический способ аутентификации пользователя. Можно ли пройти аутентификацию так, чтобы стоящий рядом человек, следя за вашими действиями, так и не смог пройти аутентификацию за вас». В этой публикации кратко расскажу, в чём суть проекта.

image
Читать дальше →
Всего голосов 83: ↑69 и ↓14+55
Комментарии100

Персональный рейтинг депутатов каждому при помощи JavaScript и браузера Chrome

Время на прочтение6 мин
Количество просмотров20K

Скоро некоторые из нас пойдут отдавать свои голоса за очередных кандидатов в депутаты. Депутаты являются нашими представителями и им мы предоставляем право принимать некоторые законодательные решения за нас. В данных условиях логично выбирать тех кто делает свой выбор также как и мы.


Голоса депутатов находятся на vote.duma.gov.ru. Нам остаётся проголосовать за важные для нас законопроекты в соответствии со своим видением и получить рейтинг на основе которого и делать выбор на выборах.


Я выбрал наименее затратный путь и написал JavaScript расширение для Chrome. Работа с ним организованна через консоль браузера (Ctrl + Shift + J). Бонусом я протестировал поддержку русского языка в JavaScript без препроцессоров.


Под катом вас ждёт код с комментариями и комментарии к статье.


Читать дальше →
Всего голосов 44: ↑37 и ↓7+30
Комментарии54

Цветной зазор

Время на прочтение2 мин
Количество просмотров6.4K
ColorLuft — это компьютерная программа. Её предназначение подмечать разницу между непосредственным восприятием цвета и тем, какой цвет припоминается. Принцип работы довольно прост. Вгрузить картинку, внимательно её рассмотреть и нажать кнопку «Start» (внизу справа). Затем, двигая ползунки, попытаться восстановить исходную картинку. Для получения результатов надавить кнопку «Results» (появится вместо «Start»). Ничего суперсложного и сверхъестественного.

image

Читать дальше →
Всего голосов 20: ↑16 и ↓4+12
Комментарии18

Создаем новую OS. Действительно новую, реально операционную, и правда – систему

Время на прочтение23 мин
Количество просмотров87K

О создании новой операционной системы в последнее время говорят немало, особенно в России. В сумме размер всех публикаций по данной теме наверняка превышает размеры исходного кода любой операционной системы. Так что остается только одна проблема – от этих разговоров никаких новых OS не появляется. Всё, что предъявляется публике (и на что тратятся бюджетные деньги), на поверку оказывается кастомизированными сборками OS семейства Linux, а значит, не содержит ничего принципиально нового. Но, если о чем-то не говорят, это не значит, что его не существует.
В этой статье – проект принципиально новой OS, созданный в нерабочее время одним из ведущих сотрудников (Principal Engineer) российского подразделения Intel.
Читать дальше →
Всего голосов 88: ↑85 и ↓3+82
Комментарии158

Уровень E1 M2 оригинального Doom воспроизвели в новом Doom IV

Время на прочтение1 мин
Количество просмотров19K


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

Редактор карт уровней достаточно понятный для игрока, здесь можно располагать объекты, врагов и использовать скрипты и триггеры, что делает новые уровни еще более интересными. Пользователи уже начали делать свои карты. Один из них E1 M2 Tribute, новая инкарнация уровня E1 M2 оригинального Doom. Получилось вполне себе ничего.
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии30

Сосчитать незримое: достоверно определяем словарный запаc

Время на прочтение9 мин
Количество просмотров21K

В школе Skyeng мы редко обучаем английскому с нуля. Обычно к нам приходят люди, уже обладающие каким-то набором знаний, причем этот набор бывает самым разным. Для того, чтобы обучение было полезным, нам нужно как-то определить границу этих знаний. Если в случае грамматики это относительно просто (выясняется на первых занятиях с методистом), то уточнение границ словарного запаса – задача не самая тривиальная. Для ее решения мы разработали и запустили инструмент WordMash.

Читать дальше →
Всего голосов 28: ↑24 и ↓4+20
Комментарии35

«Хакеры и Художники». Как мы 13 лет всем рунетом Пола Грэма переводили

Время на прочтение5 мин
Количество просмотров52K
«Это началось как желание, стало приключением, а закончилось как уникальное дорожное путешествие.»
— к/ф «Трасса 60»



Пол Грэм написал книгу «Hackers and Painters» (оригинал в PDF на английском) когда еще был больше программистом, чем инвестором. С тех пор некоторые моменты устарели (да и arc не взлетел), но большинство мыслей остались актуальными (роль и место ботанов «хакеров» в современном мире, свободомыслие, критическое мышление, способность бросать вызов большим системам и пр). Лично я планирую перечитать всю книгу еще пару раз.

Спасибо Байраму Аннакову за «наводку» на Пола Грэма и Николаю Кононову, который подтвердил, что я на правильном пути.

Содержание


Глава 1 Why Nerds Are UnpopularЗа что не любят ботанов.
Глава 2 Hackers and PaintersХакеры и художники (Habr edition)
Глава 3 What You Can't SayО чем вы не можете сказать.
Глава 4 Good Bad AttitudeСлово «хакер».
Глава 5 The Other Road AheadДругая дорога в будущее, Другая дорога в будущее, продолжение.
Глава 6 How to Make WealthКак стать богатым.
Глава 7 Mind the GapОсторожно, разрыв.
Глава 8 A Plan for SpamПлан для спама.
Глава 9 Taste for MakersВкус — созидателям.
Глава 10 Programming Languages Explained — Языки программирования «в разрезе».
Глава 11 The Hundred-Year LanguageЯзыки программирования через сто лет.
Глава 12 Beating the AveragesLisp: побеждая посредственность.
Глава 13 Revenge of the Nerds — Месть ботанов 1, 2, 3.
Глава 14 The Dream LanguageБыть Популярным, часть 2.
Глава 15 Design and ResearchПроектирование и исследование.

Под катом хронология переводов и благодарности.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии25

Математика на пальцах: мендосинский двигатель и теорема Ирншоу

Время на прочтение9 мин
Количество просмотров116K

Постановка задачи


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

Вот на этом видео крайне подробно описан (на русском языке) принцип работы:



Но ещё больше самого двигателя мне показалась любопытной следующая вещь. В описании этого видео Дмитрий Коржевский написал следующую вещь: «Боковую опору заменить магнитом НЕВОЗМОЖНО!!! Не задавайте больше этот вопрос!»

Читать дальше →
Всего голосов 98: ↑97 и ↓1+96
Комментарии226

.NET в unmanaged окружении: вызов управляемого кода из неуправляемого

Время на прочтение12 мин
Количество просмотров5.8K
Как вы, наверное, помните из моей предыдущей статьи, взаимодействие unmanaged и managed кода представляет определенную проблему, даже для опытных разработчиков. Причина этого — необходимость понимать, какие процессы происходят при пересечении данными границы CLR.

К сожалению, нередко проблема наладить взаимодействие встает у тех разработчиков, которые слабо знакомы с подноготной технологии COM и возможностями .NET для обеспечения взаимодействия. Это нормально — нельзя знать все на свете. Потому я не буду здесь объяснять всю суть проблемы маршаллинга данных из unmanaged в managed и обратно, а просто дам несколько рабочих рецептов, которые помогут вам тогда, когда нужно срочно и завтра, и вы с тоской смотрите на английское издание книги Inside OLE и понимаете, что разобраться в этом за день нет никакой возможности.

Однако, для тех, кто неплохо в этом разбирается, в конце статьи есть небольшой бонус — способ организации out-process COM на .NET. Честно говоря, я добросовестно считал, что сделать out-process COM с помощью .NET невозможно, однако буквально вчера выяснилось, что все-таки нет, можно. В связи с этим, рассказывать про архитектуру .NET Pipe RPC я скорее всего не буду — она достаточно сложна, однако все предоставляемые ей возможности с легкостью заменяет out-process COM.
Под хабракатом много текста
Всего голосов 35: ↑29 и ↓6+23
Комментарии8

SpaceX выпустила винтажные постеры о жизни на Марсе

Время на прочтение2 мин
Количество просмотров28K
image
Фото — кадр фильма «Вспомнить всё».

В пятницу SpaceX опубликовала три постера, на которых в стиле космических иллюстраций 60-х годов прошлого века изображена давняя мечта Илона Маска — полёты и жизнь на Марсе. Постеры имитируют рекламу будущих семейных путешествий по живописным местам на Красной планете, организацией которых занимается некая компания Mars Colonization and Tourizm Assoc.
Узнать подробности
Всего голосов 36: ↑33 и ↓3+30
Комментарии15

Лучшие бесплатные коллекции векторных иконок

Время на прочтение2 мин
Количество просмотров338K
Привет, Хабр! Сегодня я хочу представить вам огромную коллекцию из 51 набора бесплатных векторных иконок. Да, есть потрясающие ресурсы Flaticon или Iconfinder, но бывают случаи, когда необходима именно группа иконок в едином стилистическом оформлении. Определиться с выбором, вам поможет эта подборка. Я старался собрать не как можно больше, а действительно самое лучшее.

Среди веб-разработчиков существует много споров о том, что лучше: иконочный шрифт или SVG спрайты? Четкого ответа на этот вопрос нет. Каждый выбирает свое. Данные наборы иконок вас неограничиывают в выборе, поскольку представлены в различных форматах: @font-face, SVG, EPS, AI, PSD, Sketch.

В целом данная подборка содержит более 10 000 иконок, охватывающих множество категорий: интерфейсы, технологии, наука, спорт, маркетинг, среда, транспорт и тд. Полые, заполненные, цветные, во Flat, Material, Elegant, Cartoon, Hand drawing стилях.

Responsive Icons (100 иконок, PSD, AI, EPS, SVG)


Responsive Icons

Читать дальше →
Всего голосов 91: ↑82 и ↓9+73
Комментарии23

Как накормить мозг программиста… или feed your brain

Время на прочтение12 мин
Количество просмотров372K

Введение


Из всех наслаждений, отпущенных человеку в жизни,
самое изысканное — шевелить мозгами.
(Борис Акунин)


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

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

В данной публикации мы рассмотрим, как правильно питаться для жизнеобеспечения мозга и как его разогнать ноотропами (в случае аврала необходимости).
Читать дальше →
Всего голосов 213: ↑163 и ↓50+113
Комментарии145

Новый Samsung 950 Pro PCIe SSD: всё, что надо знать

Время на прочтение6 мин
Количество просмотров94K
Компания Samsung Electronics объявила о запуске первого твердотельного накопителя Samsung серии 950 PRO форм-фактора М.2 с масштабируемым контроллером NVM Express (Non – Volatile Memory Express). Разберёмся, почему Samsung переходит к новому форм-фактору и контроллеру, а также чем это хорошо для пользователя.

Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии43

Еще две вещи, которые нужно забыть после школы

Время на прочтение4 мин
Количество просмотров29K
От переводчика: оригинал статьи содержит отсылки на американскую систему образования, с курсами и кредитсами. Все термины «школьник», «студент», «ученик» можно считать взаимозаменяемыми. Перевод не идеально дословный, но достаточно близкий, чтобы раскрыть суть каждой заложенной автором мысли.

Автор статьи: Элиезер Юдковский

Один американский предприниматель Бен Касноча в своём блог-посте “Три вещи, о которых нужно забыть после школы” цитирует список Билла Балларда, состоящий из трех вредных привычек мышления: придание важности любому личному мнению, решение только поставленных задач, и стремление получить одобрение окружающих. И, хотя предложенные Баллардом альтернативы кажутся мне недостаточно хорошими, он затронул довольно важную тему.

Я могу выписать довольно большой список плохих привычек, спровоцированных школой, но назову лишь две, самые вредные, на мой взгляд:

Читать дальше →
Всего голосов 39: ↑35 и ↓4+31
Комментарии41

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность