Как стать автором
Обновить
10
0
Дмитриев Вадим @postgree

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

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

Унифицированные сервисы goszakup.gov.kz — Версия 2

Время на прочтение5 мин
Количество просмотров8.1K
Я работаю разработчиком в компании АО «Центр Электронных Финансов».
Один и наших проектов — портал Государственных закупок Республики Казахстан — goszakup.gov.kz.

Год назад мы запустили большой проект — Унифицированные сервисы (OpenData).
Для реализации была использована методология RestAPI.

Сегодня я расскажу о новой версии наших сервисов и новом интерфейсе работы с ними.


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

Ozobot — миниатюрный программируемый робот для игр и обучения, который ходит по нарисованным линиям

Время на прочтение5 мин
Количество просмотров21K
Возможно, нас действительно легко впечатлить, но робот Ozobot нам понравился. Описать его одной какой-то емкой фразой вряд ли получится, потому что уж довольно многое он умеет. Тем не менее, продается это как интерактивная обучающая игрушка.

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



Подробнее же — внутри. Извините, в этот раз много Gif-ок.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии24

Написание кода в docker окружении

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

В компании, где я работаю — большинство сервисов запускаются и работают в docker-контейнерах.


В связи с этим, у моих коллег-новичков-в-докере часто возникает вопрос — а как писать код и запускать его в этом чёртовом контейнере???



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


В статье я опишу свои практики работы с образами docker, которые позволяют писать код "как у себя в home", и даже лучше.

docker run --rm -it -v
Всего голосов 14: ↑10 и ↓4+6
Комментарии21

Десктопные GUI-тесты на Python. Лекция в Яндексе

Время на прочтение13 мин
Количество просмотров28K
Василий Рябов vasily-v-ryabov из компании Aquantia объясняет, как с помощью Python можно наладить тестирование десктопных интерфейсов. Из лекции вы узнаете об инструментах open source и поддержке accessibility-технологий в библиотеке pywinauto. Видео и расшифровка в основном предназначены для тех, кто занимается тестированием софта для Windows, но про Linux и macOS автор тоже немного рассказывает.


Всего голосов 40: ↑39 и ↓1+38
Комментарии9

Барьеры памяти и неблокирующая синхронизация в .NET

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

Введение


В этой статье я хочу рассказать об использовании некоторых конструкций, применяющихся для осуществления неблокирующей синхронизации. Речь пойдёт о ключевом слове volatile, функциях VolatileRead, VolatileWrite и MemoryBarrier. Мы рассмотрим, какие проблемы вынуждают нас воспользоваться этими языковыми конструкциями и варианты их решения. При обсуждении барьеров памяти вкратце рассмотрим модель памяти .NET.
Читать дальше →
Всего голосов 63: ↑62 и ↓1+61
Комментарии18

Истинная реализация нейросети с нуля на языке программирования C#

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

image


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


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

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

Графический и текстовый режим дисплеев Winstar

Время на прочтение11 мин
Количество просмотров29K
Графические дисплеи, в том числе и типа OLED, больше всего представленные на нашем рынке фирмой Winstar, имеют куда меньший спрос по отношению к строчным и публикаций по их применению также намного меньше. Между тем, именно графические OLED-дисплеи из-за отсутствия привязки к таблицам шрифтов предопределенного рисунка, предоставляют наилучший способ для получения эргономичных индикаторных устройств для самых разных надобностей. Причем оказалось, что графический режим в контроллере WS0010 иницируется проще и работает стабильнее, чем текстовый.

Прежде чем перейти к рассмотрению собственно графических дисплеев, рассмотрим вечнозеленую проблему с проблемами включения текстового режима контроллера WS0010, которая получила неожиданное и очевидное решение (ах, где были мои глаза!).
Читать дальше →
Всего голосов 37: ↑36 и ↓1+35
Комментарии11

Google опять раскрыла незакрытую уязвимость в Windows

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


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

Считается, что публичное разглашение информации — самый эффективный способ поторопить вендора с выпуском патча. Таким образом Google оказывает услугу всем пользователям, заставляя Microsoft пошевелиться.

В данном случае уязвимость обнаружена в подсистеме Windows GDI (Graphics Device Interface), то есть в библиотеке gdi32.dll.
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии29

Google раскрыла незакрытую уязвимость в Edge и IE

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


Сотрудники подразделения Project Zero опубликовали информацию о незакрытом баге в браузерах Internet Explorer и Edge. Баг позволяет осуществить атаку с удалённым исполнением кода через аварийное прекращение работы браузера. Впервые о нём было сообщено в Microsoft ровно три месяца назад — 25 декабря 2016 года. Компания Microsoft до сих пор не удосужилась выпустить патч, поэтому Google выложила информацию в открытый доступ.

