Pull to refresh
0
@veZukread⁠-⁠only

User

Send message

Чат на Go (часть 1)

Reading time4 min
Reach and readers44K

Начинаем разработку чата на Go. Со стеком технологий пока не определились, но для начала сделаем каркас на Go. Берем за основу стандартный пример и пробуем разобраться, что здесь к чему:


https://github.com/golang-samples/websocket/tree/master/websocket-chat


Структура


Вводим 3 структуры Message, Client, Server, которые определяют сервер, клиента со стороны сервера и сообщение.


Message


Сообщение определено структурой:


type Message struct {
    Author string `json:"author"`
    Body   string `json:"body"`
}

func (self *Message) String() string {
    return self.Author + " says " + self.Body
}

С сообщением все совсем просто… Так, что перейдем сразу к клиенту.

Читать дальше →

Книга «100 НОВЫХ главных принципов дизайна»

Reading time12 min
Reach and readers21K
image Доктор психологических наук Сьюзан Уэйншенк написала продолжение своего легендарного бестселлера «100 главных принципов дизайна», используя последние открытия в области психологии, нейропсихологии, исследований мозга и социальной психологии. С момента выхода первой книги появились исследования, ставящие перед дизайнером новые задачи. «100 новых главных принципов дизайна» продолжают открывать тайны психологии, нейрофизиологии и исследований мозга и предлагают вам сжатые практичные советы, которые позволят создавать удобный и привлекательный дизайн, отвечающий неосознанным требованиям людей.

Узнайте, как повысить эффективность ваших веб-сайтов, приложений, дизайна и продуктов, найдя в книге ответы на следующие вопросы:
• Как заинтересовать зрителя рекламным роликом?
• Какое количество текста на экране люди готовы прочитать?
• Как одним простым приемом усилить правдоподобность вашего контента?
• Когда лучше НЕ давать аудитории выбор?
• Почему смех помогает в обучении детей?
• Облегчают ли шрифты восприятие информации?
• На каком месте экрана смартфона нельзя размещать меню?
• Каким образом человеческий мозг обрабатывает большие объемы данных?
Читать дальше →

Vulners — Гугл для хакера. Как устроен лучший поисковик по уязвимостям и как им пользоваться

Reading time9 min
Reach and readers103K


Часто нужно узнать всю информацию о какой-нибудь уязвимости: насколько найденный баг критичен, есть ли готовые сплоиты, какие вендоры уже выпустили патчи, каким сканером проверить наличие бага в системе. Раньше приходилось искать вручную по десятку источников (CVEDetails, SecurityFocus, Rapid7 DB, Exploit-DB, базы уязвимостей CVE от MITRE/NIST, вендорские бюллетени) и анализировать собранные данные. Сегодня эту рутину можно (и нужно!) автоматизировать с помощью специализированных сервисов. Один из таких — Vulners, крутейший поисковик по багам, причем бесплатный и с открытым API. Посмотрим, чем он может быть нам полезен.
Читать дальше →

Сигналы и слоты в PHP. Такие же как в Qt. Ну почти

Reading time5 min
Reach and readers12K
Сигналы и слоты — подход, используемый в некоторых языках программирования и библиотеках (например, Boost и Qt) который позволяет реализовать шаблон «наблюдатель», минимизируя написание повторяющегося кода. Концепция заключается в том, что компонент (часто виджет) может посылать сигналы, содержащие информацию о событии (например: был выделен текст «слово», была открыта вторая вкладка). В свою очередь другие компоненты могут принимать эти сигналы посредством специальных функций — слотов. Система сигналов и слотов хорошо подходит для описания Графического интерфейса пользователя. Также механизм сигналов/слотов может быть применён для асинхронного ввода-вывода (включая сокеты, pipe, устройства с последовательным интерфейсом, др.) или уведомления о событиях. В библиотеке Qt благодаря Метаобъектному компилятору (англ.)русск. отпадает необходимость писать код регистрации/дерегистрации/вызова, так как эти шаблонные участки кода генерируются автоматически.
Говорит нам Википедия.
Зачем это в php?

Oracle прекратила разработку Java EE?

