Pull to refresh
0
@Romsterread⁠-⁠only

User

Send message

Hello, World! Глубокое погружение в Терминалы

Reading time24 min
Views94K


На написание данной статьи меня вдохновила статья об анализе Сишного printf. Однако, там был пропущен момент о том, какой путь проходят данные после того, как они попадают в терминальное устройство. В данной статье я хочу исправить этот недочет и проанализировать путь данных в терминале. Также мы разберемся, чем отличается Terminal от Shell, что такое Pseudoterminal, как работают эмуляторы терминалов и многое другое.

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

Подборка подкастов по программированию на русском и английском языках

Reading time7 min
Views181K
Всем привет! В этой статье собраны одни из лучших подкастов по программированию как на русском так и на английском языках, которые позволят вам быть всегда в курсе последних новостей.

Подкасты представляют собой звуковые файлы, которые можно слушать в любое время на вашем компьютере или другом устройстве (IPod, IPad, смартфон и т.д.). Это самый портативный способ потреблять контент и узнавать что-то новое. Популярность подкастов росла на протяжении многих лет и теперь они охватывают очень широкий круг вопросов.

И да, есть много интересных и популярных подкастов для разработчиков и программистов. Подкасты невероятно полезны, они будут держать вас в курсе всего что происходит в интересующей вас сфере, а также помогут вам развить более широкий взгляд на постоянно развивающуюся область информационных технологий.
Читать дальше →
Total votes 74: ↑71 and ↓3+68
Comments63

Документация разработчика Hibernate – Глава I. Доступ к базе данных

Reading time13 min
Views60K
Представляю вашему вниманию перевод первой главы официальной документации Hibernate.

Перевод статьи актуален для версии Hibernate 4.2.19.Final

Cледующая глава — Документация разработчика Hibernate – Глава II. Транзакции и контроль многопоточности

Содержание
 Предисловие
 1. Доступ к базе данных
  1.1. Подключение
   1.1.1. Конфигурация
   1.1.2. Получение JDBC-соединения
  1.2. Пулинг соединений (Connection pooling)
   1.2.1. Пулинг с помощью с3p0
   1.2.2. Пулинг с помощью Proxool
   1.2.3. Получение соединений от сервера приложений, через JNDI
   1.2.4. Прочее по конфигурации соединений
   1.2.5. Необязательные свойства конфигурации
  1.3. Диалекты
   1.3.1. Указание диалекта для использования
   1.3.2. Разрешение диалекта
  1.4. Автоматическая генерация схемы при помощи Schema Export
   1.4.1. Кастомизация файлов маппинга (Customizing the mapping files)
   1.4.2. Запуск инструмента SchemaExport
Читать далее
Total votes 22: ↑17 and ↓5+12
Comments3

Микросервисная архитектура, Spring Cloud и Docker

Reading time14 min
Views261K

Привет, Хабр. В этой статье я кратко расскажу о деталях реализации микросервисной архитектуры с использованием инструментов, которые предоставляет Spring Cloud на примере простого концепт-пруф приложения.



Код доступен для ознакомления на гитхабе. Образы опубликованы на докерхабе, весь зоопарк стартует одной командой.

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

Java вместо Groovy

Reading time6 min
Views17K
Вдруг оказывается, что в проекте нужны скрипты и возникает вопрос что лучше эволюция или революция?
Но даже попытка внедрить груви может провалиться в легаси проекте с консервативным коллективом. И руководство может найти еще десяток причин не пропустить груви в проект. Хоть groovy гораздо проще и ближе программисту знающему java, чем та же scala.



Но даже в этом случае можно использовать динамически компилируемые скрипты в проекте. Научимся компилировать java код динамически в памяти и запускать его в jvm, использовать в нем динамически загружаемыме библиотеки из maven. Хотелось бы написать как можно меньше кода для этого и чтобы процесс использования был максимально прост. Да и еще бы не хотелось надеяться на доступность tools.jar нашей пограмме.
Для заинтересовавшихся как можно это сделать...
Total votes 16: ↑14 and ↓2+12
Comments28

Методы лечения различных ошибок в Android Studio при разработке проекта

Reading time3 min
Views62K
Сегодня хотел бы поделиться своим анализом и способами лечением разных ошибок при разработке своего продукта в Android Studio. Лично я, не раз сталкивался с различными проблемами и ошибками при компиляции и/или тестировании мобильного приложения. Данный процесс, всегда однообразный и в 99% случаев и всегда нужно тратить n-колличество времени на его устранение. Даже, когда ты уже сталкивался с данной проблемой, ты все равно идешь в поисковик и вспоминаешь, как же решить ту или иную ситуацию.

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

Итак, начну по порядку с самой распространенной проблемы и дальше буду перечислять их по мере появления:
Читать дальше →
Total votes 23: ↑18 and ↓5+13
Comments17

Дюк, вынеси мусор! — 1. Введение

Reading time13 min
Views223K


Наверняка вы уже читали не один обзор механизмов сборки мусора в Java и настройка таких опций, как Xmx и Xms, превратилась для вас в обычную рутину. Но действительно ли вы в деталях понимаете, что происходит под капотом вашей виртуальной машины в тот момент, когда приходит время избавиться от ненужных объектов в памяти и ваш идеально оптимизированный метод начинает выполняться в несколько раз дольше положенного? И знаете ли вы, какие возможности предоставляют вам последние версии Java для оптимизации ответственной работы по сборке мусора, зачастую сильно влияющей на производительность вашего приложения?

