background preloader

Программирование

Facebook Twitter

Машина времени на Java / Блог компании JUG.ru Group. DBpedia. DBpedia — краудсорсинговый проект, направленный на извлечение структурированной информации из данных, созданных в рамках проекта Википедия и публикации её в виде доступных под свободной лицензией наборов данных. Проект был отмечен Тимом Бернерсом-Ли как один из наиболее известных примеров реализации концепции связанных данных[1]. Проект был начат группой добровольцев из Свободного университета Берлина и Лейпцигского университета, в сотрудничестве с фирмой OpenLink Software, первый набор данных опубликован в 2007 году. С 2012 года активным участником проекта является Университет Мангейма. Базы данных[править | править код] Проект использует Resource Description Framework (RDF) для представления извлечённой информации, на сентябрь 2014 года базы состоят из более чем 3 млрд RDF-троек, из которых 580 млн были взяты из английского раздела Википедии и 2,46 млрд извлечены из разделов на других языках.

Пример[править | править код] Примечания[править | править код] Java - Структура данных дерева Java? - Qaru. Если вы делаете кодировку в виде доски, интервью или даже планируете использовать дерево, многословие из них - это немного. Далее следует сказать, что причина, по которой дерево не существует, например, Pair (о котором то же самое можно сказать), заключается в том, что вы должны инкапсулировать свои данные в класс, используя его, и простейшая реализация выглядит так: /*** /* Within the class that using a binary tree for any reason. You could /* generalize with generics IFF the parent class needs different value types. */private class Node { public String value; public Node[] nodes; // Or an Iterable<Node> nodes;} Это действительно для произвольного дерева ширины.

Если вам нужно бинарное дерево, оно часто проще использовать с именованными полями: private class Node { // Using package visibility is an option String value; Node left; Node right;} Или, если вы хотите получить trie: private class Node { String value; Map<char, Node> nodes;} Теперь вы сказали, что хотите источникподелиться. Руководство по фоновой работе в Android. Часть 1 / Блог компании EPAM. Изучаем KTX для Android / Блог компании FunCorp. Привет, «Хабр»! Прошло почти 9 месяцев с тех пор, как на Google I/O 2017 компания Google анонсировала Kotlin в качестве официального языка разработки под Android. Кто-то использует его как основной инструмент намного дольше, учитывая, что на нём можно было писать уже с середины 2014 года.

В документации Google стали появляться примеры реализации на Kotlin. За это время разработчики смогли «потрогать» и оценить все преимущества этого языка. И многие, включая меня, думали: какой же шаг будет следующим? Support Library на Kotlin? Или что-то новое? 5 февраля Google анонсировала выход библиотеки Android KTX, которая представляет собой набор расширений Kotlin для разработки приложений под Android. Сейчас библиотека доступна только в preview и открыта для новых идей. Документацию по KTX вы можете найти здесь: core-ktx и саму библиотеку здесь: android/android-ktx. Animator functions Здесь собраны функции расширения, относящиеся к анимации. Animation listener Content Time operations Utils SQLite Text. Я написал мобильное приложение – хочу патент. JUnit - введение в юнит-тесты. Пример JUnit Hello world. Введение в юнит-тестирование с помощью библиотеки JUnit. Пример JUnit Hello world Используемые технологии и библиотеки JUnit 4.12 1. Создать юнит тесты для приложения «калькулятор». 2.

Класс Calculator описывает простые арифметические операции. 3. pom.xml Для подключения библиотеки JUnit используется maven. <? Других зависимостей подключать не нужно. 4. Наш простой класс, описывающий калькулятор описан чуть ниже. Calculator: package ru.javastudy.junit; /** * Created for JavaStudy.ru on 13.01.2016. */ public class Calculator { public int getSum(int x, int y) { return x+y; } public int getDivide(int x, int y) { return x/y; } public int getMultiple(int x, int y) { return x*y; } } 5.

В IntelliJ IDEA можно создать тестирующих класс автоматически. 6. После создания тестирующего класса нам необходимо реализовать методы, которые мы хотим проверить. Применяемые аннотации: @BeforeClass, @AfterClass — методы под аннотациями будут выполнены при начале использования класса и по завершению соответственно. 1. 10 сайтов с задачами и соревнованиями для программистов 2018 | AppTractor. ImangazalievM/CleanArchitectureManifest: Описание основных принципов и правил построения чистой архитектуры приложений под Android. Пара способов отправить уведомления на смартфон со своего сервера.

Несколько книг для начинающего и продолжающего разработчика под Android. Сегментация памяти(Схема памяти компьютера) Представляю, Вам, перевод статьи одного из разработчиков PHP, в том числе версии 7 и выше, сертифицированного инженера ZendFramework. В данный момент работает в SensioLabs и большую часть занимается низкоуровневыми вещами, в том числе программированием в С под Unix. Оригинал статьи здесь. Несколько слов, о чем эта запись в блоге Я планирую в будущем писать технические статьи о PHP, связанные с глубоким пониманием памяти. Мне нужно, чтобы мои читатели имели такие знания, которые им помогут понять некоторые концепции дальнейшего объяснения.

Для того, чтобы ответить на этот вопрос, нам придется перемотать время назад в 1960-е года. Я собираюсь объяснить вам, как работает компьютер, а точнее, как происходит доступ к памяти в современном компьютере, а затем вы поймете, из-за чего происходит это странное сообщение об ошибке — Segmentation Fault. То, что вы будете читать здесь, краткое изложение основ дизайна компьютерной архитектуры.

Немного истории computer science Адресное пространство Вывод. Поиск под капотом Глава 1. Сетевой паук. Умение искать информацию в Интернете является жизненно необходимым. Когда мы нажимаем на кнопку «искать» в нашей любимой поисковой системе, через доли секунды мы получаем ответ. Большинство совершенно не задумывается о том, что же происходит «под капотом», а между тем поисковая система — это не только полезный инструмент, но еще и сложный технологический продукт.

Современная поисковая система для своей работы использует практически все передовые достижения компьютерной индустрии: большие данные, теорию графов и сетей, анализ текстов на естественном языке, машинное обучение, персонализацию и ранжирование. Понимание того, как работает поисковая система, дает представление об уровне развития технологий, и поэтому разобраться в этом будет полезно любому инженеру. В нескольких статьях я шаг за шагом расскажу о том, как работает поисковая система, и, кроме того, для иллюстрации я построю свой собственный небольшой поисковый движок, чтобы не быть голословным. Веб — это граф Поиск в глубину. Заметки о ProgressDialog или как правильно показать прогресс выполнения. Здравствуйте! В данном посте я хочу поговорить о таком элементе UI Android как ProgressDialog и вообще о теме отображения прогресса в приложении, возможных реализациях и проблемах. Под катом вас ждет некоторые мысли по теме + совсем немного кода. Наверно, тема, о которой я буду говорить, многим может показаться очевидной, но глядя на одни и те же «решения» в приложениях из Меркета, все видимо не так однозначно.

Плюс, мне будет интересно услышать ваши соображения или best practice по теме. Проблема или Решение №0 ProgressDialog — базовый элемент Android, является крайне популярным средством при необходимости отображения прогресса выполнения задачи. Все было бы хорошо, но имеется один существенный недостаток: ProgressDialog модальный. Примеров множество, вот здесь хабрапользователь bugrimov использует ProgressDialog для отображения прогресса пока грузится контент с сервера. Решение №1. Плюсы:В результате такого решения пользователь никак не блокируется и волен делать что ему вздумается.

Чем распознавать на мобильных платформах? Как-то так вышло что на какой бы я бирже фриланса не начинал первый проект — всегда с распознаванием, поэтому в создании приложух с подобным функционалом у меня много опыта, которым я хотел сегодня с вами поделиться. Как распознавать? На самом деле способов распознавать на мобильных устройствах не так то и много. Существует три варианта: Юзать уже готовую библиотеку, и просто скармливать ей изображения Использовать какое-то апи или сделать распознавание на сервере Написать свою библиотеку для распознавания текста 1.

Взять библиотеку и скармливать ей картинки Ничего космического в том нету, ведь есть масса библиотек для этих целей, но одни подходят лучше, а другие хуже. . • Tesseract Написана эта библиотека на С++. Точность: 4/10 Скорость: 4/10 Простота: 8/10 Нагрузка: 2/10 Общее впечатление: ужас, обходите десятой дорогой • OpenCV Неплохая и вполне рабочая библиотека, я использовал её лишь один раз — мне нужно было распознать прямоугольники, и она вполне справилась с заданием. . • Mobile vision 2. Что я узнал после 1000 code review / Блог компании Edison. Мультиарные функции в Java. Напомню: арность (англ. arity) — это количество параметров функции. Соответсвенно мультиарные функции — это функции с несколькими параметрами. В Java 8 были введены функции с одним и двумя входными параметрами. А как быть если параметров больше? Когда надо много входных параметров В Java существует Function Откуда такая несправедливость? Вы уже догадались как привести её к виду Или это трудновато?

Вам надо сначала однажды определить интерфейс: public interface Function3Arity<A, B, C, R> { R apply(A a, B b, C c); } После этого вы можете определять конкретные варианы тернарных (трех-арных) функций. Private static Function3Arity<Integer, String, Integer, String> f3 = (a, op, b) ->{return "" + a + op + b + "=" + (a+b);}; Проверим, как это работает: @Test public void testFunction3Arity() { String result = f3.apply(2, "+", 3); assertEquals("2+3=5", result); } Когда надо много выходных параметров Мы рассмотрели пример, где было много входных параметров. К сожалению, сделать это напрямую не получится. Как Android запускает MainActivity. Недавно я провел исследование о main() методе в Java и то, как он служит точкой входа для любого приложения Java. Это заставило меня задуматься, а как насчет Android-приложений? Есть ли у них основной метод? Как они загружаются?

Что происходит за кулисами до выполнения onCreate()? Майкл Бэйли очень подробно рассказал о том, как работает Main Thread, так что это быстрый обзор его доклада плюс дополнительная информация из Android Open Source Project (AOSP). В этой статье мы рассмотрим: Что происходит от нажатия на иконку приложения до запуска MainActivityНайдем основной метод приложения и узнаем, как основной поток (он же UI, он же Main Thread) получает свое назначение.Рассмотрим роль, которую играют Looper & Handler в передаче сообщений, которые в конечном итоге приводят к созданию вашей Activity.

Что происходит при запуске приложения 1 Схема запуска приложения Между вызовом метода main() и onCreate() в нашем MainActivity примерно 15 шагов, и в этой статье мы пройдем по ним. 2. 1. 3. 4. Головная боль от RecyclerView.Adapter — выход есть / Блог компании Google. 9 учебных проектов для бэкендера. Источник КДПВ Ранее на Хабре публиковался перевод статьи с Medium'а с подборкой из 8 проектов, которые можно реализовать, изучая новый язык или фреймворк.

На мой взгляд, подборка очень неплохая. Проблема в том, что рассчитана она только на фронтендеров и мобильных разработчиков. А я из другого лагеря. Покопавшись в своих заметках, я собрал для вас подборку идей на тот случай, если чешутся руки сделать что-нибудь своё. 1. Да, свой «топ» я решил начать именно с блога. Естественно, не стоит пытаться выкатить сразу готовый продукт с кучей фич. 2. Картинка взята отсюда Если вы хотите вникнуть в реактивное программирование, веб-сокеты и вот это всё, а чат писать слишком скучно, можно попробовать реализовать бэкенд для: крестиков-ноликов 15x15, морского боя или, даже, гомоку. Бонусом придется подумать над алгоритмом валидации игрового поля, что тоже не так просто, как кажется. 3. Как пример приведу библиотеку на PHP для работы с 3d-моделями формата STL. 4. Пусть каждый из них уже кем-то создан. Как я слил 1000$ в продвижение игры и что из этого получилось. Приветствую, в этой статье хочу пробежаться по наиболее острому моменту для любого разработчика мобильных игр, а именно — по их продвижению.

Для многих знакома ситуация, делал-делал, а кроме друзей так и никто и не увидел игру, а ведь так старался! Под катом не будет расплывчатых формулировок или предположений по продвижению. Конкретно ссылки — конкретно результат. Поехали! 1) Публикация статьи на 4pda с рамках проекта поддержки разработчиков. Опускать данную вещь будет просто преступлением. Для своей игры я использовал тарифный план «Комплекс». Важный момент: заказывать лучше за 1,5-2 недели до релиза. Что по результатам. Не знаю, корректно ли выкладывать сюда фактический отчет по данным цифрам, который выслали 4pda через пару недель, наверное нет, поэтому просто скажу, что охват получился немного меньше, чем прогнозировали, а прочтений получилось по середине прогнозируемого варианта.

Публикация была днем (где-то в 15-16 часов) и по графику сразу видно, как посыпались установки. Итоги. Встраиваем In-App purchase в своё приложение. Во второй части статьи про свою новогоднюю игрушку я расскажу про внутри игровые покупки. Я совсем не люблю рекламу в приложениях, по этому вопрос встраивания рекламы в своё приложение, для меня отпал сразу. Мой опыт выкладывания в Gooogle Play платных игр говорит о том, что резко падает количество желающих эту игру скачать, по этому вариант продажи игры, тоже отпал. И так как я не стремлюсь заработать на игре состояние, а делаю это больше в своё удовольствие, то решил что пусть пользователи сами решают, платить что-нибудь или нет.

Да, я решил использовать в игре донаты. Для работы со встраиваемыми покупками я остановился на очень простой, на мой взгляд, но вполне функциональной библиотеке Anjlab (ссылка на GitHub). В Google play существуют два типа товаров: Для подключения библиотеки в наше приложение необходимо в файле build.gradle (Module: app) Добавляем в файл с Activity две библиотеки: Снабжаем нашу Activity функционалом BillingProcessor.IBillingHandler: С Наступающим Новым Годом! Рояль должен быть исчезнут: уровни профессионального развития и их оценка, у программистов.

У программистов не было ни гита, ни джетбрейнса, ни даже ноутпад++. Первую программу автор писал в дрянном редакторе бейсика. Мы думали, что крутость программиста зависит от того, с какой скоростью он печатает. Мы думали, что крутость компьютера можно измерить тем, сколько раз на него можно будет скопировать Syphon Filter. Время шло, росли гонорары. Индустрия породила подходы к разработке, позволяющие понять, сколько времени/сил нужно потратить на ту или иную задачу. Индустрия породила новый рынок и новые зарплаты. Возникла необходимость понять, кому именно их платить. Собеседование — это игра. В статье мы приведём подход к оценке уровня профессионального развития. Будет больно. Почему то, что есть сейчас это уже кое-что В компьютерных науках есть общие, необходимые вещи. Чтобы не умереть со скуки, буду краток. В общем, это всё здорово, но это от безделья. Если с «что делал» всё ясно,«как у нас» можно быстро выяснить, то весь l'amour de trua — в оценке «всех» знаний.

Важно ли это всё? Джеб Кличко. Вы наверняка слышали про такого боксера, как Владимир Кличко. Относиться к нему можно по-разному, но главное, вроде – чему полезному у него можно научиться, а не в какой партии он состоит и какую религию исповедует. Как завещал нам Стивен Кови, у любого человека можно чему-то научиться, если иметь такую цель – учиться и развиваться. Расскажу, чему я учился у Кличко. Если вам этот рассказ пригодится, в любом виде – отлично. Я как-то случайно прочитал про джеб Кличко. Когда боксер стоит в стойке, у него одна рука чуть впереди, другая чуть сзади. Рукой, которая чуть впереди, бьется джеб – короткий, быстрый удар. Так вот, Кличко сделал джеб одним из важнейших элементов свой стратегии (это со слов аналитиков и тренеров, не я придумал). И вот этот джеб Кличко запал мне в душу. Я абстрагировался от бокса, и посмотрел на джеб Кличко через призму своей жизни, в первую очередь той ее части, что протекает на работе.

Джеб Кличко я разложил на два основополагающих элемента: Зачем? Целей было несколько. Функция, сценарий и аппроксимация событий. Особенности Java 8 – максимальное руководство (часть 2) Шпаргалка по улучшению интерфейса. Проекционное моделированние. 8 учебных проектов. Делаем красивые кнопки в Android | Android Tools. Как создать свою собственную библиотеку Android через jCenter и Maven Central | Android Tools. Android и кастомные шрифты или «Да здравствует API 26» Delegate Adapter — зачем и как. Объясняем современный JavaScript динозавру / Блог компании Mail.Ru Group. Качественное уменьшение изображений за константное время. Podlodka #27: объектно-ориентированное программирование. Организация отступов в верстке (margin/padding)

Реализация сложного тулбара на Android - Подкасты Android Dev. Понятия: множество, тип, атрибут. [Перевод] Круглее круга: оптические эффекты при проектировании интерфейсов. 12 Practices every Android Development Beginner should know — Part 1. Роберт У. Себеста: Основные концепции языков программирования (Компьютерные науки.)

Топливо для ИИ: подборка открытых датасетов для машинного обучения / Блог компании Mail.Ru Group. Библиотека Reamp: обезболивающее для ваших Android-приложений / Блог компании EastBanc Technologies. Facebook оптимизировала и улучшила Android SDK. Талмуд по формулам в Google SpreadSheet. Articles, Podcasts & Conferences about Android Development. Part. Узнаем параметр Generic-класса в Java. Не для манки-кодеров: бесплатные книги по алгоритмам и структурам данных. Краткое руководство для новичков, желающих стать комплексными (full stack) веб-разработчиками / Блог компании Parallels.

Web-приложения в Android без Cordova, Phonegap и SMS. Сборка и выполнение Java программ. Работа с Java в командной строке. 10 лет не с KolibriOS: как это было. Report inappropriate reviews - Play Console Help. Does Android studio need internet connection to build project. Сударь, ваша команда — не команда. Что такое доменные имена - Изучение Веб-разработки. Изучаем URLы и их структуру - Изучение Веб-разработки. Странности Generic типов Java. Конструктор / Блог компании Конференции Олега Бунина (Онтико) Get generic type of java.util.List. Runtime перекраска приложения.

Дженерики и конвертеры в Nim. What is the difference between getFields and getDeclaredFields in Java reflection. Getting and Setting Arrays and Their Components (The Java™ Tutorials > The Reflection API > Arrays and Enumerated Types) React Native с колокольни Android разработки часть 2. Поворот экрана во время выполнения долговременной операции. Рано закапывать Java. Красный, белый, голубой: восемь правил подбора цветовой палитры, которые должны знать все / Блог компании Everyday Tools.

Малоизвестные особенности Java. R.I.P. нативные приложения или почему компаниям стоит обратить внимание на PWA. Getting Data from Android Play Store. IT BLOG by Raskilas: Класс Bundle и его назначение. GeekUniversity открывает набор студентов на факультет Java-разработки / Блог компании Mail.Ru Group. IntelliJ IDEA 2017.1 Help :: Editing CSV and Similar Files in Table Format. Material Color Palette :: JetBrains Plugin Repository. Клиент-сервер шаг — за — шагом, от однопоточного до многопоточного.

Туториал: Создание простейшей 2D игры на андроид. Новая архитектура Android-приложений — пробуем на практике. Как поменьше беспокоиться о собственной бездарности / Хабрахабр. WDH: Java - Лексические соглашения. IQL — очередной SQL-генератор для Java. JavaScript: элементы стиля / Блог компании RUVDS.com. Android и архитектура. Use Java 8 language features | Android Studio. Kotlin — официальный язык разработки под Android. Разбираемся в тонкостях языка на Stepik / Блог компании Stepik.org. Приложения на iOS, Android и Mac для разработчиков / Блог компании Everyday Tools.

Бесплатные материалы для программистов. Как Linux помог мне стать продвинутым пользователем ПК. Стратегия и тактика тестирования мобильных приложений / Песочница. Классификация объявлений из соц. сетей. В поисках лучшего решения. Тестирование мобильных приложений на устройствах – AWS Device Farm. Android + Gradle + CI + CD или Как настроить кормушку для котов. Что там с JEP-303 или изобретаем invokedynamic. Исследуем RxJava 2 для Android / Блог компании Badoo.

Цены на ресурсы сервера - ElasticWeb. Дизайн таблиц. Top 5 IaaS Solutions for Hosting Java Applications — SitePoint.