Reading time5 min
Reach and readers110K


Прошло два года с момента выпуска Java 8 и многие с нетерпением ожидают выхода Java 9, который отодвинули на март 2017 года.

Тем временем в лагере разработчиков Java накаляются страсти. Будущее серверной платформы Java Platform, Enterprise Edition (Java EE) выглядит крайне смутно. Месяц назад компания Oracle объявила о значительной задержке с выпуском Java EE 8, и это был первый звонок. Как сейчас стало известно изданию Ars Technica, компания Oracle вовсе прекратила финансирование и разработку Java EE. Издание пишет, что традиционная бизнес-модель Oracle сейчас напрямую угрожает самому существованию платформы Java.

Созданная в Sun открытая платформа, в которую вложено столько усилий OpenSource сообщества, которая работает на сотнях тысяч серверов и корпоративных приложений, в том числе в высокопроизводительных проектах, может остаться без финансовой поддержки.

Если что-то не приносит денег, то нет причин это разрабатывать, считает Oracle. Обычный бизнес, ничего личного. И ничего нового для всех, кто знает историю Oracle.
Читать дальше →

Как стать профессиональным веб-разработчиком: практическое руководство

Reading time12 min
Reach and readers683K

Дорога длинна и трудна, но интересна и полезна!

Статья задумывалась как практическое руководство для желающих стать профессиональным веб-разработчиком. Я уже более 20 лет пишу код для веба. Я ежедневно работаю с веб-разработчиками и помогаю им. В статье я опишу, что вам нужно выучить, когда вам нужно это выучить и где взять информацию (чаще всего даже бесплатно). Затем я дам совет по получению реального опыта, и что самое важное – по получению денег за написание кода.

По статье разбросано множество ссылок на бесплатные и важные ресурсы. Для простоты я собрал их в PDF и разбил по категориям. Мне не платят за упоминания сайтов, ссылки на которые я привёл – я всего лишь хочу порекомендовать вам лучшие ресурсы, чтобы помочь вам достичь вашей цели.

Что нужно помнить:

1. Статью разрешается пролистывать

Руководство может помочь вам вне зависимости от вашего положения на дороге к профессиональной разработке. Прокрутите его к тому заголовку, который лучше всего описывает ваше сегодняшнее положение, и читайте оттуда. Если вы только начали этот путь, или пока размышляете об этом – последуйте совету Короля из «Алисы в стране чудес»:

Начните с начала, и продолжайте, пока не дойдёте до конца; и там уже остановитесь.
Читать дальше →

Гарвардский курс по основам программирования CS50 теперь на русском

Reading time4 min
Reach and readers194K
image

Предыстория: кто мы и как дошли до жизни такой

Мы — команда проекта JavaRush. А JavaRush, кто еще не в курсе, — это полностью автоматизированный обучающий онлайн-курс по Java. Когда-то давно, именно благодаря поддержке хаброюзеров и статьям на хабре, JavaRush и появился. В то время мы собирались переучить на программистов миллион человек.
Читать дальше →

Как правильно использовать видеорегистратор: ещё один самый подробный FAQ в интернете

Reading time31 min
Reach and readers108K
В Интернете полным-полно статей о том, как выбрать регистратор. Однако наблюдается острый дефицит материалов, где были бы собраны самые важные советы по эксплуатации видеорегистратора. Хотя именно от того, насколько правильно автомобилист использует купленную камеру, в конечном счете зависит вероятность успешного использования видеозаписи происшествия в суде. Или вообще вероятность получить съемку, которую можно приобщить к делу при разбирательстве.

Приветствую читателей Geektimes, с вами снова Александр Шуб – эксперт в тематике автомобильных видеорегистраторов и по совместительству автор материала «Как выбирать видеорегистратор – 2015: самый большой в интернете FAQ для обычного покупателя». Напомню, мой стаж тестирования устройств данного типа перевалил за пять лет, а число пристально изученных моделей приближается к двум сотням. Главным мотивом к моей огромной статье о выборе регистратора послужило то, что в интернете отсутствовали подробные материалы такого рода, а если и встречались объёмные ликбезы, то непременно с ворохом устаревшей и совершенно бесполезной информации. В случае с советами по правильной установке, подключении, настройке и другим аспектам использования регистратора все дела обстоят ещё хуже.

