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

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

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

.NET — локализация без боли. (N)gettext + poedit

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


Создавая новый проект, мне приходилось использовать либо *.resx для WinForms, либо I2Localization для Unity, либо другие решения для локализации приложений. Все эти решения похожи тем, что приходится придумывать ключ-локализации, вставлять его в код и в словарь. Поначалу все хорошо, но со временем этот процесс начинает раздражать. Вместе с тем, смотря на ключ в коде не всегда понятно о чем речь.

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

Не знаю почему, но оказывается существует уже давно такое готовое решение как gnu/gettext. Расспрашивая своих знакомых и коллег (тех кто работает с .NET), большинство даже и не слышал о таком. Поэтому решил поделиться с этим удобным инструментом.

Принцип прост. Вы пишите код со строками на английском языке, запускаете утилиту, которая сканирует исходники и предоставляет вам возможность перевода. Никаких ключей придумывать не надо. Текст на английском и есть ключ.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии28

Малоизвестные возможности JavaScript

Время на прочтение11 мин
Количество просмотров56K
JavaScript часто называют самым простым языком для новичков, в программировании на котором сложнее всего достичь мастерства. Автор материала, перевод которого мы публикуем, говорит, что не может не согласиться с этим утверждением. Всё дело в том, что JS — это по-настоящему старый и по-настоящему гибкий язык. Он полон таинственных синтаксических конструкций и устаревших возможностей, всё ещё им поддерживаемых.

image

Сегодня мы поговорим о малоизвестных возможностях JavaScript и о вариантах их практического применения.
Читать дальше →
Всего голосов 60: ↑51 и ↓9+42
Комментарии42

