Как-то меня попросили провести небольшой семинар в лицее, где я когда-то учился, по созданию веб-сайта. В процессе написания речи я подумал, что она может вылиться в материал, который, возможно, будет полезен многим начинающим в области веб-дизайна, вёрстки веб-страниц и пр. Я не претендую на истину в первой инстанции и всё изложенное носит чисто личностный взгляд на работу с дизайном и кодом. Статья даёт поверхностный взгляд на понятия и средства, которые, на мой взгляд, могут стать неплохим стартом для того, кто готов идти дальше.
vpupkin @vpupkinread-only
User
Шпаргалка Java программиста 2: Триста пятьдесят самых популярных не мобильных Java opensource проектов на github
39 min
167KЧто это и зачем оно надо: Как известно, главное преимущество Java мира в том в нем существует огромное количество open-source проектов на на все случаи жизни, однако найти нужный на github'e не так просто, так как описание проекта часто мало информативно, зачастую сложно даже понять этот проект для Android'a или нет. В этой статье я автоматически и полуавтоматически собрал Java проекты, убрал старые и проекты только для Android'a, выбрал 350 набравших больше всего звезд, разделил по категориям и перевел описания.
Если вы хотите убедиться что базы данных пишут не только на C, найти проекты для работы с большими данными или нейронными сетями, пишите свой язык программирования для JVM и хотите посмотреть как это уже сделано или же просто хотите узнать какие новые возможности можно найти в Java мире open-source то это статья вам, думаю, может пригодится.
Другие статьи серии: часть 1. JPA и Hibernate в вопросах и ответах
Update: Внимание, актуальная версия со много большим количеством ссылок, находиться теперь в моем github'e проекте useful-java-links, по этой ссылке.
Если вы хотите убедиться что базы данных пишут не только на C, найти проекты для работы с большими данными или нейронными сетями, пишите свой язык программирования для JVM и хотите посмотреть как это уже сделано или же просто хотите узнать какие новые возможности можно найти в Java мире open-source то это статья вам, думаю, может пригодится.
В чем смысл серии статей 'Шпаргалки Java программиста'
За время работы Java программистом я заметил, что как правило программисты постоянно и планомерно используют от силы 10-20% от возможностей той или иной технологии, при этом остальные возможности быстро забываются и при появлении новых требований, переходе на новую работу или подготовке к техническому интервью приходится перечитывать все документации и спецификации с нуля. Зато наличие краткого конспекта особенностей тех или иных технологий (шпаргалок) позволяет быстро освежить в памяти особенности той или иной технологии.
Другие статьи серии: часть 1. JPA и Hibernate в вопросах и ответах
Update: Внимание, актуальная версия со много большим количеством ссылок, находиться теперь в моем github'e проекте useful-java-links, по этой ссылке.
Общее оглавление 'Шпаргалок'
1. JPA и Hibernate в вопросах и ответах
2. Триста пятьдесят самых популярных не мобильных Java opensource проектов на github
3. Коллекции в Java (стандартные, guava, apache, trove, gs-collections и другие
4. Java Stream API
5. Двести пятьдесят русскоязычных обучающих видео докладов и лекций о Java
6. Список полезных ссылок для Java программиста
7 Типовые задачи
7.1 Оптимальный путь преобразования InputStream в строку
7.2 Самый производительный способ обхода Map'ы, подсчет количества вхождений подстроки
8. Библиотеки для работы с Json (Gson, Fastjson, LoganSquare, Jackson, JsonPath и другие)
2. Триста пятьдесят самых популярных не мобильных Java opensource проектов на github
3. Коллекции в Java (стандартные, guava, apache, trove, gs-collections и другие
4. Java Stream API
5. Двести пятьдесят русскоязычных обучающих видео докладов и лекций о Java
6. Список полезных ссылок для Java программиста
7 Типовые задачи
7.1 Оптимальный путь преобразования InputStream в строку
7.2 Самый производительный способ обхода Map'ы, подсчет количества вхождений подстроки
8. Библиотеки для работы с Json (Gson, Fastjson, LoganSquare, Jackson, JsonPath и другие)
+35
Шпаргалка Java программиста 1: JPA и Hibernate в вопросах и ответах
36 min
569KTutorial
Знаете ли вы JPA? А Hibernate? А если проверить?
В чем смысл серии статей 'Шпаргалки Java программиста'
За время работы Java программистом я заметил, что как правило программисты постоянно и планомерно используют от силы 10-20% от возможностей той или иной технологии, при этом остальные возможности быстро забываются и при появлении новых требований, переходе на новую работу или подготовке к техническому интервью приходится перечитывать все документации и спецификации с нуля. Зато наличие краткого конспекта особенностей тех или иных технологий (шпаргалок) позволяет быстро освежить в памяти особенности той или иной технологии.
Общее оглавление 'Шпаргалок'
1. JPA и Hibernate в вопросах и ответах
2. Триста пятьдесят самых популярных не мобильных Java opensource проектов на github
3. Коллекции в Java (стандартные, guava, apache, trove, gs-collections и другие
4. Java Stream API
5. Двести пятьдесят русскоязычных обучающих видео докладов и лекций о Java
6. Список полезных ссылок для Java программиста
7 Типовые задачи
7.1 Оптимальный путь преобразования InputStream в строку
7.2 Самый производительный способ обхода Map'ы, подсчет количества вхождений подстроки
8. Библиотеки для работы с Json (Gson, Fastjson, LoganSquare, Jackson, JsonPath и другие)
2. Триста пятьдесят самых популярных не мобильных Java opensource проектов на github
3. Коллекции в Java (стандартные, guava, apache, trove, gs-collections и другие
4. Java Stream API
5. Двести пятьдесят русскоязычных обучающих видео докладов и лекций о Java
6. Список полезных ссылок для Java программиста
7 Типовые задачи
7.1 Оптимальный путь преобразования InputStream в строку
7.2 Самый производительный способ обхода Map'ы, подсчет количества вхождений подстроки
8. Библиотеки для работы с Json (Gson, Fastjson, LoganSquare, Jackson, JsonPath и другие)
Данная статья будет полезна и для тех кто только собирается изучать JPA и Hibernate (В этом случае рекомендую сразу открывать ответы), и для тех кто уже хорошо знает JPA и Hibernate (В этом случае статья позволит проверить свои знания и освежить особенности технологий). Особенно статья будет полезна тем кто собирается пройти техническое интервью, где возможно будут задавать вопросы по JPA и Hibernate (или сам собирается провести техническое интервью).
+27
Формирование музыкальных предпочтений у нейронной сети — эксперимент по созданию умного плеера
7 min
37KДанная статья посвящена работе по исследованию возможности обучить простейшую (относительно) нейронную сеть «слушать» музыку и отличать «хорошую» по мнению слушателя от «плохой».
Научить нейронную сеть отличать «плохую» музыку от «хорошей» или показать, что нейронная сеть на это неспособна (данная конкретная ее реализация).
Цель
Научить нейронную сеть отличать «плохую» музыку от «хорошей» или показать, что нейронная сеть на это неспособна (данная конкретная ее реализация).
+46
Моя система тестирования и повышения качества GSM шлюза, часть первая: функциональный и схемный уровень
12 min
20KВторая часть
С чего всё начиналось
Я работаю в небольшой фирме, которая разрабатывает и производит системы записи телефонных разговоров. Но в ряде случаев клиентам нужен аналоговый GSM шлюз как источник телефонной линии. Ранее его закупали и перепродавали. Но то что закупали было низкого качества и часто попадался брак — было принято решение самим разработать. Разработали мы вдвоём: схемотехник и я — программист, недавние выпускники без опыта разработок в аналоговой телефонии и без опыта внедрения в производства. Получилось, мягко говоря, не очень, хоть и была решена проблема брака и скорее «вопреки».
Но проблема в том, что для нас даже 1% брака недопустим: на каждый случай у тех поддержки и разработчиков уходило очень много времени на клиента. Да и для всех нас это недопустимо чисто из соображений профессиональной гордости. Мы хотели такой шлюз снять с производства, даже несмотря на то, что у нас была доля от каждого изделия. Это очень стыдно, когда дилеры про остальные изделия говорят: «у вас вообще брак бывает?», а про наши «мы боимся их продавать — у нас же потом ничего не купят».
Всё это и стало королевским пинком к полной переделке шлюза, детальной проработки качества и разработке системы тестирования. Чем я и занялся, и о чём далее и расскажу.
Как мы от этого
Снизу платы только китайский GSM модуль
Снизу платы только китайский GSM модуль
Пришли к этому
Верх:
Низ:
Низ:
Расскажу как полностью изменилось изделие и появилась система тестирования и сопровождения производства. Расскажу как изменилась функциональная схема, объясню как работает электрическая схема доработанного варианта. А в следующих частях расскажу про логи и алгоритмы тестирования и чем тестируется плата. Приведу немного исходного кода. И расскажу об распределённой АРМ для прошивки, тестирования и анализа логов, что была развернута на производстве и у разработчиков.
+21
Твердотельные накопители дали слабину
3 min
101KТехнологии хранения данных — отдельная тема. Не так давно мы косвенно затрагивали ее в нашем материале об управления дисковым пространством сервера.
Сегодня мы поговорим о том, как команда поискового сервиса Algolia пыталась решить внезапно возникшую проблему с SSD-дисками.
Сегодня мы поговорим о том, как команда поискового сервиса Algolia пыталась решить внезапно возникшую проблему с SSD-дисками.
+104
Быстрый старт на фондовом рынке: 10 шагов
3 min
46KВ комментариях к предыдущим статьям нас просили написать руководство, которое бы помогло новичкам быстрее освоиться на фондовом рынке и не потерять при этом все свои деньги. Мы ведем блог на хабре уже несколько месяцев, так что у наc накопилось некоторое количество полезных, а не только развлекательных материалов, которые помогут на первом этапе лучше понять устройство фондового рынка.
-1
LiveReload — обновление javascript без полной перезагрузки страницы (на примере mithril)
7 min
35KВступление
Не так давно я начал пользоваться такой полезной штукой как livereload (для тех, кто не знает, что это — есть статья на хабре). Livereload отслеживает изменения в коде веб-приложения и перегружает страницу в браузере при необходимости. При этом со стилями Livereload поступает умнее и заменяет их на лету без перезагрузки, что выглядит волшебно.
К сожалению с javascript такой номер не прокатывает — Livereload не знает как гуманно заменить только изменившиеся скрипты и перегружает всю страницу. Это особенно печалит если использовать инструмент вроде mithril, в котором представление (читай — html) задается так же в javascript. Если я меняю модель или контроллер, то тут все понятно, но если я меняю класс у дива в представлении (скажем, подбирая правильное сочетание bootstrap классов), то перезагрузка страницы кажется излишней — ну вот же, я поменял одну функцию, просто перерисуй view с ее помощью!
В целом не страшно, конечно (работали же как-то без этого раньше), но почему бы не сделать работу еще немного удобнее?
Для тех, кто торопится
- репозиторий с демонстрацией — склонировать, npm install, gulp serve
- Анимация того, что получилось в итоге
+12
Чтобы сайт не падал: экономный метод
5 min
45KСайты падают. Я работаю в хостинге 7 лет и последние 5 лет (кроме всего прочего) предоставляю услуги по географически-распределённым кластерам, чтобы при аварии в одном из дата-центров сайт продолжил работу в другом. На выходе такое решение стоит минимум от 4 тысяч рублей в месяц за 1 виртуальный сервер. Небольшому интернет-магазину это может оказаться дорого для «страховки», которая потребуется 1-3 раза в год, а если повезет — не потребуется совсем. Соответственно, многим нужен вариант дешевле, подходящий для малого и среднего бизнеса. Сейчас расскажу, как это решить очень и очень просто.
+26
Управление громкостью многозонного усилителя при помощи приложения для Android и Arduino
7 min
30KПрежде всего хочу поблагодарить 470 читателей проголосовавших за продолжение в статье про многозонный усилитель.
Эксплуатация усилителя показала, что регулировать громкость не очень удобно находясь в помещении, которое может быть достаточно далеко находиться от кладовки где расположен усилитель с регуляторами громкости. Приходится несколько раз сбегать в кладовку и обратно добиваясь желаемого уровня громкости.
Так родилась идея регулятора, который всегда с тобой в кармане, т.е. приложения для телефона которое может управлять усилителем через Wi-Fi сеть.
+20
Делаем свой персональный Skype, пошаговая инструкция создания WebRTC приложения
4 min
138KWebRTC позволяет реализовать real-time аудио/видео связь через браузер ( и ).
В этом топике я расскажу как реализовать простейшее WebRTC приложение.
+94
Опыт использования Freenet
5 min
63KTranslation
Я следил за развитием проекта Freenet много лет, периодически возвращаясь к нему. В последний раз я запустил его месяц назад и после месяца использования могу сказать, что он работает гораздо быстрее, чем раньше. Сейчас я расскажу о том, как его использовать, и о том, как я обошёл кое-какие проблемы при размещении контента.
Обзор
В сети Freenet нет динамических серверов и никто не хостит сайты. Это хранилище данных, в которое пользователи размещают данные, после чего эти данные доступны всем, у кого есть ключ. Freenet, по сути – большая распределённая таблица хэшей.
Узлы сети резервируют место на диске и пользователи выбирают, какие данные хранить по ключу. Размещение данных в хранилище распределяет их по разным узлам, и обычно данные не хранятся на вашем узле. Запрос данных отправляется в сеть, и данные переходят на ваш узел. Используется система, которая позволяет восстанавливать данные. Даже если M из общего числа N сегментов данных потеряны, их всё равно можно восстановить. Данные поступают в сеть, и наименее используемые данные исчезают из неё. Данные в хранилище нельзя редактировать. Пока они находятся в хранилище, они всегда связаны с одним ключом.
+14
Bluetooth вольтметр на базе arduino
3 min
48KПривет, Хабр! Сегодня хочу продолжить тему «скрещивания» arduino и android. В предыдущей публикации я рассказал про bluetooth машинку, а сегодня речь пойдет про DIY bluetooth вольтметр. Еще такой девайс можно назвать смарт вольтметр, «умный» вольтметр или просто умный вольтметр, без кавычек. Последнее название является неправильным с точки зрения грамматики русского языка, тем не менее частенько встречается в СМИ. Голосование на эту тему будет в конце статьи, а начать предлагаю с демонстрации работы устройства, чтобы понять о чем же пойдет речь в статье.
+10
Deep Learning, NLP, and Representations
13 min
62KПредлагаю читателям «Хабрахабра» перевод поста «Deep Learning, NLP, and Representations» крутого Кристофера Олаха. Иллюстрации оттуда же.
В последние годы методы, использующие глубокое обучение нейросетей (deep neural networks), заняли ведущее положение в распознавании образов. Благодаря им планка для качества методов компьютерного зрения значительно поднялась. В ту же сторону движется и распознавание речи.
Результаты результатами, но почему они так круто решают задачи?
В посте освещено несколько впечатляющих результатов применения глубоких нейронных сетей в обработке естественного языка (Natural Language Processing; NLP). Таким образом я надеюсь доходчиво изложить один из ответов на вопрос, почему глубокие нейросети работают.
В последние годы методы, использующие глубокое обучение нейросетей (deep neural networks), заняли ведущее положение в распознавании образов. Благодаря им планка для качества методов компьютерного зрения значительно поднялась. В ту же сторону движется и распознавание речи.
Результаты результатами, но почему они так круто решают задачи?
В посте освещено несколько впечатляющих результатов применения глубоких нейронных сетей в обработке естественного языка (Natural Language Processing; NLP). Таким образом я надеюсь доходчиво изложить один из ответов на вопрос, почему глубокие нейросети работают.
+20
Автоматический определитель электронных компонентов
3 min
163KОчень интересное и несложное устройство, которое позволит измерить сопротивление, ёмкость и индуктивность любого элемента за несколько секунд.
Для этого потребуется совсем немного деталей, которые обычно есть у каждого начинающего ардуинщика: микроконтроллер ATMEGA, двухстрочный дисплей и несколько резисторов.
+58
Подключаем Ethernet ENC28J60 через SD card-reader для WEB-Servera на Arduino
2 min
59KВсем привет. Столкнувшись с технической трудностью в построении WEB сервера, придумал сделать переходник которого наверное еще никто никогда не делал(хотя могу ошибаться). Вс§ оказалось просто и довольно таки практично.
Для чего это нужно и как это создать я расскажу и покажу, а также покажу видео обзор работоспособности web servera на переходнике.
Для чего это нужно и как это создать я расскажу и покажу, а также покажу видео обзор работоспособности web servera на переходнике.
+29
Встраиваем бэкдор в публичный ключ RSA
4 min
111KTutorial
Привет, %username%!
Когда я увидел, как это работает, сказать, что я был в шоке — ничего не сказать. Это довольно простой трюк но после прочтения этой статьи вы больше никогда не будете смотреть на RSA по-прежнему. Это не взлом RSA, это нечто, что заставит вашу паранойю очень сильно разбухнуть.
+115
58 признаков хорошего интерфейса
16 min
380KTranslation
У хорошего интерфейса пользователя высокая конверсия и его просто использовать. То есть, он хорош и для бизнеса, и для использующих его людей. Вот список опробованных нами идей.
Один столбец точнее отражает то, что вы хотите донести. Пользователи проходят сверху вниз по более предсказуемому пути. В дизайне с несколькими колонками есть риск отвлечения пользователя от основной задачи страницы.
1 Один столбец вместо нескольких
Один столбец точнее отражает то, что вы хотите донести. Пользователи проходят сверху вниз по более предсказуемому пути. В дизайне с несколькими колонками есть риск отвлечения пользователя от основной задачи страницы.
+138
Термобарьеры, надгробные камни и прочие прелести печатных плат
6 min
153KПока крутые конструкторы проектируют правильные платы и заказывают производство на суперсовременных американо-европейских заводах, обратимся к опыту разработки печатных плат под возможности срочного производства одного из подмосковных (на самом деле Зеленоград – район Москвы) заводов с ручным подвальным монтажом (на самом деле ручные монтажники у них сидят аж на втором этаже, а в подвале стоит линия на 60,000 компонентов в час).
Дальнейший текст – личное мнение автора. Это не истина в последней инстанции, а лишь один из возможных срезов того огромного пласта информации, который доступен в настоящее время обычному конструктору.
+96
Почему вам НЕ стоит использовать AngularJs
12 min
248KМного времени прошло с момента появления AngularJs (в масштабах веб-технологий конечно). Сейчас в интернетах есть огромное количество постов восхваляющих этот фреймворк до небес, что это манна небесная не иначе, а критики не так уж и много как он того заслуживает. Но такие статьи уже потихоньку начинают появляться, и меня это радует, надеюсь индустрия переболеет ангуляром так же, как переболела MooTools, Prototype, %какой-нибудь новый язык под JVM%, %другая-супер-революционная-технология%. Не знаю почему, но в IT-области такие революционные технологии, которые поднимают шум, а потом пропадают, появляются довольно часто. Хороший разработчик должен уметь отличать очередную модную технологию, от работающего инструмента. И для этого очень важно критически смотреть на вещи. Моя статья — это компиляция самых весомых выводов из других статей, и моих личных умозаключений. Ангуляр создает хороший вау-эффект, когда видишь его впервые: «ух ты, я написал ng-repeat, и реализовал эту логику одними тегами и все само обновляется!», но как только приходится реализовывать реальные приложения, а не очередной TODO-лист, то все становиться очень печально. Сразу хочу сказать, что фреймворк я знаю хорошо, даже больше чем мне хотелось бы его знать, я программировал на нем в течении 2 лет. И для следующего проекта я его точно не выберу, и это хорошо, все мы учимся на ошибках. Так что же не так с ангуляром? Тут нет однозначного ответа, слишком много разных недостатков, которые создают такой облик фреймворку. Если одним словом – непродуманная архитектура. Под катом я привожу конкретику, так что устраивайтесь поудобнее. ДА НАЧНЕТСЯ ХОЛЛИ ВАР!
+179
Information
- Rating
- Does not participate
- Location
- Кокосовы (Килинг) о-ва
- Date of birth
- Registered
- Activity