RSS
Pages: 1 ... 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 ... 133
[>] Технокубок. Еще раз. Теперь круче
habra.16
habrabot(difrex,1) — All
2016-10-07 14:00:03


![image][1]

Многие интересующиеся программированием старшеклассники планируют связать с ним свое высшее образование и дальнейшую карьеру. Но как поступить в крутой технический вуз благодаря своим успехам в программировании? Где найти подходящие задачи для тренировки? Что важно, а что вторично для разработчика? Ответы на все эти вопросы можно найти на [Технокубке][2] — олимпиаде по программированию для учащихся 8-11 классов, организуемой нами совместно с МГТУ им. Баумана и МФТИ. В 2016 году она включена в перечень олимпиад школьников и имеет 3-й уровень, что дает победителям и призерам особые права при поступлении в вузы по всей России (в некоторых из них, например — 100 баллов ЕГЭ по информатике) в течение четырех лет.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/1b2/590/dde/1b2590dde24a458ab905afb1cfc72979.jpg
[2]: https://technocup.mail.ru/
[3]: https://habrahabr.ru/post/312016/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как спасти принцессу, используя 8(+14) языков программирования, в пятницу
habra.16
habrabot(difrex,1) — All
2016-10-07 14:00:03


![][1]

У вас есть JavaScript. Вы тратите несколько часов на сбор библиотек, настройку node и постройку фреймворка для замка. К тому времени, как вы разберетесь с фреймворком, форт уже будет заброшен, а принцесса переберется в другой замок.

![][2]

У вас есть С. У вас есть библиотека для замка и для принцессы. В атаку! Вы спасаете принцессу, ее собаку, весь ее гардероб и всё, что она когда-либо съела. Fuck, неужели я забыл null-terminator?
[Читать дальше →][3]

[1]: https://habrastorage.org/files/104/15a/a60/10415aa607864992ada77ccdfb90078f.jpg
[2]: https://habrastorage.org/files/9cb/aa6/b5d/9cbaa6b5dc454f75ac9e88289665eb86.jpg
[3]: https://habrahabr.ru/post/311994/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Приглашаем на Java-конференцию Joker 2016, которая состоится 14 и 15 октября в Санкт-Петербурге
habra.16
habrabot(difrex,1) — All
2016-10-07 16:00:02


![image][1]

**Лучшие спикеры из России, США и Европы приедут, чтобы поделиться с вами своими мыслями и идеями.**



На конференции **14 октября издательство «Питер»** представит книги по IT, которые можно будет приобрести по издательской цене.



Это будет уже четвертый [Joker][2] в Питере. Спикеров и докладов, спонсоров и стендов, участников и экспертов будет больше, чем в прошлые разы, поэтому каждому пришедшему будет чем заняться!

