Рубрика «Программирование» - 661

Интервью с основателем стартапа Petiole Андреем Селезнёвым - 1

Привет всем читателям Geektimes. Сегодня у нас появилась возможность поговорить о “живом” развитии своих собственных идей с основателем стартапа Petiole Андреем Селезнёвым. Мы постараемся обойти стороной победные реляции и внушения о том, как это всё легко (или тяжело) и как приятно чувствовать на себе внимание прессы.

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

Мы бы хотели избежать рекламных заявлений, но сказать пару слов придётся. Речь идёт о технически специализированном приложении Petiole, которое при помощи камеры мобильного телефона позволяет определить площадь листьев растений и содержание хлорофилла.
Читать полностью »

Android Data Binding for RecyclerView: flexible way - 1

Со времени первого анонса на Google IO 2015 новой библиотеки Data Binding Library прошло немало времени. Появилось много примеров, много гайдов и много исправлений и доделок в самой библиотеке. Вот уже и биндинг стал two-way, и ссылаться на другие View по их id можно в самом layout-файле да и армия поклонников этой библиотеки неуклонно растет. И, наверное, каждый новый адепт начинает с поиска примеров — как правильно использовать так чтобы и удобно, и меньше кода, и по-феншуй. Если сейчас вбить запрос на подобии «Android DataBinding + RecyclerView» то, наверняка, получим целую кучу ссылок на различные гайды. Даже на Хабре уже была подобная статья — Android Data Binding in RecyclerView.
Но не смотря на такое обилие ресурсов/гайдов, многие из них показывают базовый функционал, и каждый разработчик, начиная активно использовать Data Binding, придумывает свой, удобный ему способ работы. Далее будет показан один из таких способов.
Читать полностью »

Рейтинг HackerRank: самые лучшие программисты — в Китае, России и Польше - 1

HackerRank — это социальная платформа, которая предлагает задания разной сложности по программированию. Запущена платформа была в 2012 году. Сейчас аудитория проекта насчитывает около полутора миллиона пользователей. Статистику по результатам решений заданий своими пользователями ресурс регулярно публикует в виде рейтинга по 50 странам.

Рейтинг HackerRank учитывает задания по 15 наиболее популярным дициплинам. Самые популярные задачи касаются различных алгоритмов, связанных с динамическим программированием, анализом больших данных и другими темами. Для решения таких заданий пользователь может работать с любым языком программирования. Кроме алгоритмов в топ-3 популярных заданий входят задачи по структуре данных и программировании на Java. Такие задания выполняются 9,1% и 9,3% пользователей соответственно. Все баллы специалистов по разным странам анализируются, после чего выводится общий балл для каждой страны из участвующих в рейтинге. Максимальное количество баллов, которое может получить страна — 100.
Читать полностью »

В 1972 году три популярных компьютерных ученных написали книгу Структурное Программирование, где они упомянули частные неструктурированные типы:

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

(...) Такой тип называют перечислением (прим. enumeration), и мы советуем стандартную нотацию для имени типа и ассоциации имени типа с каждым из его альтернативных значений.
`
type suit = (club, diamond, heart, spade);
(...)
type year = 1900… 1960;
type coordinate = 0… 1023;
`
Читать полностью »

Перед тем как начать

» Если вы новичок в OpenGL ES, рекомендую сначала изучить предыдущие 3 урока: раз / два / три
» Основы кода, используемого в этой статье, взяты отсюда и отсюда.

Результатом данного урока будет дельфин прыгающий над поверхностью моря.

Изучаем OpenGL ES2 для Android Урок №4. Текстуры - 1

Читать полностью »

Привет!

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

image

Читать полностью »

Здравствуйте, дорогие читатели. Мы редко пишем о книжных «долгостроях», то есть, о работах, которые никак не выйдут на Западе. Но сегодня хотим познакомить вас с постом из блога Мартина Клеппмана, который уже не первый год трудится над фундаментальной книгой "Designing Data-Intensive Applications"

Книга об интенсивной обработке данных - 1


В сравнительно небольшой публикации автору удалось изложить базовые идеи столь объемной книги, обрисовать целевую аудиторию и почти убедить нас, что за перевод надо браться. Но вы все равно почитайте и не стесняйтесь голосовать.
Читать полностью »

При написании алгоритмов зачастую возникает ситуация, когда какая-то функция нуждается в вызове с тем же количеством аргументов, но с не совпадающими типами. Решаем.
Читать полностью »

Приглашаем на второй хакатон Neurohack - 1

9 сентября в Москве при поддержке Mail.Ru Group стартует Neurohack 2.0 — это 48-часовой марафон, в ходе которого вы сможете воплотить свои идеи, связанные с темой искусственного интеллекта и нейронных сетей. Хакатон проводится благодаря сообществу ведущих ученых России — Science Guide.
Читать полностью »

Логика сознания. Часть 3. Голографическая память в клеточном автомате - 1 Ранее мы описали клеточный автомат, в котором могут возникать волны, имеющие хитрый внутренний узор. Мы показали, что такие волны способны распространять информацию по поверхности автомата. Оказалось, что любое место автомата может быть, как приемником, так и источником волн. Чтобы принять волну в каком-либо месте, достаточно посмотреть, какой узор получается в нем в момент прохождения волны. Если этот узор запомнить и впоследствии воспроизвести в том же месте, то от этого узора распространится волна, повторяющая на своем пути узор исходной волны.

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

Автомат, который мы описываем обладает памятью. Точнее, памятью обладают все его элементы. Память элемента специфична. Единственное, что видит элемент автомата – это узор, составленный из активности своих соседей. Единственное, как элемент может отреагировать на тот или иной узор – это либо самому стать активным, либо, наоборот, выключиться. Память элемента – это набор запомненных им узоров с указанием, как на них реагировать: включаться или выключаться.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js