Как таковых подробных, обстоятельных статей нет вообще — лишь разрозненные мелкие публикации. Я взялся исправить этот пробел и написал ещё один самый подробный FAQ в интернете по регистраторам, только на этот раз всецело посвятив статью вопросам грамотной эксплуатации автомобильного «чёрного ящика».


Читать дальше →

Книга «Android для разработчиков»

Reading time9 min
Reach and readers35K
Привет, Хаброжители! У нас вышло 3-е издание книги Пола и Харви Дейтл, Александера Уолда:

image Предлагаем подробно ознакомится с разработкой приложений для смартфонов и планшетов Android с использованием Android Software Development Kit (SDK). Многие навыки программирования для Android, представленные в книге, также применимы к разработке приложений для Android Wear и Android TV.

В книге представлены передовые технологии разработки мобильных приложений для профессиональных программистов. В основу книги заложен принцип разработки, ориентированной на приложения, — концепции разработки продемонстрированы на примере полностью работоспособных приложений Android, а не фрагментов кода. Каждая из глав 2–9 начинается с вводной части, в которой вкратце описано разрабатываемое приложение. Затем приводятся результаты тестирования приложения и обзор технологий, применяемых в процессе его разработки. Далее выполняется подробный анализ исходного кода приложения.

Читать дальше →

Как общаться с заказчиками и договариваться о проектной работе

Reading time26 min
Reach and readers40K
Я занимаюсь мобильной разработкой в статусе ИП вот уже полтора года. За это время пришлось поработать с разными людьми. После одного досадного случая, я решил, что мне необходимо усилить навыки общения с заказчиками и отстаивания своих интересов. Я попытался собрать свой опыт и опыт своих коллег. В результате получилось что-то вроде методических указаний для фрилансеров. Начинающих и не только.
Читать дальше →

Руководство по PHP7

Reading time16 min
Reach and readers73K

php7-tutorial.com


Цель этого сайта помочь вам обнаружить нововведения в PHP 7. Это руководство представляет из себя набор простых упражнений, в которых вам будет предложено что-либо решить, либо исправить ошибку. Каждое упражнение соответствует стандарту RFC (набор технической спецификации и стандартов) и сопровождается кратким пояснениями.

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


Всем привет, с вами Максим Иванов, и сегодня мы поговорим о нововведениях PHP 7, о которых более подробно поведает нам Гийом Девар (Guillaume Dievart) в своем руководстве, сделанном в форме упражнений. Но прежде чем начинать, я хочу отметить один момент. Я не буду приводить полное руководство по данному языку программирования в этом обзоре, просто оставлю здесь ссылку на самую свежую и достоверную информацию. Джош Локхарт (автор гайдлайна «PHP: правильный путь», разработчик Slim Framework), написал данную книгу с целью помочь новичкам, по его словам: «В последнее время существует много дискуссий о том, что PHP сообществу и, в целом, программистам не хватает достоверной информации по языку PHP, поэтому мое руководство призвано решить эту проблему». Чем именно? Вы знаете, что по интернету разбросано огромное количество материла по PHP, но многое уже устарело или не приводит к написанию качественного кода. В этой книге присутствуют основные актуальные сведения с ссылками на проверенные ресурсы. Если кому интересно, такое есть и по JavaScript. А теперь вернемся к упражнениям и приступим.
Читать дальше →

Отношения классов — от UML к коду

Reading time7 min
Reach and readers833K
Введение

Диаграмма классов UML позволяет обозначать отношения между классами и их экземплярами. Для чего они нужны? Они нужны, например, для моделирования прикладной области. Но как отношения отражаются в программном коде? Данное небольшое исследование пытается ответить на этот вопрос — показать эти отношения в коде.
Читать дальше →

Готовим простой блог на микросервисах, пишем свой микрофреймворк на php и запускаем все на Docker с примерами

Reading time9 min
Reach and readers83K