[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/008/54b/4df/00854b4dfcb57dbdaf581bf394b27601.jpg
[2]: https://goo.gl/ZdleuX
[3]: https://habrahabr.ru/post/312020/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Intel® Parallel Studio XE 2017: «Python к нам приходит» и другие новинки
habra.16
habrabot(difrex,1) — All
2016-10-07 16:00:02


![][1]


На первой неделе сентября этого года вышла в свет новая версия продукта Intel Parallel Studio XE 2017. Давайте разбираться, что интересного появилось в ней.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/217/3e3/9c0/2173e39c0ae3409db5922d1297dc6a01.png
[2]: https://habrahabr.ru/post/311160/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как оно учить JavaScript в 2016
habra.16
habrabot(difrex,1) — All
2016-10-07 17:00:04


![][1]

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

— Это теперь называется Front-End инженер, но да, я — именно он. Я работаю с вебом в 2016. Визуализации, музыкальные плееры, летающие дроны, которые играют в футбол, все что угодно. Я только что вернулся из JsConf и ReactConf, так что я знаю новейшие технологии для создания веб-приложений.

— Круто. Мне нужно создать страницу, которая отображает последние действия со стороны пользователей, так что мне просто нужно получить данные от REST и отобразить их в какой-то фильтруемой таблице, ну и обновлять её, если что-то изменится на сервере. Я думал, может быть, использовать JQuery для извлечения и отображения данных?

— О, Мой Бог! Нет! Никто больше не использует JQuery. Ты должен попробовать React: это — 2016!
[Читать дальше →][2]

[1]: https://habrastorage.org/files/882/6b0/688/8826b0688cbd4a73b87061d6c3a83919.png
[2]: https://habrahabr.ru/post/312022/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Отчет с Moscow Python Meetup 22 сентября
habra.16
habrabot(difrex,1) — All
2016-10-07 18:00:03


[![][1]][2]

В конце сентября в нашем офисе состоялся очередной Moscow Python Meetup. И сегодня мы хотим поделиться материалами выступлений, под катом вас ждут презентации и видеозаписи трех докладов.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/78d/153/5b7/78d1535b7ed9488eaa7203244ea00dac.png
[2]: https://habrahabr.ru/company/mailru/blog/309576/
[3]: https://habrahabr.ru/post/311736/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как спасти принцессу, используя 8(+34) языков программирования, в пятницу
habra.16
habrabot(difrex,1) — All
2016-10-07 20:00:04


![][1]

У вас есть JavaScript. Вы тратите несколько часов на сбор библиотек, настройку node и постройку фреймворка для замка. К тому времени, как вы разберетесь с фреймворком, форт уже будет заброшен, а принцесса переберется в другой замок.

![][2]

У вас есть С. У вас есть библиотека для замка и для принцессы. В атаку! Вы спасаете принцессу, ее собаку, весь ее гардероб и всё, что она когда-либо съела. Fuck, неужели я забыл null-terminator?
[Читать дальше →][3]

[1]: https://habrastorage.org/files/104/15a/a60/10415aa607864992ada77ccdfb90078f.jpg
[2]: https://habrastorage.org/files/9cb/aa6/b5d/9cbaa6b5dc454f75ac9e88289665eb86.jpg
[3]: https://habrahabr.ru/post/311994/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Логика сознания. Пояснение «на пальцах»
habra.16
habrabot(difrex,1) — All
2016-10-07 21:00:03


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

Предлагаемая модель не относится к мейнстриму нейронауки. Большинство современных исследователей считают, что искусственные нейронные сети и биологические нейронные конструкции близки по своей сути и основаны на общих принципах. В нашей модели, мозг не имеет ничего общего с нейронными сетями. Различие приблизительно такое же, как между классической и квантовой механикой. Внешне результаты местами могут быть похожи, но в основе лежат совершенно разные принципы.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/312060/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как спасти принцессу, используя 8(+40) языков программирования, в пятницу
habra.16
habrabot(difrex,1) — All
2016-10-08 03:00:03


![][1]

У вас есть JavaScript. Вы тратите несколько часов на сбор библиотек, настройку node и постройку фреймворка для замка. К тому времени, как вы разберетесь с фреймворком, форт уже будет заброшен, а принцесса переберется в другой замок.

![][2]

У вас есть С. У вас есть библиотека для замка и для принцессы. В атаку! Вы спасаете принцессу, ее собаку, весь ее гардероб и всё, что она когда-либо съела. Fuck, неужели я забыл null-terminator?
[Читать дальше →][3]

[1]: https://habrastorage.org/files/104/15a/a60/10415aa607864992ada77ccdfb90078f.jpg
[2]: https://habrastorage.org/files/9cb/aa6/b5d/9cbaa6b5dc454f75ac9e88289665eb86.jpg
[3]: https://habrahabr.ru/post/311994/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как спасти принцессу, используя 8(+42) языков программирования, в пятницу
habra.16
habrabot(difrex,1) — All
2016-10-08 13:30:04


![][1]

У вас есть JavaScript. Вы тратите несколько часов на сбор библиотек, настройку node и постройку фреймворка для замка. К тому времени, как вы разберетесь с фреймворком, форт уже будет заброшен, а принцесса переберется в другой замок.

![][2]

У вас есть С. У вас есть библиотека для замка и для принцессы. В атаку! Вы спасаете принцессу, ее собаку, весь ее гардероб и всё, что она когда-либо съела. Fuck, неужели я забыл null-terminator?
[Читать дальше →][3]

[1]: https://habrastorage.org/files/104/15a/a60/10415aa607864992ada77ccdfb90078f.jpg
[2]: https://habrastorage.org/files/9cb/aa6/b5d/9cbaa6b5dc454f75ac9e88289665eb86.jpg
[3]: https://habrahabr.ru/post/311994/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Каково оно учить JavaScript в 2016
habra.16
habrabot(difrex,1) — All
2016-10-08 14:00:04


![][1]

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

— Это теперь называется Front-End инженер, но да, я — именно он. Я работаю с вебом в 2016. Визуализации, музыкальные плееры, летающие дроны, которые играют в футбол, все что угодно. Я только что вернулся из JsConf и ReactConf, так что я знаю новейшие технологии для создания веб-приложений.

— Круто. Мне нужно создать страницу, которая отображает последние действия со стороны пользователей, так что мне просто нужно получить данные от REST и отобразить их в какой-то фильтруемой таблице, ну и обновлять её, если что-то изменится на сервере. Я думал, может быть, использовать JQuery для извлечения и отображения данных?

— О, Мой Бог! Нет! Никто больше не использует JQuery. Ты должен попробовать React: это — 2016!
[Читать дальше →][2]

[1]: https://habrastorage.org/files/882/6b0/688/8826b0688cbd4a73b87061d6c3a83919.png
[2]: https://habrahabr.ru/post/312022/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Текст, которого нет
habra.16
habrabot(difrex,1) — All
2016-10-08 16:00:04


Текстовые редакторы, основная задача которых — отображение моноширинного шрифта (например, кода), должны, как и следует из названия, показывать символы одной ширины.
![invisible symbols in diff][1]

[Но есть нюанс][2]

[1]: https://habrastorage.org/files/8e5/66c/492/8e566c49232a45f688df73540479c105.png
[2]: https://habrahabr.ru/post/311518/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Досье на хакера: Phiber Optik
habra.16
habrabot(difrex,1) — All
2016-10-08 19:30:04


_«Основное различие между хакерами — не уровень их знаний, а уровень их психической неуравновешенности. Заберите у них модемы, дайте в руки скейтборды, и не будет даже видно особых перемен». _
— сказал [Джон Пэрри Бэрлоу][1], журналист-фрилансер и автор текстов для Grateful Dead, в 1990 году.

Через 13 минут некто Phiber Optik выложил кредитную историю Бэрлоу и скриншоты его рабочего стола. [[источник][2]]

![image][3]

[Марк Абен][4] (род. в 1972 г.), специалист в области информационной безопасности родом из Нью-Йорка. Наиболее известен по псевдониму Phiber Optik, был членом хакерских группировок “Legion of Doom” и “Masters of Deception”.

Phiber Optik был выдающимся хакером в 1980-х и ранних 90-х, о нем писали “The New York Times”, “Harper's”, “Esquire”, он участвовал в дебатах на телевидении. Он также является важным персонажем документальной книги 1995 г. «Masters of Deception — The Gang that Ruled Cyberspace»
[Читать дальше →][5]

[1]: https://en.wikipedia.org/wiki/John_Perry_Barlow
[2]: http://www.nytimes.com/1992/07/23/nyregion/computer-savvy-with-attitude-young-working-class-hackers-accused-high-tech-crime.html?pagewanted=all&src=pm
[3]: https://habrastorage.org/getpro/habr/post_images/bd0/df2/7b6/bd0df27b6f38618b0581bb7411f4e1a7.jpg
[4]: https://en.wikipedia.org/wiki/Mark_Abene
[5]: https://habrahabr.ru/post/311954/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Квантовое хеширование. Лекция в Яндексе
habra.16
habrabot(difrex,1) — All
2016-10-09 16:30:04


[Фарид Мансурович Аблаев][1] — заведующий кафедрой теоретической кибернетики Казанского федерального университета. Приехав в московский офис Яндекса, Фарид Мансурович рассказал об алгоритмах, потенциально пригодных для запуска на квантовых компьютерах. Таких устройств пока очень мало, и они толком не освоены даже самыми передовыми компаниями. Но когда они начнут дешеветь, у специалистов уже будут наработки, позволяющие приступить к их использованию.


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

[Читать дальше →][2]

[1]: http://kpfu.ru/Farid.Ablayev
[2]: https://habrahabr.ru/post/312072/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Школа Данных «Билайн», на Неве
habra.16
habrabot(difrex,1) — All
2016-10-10 09:30:04


![][1]

Привет, Хабр! Вы уже не раз слышали про то, что мы проводим курсы машинного обучения и анализа данных в [Школе Данных «Билайн»][2]. Сегодня мы отмечаем уже 6-й выпуск на нашем [аналитическом курсе][3] и 4й — на [курсе для менеджеров][4]. Только успев выпустить один курс — мы набираем новый. После каждого очередного выпуска мы собираем обратную связь от наших слушателей, анализируем ее и делаем нашу программу еще более насыщенной практикой и примерами из реального бизнеса.

Нам пишут со всей страны и из-за ее пределов с вопросами, когда Школа Данных появится в их городе. Мы откликнулись на эти пожелания и расширяем наше присутствие.

Сегодня мы рады объявить о запуске нашей [программы][5] **в Петербурге**! Мы собрали самых лучших преподавателей в этой славном городе, подготовили замечательную программу и в этом посте расскажем все подробности обучения.

Курс начинается 28-го октября, будет проходить по понедельникам и пятницам в вечернее время с 19.00 до 21.00 в офисе компании «Билайн» по адресу Васильевский остров, 21 линия, д. 6, литер А (ближайшая станция метро «Василеостровская»).

Впереди нас ждет 18 занятий (курс рассчитан на 9 недель), на которых мы постараемся покрыть самые важные темы анализа данных.
[Читать дальше →][6]

[1]: https://habrastorage.org/files/95d/e46/453/95de46453bac40e08b6c42b26baf590d.jpg
[2]: http://bigdata.beeline.digital
[3]: http://bigdata.beeline.digital
[4]: http://bigdata.beeline.digital/datamba
[5]: http://bigdata.beeline.digital/spb
[6]: https://habrahabr.ru/post/311924/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Javascript-путешествие с шестью символами
habra.16
habrabot(difrex,1) — All
2016-10-10 12:00:04


![][1]



Javascript – это странный и прекрасный язык, который позволяет писать безумный, но все еще валидный код. Он пытается помочь нам, конвертируя одни штуки в другие в зависимости от того, как мы работаем с ними.



Если добавить строку к чему-то, то он допустит, что мы хотим получить текст, поэтому сконвертирует все в строку.



Если мы добавляем префикс "плюс" или "минус", то он допустит, что нам нужно числовое представление и сконвертирует строку в число, если сможет.



Если мы отрицаем что-то, то он сконвертирует это в булево значение.



Мы можем использовать эти особенности языка и создать немного магии со всего-лишь шестью символами: `[`,`]`,`(`,`)`,`!` и `+`. Если вы читаете это на десктопе, то можете открыть консоль в вашем браузере (developer tools, например) и запускать код. Просто копируйте любой код из примеров ниже в консоль, и он должен исполнится и вернуть true.



Давайте начнем с простого. Вот главные правила:


1. Префикс `!` конвертирует в Boolean
2. Префикс `+` конвертирует в Number
3. Добавление `[]` конвертирует String

Вот они в действии:


![] === false
+[] === 0
[]+[] === ""
[Читать дальше →][2]

[1]: https://habrastorage.org/files/fd0/fba/e92/fd0fbae92e7c4775b6bf06d758ee24ae.jpg
[2]: https://habrahabr.ru/post/312172/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Генерируем псевдослучайные ID а-ля Youtube
habra.16
habrabot(difrex,1) — All
2016-10-10 12:30:04


Привет, %username%! Бывает необходимо генерировать ID не подряд, причем чтобы они гарантированно не повторялись. На youtube это используется для того, чтобы вы не могли брутфорсом получить все новые и старые видосики, так же это не редкость на разных файлообменниках и вообще везде где нужно предотвратить или хотя бы затруднить возможность прямого перебора значений.

![][1]
К примеру, в системе moodle, которая использовалась у нас в универе для тестирования студентов, ID ответов были инкрементными и сквозными на всю базу. Логично предположить, что правильным ответом был тот, что с наименьшим ID в пределах вопроса. В общем, проблем с тестами у нас не было. Потом они перешли на GUID, но я к тому моменту уже выпустился, хехе.

Давайте рассмотрим несколько способов генерации таких ограниченных по длине последовательностей от самых простых до криптографически стойких.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/75b/ca0/364/75bca0364b484a098c37b25b153052f5
[2]: https://habrahabr.ru/post/311676/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как оптимизировать запоминание иностранных слов
habra.16
habrabot(difrex,1) — All
2016-10-10 13:00:04


![][1]

Прежде чем взяться за разработку мобильного приложения для заучивания лексики, мы в школе Skyeng потратили массу времени на изучение алгоритмов работы памяти и запоминания слов. В результате разработка Awords заняла чуть больше времени, но мы более уверены в результате — использование определенных алгоритмов в показе слов помогает эффективнее пополнять словарный запас.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/5f2/141/559/5f21415590d94512a3210e37ea7ad3c5.jpg
[2]: https://habrahabr.ru/post/312126/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Интервью с Ильёй, который выступит на Moscow Python уже послезавтра
habra.16
habrabot(difrex,1) — All
2016-10-10 13:00:04


![][1]Итак, я выжил после организации [INTERCOM][2], но впереди еще два эвента! И уже послезавтра я с коллегами из [Moscow Python][3] соберу разработчиков на [одноименной конференции][4]: чтобы пить кофе, общаться, общаться и еще раз общаться! А чтобы было о чем общаться, мы распределили по двум потокам 14 спикеров, которые расскажут самое любопытное из мира Python разработки и зададут темы для обсуждения. Илья Беда, техлид Bro.Engineering — тот самый «full stack developer», который и на Python backend, и на JavaScript фронтенд и на Qt десктоп. На конференции Илья расскажет про конструирование собственных DSL, используя синтаксис Python. А на Хабре — уже ответил на множество каверзных вопросов и рассказал, как смотрит на разработку. Кстати, с предыдущими тремя интервью вы можете ознакомиться [здесь][5], [здесь][6] и [здесь][7].
[Под катом - ответы на все вопросы][8]

[1]: https://habrastorage.org/files/81d/97c/a43/81d97ca4300f4d739ea48831efe62188.jpg
[2]: https://intercomconf.com/
[3]: https://python.ru/
[4]: https://conf.python.ru/
[5]: https://habrahabr.ru/company/Voximplant/blog/308726/
[6]: https://habrahabr.ru/company/Voximplant/blog/309168/
[7]: https://habrahabr.ru/company/Voximplant/blog/311536/
[8]: https://habrahabr.ru/post/311538/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Нежная дружба агентов и исключений в SObjectizer
habra.16
habrabot(difrex,1) — All
2016-10-10 13:30:04


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



В небольшом однопоточном приложении довольно просто: можно прервать всю работу и рестартовать. Это один из факторов, благодаря которому Erlang снискал себе заслуженную популярность, ведь идеология [fail fast][1] является одним из краеугольных камней Erlang-а с его легковесными процессами. Если же приложение большое, сложное и многопоточное, то не разумно рестартовать все приложение, если лишь одна из его нитей столкнулась с проблемами. Еще хуже в ситуации с реализациями Модели Акторов, в которых сотни тысяч акторов могут работать на десятках рабочих нитей. Проблема одного актора вряд ли должна сказываться на всех остальных акторах.



В данной статье мы расскажем, как мы подошли к обработке ошибок в своем [фреймворке SObjectizer][2].



# Исключениям – да, кодам возврата – нет!



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


[Читать дальше →][3]

[1]: https://en.wikipedia.org/wiki/Fail-fast
[2]: https://habrahabr.ru/post/304386/
[3]: https://habrahabr.ru/post/312128/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] ФСТЭК: требования к файрволам — 2
habra.16
habrabot(difrex,1) — All
2016-10-10 13:30:04


В [прошлый раз][1] мы рассмотрели требования ФСТЭК РФ к персональным файрволам — межсетевым экранам уровня узла (тип «В»), устанавливаемым на рабочих станциях защищаемой сети. Продолжим разговор и рассмотрим требования к решениям для защиты веб-серверов
[Читать дальше →][2]

[1]: https://habrahabr.ru/post/311188/
[2]: https://habrahabr.ru/post/312176/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Универсальная система управления данными на базе технологий скаффолдина и платформы .NET Core
habra.16
habrabot(difrex,1) — All
2016-10-10 13:30:04


Несколько лет назад я реализовал ряд проектов, для управления которыми использовалась система управления основанная на [ASP.NET Dynamic Data][1]. В свое время эта система сэкономила достаточно много времени и ресурсов. Но как известно, в ИТ все развивается очень стремительно. Не так давно вышла в релиз платформа .NET Core, основным нововведением которой была поддержка кроссплатформенности. Это в свою очередь позволило мне мигрировать ряд небольших проектов, а также проектов, которые я поддерживаю на некоммерческой основе на бюджетные сервера от Digital Ocean, которые, как известно, поддерживают только ОС семейства Linux. Когда дело дошло до системы управления передо мной стоял выбор — с минимальным изменением кода портировать проект под Mono, или переписать с нуля использую новые возможности .NET Core. Взвесив все за и против, я выбрал второй вариант. Что из этого вышло и что я собираюсь получить вы можете узнать под катом.

![][2]
[Читать дальше →][3]

[1]: https://habrahabr.ru/post/181804/
[2]: https://habrastorage.org/files/2f3/4fe/812/2f34fe8129c6467090565bf264ff7291.png
[3]: https://habrahabr.ru/post/311822/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как спасти принцессу, используя 8(+45) языков программирования, в пятницу
habra.16
habrabot(difrex,1) — All
2016-10-10 16:00:03


![][1]

У вас есть JavaScript. Вы тратите несколько часов на сбор библиотек, настройку node и постройку фреймворка для замка. К тому времени, как вы разберетесь с фреймворком, форт уже будет заброшен, а принцесса переберется в другой замок.

![][2]

У вас есть С. У вас есть библиотека для замка и для принцессы. В атаку! Вы спасаете принцессу, ее собаку, весь ее гардероб и всё, что она когда-либо съела. Fuck, неужели я забыл null-terminator?
[Читать дальше →][3]

[1]: https://habrastorage.org/files/104/15a/a60/10415aa607864992ada77ccdfb90078f.jpg
[2]: https://habrastorage.org/files/9cb/aa6/b5d/9cbaa6b5dc454f75ac9e88289665eb86.jpg
[3]: https://habrahabr.ru/post/311994/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Intel Software Guard Extensions, серия учебных материалов. Часть 1, основы Intel SGX
habra.16
habrabot(difrex,1) — All
2016-10-10 17:30:04


Первая часть в серии учебных материалов по [Intel Software Guard Extensions (Intel SGX)][1] представляет собой краткое описание этой технологии. Дополнительные сведения см. в документации в составе [Intel Software Guard Extensions SDK][2]. Список всех учебных материалов в этой серии см. в статье [Представляем серию учебных материалов, посвященных Intel Software Guard Extensions][3].

[![][4]][5]
[Читать дальше →][6]

[1]: https://software.intel.com/en-us/sgx
[2]: https://software.intel.com/en-us/sgx-sdk
[3]: https://software.intel.com/en-us/articles/introducing-the-intel-software-guard-extensions-tutorial-series
[4]: https://habrastorage.org/files/295/e63/fdc/295e63fdcd184ca4bef75ed483a6dfa8.jpg
[5]: https://habrahabr.ru/company/intel/blog/312002/
[6]: https://habrahabr.ru/post/312002/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Autoscaling — инструмент автоматического вертикального масштабирования ресурсов (CPU|RAM|HDD)
habra.16
habrabot(difrex,1) — All
2016-10-10 17:30:04


#### В начале этого года у наших [облачных VDS][1] появился [публичный API][2]. Он позволяет клиенту делать практически все те же действия с облачными виртуальными машинами и дисками, что и в панели: создавать, удалять диски и ВМ, изменять тарифы и размер диска и тп.



![][3]

Вместе с появлением API появилась и идея на его основе реализовать систему мониторинга за ресурсами виртуальной машины (ВМ), работающую внутри машины, и автоматического увеличения/уменьшения необходимых ресурсов по необходимости — автоскейлинг (autoscaling, АS).
**Некоторые пояснения по AS**
Здесь стоит уточнить, что поскольку система AS основана на API, в ее задачи не входит мгновенное предоставление ресурсов по требованию, в момент появления необходимости в них, или угадывание/предсказывание будущей необходимости в ресурсах. Суть AS заключается в том, что он должен зафиксировать момент, когда можно с уверенностью сказать, что ресурсов текущего тарифного плана становится недостаточно для гарантированного**\*** и своевременного**\*\*** выполнения запущенных на виртуальной машине процессов, и автоматически перевести ВМ на следующий тариф.

> \*\*Своевременного — потому что, если выполнение запущенных процессов упирается в процессорный ресурс, то процессы так или иначе выполнятся. Но время их завершения становится непредсказуемым.
> \*Гарантированного, потому что если оперативная память ВМ близка к исчерпанию и на ВМ не настроен swap, то это означает, что близка ситуация, когда какой-то из запущенных на ВМ процессов будет аварийно завершен операционной системой, если суммарное потребление памяти всеми процессами превысит ее общий объем. Если же swap настроен, то пока он также не исчерпается, никто убит не будет, но быстродействие ВМ также сильно просядет, т.к. будет зависеть от скорости работы swap-раздела, которая в любом случае на порядок меньше, чем скорость работы оперативной памяти.

[Читать дальше →][4]

[1]: http://bit.ly/habr-vds
[2]: http://bit.ly/netangels-API
[3]: https://habrastorage.org/files/655/e0a/d1e/655e0ad1ea69430eae9f2e295dddefa3.jpg
[4]: https://habrahabr.ru/post/312174/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Разработка в InterSystems Caché в вашей любимой IDE
habra.16
habrabot(difrex,1) — All
2016-10-10 18:00:04


![][1] Здравствуйте! В InterSystems Caché есть вполне практичный способ разрабатывать решения без использования интегрированных в неё инструментов. Весь код проекта можно хранить в виде традиционных файлов с исходным кодом, редактировать в любимой среде разработки, индексировать системой контроля версий и одной командой выполнять импорт и компиляцию классов в СУБД Caché. Более того, это предоставляет возможность использовать любые другие внешние инструменты, например, для сборки и препроцессинга кода. В данной статье будет рассмотрен пока что не традиционный для Caché, но достаточно практичный цикл разработки проектов.
[Интересно? Продолжайте чтение][2]

[1]: https://habrastorage.org/files/c53/3ba/d02/c533bad0252346e1915a0b8090af200a.png
[2]: https://habrahabr.ru/post/311078/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Универсальная система управления данными на базе технологий скаффолдинга и платформы .NET Core
habra.16
habrabot(difrex,1) — All
2016-10-10 18:00:04


Несколько лет назад я реализовал ряд проектов, для управления которыми использовалась система управления основанная на [ASP.NET Dynamic Data][1]. В свое время эта система сэкономила достаточно много времени и ресурсов. Но как известно, в ИТ все развивается очень стремительно. Не так давно вышла в релиз платформа .NET Core, основным нововведением которой была поддержка кроссплатформенности. Это в свою очередь позволило мне мигрировать ряд небольших проектов, а также проектов, которые я поддерживаю на некоммерческой основе на бюджетные сервера от Digital Ocean, которые, как известно, поддерживают только ОС семейства Linux. Когда дело дошло до системы управления передо мной стоял выбор — с минимальным изменением кода портировать проект под Mono, или переписать с нуля использую новые возможности .NET Core. Взвесив все за и против, я выбрал второй вариант. Что из этого вышло и что я собираюсь получить вы можете узнать под катом.

![][2]
[Читать дальше →][3]

[1]: https://habrahabr.ru/post/181804/
[2]: https://habrastorage.org/files/2f3/4fe/812/2f34fe8129c6467090565bf264ff7291.png
[3]: https://habrahabr.ru/post/311822/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Прячем текст от посторонних глаз (пример на Scala)
habra.16
habrabot(difrex,1) — All
2016-10-10 19:30:04


После прочтения [этого поста][1], у меня возникла идея, а нельзя ли сделать некий текст полностью невидимым? Ниже описанный метод не претендует на эффективность по скорости работы или объёму данных.
[Читать дальше →][2]

[1]: https://habrahabr.ru/post/311518/
[2]: https://habrahabr.ru/post/312184/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Криптономикон: великий баян, привет из 90-х и лучшая книга о технарях
habra.16
habrabot(difrex,1) — All
2016-10-11 00:00:04


![][1]Эту книгу я перечитывал много раз, и в переводе, и в оригинале. Настолько много, что, рассказывая о ней, чувствую себя немного странно. Примерно как Капитан Очевидность, который вдруг осознал, что он Капитан. И тем не менее, рассказать о ней хочется, хотя бы потому, что роман Нила Стивенсона дает настолько уникальную смесь историй о войне, интернете, технологиях, программистах, шифровании и просто о людях, что задача найти что-то похожее обречена на полный провал. В том числе при попытках искать «что-то такое» в других книгах самого Стивенсона. Это заодно одно из лучших художественных произведений, затрагивающих тему информационной безопасности. И невероятно сильный мотиватор для изучения любых околокомпьютерных наук, даже если тебе кажется, что к этому столу ты безнадежно опоздал.

> Трудно научить криптографической безопасности даже умного человека. Особенно умного.
Названный одним из характерных представителей стиля «киберпанк», Нил Стивенсон в «Криптономиконе» возвращается к реальности дня сегодняшнего и даже уходит в прошлое (вплоть до древних греков), в попытке оценить роль «технарей» в современном обществе. Книга была опубликована в 1999 году, и 17 лет назад казалось, что автор испытывает чрезмерный оптимизм по поводу влияния компьютеров и интернета на человечество, рисует реалистичную, но в чем-то утопию. Сейчас так уже не кажется. Милые артефакты 20-го века вроде Windows NT и BeOS совершенно не мешают актуальности вселенной «Криптономикона». Технологии ушли вперед, но люди… Люди почти не изменились, как в хорошем смысле, так и в плохом.

Книжнообзорный этикет требует от меня предупредить читателя о спойлерах, хотя на самом деле их тут почти нет. Любая попытка втиснуть 900-страничный том, в котором две основные сюжетные линии и десяток побочных, в несколько страниц отзыва, к счастью, обречена на провал. Вместо спойлеров попробую оценить, насколько заложенные в книгу технические и социальные околокомпьютерные идеи реализовались на практике.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/a57/aea/c35/a57aeac359344659b8073f30da4974dc.jpg
[2]: https://habrahabr.ru/post/312234/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Высшая математика командной строки — GNU Octave
habra.16
habrabot(difrex,1) — All
2016-10-11 00:30:03


Как я и обещал, перехожу от [обзора программ замены калькулятора][1] к более серьезным инструментам. Если помните схему из предыдущего поста, то во второй категории находились табличные: `OpenOpffice / LibreOffice` сотоварищи. Эту партию мы можем смело пропустить, так как к командной строке она не относится, к тому же, среди читателей Хабра трудно найти человека, который бы в них не разбирался. Поэтому перехожу сразу к третьей категории.



**Специализированные математические программы, уровень студент+**


1. GNU `Ocatve`.
2. `Scilab`.
3. `Maxima`.
4. `R`.
5. `Sage`.

На первом месте в этом списке находится `Octave`, и это не случайность. Исследователи из Университета Мэриленда в США [провели сравнительный анализ математических вычислений][2], используя `MATLAB, Octave, SciLab` и `FreeMat` в простом сценарии и в сложном. В первом случае решали систему линейных уравнений а в втором — конечно-разностную дискретизацию уравнения Пуассона в двухмерном пространстве. Основной вывод — _GNU Octave справляется с задачами лучше остальных открытых математических пакетов, демонстрируя результат (страницы 23 и 25) сопоставимый с матлабовским_.

[Читать дальше →][3]

[1]: https://habrahabr.ru/post/310566/
[2]: http://userpages.umbc.edu/~gobbert/papers/SharmaGobbertTR2010.pdf
[3]: https://habrahabr.ru/post/312004/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] «Flaskr» — введение во Flask, разработка через тестирование (TDD) и jQuery
habra.16
habrabot(difrex,1) — All
2016-10-11 10:30:03


Flask – это замечательный микро веб фреймворк, основанный на Python. Flaskr – это миниблог, который описан в [официальном руководстве][1] по Flask. Я продирался через это руководство больше раз, чем могу в этом признаться. Тем не менее, я хотел бы взять это руководство для следующего шага, добавив в него разработку через тестирование (_test driven development_) и немножко jQuery.

[Читать дальше →][2]

[1]: http://flask.pocoo.org/docs/tutorial/introduction/
[2]: https://habrahabr.ru/post/312110/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Установка принтеров Canon серии LBP в Ubuntu
habra.16
habrabot(difrex,1) — All
2016-10-11 10:30:03


Здравствуйте. После выхода в свет Ubuntu 12.04 в состав ее сборки вошли пакеты драйверов для принтеров Canon серии LBP. Но, все же при установке принтера в системе, драйвер отказывается работать корректно.

Всем заинтересованным данной проблемой прошу ознакомиться с инструкцией, в ходе выполнения которой все же удалось заставить фунционировать принтер модели Canon LBP 3010.

Инструкция так же будет справедлива и для других принтеров Canon следующих моделей:

> LBP-1120, LBP-1210, LBP2900, LBP3000, LBP3050/LBP3018/LBP3010, LBP3150/LBP3108/LBP3100, LBP3200, LBP3210, LBP3250, LBP3300, LBP3310, LBP3500, LBP5000, LBP5050, LBP5100, LBP5300, LBP6018/LBP6000, LBP6300dn, LBP7200C, LBP9100Cdn. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/312228/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Отзыв на книгу Growing Object-Oriented Software, Guided by Tests
habra.16
habrabot(difrex,1) — All
2016-10-11 10:30:03


Эта статья — ревью на книгу [«Growing Object-Oriented Software, Guided by Tests»][1] (GOOS для краткости). В ней я покажу, как можно имплементировать проект-пример из книги без использования моков (mocks).

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

Версия на английском: [ссылка][2].
[Читать дальше →][3]

[1]: https://www.amazon.com/gp/product/0321503627/
[2]: http://enterprisecraftsmanship.com/2016/07/05/growing-object-oriented-software-guided-by-tests-without-mocks/
[3]: https://habrahabr.ru/post/312248/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Эволюция тестового окружения: Интервью с Игорем Хролом (Toptal) и Антоном Семенченко (COMAQA.BY и CoreHard)
habra.16
habrabot(difrex,1) — All
2016-10-11 13:00:04


![][1]



Мы не любим ждать в очереди, хотим сделать заказ онлайн, мы не готовы покупать билет в кассе, пусть все будет в приложении, в электронном виде. И вот тут есть важное «Но»! Мы всё хотим здесь и сейчас, но чтобы это работало без сбоев, как часы. Доставку пиццы осуществили вовремя, место в кинотеатре совпало с полученным в подтверждении. Что во всем этом многообразии приложений и сервисов играет одну из ключевых ролей?

Конечно — это тестовое окружение, без чего невозможен быстрый выпуск качественного продукта! Современные инструменты тестирования ворвались в нашу жизнь как ураган и буквально за несколько лет изменили наши возможности. Мы семимильными шагами освоили виртуализацию и контейнеризацию, попробовали линейку Selenium-а, спорили о преимуществах и недостатках Docker-а.

Зачем все это было нужно и к чему мы пришли?
Какое будущее нас ждет?

Поговорим «за тестирование» с гуру профессии. Пройдёмся от А до Я по инструментарию. Помогут нам в этом Игорь Хрол и Антон Семенченко.

Запасаемся кофе, чаем, другими напитками и начинаем. Беседа будет долгой.

![][2]Итак, Игорь Хрол — специалист по автоматизации тестирования в Toptal. Игорь имеет большой опыт работы с большинством популярных инструментов (Selenium, HP QTP, TestComplete, JMeter).
[Читать дальше →][3]

[1]: https://habrastorage.org/files/449/c31/c27/449c31c2797342bbbf2cf82c60fab673.jpg
[2]: https://habrastorage.org/files/206/855/5f2/2068555f25164066bd06f3764d573f53.jpeg
[3]: https://habrahabr.ru/post/312266/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Разбор задач первого этапа отбора в школу программистов HeadHunter 2016
habra.16
habrabot(difrex,1) — All
2016-10-11 15:30:04


В сентябре 2016 прошел очередной ежегодный отбор молодых специалистов, студентов и выпускников инженерных и математических специальностей в [школу программистов HeadHunter][1].

Для поступления предлагалось пройти несколько этапов, решая логические/математические задачи.
Варианты решения некоторых типовых задач первого этапа я и попытаюсь разобрать в данной статье.
PS: Для удобства быстрого написания и отладки кода подсчетов использовался JavaScript.

Пока писал статью, смотрю, в песочнице меня уже [опередили по теме][2]. Однако, у меня рассмотрены другие типы задач, только одна совпала про степени (но, судя по комментариям, не в обиду автору — решение неверное).
[Читать дальше →][3]

[1]: https://school.hh.ru/
[2]: https://habrahabr.ru/post/311908/
[3]: https://habrahabr.ru/post/312278/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] 4 главных урока, которые мы усвоили при запуске нашего первого сервиса
habra.16
habrabot(difrex,1) — All
2016-10-11 15:30:04


![][1]

Прошло три недели, как мы запустили на сайте Я люблю ИП [новый сервис][2], который помогает сравнить тарифы банков для бизнеса. Сегодня мы хотим рассказать, как он появился, от идеи до разработки, и поделиться выводами о запуске продукта и первыми результатами.



Функционал сервиса простой: он рассчитывает стоимость обслуживания в разных банках исходя из заданных параметров, сравнивает тарифы между собой и сортирует банки по стоимости в год. Но всё осложняется тем, что у нас статичный сайт на Jekyll.


[Читать дальше →][3]

[1]: https://habrastorage.org/files/9d1/516/e56/9d1516e56ecf4d87ad4da5817e91ff69.png
[2]: http://www.iloveip.ru/banki/
[3]: https://habrahabr.ru/post/312232/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] ГОСТ Р 34.12 '15 на SSE2, или Не так уж и плох Кузнечик
habra.16
habrabot(difrex,1) — All
2016-10-11 23:00:04


На Хабре уже как минимум дважды упоминался новый отечественный стандарт блочного шифрования ГОСТ Р 34.12 2015 «Кузнечик», [ru\_crypt][1] в своем посте рассмотрел основные механизмы и преобразования нового стандарта, а [sebastian\_mg][2] занимался пошаговой трассировкой базового преобразования. Но многие вопросы остались без ответа. Насколько быстр новый ГОСТ? Можно ли его оптимизировать, эффективно реализовать, ускорить аппаратно?



[![GOST R 34.12 2015 with SSE2][3]][4]

[А если можно, то как?][5]

[1]: https://habrahabr.ru/users/ru_crypt/
[2]: https://habrahabr.ru/users/sebastian_mg/
[3]: https://habrastorage.org/files/f92/0bc/2d1/f920bc2d148a4ace90609775e2b1d276.jpg
[4]: https://habrahabr.ru/post/312224/
[5]: https://habrahabr.ru/post/312224/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] NooLite + Raspberry Pi + Telegram = умный дом
habra.16
habrabot(difrex,1) — All
2016-10-12 00:00:04


2 года назад передо мной встала задача реализовать удаленное управление обогревательными приборами в своем загородном доме. В данной статье я хочу поделиться моим вариантом автоматизации и удаленного управления, к которому я в итоге пришел. Постараюсь охватить весь процесс и подробности создания этого хобби-проекта и поделиться всеми сложностями, с которыми пришлось столкнуться. В процессе реализации, как видно из названия статьи, я использовал Noolite (о нем расскажу в статье), Telegram и совсем немного Python.


![image][1][Читать дальше →][2]

[1]: https://habrastorage.org/files/e4c/7b1/a22/e4c7b1a22d2f498685038984fdb8ae69.png
[2]: https://habrahabr.ru/post/312328/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Сериализация данных или диалектика общения: простая сериализация
habra.16
habrabot(difrex,1) — All
2016-10-12 00:30:04


![image][1] Доброго времени суток, уважаемые. В данной статье мы рассмотрим наиболее популярные форматы сериализации данных и проведем с ними небольшое тестирование. Это первая статья на тему сериализации данных и в ней мы рассмотрим простые сериализаторы, которые не требуют от разработчика больших изменений в коде для их интеграции.

Рано или поздно, но вы, как и наша компания, можете столкнуться с ситуацией, когда количество используемых в вашем продукте сервисов, резко возрастает, да и все они к тому же оказываются очень «говорливыми». Произошло ли это из-за перехода на «хайповую» нынче микросервисную архитектуру или вы просто получили пачку заказов на небольшие доработки и реализовали их кучкой сервисов — неважно. Важно то, что начиная с этого момента, ваш продукт обзавелся двумя новыми проблемами — что делать с увеличившимся количеством данных, гоняемых между отдельными сервисами, и как не допустить хаоса при разработке и поддержке такого количества сервисов. Немного поясню про вторую проблему: когда количество ваших сервисов вырастает до сотни или более, их уже не может разрабатывать и сопровождать одна команда разработчиков, следовательно, вы раздаете пачки сервисов разным командам. И тут главное, чтобы все эти команды использовали один формат для своих RPC, иначе вы столкнетесь с такими классическими проблемами, когда одна команда не может поддерживать сервисы другой или просто два сервиса не стыкуются между собой без обильного уплотнения места стыка костылями. Но об этом мы поговорим в отдельной статье, а сегодня мы обратим внимание на первую проблему возросших данных и подумаем, что мы можем с этим сделать. А делать нам в силу нашей православной лени ничего не хочется, а хочется добавить пару строчек в общий код и получить сразу профит. С этого мы и начнем в данной статье, а именно — рассмотрим сериализаторы, встраивание которых не требует больших изменений в нашем прекрасном RPC.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/9e6/b38/ee8/9e6b38ee8f680a201089e45f564bc4ab.jpg
[2]: https://habrahabr.ru/post/312320/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Python для математических вычислений
habra.16
habrabot(difrex,1) — All
2016-10-12 02:00:04


![image][1] Экосистема языка python стремительно развивается. Это уже не просто язык общего назначения. С его помощью можно успешно разрабатывать веб-приложения, системные утилиты и много другое. В этой заметке мы сконцентрируемся все же на другом приложении, а именно на научных вычислениях.



Мы попытаемся найти в языке функции, которые обычно требуем от математических пакетов. Рассмотрим сильные и слабые стороны идеи использования python вместо MATLAB, Maple, Mathcad, Mathematica.

[Читать дальше →][2]

[1]: https://habrastorage.org/files/294/a83/a21/294a83a2157442f89e4f8b945ba8bebf.png
[2]: https://habrahabr.ru/post/312268/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как мы сделали автоматизацию перевода на 29 локалей: сборка зоопарка в стройную систему
habra.16
habrabot(difrex,1) — All
2016-10-12 11:00:04


![][1]
Acronis — международная ИТ-компания, которая старается донести свою миссию до каждого человека в самых отдалённых уголках планеты, и, чтобы стать понятней и доступней, мы стараемся быть локализованными не только в сборках наших продуктов, но со стороны наших Web-систем. Это пост о том, как нам нескучно живётся с 29 локалями.
![][2]

[Читать дальше →][3]

[1]: https://habrastorage.org/files/015/a4b/d42/015a4bd4250d4d559d106065230cc0fb.png
[2]: https://habrastorage.org/files/68b/440/b27/68b440b27ecf4f12ba7facd75870a5d6.png
[3]: https://habrahabr.ru/post/312312/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Маленькая архитектура
habra.16
habrabot(difrex,1) — All
2016-10-12 13:30:04


![][1]



Я хочу стать архитектором ПО:



_Это хорошая цель для разработчика_



Я хочу управлять командой и принимать важные решения о базах данных, фреймворках и веб-сервисах и все такое.



_Хм. Ну, тогда ты вовсе не хочешь стать архитектором ПО._



Конечно хочу! Я хочу быть тем человеком, который принимает все важные решения.



_Это хорошо, но ты не перечислил важных решений. Ты перечислил решения, не играющие особой роли._



В смысле? База данных – это не важное решение? Знаешь, сколько мы денег тратим на них?



_Скорее всего слишком много. И нет, база данных – это не одно из самых важных решений._



Как можно такое говорить? База данных находится в самом центре системы! Там собраны все данные, они сортируются, индексируются и к ним осуществляется доступ. Без нее не будет системы!



_База данных это просто устройство ввода-вывода. Так получилось, что она предоставляет некоторые полезные инструменты для сортировки, запросов и отчетов, но все это – вспомогательные аспекты в рамках системной архитектуры._

[Читать дальше →][2]

[1]: https://habrastorage.org/files/1f8/6bb/815/1f86bb815e4c4eee9c15ad82d0c93f7c.jpg
[2]: https://habrahabr.ru/post/312366/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] ASP.NET Core: Реализация шаблонов проектирования
habra.16
habrabot(difrex,1) — All
2016-10-12 18:00:04


В этой статье мы поговорим о шаблонах проектирования «Единица работы» и «Репозиторий» в контексте тестового веб-приложения на ASP.NET Core (с использованием встроенного DI), которое мы с вами вместе и разработаем. В результате мы получим две реализации взаимодействия с хранилищем: настоящую, на основе базы данных SQLite, и фейковую, для быстрого тестирования, на основе перечисления в памяти. Переключение между этими двумя реализациями будет выполняться изменением одной строчки кода.

![][1]
[Читать дальше →][2]

[1]: https://habrastorage.org/files/82a/1a7/7bc/82a1a77bc63f4ab08c075cefd0ae489d.jpg
[2]: https://habrahabr.ru/post/312214/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Хранение пользовательских паролей в Google Chrome на Android
habra.16
habrabot(difrex,1) — All
2016-10-12 18:30:04


![image][1]


Привет Хабр! Я молодой разработчик, специализирующийся на Android-разработке и информационной безопасности. Не так давно я задался вопросом: каким образом Google Chrome хранит сохраненные пароли пользователей? Анализируя информацию из сети и файлы самого хрома (особенно информативной была [эта][2] статья), я обнаружил определенные сходства и отличия в реализации сохранения паролей на разных платформах, и для демонстрации написал приложения для извлечения паролей из Android версии браузера.
[Читать дальше →][3]

[1]: http://cdn.trendblog.net/wp-content/uploads/2016/03/chrome-password.png
[2]: https://habrahabr.ru/post/134982/
[3]: https://habrahabr.ru/post/312470/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] ASP.NET Core: Пример реализации шаблонов проектирования Единица работы и Репозиторий
habra.16
habrabot(difrex,1) — All
2016-10-12 18:30:04


В этой статье мы поговорим о шаблонах проектирования «Единица работы» и «Репозиторий» в контексте тестового веб-приложения на ASP.NET Core (с использованием встроенного DI), которое мы с вами вместе и разработаем. В результате мы получим две реализации взаимодействия с хранилищем: настоящую, на основе базы данных SQLite, и фейковую, для быстрого тестирования, на основе перечисления в памяти. Переключение между этими двумя реализациями будет выполняться изменением одной строчки кода.

![][1]
[Читать дальше →][2]

[1]: https://habrastorage.org/files/e37/15b/27d/e3715b27d5e74861a7ac4d70a25444c7.jpg
[2]: https://habrahabr.ru/post/312214/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как писать меньше кода для MR, или Зачем миру ещё один язык запросов? История Yandex Query Language
habra.16
habrabot(difrex,1) — All
2016-10-12 19:00:03


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

[![][1]][2]

Очень скоро мы поняли, что тут мог бы здорово помочь общий высокоуровневый язык запросов, который бы предоставлял единообразный доступ к уже имеющимся системам, а также избавлял от необходимости заново реализовывать типовые абстракции на низкоуровневых примитивах, принятых в этих системах. Так началась разработка Yandex Query Language (YQL) — универсального декларативного языка запросов к системам хранения и обработки данных. (Сразу скажу, что мы знаем, что это уже не первая штука в мире, которая называется YQL, но мы решили, что это делу не мешает, и оставили название).

В преддверии нашей [встречи][3], которая будет посвящена инфраструктуре Яндекса, мы решили рассказать о YQL читателям Хабрахабра.

[Читать дальше →][4]

[1]: https://habrastorage.org/files/2a9/e86/211/2a9e862113944adcbfee24e09b96af48.jpg
[2]: https://habrahabr.ru/company/yandex/blog/312430/
[3]: https://events.yandex.ru/events/meetings/15-oct-2016/?utm_source=habr&utm_medium=articles&utm_campaign=Infr
[4]: https://habrahabr.ru/post/312430/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Разработка заглушек бизнес-процесса на языке BPEL на основе Oracle SOA Suite и Weblogic
habra.16
habrabot(difrex,1) — All
2016-10-12 19:30:03


В этой статье я расскажу как реализовать заглушки веб-сервисов бизнес-процесса на BPEL используя Oracle SOA Suite и сервер Weblogic



### Задача



Есть проект по нагрузочному тестированию одной системы. В схеме взаимодействия между серверами есть внешние системы, которые не участвуют в объекте тестирования — надо их заменить эмуляторами или заглушками. Протокол SOAP. Композиты на BPEL. Стенда нет. Ужасно интересно!



[![][1]][2]

[Читать решение][3]

[1]: https://habrastorage.org/files/ae6/b61/c80/ae6b61c803164129907b8d53846684be.jpg
[2]: http://habrahabr.ru/company/bellintegrator/blog/307132/
[3]: https://habrahabr.ru/post/307132/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Факторное моделирование с помощью нейронной сети
habra.16
habrabot(difrex,1) — All
2016-10-12 19:30:03


_В статье рассматривается факторное моделирование с помощью метода факторизации на базе нейронной сети и алгоритма обратного распространения ошибки. Этот метод факторизации является альтернативой классическому факторному анализу. Данный метод был усовершенствован для проведения факторного вращения и получения интерпретируемого решения. Факторная структура, полученная с помощью данного метода факторизации, находятся в соответствии с результатами факторного моделирования посредством других методов._
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/312420/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Обзор топологий глубоких сверточных нейронных сетей
habra.16
habrabot(difrex,1) — All
2016-10-12 20:30:03


Это будет длиннопост. Я давно хотел написать этот обзор, но [sim0nsays][1] меня [опередил][2], и я решил выждать момент, например как появятся [результаты ImageNet’а][3]. Вот момент настал, но имаджнет не преподнес никаких сюрпризов, кроме того, что на первом месте по классификации находятся китайские эфэсбэшники. Их модель в [лучших традициях кэгла][4] является ансамблем нескольких моделей (Inception, ResNet, Inception ResNet) и обгоняет победителей прошлого всего на полпроцента (кстати, публикации еще нет, и есть мизерный шанс, что там реально что-то новое). Кстати, как видите из результатов имаджнета, что-то пошло не так с добавлением слоев, о чем свидетельствует рост в ширину архитектуры итоговой модели. Может, из нейросетей уже [выжали][5] все что можно? Или NVidia слишком [задрала цены][6] на GPU и тем самым тормозит развитие ИИ? [Зима][7] близко? В общем, на эти вопросы я тут не отвечу. Зато под катом вас ждет много картинок, слоев и танцев с бубном. Подразумевается, что вы уже знакомы с алгоритмом обратного распространения ошибки и понимаете, как работают основные строительные блоки сверточных нейронных сетей: свертки и пулинг.

[Читать дальше →][8]

[1]: https://habrahabr.ru/users/sim0nsays/
[2]: https://habrahabr.ru/users/sim0nsays/topics/
[3]: http://image-net.org/challenges/LSVRC/2016/results
[4]: http://mlwave.com/kaggle-ensembling-guide/
[5]: https://www.youtube.com/watch?v=E1XMjIXWKtA
[6]: https://www.overclockers.ru/hardnews/75464/superkompjuter-nvidia-dgx-1-na-gp100-v-kartinkah.html
[7]: https://en.wikipedia.org/wiki/AI_winter
[8]: https://habrahabr.ru/post/311706/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Как собрать биграммы для корпуса любого размера на домашнем компьютере
habra.16
habrabot(difrex,1) — All
2016-10-12 23:30:03


В современной компьютерной лингвистике биграммы, или в общем случае n-граммы, являются важным статистическим инструментом. В статье мы расскажем с какими трудностями можно столкнуться при расчёте биграмм на большом корпусе текстов и приведём алгоритм, который можно использовать на любом домашнем компьютере.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/312490/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 ... 133