Попробуем в нескольких статьях пройти путь от описания базовых идей, лежащих в основе всех сборщиков мусора, до разбора алгоритмов работы и возможностей тонкой настройки различных сборщиков Java HotSpot VM (вы ведь знаете, что таких сборщиков четыре?). И самое главное, рассмотрим, каким образом эти знания можно использовать на практике.
Узнать
Total votes 36: ↑36 and ↓0+36
Comments7

Дюк, вынеси мусор! — 2. Serial GC и Parallel GC

Reading time11 min
Views128K
Heap


В предыдущей статье мы познакомились с терминологией и основными идеями, лежащими в основе сборщиков мусора Java HotSpot VM и многих других виртуальных машин. Теперь мы, наконец, можем взять в руки лопату и приступить к разгребанию нашей кучи. Сегодня у нас на обзоре две лопаты два сборщика мусора, используемые огромным количеством Java-программ, зачастую даже не подозревающих об этом. Это Serial GC и Parallel GC. Их популярность объясняется просто — данные сборщики выбираются виртуальной машиной по умолчанию для большинства аппаратных конфигураций.

Используемые в этих сборщиках подходы к работе с кучей в том или ином виде применяются в более продвинутых реализациях, поэтому на данном этапе нам будет очень важно разобраться с заложенными в них идеями и возможностями.
Интересно, хочу разобраться
Total votes 36: ↑36 and ↓0+36
Comments22

<input> Я ♥ тебя, но ты меня обламываешь

Reading time5 min
Views54K

Привет, представляю твоему вниманию перевод статьи Моники Динкулеску '<input> I ♡ you, but you're bringing me down'. Художественный перевод с английского не является моей основной специализацией, поэтому в тексте возможны неточности. Правки призываю отправлять личным сообщением, а если есть что сказать, велкам в комментарии. Отдельное спасибо @Kt за редакторские правки. Приятного чтения.


Некоторые люди делают мебель. Некоторые люди вяжут. Некоторые люди имеют хобби, которые никак не пересекаются с HTML спецификациям из 90-х. Но я не из таких. И, вот история о том, как <input> стал той хренью, которой он является, и почему его надо сжечь


Ранние годы



1995 был клевым годом. Друзья, Скорая Помощь, Зена по телеку. TLC занимали верхушки чартов с хитом "Waterfalls". С браузерами было нормуль, потому что HTML было все очень нормуль. У нас были Mosaic, Netscape и IE1, а при утверждении спеков HTML 2, наконец, выкроили время для стандартизации форм. Девяносто пятый был годом рождения <input>, и теперь, когда он достаточно взрослый, чтобы покупать в магазине алкоголь, нам нужно поговорить.
Продолжить чтение статьи
Total votes 73: ↑63 and ↓10+53
Comments55

Осенние онлайн-курсы от Computer Science Center и Академического университета

Reading time3 min
Views30K

Этой осенью СПб АУ РАН и CS центр предлагают несколько новых бесплатных онлайн-курсов на разные темы: от теории графов до программирования на языке Haskell, и перезапускают некоторые из прочитанных ранее. Год назад состоялся первый запуск онлайн-курсов CS центра. Сначала появились курсы по программированию, а весной их дополнили курсы по математике, подготовленные вместе с Академическим университетом. Все онлайн-курсы разработаны на платформе Stepic.org.


  • Java. Базовый курс (А. А. Владыкин)
  • Алгоритмы: теория и практика. Методы (А. С. Куликов)
  • Введение в архитектуру ЭВМ. Элементы операционных систем (К. В. Кринкин)
  • Введение в математический анализ (А. И. Храбров)
  • Ликбез по дискретной математике (А. В. Омельченко)
  • Основы перечислительной комбинаторики (А. В. Омельченко)
  • Основы теории графов (А. В. Омельченко)
  • Погружение в СУБД (Д. В. Барашев)
  • Программирование на языке C++ (А. В. Смаль)
  • Функциональное программирование на языке Haskell (Д. Н. Москвин)

Часть курсов входит в годовую онлайн-программу по основам программирования.
Подробнее о курсах
Total votes 24: ↑24 and ↓0+24
Comments12

MOOC курсы по робототехнике

Reading time9 min
Views19K
В ближайшие годы весь рынок труда изменится неузнаваемо и безвозвратно.

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

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

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

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

Единственная индустрия, которая по результатам окажется «в плюсе», это разработка, производство, программирование и обслуживание роботов.

Открытые конкурсы DARPA Robotic Challenge, как DARPA Grand Challenge и DARPA Urban Challenge ранее, явно демонстрируют куда и в каком темпе движется современная робототехника.

В заметке я хотел бы кратко описать доступные сейчас курсы по робототехнике, размещенные на MOOC платформах.

Итак, в порядке возрастания сложности.
Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments1

10 вещей, которых вы не знали о Java

Reading time8 min
Views105K
Итак, вы работаете на Java с самого её появления? Вы помните те дни, когда она называлась «Oak», когда про ООП говорили на каждом углу, когда сиплюсплюсники думали, что у Java нет шансов, а апплеты считались крутой штукой?

Держу пари, что вы не знали как минимум половину из того, что я собираюсь вам рассказать. Давайте откроем для себя несколько удивительных фактов о внутренних особенностях Java.
Читать дальше →
Total votes 93: ↑91 and ↓2+89
Comments55

Information

Rating
Does not participate
Registered
Activity