В подробностях баг описан на странице баг-трекера Chromium.
Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии30

Подключаем Facebook SDK для Xamarin.Forms

Время на прочтение10 мин
Количество просмотров11K
Социальные сети, и особенно Facebook, уже давно используются в мобильных приложениях. Сегодня мы рассмотрим, как подключить нативные Facebook SDK к проекту на базе Xamarin.Forms (iOS и Android) для удобной авторизации пользователей и получения о них базовой информации. Вы также легко сможете расширить описанные в статье методы для того, чтобы реализовать полноценное взаимодействие с этим замечательным сервисом. Тема простая и понятная, поэтому без теорий и прелюдий перейдем сразу к практике.


Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии8

Короткая шпаргалка по блокировкам при чтении и изменении данных в зависимости от уровня изоляции транзакции в MSSQL

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

  • если в одной транзакции поменять данные — селект этих данных (в другой транзакции или без транзакции) не будут ждать окончания первой транзакции и вернут записанные данные незакомиченных транзакций
  • если в одной транзакции считать данные — апдейты этих данных в другой транзакции не будут ждать окончания первой транзакции
  • шаред локи не используются. Что аналогично установке NOLOCK хинта во все селекты в Read Commited
  • эксклюзивные локировки устанавливаются в процессе выполнения стейтмента и снимаются по окончанию транзакции


Read Committed + read_committed_snapshot off

(alter database xxx set read_committed_snapshot off)

  • если в одной транзакции поменять данные — селект этих данных (в другой транзакции или без транзакции) будут ждать окончания первой транзакции. Селект с NOLOCK хинтом вернёт изменённые, но не закомиченные данные.
  • если в одной транзакции считать данные — апдейты этих данных в другой транзакции не будут ждать окончания первой транзакции
  • шаред локировки устанавливаются в процессе работы стейтмента и снимаются по окончанию стейтмента
  • эксклюзивные локировки устанавливаются в процессе выполнения стейтмента и снимаются по окончанию транзакции


Дальше
Всего голосов 19: ↑19 и ↓0+19
Комментарии26

Эволюция сервера приложений на NodeJS

Время на прочтение4 мин
Количество просмотров8.9K
В нашей системе мирно сосуществуют 2 сервера. Основной сервер(ядро), написанный на JAVA и сервер приложений — NodeJS, именно ему и посвящена данная статья.
Изначально у сервера приложений существовало 2 фундаментальные задачи:

1) проксирование запросов к основному серверу для того, чтобы уменьшить неспецифичную нагрузку и сэкономить ресурсы для решения более важных задач;
2) реализация client-specific функционала для того, чтобы не пришлось вносить изменения в код ядра при появлении клиентских “хотелок”.

Строго говоря, наличие сервера приложений вовсе не обязательно для функционирования системы, т.к. ядро имеет полноценное REST API, реализующее весь основной функционал системы. Несколько слов о протоколе. RTLSCP (real track location system communication protocol) – протокол, работающий поверх HTTP и позволяющий получать данные и выполнять базовые операции с системой RealTrac с использованием запросов и ответов в формате JSON/KML/PNG.
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии23

Материал по работе с Apache Lucene и созданию простейшего нечёткого поиска

Время на прочтение4 мин
Количество просмотров41K
Пост расcчитан на начинающих, на людей незнакомых с технологией Apache Lucene. В нем нет материала о том, как устроен Apache Lucene внутри, какие алгоритмы, структуры данных и методы использовались для создания фреймворка. Пост является обучающим материалом-тизером, написанным для того, чтобы показать, как организовать простейший нечёткий поиск по тексту.

В качестве материала для обучения предоставлен код на github, сам пост в качестве документации и немного данных для тестирования поисковых запросов.
Подробности
Всего голосов 11: ↑10 и ↓1+9
Комментарии6

Linux HA на основе Pacemaker

Время на прочтение5 мин
Количество просмотров120K
В своей предыдущей статье я вкратце коснулся темы создания High Availability решения на основе демона heartbeat. Однако, как выяснилось, что-то сложнее чем 2-х узловой кластер на нем делать не так уж удобно. Изучение проблемы вывело меня на след проекта Pacemaker. Его-то мы сейчас в кратце и рассмотрим.
Читать дальше →
Всего голосов 59: ↑54 и ↓5+49
Комментарии32

Психологическая деформация программистов. Взгляд с обеих сторон баррикад