Нейронные сети для любопытных программистов (с примером на c#)

Время на прочтение5 мин
Количество просмотров136K
Так как в заголовке был отмечен «для любопытных программистов», хочу сказать, что и моё любопытство привело к тому, что я, будучи разработчиком мобильных игр, написал такой пост. Я совершенно уверен, что найдутся программисты, которые когда-то думали об искусственных интеллектах и это очень хороший шанс для них.
Читать дальше →
Всего голосов 40: ↑28 и ↓12+16
Комментарии15

Конференция по Asterisk 27 августа. В Москве и в ОнЛайне

Время на прочтение1 мин
Количество просмотров3.2K
Друзья, всем привет! Через несколько дней состоится ежегодная конференция по Asterisk.

image

На конференции неизбежно будет масса полезного контента, причем, упакованного в форму DIY (Do It Yourself). Каждый спикер предоставит вам инструкцию, как самостоятельно реализовать функционал, описанный в докладе.

Сама конференция будет проходить одновременно в двух форматах в двух залах: в большом будет идти конференция, а в малом — мастер-классы.

Регистрация на сайте. Мест немного, поэтому если желаете участвовать — регистрируйтесь сейчас. До встречи на конференции!
Всего голосов 19: ↑19 и ↓0+19
Комментарии8

С чего начинается дружба с Active Directory

Время на прочтение4 мин
Количество просмотров59K
Мне часто приходится сталкиваться с обработкой информации из Active Directory. Так как данная система много где распространена, я решил поделиться своим опытом работы с ней.

Началось всё с того, что я раздавал доступ в MS Sharepoint. В заявках от сотрудников, в лучшем случае, приходили учетные записи, в худшем могли написать что-то типа “Мне и моему начальнику”.
Читать дальше →
Всего голосов 14: ↑10 и ↓4+6
Комментарии2

Мониторинг проектов с помощью месенджера на примере Nagios и Telegram, с разбором факапов из жизни Highload 24x7

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


Что будет под катом:

  • Базовые настройки Nagios в связке с Telegram.
  • Общая концепция нашего с коллегами мониторинга проектов.
  • Разбор граблей, на которые мы успели наступить при работе с этой системой.

Наша статья будет полезна для тех, кто:

  • Недоволен информативностью своего текущего мониторинга.
  • Испытывает ежедневную боль ниже спины с оповещениями о проблемах.

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

Список полезных ресурсов по Microsoft SQL Server

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

Список из 147 бесплатных и платных интернет ресурсов для изучения и работы с Microsoft SQL Server.
Статья в формате markdown на английском языке доступна на Github

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

Подборка: 50+ материалов для понимания фондового рынка

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


Торговля на бирже — источник дохода для многих фондов и онлайн-трейдеров. Однако начать зарабатывать на рынке ценных бумаг не так-то просто, ведь не каждый начинающий трейдер или неопытный инвестор сможет самостоятельно разобраться в его сложной структуре (к чему это приводит мы писали здесь). Мы предлагаем вашему вниманию 53 полезных материалов о торговых и финансовых инструментах, биржах и их сленге, которые сделают особенности фондового рынка более понятными для новичка.
Читать дальше →
Всего голосов 18: ↑12 и ↓6+6
Комментарии7

Знай сложности алгоритмов

Время на прочтение2 мин
Количество просмотров1M
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
Читать дальше →
Всего голосов 312: ↑296 и ↓16+280
Комментарии99

400 потрясающих бесплатных сервисов

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

Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.

И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные веб-сайты

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly: Конструктор веб-сайтов.
  • Layers: Создание сайтов на WordPress (new).
  • Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
  • Landing Harbor:  Продвижение мобильного приложения c помощью бесплатного лендинга (new).
Читать дальше →
Всего голосов 108: ↑89 и ↓19+70
Комментарии38

Help, my database is corrupt. Now what?

Время на прочтение12 мин
Количество просмотров39K
Поврежденная база данных — это, наверное, один из худших ночных кошмаров большинства администраторов баз данных. Результатом повреждения являются простои, вопли менеджеров и всякие другие неприятные штуки.
В этой статье я объясню что нельзя делать с поврежденной базой данных и опишу кое-что из того, что должно быть сделано, некоторые виды повреждений и как их можно исправить.

Как обнаружить, что база данных повреждена


Обычно повреждения превосходно обнаруживаются при попытке доступа к поврежденной странице. Запросы, бэкапы или процедуры реиндексации завершаются ошибками с высокими уровнями серьезности.
Вот пара примеров системных сообщений при обнаружении повреждения БД:
SQL Server detected a logical consistency-based I/O error: incorrect checksum (expected: 0xfdff74c9; actual: 0xfdff74cb). It occurred during a read of page (1:69965) in database ID 13 at offset 0x0000002229a000 in file 'D:\Develop\Databases\Broken1.mdf'.
Attempt to fetch logical page 1:69965 in database 13 failed. It belongs to allocation unit 72057594049069056 not to 281474980642816.
Основная проблема заключается в том, что если проверки целостности базы данных не производятся на постоянной основе, то повреждение может быть обнаружено спустя часы, дни и даже месяцы, после того, как оно образовалось, в тот момент, когда уже сложно будет что-то исправить.
Читать дальше →
Всего голосов 39: ↑36 и ↓3+33
Комментарии15

Автоматизация легкого управления списками баз 1С

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


Наверное, вам в работе, как и мне, часто приходится заниматься ИТ-системами компаний, которые до тебя непонятно кем и как обслуживались. Прежде чем полноценно поставить компанию на обслуживание необходимо обязательно сделать ИТ-Аудит и привести все системы в порядок.

Часто одной из систем, где порядок отсутствует, является система 1С. Например, можно встретить базы с названием папок «new_copybase1_old» или «База1КомпанияЗП», или вообще вложенные друг в друга папки.

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

Если у вас пришло время привести все базы к одному общему стандарту и автоматизировать подключение пользователей, то прошу под кат.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии12

[ScanDoc] предобработка сканов

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


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

Какие проблемы приходится решать:
  • Корректировать угол наклона изображения, т.к. фидер сканера неизбежно наклоняет документ при протяжке. Неряшливость в важных документах недопустима.
  • Выделять полезную часть на скане, остальное — удалять, так как это не информативно и занимает дисковое пространство впустую.
  • Находить и удалять пустые страницы, которые обязательно будут при дуплекс-сканировании.

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

Регулярные выражения для валидации распространенных видов данных

Время на прочтение2 мин
Количество просмотров491K
Для проверки текстовых полей на валидность обычно используют регулярные выражения. Существует несколько наиболе распространенных видов таких даных, как например номер кредитки, дата в определенном формате и т. д. На сайте html5pattern.com собирается коллекция регулярных выражений для таких данных (там это позиционируется, как возможное содержимое html5-атрибута pattern у inpit-элементов, но эти регулярные выражения можно использовать и для привычной валидации с помощью javascript). Актуальные для российской аудитории примеры, вместе с соответствующими регулярными выражениями вы можете посмотреть под катом.
Читать дальше →
Всего голосов 133: ↑97 и ↓36+61
Комментарии66

Что скрывает в себе DEFAULT TRACE?

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


Часто вспоминается первая работа… Средненький офис, моник 943N и обогреватель Pentium D под ногами. Как возникал из ниоткуда Борис (нет… не Борис «Бритва») с линейкой в руках и настойчиво просил не делать «больно» серверу.

Именно в те далекие времена я впервые познакомился с профайлером. Пользовательские трейсы оказались очень кстати при отладке приложений и поиске медленных запросов. Потом для себя я открыл DMV и XEvents… и профайлером стал пользоваться реже. Причина такого поступка проста – трейсы очень ресурсоемкие.

Однако, данную функциональность не стоит преждевременно придавать анафеме. Начиная с 2005 версии при установке SQL Server по умолчанию создается легковесный системный трейс, который хранит в себе много полезной информации.
Подробнее
Всего голосов 12: ↑11 и ↓1+10
Комментарии4

Отправляем сообщения в Telegram из C#

Время на прочтение2 мин
Количество просмотров96K
TLSharp rocks!

С# — развитый язык с большим количеством библиотек, но среди них нет ни одной работающей реализации Telegram API. Эту ситуацию я хочу исправить с помощью своей небольшой библиотеки TLSharp. В статье будет много кода и один котик.
Читать дальше →
Всего голосов 40: ↑33 и ↓7+26
Комментарии12

Бесплатные инструменты для разработчиков баз данных

Время на прочтение6 мин
Количество просмотров33K
После прочтения статьи о полезных и бесплатных плагинах для SSMS — TOP (10) бесплатных плагинов для SSMS, я решил поделиться своим списком бесплатных инструментов, которые могут быть очень полезны разработчикам баз данных, и не только. Инструменты ориентированны на разработку под Microsoft SQL Server. Некоторые инструменты, платные, однако содержат достаточно полнофункциональные бесплатные редакции, которых с головой хватает для небольших проектов.
Читать дальше →
Всего голосов 17: ↑13 и ↓4+9
Комментарии6

Инструменты для взлома, мелькавшие в сериале Mr Robot

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

Всё время, пока в Голливуде снимали фильмы про хакеров, самым популярным инструментом для «взлома» была утилита nmap. Когда продюсеры фильма пытались добавить немного реалистичности, на экране компьютеров мелькал вывод nmap. Вроде бы первой отличилась Тринити из фильма «Матрица». Также эта утилита появлялась в Elysium, The Bourne Ultimatum, Die Hard 4 и других киношках.

image

Первый сезон Mr Robot получил одобрение от специалистов по безопасности за попытки реалистичного показа работы хакеров. В показанных эпизодах хакеры общались через IRC, использовали виртуальные машины Linux, а главный герой ходил в толстовке с капюшоном. Естественно, поскольку это телешоу, создателям пришлось проявить толику творчества. И пока им удаётся сохранять неплохой баланс между повествованием и реальными техническими возможностями.

Кратко рассмотрим увиденные нами в сериале средства для взлома.

Kali Linux


image

Несколько раз можно видеть использование дистрибутива Kali Linux – операционки, изначально снабжённой инструментами для проникновения и тестирования безопасности систем. Если вам интересна тема сетевой безопасности – скачивайте её себе и начинайте пробовать. Естественно, только в учебных целях. Не взламывайте чужие компьютеры – это незаконно!
Читать дальше →
Всего голосов 41: ↑36 и ↓5+31
Комментарии86

IBM Swift Sandbox — веб-песочница со Swift для тех, кто хочет разобраться в языке программирования от Apple

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


Корпорация IBM уже довольно давно сотрудничает с Apple. Взаимодействие двух компаний касается многих сфер, и одна из них — программирование. Причем программирование на Swift. Дело в том, что корпорация Apple сделала исходный код языка программирования Swift открытым. А в Mobile Innovation Lab от IBM создали специальную песочницу для разработчиков, которые хотели бы познакомиться со Swift.

Благодаря открытию кода, разработчики, которые создают приложения для iOS, OS X и watchOS, могут без проблем обходить существовавшие ранее ограничения, дополняя многие функции при необходимости. Apple для привлечения широкой аудитории опубликовала достаточно массивную библиотеку различной документации, которая позиционируется как пособие для начинающих программистов. Стоит отметить, что лицензируется Swift под лицензией Apache 2.0. Эта лицензия позволяет использовать программное обеспечение для собственных целей, и платить Apple не требуется.
Читать дальше →
Всего голосов 24: ↑18 и ↓6+12
Комментарии1

История про msdb размером в 42 Гб

Время на прочтение5 мин
Количество просмотров56K
Недавно выдалась минутка посмотреть почему старый тестовый сервер безбожно тормозил… К нему я не имел никакого отношения, но меня одолевал спортивный интерес разобраться, что с ним не так.

Первым делом открыл Resource Monitor и взглянул на общую нагрузку. Процесс sqlserv.exe нагружал ЦП под 100% и формировал большую дисковую очередь, которая была за 300… при том, что значение выше единицы уже считается проблемным.

При анализе дисковой активности заметил непрерывные IO операции в msdb:

D:\SQL_2012\SYSTEM\MSDBData.mdf
D:\SQL_2012\SYSTEM\MSDBLog.ldf

Посмотрел на размер msdb:

SELECT name, size = size * 8. / 1024, space_used = FILEPROPERTY(name, 'SpaceUsed') * 8. / 1024
FROM sys.database_files

и включил режим «рука-лицо»:

name         size           space_used
------------ -------------- ---------------
MSDBData     42626.000000   42410.374395
MSDBLog      459.125000     6.859375

Файл данных занимал 42 Гб… Взяв небольшую паузу я начал разбираться в чем причина такого нездорового объема msdb и как побороть проблемы с производительностью сервера.
Подробнее
Всего голосов 49: ↑48 и ↓1+47
Комментарии28
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность