Pull to refresh
38
0
Send message

Dependency injection

Reading time5 min
Views336K

От переводчика


Представляемый вашему вниманию перевод открывает серию статей от Jakob Jenkov, посвященных внедрению зависимостей, или DI. Примечательна серия тем, что в ней автор, анализируя понятия и практическое применение таких понятий как «зависимость», «внедрение зависимостей», «контейнер для внедрения зависимостей», сравнивая паттерны создания объектов, анализируя недостатки конкретных реализаций DI-контейнеров (например, Spring), рассказывает, как пришел к написанию собственного DI-контейнера. Таким образом, читателю предлагается познакомиться с довольно цельным взглядом на вопрос управления зависимостями в приложениях.

В данной статье сравнивается подход к настройке объектов изнутри и извне (DI). По смыслу настоящая статья продолжает статью Jakob Jenkov Understanding Dependencies, в которой дается определение самому понятию «зависимости» и их типам.


Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments13

Все о Pimcore

Level of difficultyMedium
Reading time6 min
Views10K

Pimcore — мощная open‑source MDM (и не только) система, с которой у меня накопился немалый опыт. В компании SVK.Digital, в которой я являюсь техническим директором, мы занимаемся заказной разработкой и автоматизацией бизнеса, и уже несколько лет внедряем PIMcore на крупных предприятиях. В этой статье я хотел поделиться своим опытом, познакомив читателя с возможностями этого приложения.

Мне даже немного обидно, что в рунете незаслуженно мало информации об этом замечательном продукте. Хоть его и можно обозвать неприличным словом low‑code в какой‑то мере, но мне даже как программисту нравится работать с Pimcore (дальше по тексту расскажу о важных для меня особенностях), да и простор для программирования огромный.

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments6

MobileNet: меньше, быстрее, точнее

Reading time5 min
Views61K
Если пять лет назад нейронная сеть считалась «тяжеловесным» алгоритмом, требующим железа, специально предназначенного для высоконагруженных вычислений, то сегодня уже никого не удивить глубокими сетями, работающими прямо на мобильном телефоне.

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

В этой статье мы поговорим о MobileNet, передовой архитектуре сверточной сети, позволяющей делать всё это и намного больше.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments5

GeekBrains, который мы потеряли

Reading time9 min
Views21K

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

Читать далее
Total votes 33: ↑32 and ↓1+43
Comments14

Word2vec в картинках

Reading time14 min
Views145K


«Во всякой вещи скрыт узор, который есть часть Вселенной. В нём есть симметрия, элегантность и красота — качества, которые прежде всего схватывает всякий истинный художник, запечатлевающий мир. Этот узор можно уловить в смене сезонов, в том, как струится по склону песок, в перепутанных ветвях креозотового кустарника, в узоре его листа.

Мы пытаемся скопировать этот узор в нашей жизни и нашем обществе и потому любим ритм, песню, танец, различные радующие и утешающие нас формы. Однако можно разглядеть и опасность, таящуюся в поиске абсолютного совершенства, ибо очевидно, что совершенный узор — неизменен. И, приближаясь к совершенству, всё сущее идёт к смерти» — Дюна (1965)

Я считаю, что концепция вложений (embeddings) — одна из самых замечательных идей в машинном обучении. Если вы когда-нибудь использовали Siri, Google Assistant, Alexa, Google Translate или даже клавиатуру смартфона с предсказанием следующего слова, то уже работали с моделью обработки естественного языка на основе вложений. За последние десятилетия произошло значительное развитие этой концепции для нейронных моделей (последние разработки включают контекстуализированные вложения слов в передовых моделях, таких как BERT и GPT2).
Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments16

Государство уничтожает классифайды

Reading time2 min
Views93K

"Зарегулировать -> Обесценить -> Передать нужным людям". Такую такику государство выбрало в отношении крупных классифайдов. Самый крупный, конечно, Авито, но достанется и другим - ЦИАНУ и Юле например.

Сперва Горелкин придумал, что надо изгнать всех иностранцев из капитала компаний (пострадает, например, ЦИАН). И забрать себе их персональные данные - для этого сервисы принудят поставить государственный счетчик, собирающий данные пользователей. Напомню, закон о счётчике (я писал в своём канале подробно о нём) прямо позволяет "создавать государственные сервисы" на базе таких данных. Закон приняли в первом чтении 5 июля.

Но этого показалось мало - в пятницу экстренно внесли и уже приняли в первом чтении совсем радикальный закон. Он разрешит публиковать цифровые объявления ТОЛЬКО через нового "государственного оператора объявлений". Это ставит крест на бизнесе Авито, Юлы и других. Причина - защитить безопасность страны. Она страдает, потому что можно разместить вредную информацию. Мотивация у закона в пояснительной записке именно такая.

Автора закона, единоросса Кирьянова, четыре раза спросили о примерах таких вредных объявлений. Он не назвал ни одного, но сказал, что "надо действовать превентивно". Кроме того, зацените комментарий автора закона - "неизвестно, где обрабатываются данные россиян, но уверен, что они (данные) пересекают границу. Неизвестно, «что из анализа больших данных будет … достоянием недружественных государств».

Это притом, что все данные Авито хранятся в России, а несколько принятых его же партией законов и так УЖЕ запрещают передавать передавать данные за границу. А закон Горелкина и так принуждал классифайды отвечать за контент. Очевидно, что автор просто не в курсе, что он собрался регулировать.

Читать далее
Total votes 338: ↑319 and ↓19+392
Comments346

21 канал на YouTube, где вы можете бесплатно изучить ИИ, машинное обучение и Data Science

Reading time5 min
Views26K

Мы уже не раз делились в своем блоге полезными материалами для развития (их список можно найти в конце этого поста). Сегодня продолжаем это начинание и специально перед стартом новых потоков курсов по Data Analytics и Data Science представляем подборку YT-каналов по Data Science, искусственному интеллекту и машинному обучению, существование многих из которых неочевидно: например, представлен канал ArXiv Insights, посвящённый научным работам, и Google Cloud Platform.
Приятного чтения!
Total votes 18: ↑14 and ↓4+17
Comments15

Рекомендательные системы, основанные на графах

Reading time9 min
Views7.2K
Всем привет! Меня зовут Александра Зенченко, я Lead Software Engineer в ЕРАМ. Занимаюсь разработкой решений, которые помогают нашим клиентам повышать эффективность работы и, в основном, включают в себя часть машинного обучения. В последнем проекте я работала над построением рекомендательной системы в сфере логистики. Хочу поделиться своим опытом и рассказать, как при помощи алгоритмов помочь довезти груз из Мюнхена в Женеву.

image
Читать дальше →
Total votes 9: ↑8 and ↓1+10
Comments7

Искусственный интеллект в области юриспруденции

Reading time31 min
Views29K

Введение


Тема искусственного интеллекта сегодня — одна из самых обсуждаемых. Перспектива «обеспечить монополию в сфере искусственного интеллекта и стать властелином мира» заставила всех соревноваться в данной области. IT-гиганты, финансовые компании, бизнес-аналитики, университеты и научное сообщество предлагают собственное видение инструментов и методологии решения основных задач при их создании. Однако результаты удручают, особенно в сфере LegalTech.



Что такое настоящий LegalTech, а что скрывается под громкими рекламными слоганами? Почему никому из IT-разработчиков не удалось создать действительно прорывной и функциональный продукт, близкий к цифровому юристу? Какой подход позволил нам решить данные задачи и существенно приблизиться к созданию настоящего юридического искусственного интеллекта?

Читать дальше →
Total votes 9: ↑8 and ↓1+9
Comments17

Выработка уникальных идей для Data Science-проектов за 5 шагов

Reading time8 min
Views8.3K
Вероятно, самое сложное в любом Data Science-проекте — это придумать оригинальную, но реализуемую идею. Специалист, который ищет такую идею, легко может попасться в «ловушку наборов данных». Он тратит многие часы, просматривая существующие наборы данных и пытаясь выйти на новые интересные идеи. Но у такого подхода есть одна проблема. Дело в том, что тот, кто смотрит лишь на существующие наборы данных (c Kaggle, Google Datasets, FiveThirtyEight), ограничивает свою креативность, видя лишь небольшой набор задач, на которые ориентированы изучаемые им наборы данных.

Иногда мне нравится изучать интересующие меня наборы данных. Если я построю удачную модель для данных, взятых с Kaggle, для которых уже создано бесчисленное множество моделей, практической ценности в этом не будет, но это, по крайней мере, позволит мне научиться чему-то новому. Но дата-сайентисты — это люди, которые стремятся создавать что-то новое, уникальное, что-то такое, что способно принести миру реальную пользу.



Как вырабатывать новые идеи? Для того чтобы найти ответ на этот вопрос, я совместила собственный опыт и результаты исследований креативности. Это привело к тому, что мне удалось сформировать 5 вопросов, ответы на которые помогают находить новые идеи. Тут же я приведу и примеры идей, найденных благодаря предложенной мной методике. В процессе поиска ответов на представленные здесь вопросы вы пройдёте по пути создания новых идей и сможете задействовать свои креативные возможности на полную мощность. В результате у вас будут новые уникальные идеи, которые вы сможете реализовать в ваших Data Science-проектах.
Читать дальше →
Total votes 22: ↑21 and ↓1+34
Comments2

Чего я не знал о CSS

Reading time6 min
Views34K
Рисовать сайты я учился по старинке: глядя на исходный код и пытаясь воспроизвести увиденное. Плюс взял странную книгу для невидимых вещей (типа PHP/MySQL) — и вперёд.

Это ещё в 1999 году, когда мы писали <font size="4" color="#000000"> и т. д., а DHTML был модным.

Когда появился CSS, мой подход к обучению не отличался. Но я действительно жалею, что не потратил время, чтобы изучить CSS должным образом — и пропустил много фундаментальных понятий.

Вот некоторые вещи, которых я не знал, но хотел бы узнать раньше.
Читать дальше →
Total votes 31: ↑25 and ↓6+27
Comments30

27 отличных open source-инструментов для веб-разработки

Reading time3 min
Views51K


Перевод 27 Amazing Web Development Tools for the Past Year (v.2018)

В 2017-м мы сравнили около 7 500 open source-инструментов для веб-разработки, из которых выбрали 27 лучших (0,4%). Это крайне конкурентный список, в который вошли инструменты, библиотеки и проекты, опубликованные в течение 2017-го. Mybridge AI оценивает их качество на основании популярности, заинтересованности и новизне. Чтобы было понятно, у выбранных продуктов среднее количество звёзд на Github — 5260.

Open source-инструменты могут почти даром повысить вашу продуктивность. Также вы можете чему-то научиться, читая исходный код и создавая что-нибудь на основе этих проектов. Так что рекомендуем уделить время и поэкспериментировать с инструментами из нашей подборки, возможно, какие-то из них прошли мимо вас.
Читать дальше →
Total votes 70: ↑55 and ↓15+40
Comments10

Приглашаем на Всероссийскую студенческую олимпиаду по направлению «Информационная безопасность» в МИФИ

Reading time1 min
Views2.2K

С 20 по 22 апреля 2018г. в Национальном исследовательском ядерном университете «МИФИ» пройдет очередная Всероссийская студенческая олимпиада по информационной безопасности. Олимпиада проходит при поддержке Минобрнауки России, ФСТЭК России, а также УМО вузов по информационной безопасности.

По ежегодной традиции спонсором конференции выступает НПО «Эшелон», также наши эксперты принимают непосредственное участие в разработке конкурсных заданий по этичному хакингу и входят в судейское жюри.

К участию в Олимпиаде приглашаются студенты высших учебных заведений в возрасте от 18 до 25 лет на момент проведения мероприятия, обучающиеся по программам бакалавриата, специалитета, магистратуры укрупненных групп специальностей и направлений подготовки 10.00.00 и 09.00.00, серьезно интересующиеся вопросами защиты информации и прошедшие конкурсный отбор по месту учебы.
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments0

Тест на проникновение с помощью Metasploit Framework: базовое руководство для системного администратора

Reading time13 min
Views103K

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


Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments12

Отчет по пентесту: краткое руководство и шаблон

Reading time4 min
Views20K

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


Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments4

Профессиональное тестирование на проникновение: удел настоящих гиков-фанатов командной строки или уже нет?

Reading time9 min
Views49K

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


Читать дальше →
Total votes 22: ↑12 and ↓10+2
Comments10

Загрузка доверенной среды или лёгкий путь к паранойе в IT

Reading time8 min
Views13K


Несмотря на несколько академичное название, тема носит вполне себе практичный характер.
Когда мы видим заголовки новостей об очередном успешном взломе чатов Telegram или WhatsApp (ЦРУ, Иранскими спецслужбами, Zimperium – нужное подчеркнуть), людям достаточно часто приходится объяснять, что компрометация операционной системы или аккаунта пользователя не является синонимом слабости защиты самого приложения, и это не является поводом отказаться от пользования своим любимым мессенджером, т.к. на его месте может оказаться без принципиальной разницы любой другой.


А если вы, например, загрузившись с флэшки «перезабиваете» пароли администратора любой своей Windows-машины, это отнюдь не говорит о чудовищных дырах в «мастдае», а о вас – как о супер-хакере, взломавшем детище Microsoft.


Хотелось бы немного прояснить вопросы среды, компонентов доверия и угроз, чтобы создать целостную картинку и разобраться в том, чего мы ждём в плане безопасности от операционной системы, BIOS и любимого чат-приложения, дабы не перекладывать ответственность с больной головы на здоровую.


Итак, начнём с практики, есть следующий кейс:

Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments13

Как «пробить» человека в Интернет: используем операторы Google и логику

Reading time9 min
Views946K

В очередной статье нашего цикла публикаций, посвященного интернет-разведке, рассмотрим, как операторы продвинутого поиска Google (advanced search operators) позволяют быстро находить необходимую информацию о конкретном человеке.


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


Читать дальше →
Total votes 122: ↑105 and ↓17+88
Comments108

Сертификаты CISSP, CISA, CISM: как получить и стоит ли овчинка выделки?

Reading time10 min
Views100K
А почему у тебя на визитке написано «КИСА»?
Ты вроде серьезный человек…
(из разговора с приятелем)

Мы все знаем, что нас встречают всегда по одежке, но не всегда задумываемся, а что именно стоит за этим словом «одежка». «Одежкой» являются наши атрибуты, которые позволяют другим людям легко вписать нас в свое представление о мире или, проще говоря, навесить на нас ярлык. Соответственно, управляя своими атрибутами, мы можем управлять тем, как нас воспринимают другие люди. В среде специалистов по информационной безопасности устоявшимися атрибутами, позволяющие другим причислять вас к серьезным ИБ-специалистам, являются такие статусы, как CISSP, CISA, CISM.

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


Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments28

Обнаружение в коде дефекта «разыменование нулевого указателя»

Reading time4 min
Views23K
Этой статьей мы открываем серию публикаций, посвященных обнаружению ошибок и уязвимостей в open-source проектах с помощью статического анализатора кода AppChecker. В рамках этой серии будут рассмотрены наиболее часто встречающиеся дефекты в программном коде, которые могут привести к серьезным уязвимостям. Сегодня мы остановимся на дефекте типа «разыменование нулевого указателя».



Разыменование нулевого указателя (CWE-476) представляет собой дефект, когда программа обращается по некорректному указателю к какому-то участку памяти. Такое обращение ведет к неопределенному поведению программы, что приводит в большинстве случаев к аварийному завершению программы.
Читать дальше →
Total votes 38: ↑28 and ↓10+18
Comments92

Information

Rating
Does not participate
Registered
Activity