Время на прочтение6 мин
Количество просмотров136K
Само наличие психологической деформации у какой-либо профессии, как правило, достаточно спорный момент ввиду того, что у разных людей она проявляется по-разному. Однако общую тенденцию можно выделить и, пожалуй, настало то время когда можно достаточно смело говорить, что программисты всё же имеют свой особенный психологический портрет который обусловлен их профессиональной деятельностью.

Я достаточно часто сталкивался с подобным мнением и не придавал ему особого значения, но когда женский коллектив нашей организации поздравил программистов с 23-м февраля по доброму назвав их «космическими войсками», решил всё же расставить определенные акценты в данном вопросе, т.к. одна из моих профессий связана напрямую с психоанализом. Да и баш уже не молчит.

И что же них такого деформированного?
Всего голосов 461: ↑436 и ↓25+411
Комментарии558

Законно ли чтение корпоративной электронной почты?

Время на прочтение3 мин
Количество просмотров29K
По мотивам вопроса, который устроил небольшой холивар. Большая часть хаброжителей сошлась на том, что чтение руководителем организации (да и кем угодно) корпоративной переписки своих сотрудников незаконно и нарушает конституцию, гарантирующую нам тайну переписки. Посмотрим, как же обстоят дела в законодательстве на самом деле.
Читать дальше →
Всего голосов 111: ↑89 и ↓22+67
Комментарии240

К черту веб-разработку или «Как я ушел головой в электронные письма»

Время на прочтение8 мин
Количество просмотров12K
Меня зовут Артур Кох, и я не вижу своей жизни без интернет-рассылок. Многие читатели хабра знают меня по длинной серии публикаций на тему верстки HTML-писем, но это не все, чем я занимаюсь. Я с большим интересом работаю в сфере email маркетинга уже не первый год, и за это время накопилось очень много интересных наблюдений как на российском рынке, так и за его пределами, о которых я бы хотел рассказать. Будет здорово, если все ниже описанное не вызовет типичный для этой темы холивар на тему “email рассылки не нужны, горите в аду”. Местами будет сумбурно, субъективно, но скорее всего, интересно.
Читать дальше →
Всего голосов 52: ↑41 и ↓11+30
Комментарии15

MySQL: разрушаем стереотипы

Время на прочтение5 мин
Количество просмотров59K
В последнее время часто стал натыкаться на различные рассуждения людей, по поводу того, что MySQL — это плохо, это очень плохо — потому что… а вот дальше идут описания различных фич MySQL, которые четко документированы, но пользователь их просто не знает. Кто-то добавляет в БД данные без валидации и удивляется почему они сохранились в неверном формате, а кто-то описывает кучу особенностей myIsam движка, и на этих основаниях делает вывод, что MySQL это отстой — который невозможно использовать в реальных проектах. Всю документацию прочитать невозможно, и да — я с этим абсолютно согласен, но поверьте у нас есть куча других недокументированных и не менее интересных особенностей. Давайте начнем с малого, к примеру докажем, что NULL равно нулю.
это новогодний пост - отнеситесь к нему с юмором, качаем последний MySQL и поехали
Всего голосов 131: ↑118 и ↓13+105
Комментарии125

Деревья принятия решений на JavaScript

Время на прочтение4 мин
Количество просмотров33K
В качестве практического приложения к предыдущей статье, хочу предоставить крошечную JavaScript библиотеку для построения деревьев и леса принятия решений.

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

N+1 полезная книга для бизнеса: часть 3

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


Привет!
Прошлые два обзора полезных книг за 2010 и 2011 год собрали просто адовое количество закладок, поэтому я продолжу. Прошел ещё год, ещё около 250 прочитанных книг – и вот самые интересные под катом.

Кто сказал, что слоны не умеют танцевать? Возрождение корпорации IBM: взгляд изнутри (Герстнер Луис)


Отличная книга про то, как удалось восстановить IBM. То, что со стороны выглядело как бессистемное перемещение активов и последовательность приказов без особого смысла, через несколько лет начало складываться в единую систему.

Догнать зайца (Стивен Спир)


Отличная книга про дебаг производственных процессов. Одна из основных вещей – то, что все серьёзные проблемы возникают из-за сочетания некритичных багов. Есть примеры из американской ядерной программы, NASA и т.п. Я предлагаю прямо сейчас пойти и прочитать описание железнодорожного крушения на Каменской: один не отчитался, второй не проверил тормоза, третий зажал тангенту, четвёртый сорвал стоп-кран. Результат — катастрофа.
Читать дальше →
Всего голосов 66: ↑60 и ↓6+54
Комментарии43

Информация

В рейтинге
Не участвует
Откуда
Казахстан
Дата рождения
Зарегистрирован
Активность