А что если я скажу вам, что новый продукт можно сразу начинать писать на микросервисной архитектуре, а не заниматься распилом монолита? Это вообще нормально? Удобно? Хотите узнать ответ?


Задача: необходимо написать за выходные (время ограниченно 10-15 часами) сферический блог на микросервисах, на php, не используя никаких фреймворков. Можно пользоваться здравым смыслом. А еще забудем о том что такое фронтенд и вспомним что мы жить не можем без виртуализации. Выберем Docker. Интересно? Вперед под кат.


image
Читать дальше →

Базовые различия при работе с базами данными MySQL и PostgreSQL Дилетантский обзор

Reading time3 min
Reach and readers20K
Продолжая свое знакомство с БД PostgreSQL, с уже имеющимися навыками работы в БД MySQL, обнаружил ряд интересных полезных особенностей которые на практике часто не хватало в MySQL. Цель этого обзора не в создании бесконечного спора, что лучше, а дать легкое сравнение, которое обычно обсуждается программистами на обеденном перерыве в ближайшей кафешке. В сравнении обретаются новые знания и опыт, поэтому оно того стоит.
Читать дальше →

Оценка сложности алгоритмов

Reading time6 min
Reach and readers660K
Не так давно мне предложили вести курс основ теории алгоритмов в одном московском лицее. Я, конечно, с удовольствием согласился. В понедельник была первая лекция на которой я постарался объяснить ребятам методы оценки сложности алгоритмов. Я думаю, что некоторым читателям Хабра эта информация тоже может оказаться полезной, или по крайней мере интересной.
Читать дальше →

Книга «Карьера программиста. 6-е издание»

Reading time5 min
Reach and readers44K
Привет, Хаброжители! У нас вышло 6-ое издание книги Гэйл Лакман Макдауэлл:

image Книга «Карьера программиста» основана на опыте практического участия автора во множестве собеседований, проводимых лучшими компаниями. Это квинтэссенция сотен интервью со множеством кандидатов, результат ответов на тысячи вопросов, задаваемых кандидатами и интервьюерами в ведущих мировых корпорациях. Из тысяч возможных задач и вопросов в книгу были отобраны 189 наиболее интересных и значимых. Шестое издание этого мирового бестселлера поможет вам наилучшим образом подготовиться к собеседованию при приеме на работу программистом или руководителем в крупную IT-организацию или перспективный стартап. Основную часть книги составляют ответы на технические вопросы и задания, которые обычно получают соискатели на собеседовании в таких компаниях, как Google, Microsoft, Apple, Amazon и других. Рассмотрены типичные ошибки, которые допускают кандидаты, а также эффективные методики подготовки к собеседованию. Используя материал этой книги, вы с легкостью подготовитесь к устройству на работу в Google, Microsoft или любую другую ведущую IT-компанию.

Читать дальше →

Для чего нужны шаблоны проектирования

Reading time5 min
Reach and readers101K
Все чаще и чаще я слышу от разработчиков и читаю в статьях, что шаблоны проектирования (они же дизайн-паттерны) никому не нужны. Мол, они появились во времена «цветения» UML, RUP, CASE систем и прочих чересчур «сложных» инструментов, подходов и практик. А сейчас самое важное — это код рабочий написать, да побыстрее. На умные толстые книжки ни у кого нет времени, разве что для прохождения собеседования. Тех, кто хочет обсудить данную тему, прошу под кат.

Читать дальше →

В Швейцарии открыт самый длинный в мире железнодорожный тоннель: 57 км

Reading time3 min
Reach and readers55K

Трудно поверить, но 17-летний инженерный проект точно уложился в смету и закончен на 1 год раньше срока




Самый протяжённый и глубокий в мире Готардский базисный тоннель официально открылся в Швейцарии после 17 лет строительства.

Новый тоннель через Альпы связал Северную и Южную Европы (Италию и Германию) напрямую по железнодорожной магистрали. В списке самых длинных транспортных тоннелей в мире Готардский базисный тоннель (57,1 км) обогнал японский тоннель Сэйкан (53,9 км) и Евротоннель (50,5 км).
Читать дальше →
1
23 ...

Information

Rating
Does not participate
Registered
Activity