Задать вопрос
  • Где можно найти примеры очень сложных Sql SELECT запросов?

    Sanasol
    @Sanasol
    нельзя просто так взять и загуглить ошибку
    50fd83a7d5e46f16f6442c2c7ed3.png

    ищем (наиболее) свободный сервер при заказе хостинга

    у каждой услуги есть "вес" который занимается на сервере при аренде.
    Суть в том что считаем весь арендованный вес на сервере, и потом выбираем самый свободный для нового заказа.
    Ответ написан
    3 комментария
  • Как изучить язык баз данных SQL?

    @poimanoo
    Я перед собеседованием на должность sql-джуна будучи полным нулем за ночь порешал задачки на этом сайте и на следующий день решил все предложенные задачи и был принят) Скажу так - я бы посоветовал порешать эти задачи, они там предлагаются по нарастанию сложности и подкреплены теорией, за которой вам не нужно лишний раз лезть в учебники. Уверяю, с каждым десятком решенных задач Вы будете чувствовать себя гуру sql) Спустя задачек 30, когда у Вас сформируется представление о том, что из себя представляет SQL на деле, тогда можно приступать к литературе, поверьте, после практики гораздо легче воспринимать материал, ибо уже имеется представление, о чем речь.
    По литературе(с небольшими пояснениями):

    1. Введение в системы баз данных(Автор C.J.Date) - на мой взгляд очень доступное и максимально компактное описание того, на чем базируется SQL, разжеваны основные понятия, рассмотрены нормальные формы, а после предлагаются задачки.

    2. SQL Полное руководство - тут понятно по названию, здесь можно найти описание всех возможностей. Ищите наиболее позднее издание(у меня третье, для примера, это 2015 год).

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

    Если вы выбрали MS SQL Server:

    1. Microsoft SQL Server 2012 Руководство для начинающих - там хоть и не сильно углубляясь, но описано почти все что нужно на начальных этапах. Там и про индексы, и про оптимизацию, и про бизнес-аналитику, в общем, рекомендую.

    2. Microsoft SQL Server 2012 Создание запросов - просто и исчерпывающе(на момент издания) о том, как можно и нужно писать запросы на t-sql(расширение sql для MS SQL Server) с закреплением материала предлагаемыми заданиями.

    Если Вы выбрали Postgresql, то официальное руководство там исчерпывающее.

    По Oracle и MySQL советов дать не могу, ибо дела не имел. Удачи!
    Ответ написан
    1 комментарий
  • Verilog - в чем отличия?

    @ont0shko
    Отличия языков в уровнях абстракции.

    verilogvhdl1.gif

    На уровне вентилей Verilog имеет все из коробки, язык от туда и начинался, в то время как для VHDL была разработана VITAL. В результате они сравнились по возможностям.

    С описанием алгоритмов и поведенческих моделей, они справляются оба, тут дело вкуса и действительно наличия лицензии. Verilog зачастую идет как основной язык, в то время VHDL - опция. Куча софта на входе желают видеть Verilog или производные из него. В плане FOSS решений есть icarus verilog и GHDL, однако последний вроде как встал.

    Уровень системы, тут конечно VHDL вырывается в перед. Аля Паскаль( и его родители ) система пользовательских типов, все из коробки, ребята давайте тип сделаем фукнции к нему напишем, операторы определим, лучше день потерять потом за пять минут до лететь. Куда там C-подобному Verilog'у без структур данных, тяжко. Однако SystemVerilog такое С++ из мира Verilog. Вот вам Typedef, Enum, Union, Struct, Class. Правда SV - это другой язык и к нему опять нужна лицензия.

    Я начинал с VHDL, он такой строгий и прям в строгости держит, сейчас перебираюсь на Verilog, SystemVerilog.
    Ответ написан
    1 комментарий
  • Совет начинающему программисту. Как следует подходить к приобритению навыка OOP?

    @sozforex
    Программист, Python
    Начальный (но не элементарный) курс по программированию, в котором дается плавный переход от функционального программирования к ООП, объяснена польза ООП, зачем ООП было придумано и как им пользоваться:
    www-inst.eecs.berkeley.edu/~cs61a/fa14
    Я получил много ценных знаний при прохождении этого курса, хотя и проработал до этого программистом 2 года.
    Курс идет вместе с адаптированной под питон книгой SICP (Structure and Interpretation of Computer Programs) со встроенными интерактивными вкусностями.
    2 chapter этой книги посвящен ООП и основам, на которых он строится. Рекомендую не перепрыгивать через начало курса/книги.
    Ответ написан
    1 комментарий
  • Совет начинающему программисту. Как следует подходить к приобритению навыка OOP?

    @veitmen
    Почитал ответы.

    Могу только посоветовать еще развивать объектное мышление. Да, книги - хорошо. В них вы начнете понимать как использовать инструменты ООП и для чего они нужны. Но проектировать ваши типы вы научитесь только после того, когда четко начнете использовать объектное мышление. Пробуйте идя по улице смотреть на то, что вас окружает. И думайте о том, как любой окружающий объект переложить на код. Как сделать потом так, что бы эти объекты было проще создавать с минимальным количеством кода (научитесь использовать наследовани и полиморфизм). Почему что то из реализации нужно скрывать от пользователя (инкапсуляция). Начните думать какую можно создать иерархию классов для нематериальных вещей (процессы, связи, чувства). Когда вы смотря на задачу (подчеркну, что задача любая), будете видеть какие объекты вам нужны и как они взаимодействуют, то значит вы научились ООП.

    ООП - лишь еще один инструмент, не думайте что это золотая пуля. Состояние, в целом - зло.
    Ответ написан
    2 комментария
  • Отличия абстрактного класса от интерфейса?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    В чем отличие абстрактного класса от интерфейса в Java?


    Все упирается в понятие "тип". В былые времена, то есть во времена языка Simula, из которого черпали вдохновение создатели C++, были только классы. И на классах базировалась система типов. Причем механизм наследования был реализован так, как реализован, исключительно для экономии памяти, которая в те времена была очень дорогой.

    Для того чтобы достичь полиморфизма, мы должны иметь возможность объявлять абстрактные типы. Мол "любая хрень которая имеет такой тип будет работать как надо". Потому в языках типа C++ появились абстрактные классы. Поскольку иногда нам хочется делать композицию абстрактных типов, в C++ реализовали множественное наследование.

    В Java, которая во многом черпала вдохновения из C++ и smalltalk, решили ввести еще одну сущность - интерфейсы. Это был своего рода упрощенный способ задать абстрактный базовый тип. По итогу чтобы не решать проблему бриллианта (или ромба) от множественного наследования было решено отказаться и дать возможность классам имплементить несколько интерфейсов.

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

    В целом абстрактные классы нужны тогда, когда вам нужно наследование. Обычно это в ситуациях, когда у вас есть несколько классов, которые должны иметь общий абстрактный тип (то есть нельзя выделить наиболее слабого по ограничениям предка). Например если мы делаем цепочку классов String <- Email, то тут нет смысла в абстрактных классах так как тип String уже включает в себе подмножество типов Email.

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

    Так же рекомендую к прочтению: www.javaworld.com/article/2073649/core-java/why-ex...
    Ответ написан
    9 комментариев
  • Прежде чем начать изучать языки программирования?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    стоит понять Архитектуру ЭВМ, Основы ОС и базовый АСМ.
    Что бы писать программы для компьютеров надо(внезапно) понимать хотя бы основные принципы работы компьютеров. Ассемблер учить не обязательно, а понимать почему в байте 8 бит на уровне архитектуры - достаточно важно, что бы потом не возникало вопросов "почему нельзя создать переменную которая бы занимала места столько, сколько нужно для хранения именно текущего значения, а не больше, чтобы память экономить", а то тут часто подобную дичь спрашивают. Так же - ОС на уровне как работает ФС, что такое страничная память, как работает адресация, кодировки символов и прочие составляющие. Если быдлокодить - это вообще не нужно знать, если писать что-то более-менее серьезное - без этого уйдет много времени на понимание что и как сделать "чтоб работало". Другой момент что это не обязательно делать ДО обучения, вполне можно совместить.
    Ответ написан
  • С чего начать изучение Linux с нуля?

    illuminat17
    @illuminat17
    инженер-системотехник
    Здравствуйте, Vitaminka!
    Я бы Вам посоветовал предпринять следующие шаги.
    1. Установить один из хорошо поддерживаемых дистрибутивов на "компьютер под рукой" (свой домашний, второй свой домашний, виртуалка). На мой взгляд, если Вы сам не сторонник "шоковой терапии", то лучший вариант поставить на второй домашний (тестовый), а если сторонник, то сразу на главный домашний. Из дистрибутивов рекомендую в порядке убывания предпочтения для вашего случая следующий список:
    Ubuntu 16.04
    www.ubuntu.com/download/ubuntu-kylin

    Debian Jessie 8.5
    cdimage.debian.org/debian-cd/8.5.0/amd64/iso-dvd

    OpenSuse
    https://software.opensuse.org/421/en

    2. Как правильно писал Ciscoridze определите себе некую цель. Не общую, типа "хочу в совершенстве изучить Linux", а конкретную. Причём очень важно, чтобы это была действительно интересная для Вас задача и предельно конкретная. Как уже писали "установить свой Web-сервер и опубликовать его в интернете", "автоматизировать отправку СМС сообщений по критическим событиям на ПК и в сети" и т.п.

    3. Хоть нынче это становится не слишком модно, купить бумажную книгу хорошего автора и читать её постоянно. Дело в том, что помимо конкретных знаний, как решить тот или иной вопрос, которые почтит всегда можно найти в интернете, очень важно общее понимание, системное преподнесение материала, а оно возможно как раз из книги или из обучающего курса. Как хороший пример «UNIX и Linux. Руководство системного администратора» (2010) Эви Немет.
    adm-lib.ru/linux-i-drugie-unix/evi-gart-trent-ruko...

    4. Одновременно ос всем этим считаю очень полезным чтение справочника команд прямо в алфавитном порядке. Такие справочники есть в большом количестве. Много чего там будет оставаться для вас совершенно не понятным, но ровно столько же вызовет у вас немой возглас "ах вот как это просто и классно, буду знать!!!". Чтение этого справочника должно стать для Вас многопроходным процессом и со временем количество команд из группы "ничего не понимаю" начнёт существенно убывать.
    5. Очень хорошо бы найти человека, который мог бы Вам подсказывать какие-то вещи, когда у Вас совсем будет уже тупик. Кстати, выбор первого Вашего дистрибутива лучше увязать с тем, какой установлен у него. Это резко повышает эффективность помощи.
    6. Будут моменты, когда "ничего не работает, ненавижу!!! Ничего не получается!!!". Не опускайте руки, не сдавайтесь, решение найдётся. :)
    Ответ написан
    1 комментарий
  • Как учить технический английский?

    xtala
    @xtala
    Постигает Дзен
    Lingualeo + Rosetta Stone.
    Lingualeo для словарного запаса. Перед обучением обязательно пройди тестирование и укажи направление обучения IT.
    Rosetta Stone для слуха. Очень удивился когда буквально пару раз позанимался с этой программой и начал в англоязычных аудио четко различать почти каждое слово. До этого вообще речь на слух не воспринимал хотя читал вполне уверенно. Было что-то типа: "Blalalala bool bool Blalalala Bool Fuck Suck..."
    Лингвалео бесплатен, розетский камень тоже хм.... бесплатен... На торрентах бесплатен, если ты конечно понимаешь о чем я :).
    Найдешь усе сам.
    Ну а если не найдешь, то лучше иди перебирать картофель на овощебазу.
    Ответ написан
    7 комментариев
  • Как сделать приложение для android?

    denisandroid
    @denisandroid
    BASH ,PHP , MYSQL, C++, JAVA . (PHP, JAVA,MYSQL)
    Изучаешь конечноже java
    Можно начать изучать сразу на практике, качаем android studio, sdk (android 5, 4)
    Потом посещяем сайты!)
    Вот сайт для новичков отоично все расписано developer.alexanderklimov.ru/android
    Потом когда изучите все дни, уже имеете маленький но начальный опыт на андроиде, можно приступать к сайт этому startandroid.ru/ru/uroki/vse-uroki-spiskom.html , много уроков да?), также там есть видио уроки, если так не терпится.
    Ну и после того как вы понаделали проектов можно приступать к vk api и уже создать то что вам надо. Изучать будете месяц два) если хотите сделать чтото стоющее.
    А вы как думали:) В этот мир пускают людей с оч прямыми руками:)
    Ответ написан
    3 комментария
  • Как вы планировали своё учебное время?

    Не читать непонятно что и от кого, искать и изучать инфу только с проверенных источников.

    ITVDN
    - Сайт https://itvdn.com/ru/catalog
    - Youtube канал https://www.youtube.com/user/CBSystematicsTV/playlists
    После изучения их курсов точно будите разбираться в основах.

    HTML Academy
    - https://htmlacademy.ru/

    Справочники
    metanit.com/web
    https://html5book.ru/category/uroki/

    Начать проще с видео, в них подробно и с самого начала, после уже можно читать и вникать в подробности, которые не нужны с самого начала, им не на что "ложиться".
    Ответ написан
    Комментировать
  • Каковы типичные требования к Junior ASP.NET при устройстве на работу?

    https://metanit.com/sharp/
    - Полное руководство по C#
    - Паттернам проектирования
    - Полное руководство по ASP.NET MVC 5 и Руководство по Web API
    - Руководство по Entity Framework 6

    https://metanit.com/web/
    https://html5book.ru/category/uroki/
    - Руководство по HTML5 и CSS3

    Этого хватит.

    Просто прочитай, не все сразу, а по частям, растяни на пару месяцев, так лучше запомнится.
    Главное что бы "глаза горели".
    Ответ написан
    2 комментария
  • Какую литературу читать новичку по C#?

    Литература по языку C#

    Книги для новичков: а о чём это вообще?

    • Head First C#, Jennifer Greene, Andrew Stellman (русский перевод: Изучаем C#, Д. Грин, Э. Стиллмен). Содержит упражнения. Рекомендуется многими как хорошая книга для новичков.
    • Язык программирования C# 5.0 и платформа .NET 4.5 - Эндрю Троелсен. Популярная книга, многие начинали с неё.
    • C# 4.0: полное руководство, Герберт Шилдт. Несмотря на неоднозначное отношение к автору, книга пользуется популярностью.
    • C# 2010. Ускоренный курс для профессионалов, Нэш Трей
    Книги среднего уровня: если hello world не проблема
    • CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C#, Джеффри Рихтер. Неувядающая классика. Хотите знать, что и как происходит на самом деле? Это книжка для вас. Не самое живое изложение, зато максимум подробностей из первых рук.
    • C# 6.0 in a Nutshell, Joseph Albahari, Ben Albahari (русский перевод предыдущей версии:C# 5.0. Справочник. Полное описание языка, Джозеф Албахари, Бен Албахари). Отличная книга, затрагивает многие аспекты, расставляет по местам ваши знания о предмете. Сводит разрозненные отрывочные знания в общую понятную картину, объясняет, какими средствами нужно пользоваться, а для чего есть уже более хорошие подходы. Есть online-глава о многопоточности (русский частичный перевод), почитайте!
    • Essential C# 5.0, Mark Michaelis в сооавторстве с Эриком Липпертом. Хорошая книга для программистов, желающих овладеть C#. Знания других языков, перед чтением, приветствуются. От Эрика Липперта в книге представлены продвинутые советы, которые встречаются на протяжении всей книги.
    • Effective C# и More Effective C#, Bill Wagner. О том, как надо и как не надо программировать на C#. Разбираются отдельные аспекты программирования, способствует углублению понимания языка.
    • Programming C# 5.0: Building Windows 8, Web, and Desktop Applications for the .NET 4.5 Framework, Ian Griffiths. (Русского перевода пока нет.) Очень детальная, подробная книга, в которой найдутся ответы на продвинутые вопросы.

    Книги для специалистов: внутренние механизмы и пыльные углы

    • C# in Depth, Jon Skeet, Third Edition (русский перевод: C#. Программирование для профессионалов, Джон Скит, пока переведено лишь второе издание). Имя автораговорит само за себя. Джон один из лучших людей, которые умеют доходчиво объяснять сложные вещи.
    • C# 5 Unleashed, Барт де Смет. Фундаментальная книга.
    • Debugging Microsoft .NET 2.0 Applications, John Robbins (русский перевод: Отладка приложений для Microsoft .NET, Джон Роббинс). Основы промышленной отладки: WinDbg/SOS, дампы памяти и решение проблем в приложениях (почти) без Visual Studio.
    • Under the Hood of .NET Memory Management, Chris Farrell, Nick Harrison. Полное описание всех тонкостей управления памятью в платформе .NET. Книга доступнабесплатно на английском.
    • Expert .NET 2.0 IL Assembler, Serge Lidin. В книге представлены ответы почти на все тонкости низкоуровневого программирования на .NET, а именно на языке IL. В книге описаны детали .NET Framework 2.0, по этому на данный момент какие то аспекты могут быть не актуальны.
    • Оптимизация приложений на платформе .NET с использованием языка C#, Саша Голдштейн, Дима Зурбалев, Идо Флатов (Переводчик: Александр Киселев). В книге рассматривается моменты .NET с точки зрения производительности. Рассказывается об способах замеров и шаблонах оптимизации. Также там рассматриваются вопросы, связанные с GC и небезопасным кодом.

    Дополнительные ресурсы:

    • Официальная спецификация C# 5
    • Framework Design Guidelines. Руководства и соглашения по проектированию многократно используемого кода. Является выдержкой из одноимённой книги, Krzysztof Cwalina, Brad Abrams. Книга переведена на русский под названием Инфраструктура программных проектов, Кржиштоф Цвалина, Брэд Абрамс.

    Литература по асинхронному программированию и многопоточности

    • Concurrent Programming on Windows, Joe Duffy. Профессиональное использование многопоточности в инфраструктуре .NET от одного из лучших мировых специалистов по многопоточности. В книги описаны тонкости использования как stream'oв так и thread'ов. Раскрыто, как и когда использовать Concurrent-, Parallel- и Asynchronous-модели. Примеры в книге присутствуют от достаточно низкоуровневых (с использованием системных потоков через WinAPI) до высокоуровневых Task'ов и PLINQ. Книга написана под .NET Framework 4.0, поэтому работа с ключевыми словами async/await в книгу не вошла.
    • Concurrency in C# Cookbook, Stephen Cleary. (Русского перевода пока нет.) Очень толковое разъяснение современных паттернов использования многопоточности, особое внимание уделено использованию конструкции async/await. Обсуждается решение типичных проблем, решаемых асинхронным кодом. Отдельно описывается работа с Reactive Extensions и TPL Dataflow.

    Литература по WPF
    • Pro WPF 4.5 in C#: Windows Presentation Foundation in .NET 4.5, Matthew MacDonald (русский перевод: WPF: Windows Presentation Foundation в .NET 4.5 с примерами на C# 5.0 для профессионалов, Мэтью Макдональд). Разбор XAML'а, лаконичные, но полезные примеры. Пристальное, но не навязчивое внимание к деталям.
    • Windows Presentation Foundation Unleashed, Adam Nathan. Наверное, лучшая книга для новичка.
    • Applications = Code + Markup: A Guide to the Microsoft Windows Presentation Foundation, Чарльз Петцольд. Фундаментальная книга великолепного специалиста. Написана довольно тяжело, много листингов, плотный поток информации

    Литература по ASP.NET
    • Pro ASP.NET MVC 5, Adam Freeman (русский перевод: ASP.NET MVC 5 с примерами на C# 5.0 для профессионалов, Адам Фримен). Поэтапное написание веб-приложения с рассмотрением большинства важных аспектов разработки приложения: паттерн MVC, юнит-тестирование, инверсия зависимостей и т. п.
    • Pro ASP.NET 4.5 in C#, Adam Freeman (русский перевод: ASP.NET 4.5 с примерами на C# 5.0 для профессионалов, Адам Фримен).
    • Professional ASP.NET MVC 5, Jon Galloway, Phil Haack, Brad Wilson, K. Scott Allen
    • Programming ASP.NET MVC 4: Developing Real-World Web Applications with ASP.NET MVC, Jess Chadwick, Todd Snyder, Hrusikesh Panda (русский перевод: ASP.NET MVC 4. Разработка реальных веб-приложений с помощью ASP.NET MVC, Джесс Чедвик, Хришикеш Панда, Тодд Снайдер).
    • ASP.NET MVC Framework, Гайдар Магдануров, Владимир Юнев
    • Pro ASP.NET MVC 2 Framework, Steven Sanderson (русский перевод: ASP.NET MVC Framework с примерами на C# для профессионалов, Стивен Сандерсон)
    Дополнительные ресурсы:
    • Get Started with ASP.NET от Microsoft
    • Видеокурсы на intuit.ru: Разработка веб-приложений на ASP.NET, Разработка веб-приложений с использованием ASP.NET MVC Framework.

    Литература по LINQ
    • Pro LINQ: Language Integrated Query in C# 2010, Joseph Rattz, Adam Freeman (русский перевод: LINQ. Язык интегрированных запросов в C# 2010 для профессионалов, Адам Фримен, Джозеф С. Раттц). Учебно-справочное пособие, в котором понятно и подробно описаны возможности языка LINQ. Хороша для старта.
    • LINQ Pocket Reference, Joseph Albahari, Ben Albahari (русский перевод: LINQ. Карманный справочник, Джозеф Албахари, Бен Албахари). Хороший справочник по всему, что относится к LINQ. Рассмотрены новые конструкции C# для поддержки LINQ. Много примеров.
    • C# in Depth, Jon Skeet (русский перевод: C#. Программирование для профессионалов, Джон Скит). Немалая часть книги посвящена тому, как работает LINQ.

    Литература по принципам, шаблонам и методикам разработки
    • Внедрение зависимостей в .NET, Марк Симан. Несложно написанная книга про управление зависимостями в приложениях.
    • Принципы, паттерны и методики гибкой разработки на языке C#, Роберт С. Мартин, Мика Мартин

    Литература по Windows Workflow Foundation
    • Essential Windows Workflow Foundation, Dharma Shukla, Bob Schmidt (русский перевод:Основы Windows Workflow Foundation, Дхарма Шукла, Боб Шмидт). Для тех, кого заинтересовала 26 глава («Введение в Windows Workflow Foundation») из книги Эндрю Троелсена Язык программирования C# 5.0 и платформа .NET 4.5.
    • Pro WF 4.5, Bayer White (русской версии нет). Более углубленный взгляд на WF.

    Литература по XML
    • XML.NET, Джо Грей, Динар Дальви, Бипин Джоши, Фредрик Нормен, Фрэнсис Нортон, Энди Ольсен, Дж. Майкл Палермо IV, Даршан Сингх, Джон Слэйтер, Кевин Уильямс (Переводчик: И. Штерев). В книги содержится всё про применение XML в .NET за исключением LINQ. Старовата уже, но зато там есть объяснение, как внедрить свои функции на C# в XSLT.

    Литература по ADO.NET
    • Основы ADO.NET, Боб Бошемин (Переводчики: О.А. Лещинский, А.В. Журавлев, Н.Н. Селина)

    Литература по .NET Remoting / WCF
    • Microsoft .NET Remoting, Скотт Маклин, Джеймс Нафтел, Ким Уильямс
    • Создание служб WCF, Джувел Леве (Переводчики: Е. Матвеев, А. Пасечник)

    Литература по безопасности
    • Криптография и безопасность в технологии .NET, Питер Торстейнсон, Гнана Ганеш (Переводчик: В. Хорев). Книга дает представление .NET разработчику о реализации и применении криптографии, цифровой подписи, аутентификации, авторизации и доступа к коду (CAS). В ней описывается, что такое симметричное и асимметричное шифрование, что представляют собой цифровые подписи и как их использовать в .NET приложениях.
    • Microsoft ASP.NET. Обеспечение безопасности, Доминик Байер. Не смотря на то, что в названии указано ASP.NET в книге рассматриваются технологии безопасности под Windows, применимые из .NET для всех типов приложений. Это аутентификация, авторизация, олицетворение и Membership.
    Ответ написан
    5 комментариев
  • Как и чем быстрее всего начать зарабатывать на программировании/веб-программировании?

    @CAMOKPYT
    Забудь про фриланс, сколько бы про него не говорили, это биржа ДЕШЕВОЙ рабочей силы со всеми вытекающими последствиями в виде кидалова, низкой зп, скучной работы, туда идут люди с серьезными проблемами вроде невозможности перебраться в город, социопатии, инвалидности, "утонченная личность", фриланс это почти всегда вынужденная мера. Вообще фриланс и стабильный заработок несовместимые понятия, просто потому что фриланс подразумевает постоянный поиск мелкой работы, никакой заказчик не будет давать большой серьезный проект фрилансеру никогда, потому что это большая ответственность, посмотрите соседние вопросы, пацики с рейтами 150баксов в час работают 10 часов в месяц, а остальное время ищут заказы, причем это люди с опытом и портфолио + отличный английский. Начинать карьеру с фриланса это 100% гарантия того что, все что можно сделать неправильно (техническая сторона), будет сделано неправильно, потому что работает, дедлайн вчера, а подсказать или сделать код ревью некому, никакие книжки тут не помогут, выбора не будет, ты либо читаешь либо работаешь. Так что не советую ввязываться в эту тему. Лучше начать работы в офисе под строгим надзором. Ну и конечно html+css+js это мало, нужно знать еще около программисткие штуки вроде систем контроля версий, багтрекеры, несколько ide/ текстовых редакторов, если это веб почти гарантированно надо иметь представления о http/https, ООП, возможно sql. Не то чтобы для 20к месяц все это нужно отлично знать, но как минимум иметь представление, чтобы не отвлекаться. Вот по фронтэнду. Для большой гарантии устройства на работу, как уже сказали выше, лучше сделать себе сайт, а еще лучше сделать небольшое портфолио и выложить на гитхаб, это сейчас очень модно. На изучения всего вышеперечисленного уйдет 1-2 месяца если сидеть по 8-4 часа в день примерно, свой сайт где-то неделю на разработку визитки и еще неделя на вылизывание, но оно того стоит, а в процессе поиска работы можно и на гитхаб по чуть-чуть кидать, хотя вряд ли получится много. Удачи.
    Ответ написан
    8 комментариев
  • Какие есть хорошие книги или мануалы по настройке ядра линуск?

    описывались все настройки ядра (на русском)

    Такого не существует.

    80% ядра это драйверы. Их смело можно выкинуть, оставив лишь необходимые.
    10% это поддержка сети, тоже убираем всё неиспользуемое.
    Оставшиеся 10% это виртуализация, криптография, планировщики.

    Лучшая документация - само ядро. Все пункты в меню подробно описаны.
    Ответ написан
    Комментировать
  • С чего начать ФП?

    У haskell велколепный синтаксис. Начните с книги Липовача.
    Ответ написан
    Комментировать
  • Как децентрализованные системы соединяются?

    Bitcoin и Tor (перечисленные в тегах) используют bootstrap-сервера, к которым они присоединяются для получения начального списка доступных узлов. Что-то вроде торрент-трекера.

    Затем в действие вступает DHT.
    Ответ написан
    22 комментария
  • Как усовершенствовать ноутбук?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Ничего.

    Но если всё совсем плохо, то первым делом стоит выкинуть всё лишнее, что использует ресурсы. Наилучшим вариантом будет, так это установка archlinux (или gentoo, но это посложнее будет) по мануалу, с натягиванием лёгкого openbox и всего по минимуму. К сожалению, chromium жрёт RAM гигабайтами, так что придётся обойтись каким-нибудь netsurf'ом, ну или что-нибудь более мэйнстримное (читай, красивое) вроде Midori без расширений; в общем, выбор есть. Обязательно настраиваем zram и радуемся вдвое возросшему объёму RAM.

    Теперь более хардварное. Разгон, конечно, стоит сделать. Но без опыта крайне не советую, лучше поискать машинку, которую не жаль - таки процесс может закончится немного печально. Впрочем, в случае разгона повышать кол-во оборотов кулера не то, чтобы не советую, скорее просто не получится. Из более реального разобрать его, почистить от пыли, заменить термопасту. Бюджетные ноутбуки и так работают на пределе своих охлаждающих возможностей и если ОС пишет, что кулер работает на 100%, скорее всего так и есть. Тем более, что увеличив обороты лишь загоните туда больше пыли.

    Теперь о том, на что стоит потратиться. В первую очередь просто меняем RAM. Медленная работа компьютера - верный признак деградации RAM. Она сегодня первая деградирует - у современных CPU огромный запас производительности, тогда как ошибки в памяти заставляют ОС всё чаще глупить и подвисать, а порой и крашиться. Потом, если можно, таки стоит поменять и процессор: zram будет отжирать проценты CPU, так следующий он идёт узким горлышком. HDD можно поменять на SSD, но если S.M.A.R.T. говорит, что всё хорошо, значит всё хорошо: он будет давать свои 50 mbps с миллисекундной задержкой, так что SSD погоды не сделает. Ибо речь не о винде.

    Теперь внимание. Если внезапно, если никак не хотите переходить на линукс, то очень очень зря. Здесь и файловые системы в юзерспейсе, и продуктивная работа, и игры (хотя на этом вряд ли можно будет поиграть). Но теперь, что можно сделать на винде: ещё меньше, чем ничего. Нет, серьёзно. Если с линуксом это кобыла будет доживать свои последние дни, то на винде ей ловить уже почти нечего. Из того, что здесь может помочь, так это только хардвар (замена RAM, CPU, добавление дискретного видео ибо Windows прожорлива на графику): так как ни zram Windows не поддерживает, ни окружение у неё не есть легковесное, ни прочих плюшек, вроде централизованного хранения библиотек (экономия на дисковом кэше). В общем, Windows нормально пашет на серьёзных машинах. Как вариант, можете попробовать Windows XP, которая пусть и не поддерживается более, но она была создана во времена, когда 512 mb RAM - это очень много. Разве только ставьте чистую и ничем более не нагружайте: не надо никаких украшалок и прочих пожирателей памяти. Для интернета всё также советую netsurf и иже с ними.
    Ответ написан
    2 комментария
  • В каких сферах программирования активно используется математика?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    В общем и целом, вам всё тут расписали. Однако немного дополню своим скромным мнением:

    Основы арифметики и булевой логики нужны везде. Да что там основы - чем глубже тем лучше.

    Теперь матан. @newross прав - в кибернетике, та что обработкой сигналов занимается, там полно матана. Он, конечно, не адовый, но дифференцировать, интегрировать и раскладывать в фурье, а также строить корреляции и автокорреляции придётся много. Причём сигналы везде, вокруг - радиосигнал bluetooth, GSM, FM, звуковые, видео кодеки, изображения - всё это тоже сигналы. Дискретные или непрерывные. Ну и конечно прикладнуха - везде где требуется матан и автоматизация рассчётов - там полно работы для программиста-математика.

    Фуан вот используется намного реже. Он вообще редко используется где-либо, обычно это какая-то экзотика, где требуются серьёзные физические модели - всякое авиационном, космическое, гидро- моделирование. В общем, в основном прикладное программирование, то есть придётся не столько программировать, сколько разбираться в мат. части.

    Ещё кое-что про анализы - в силу конечности компьютерных ресурсов, имеют место быть постоянные переходы от гладкого и бесконечного к дискретному и конечному путём банальных ограничений, пределов, интегрирований и дроблений. Так что без дискретной математики делать нечего вообще в наукоёмких областях. А дискретка по сути и есть программирование. Какие-то её части прокрались во все области - от медиа до каналов передачи данных и их защиты. Хоть она и относительно простая, в ней огромные пробелы. И понятное дело до гомоморфизмов редко доходит, но вот всякие законы больших чисел используются на полную катушку. Ну, здесь вам и теории графов, и теории чисел, и комбинаторики, и логика. Да что там, алгебра то с её 2+2 - дискретная математика. В общем, как и сказал - по сути информатика и есть приложение к дискретке.

    Всё остальное используется ровно тогда, когда до этого доходит дело, разве только самые основы структур и пространств. Ну и из преобразований арифметика и анализ. Всё остальное - самая обычная прикладнуха. Вот нужно математикам посчитать что-нибудь быстро, тут появляются прикладные программисты.
    Ответ написан
    Комментировать
  • Какой ЯП выбрать для Windows?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Посмотрел вопросы... На какой-то даже отвечал.

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

    Возьми задачу. Тот же школьный звонок. Возьми ft232 - стоит копейки, подделок вообще тьма, которые стоят ещё меньше. Открываешь на чтение и пишешь. Очень просто, честно. Однако, надо потратить время на изучение референсов, даташитов и манов.

    Не нравиться? Не беда, есть сотни других видов задач. Computer Science, GameDev, обработка данных, спортивное программирование. Тысячи их. Выбирай не хочу.

    Но на всё надо время. Время - основной ресурс человека. Ссылки в основном python-ориентированные. Потому что я очень советую не бросать его сейчас. Потому что быдлокодить на python сложно. Потому что python прост. Потому что... гладиолус.

    И потом, когда овладеешь пайтоном достаточно, чтобы закончить на нём хоть какой-то проект. Любой, но проект. С проектированием, принятием решений, сдачей (хоть самому себе). Вот тогда смело выбирайте.

    Но даже здесь лично я советую Cи или Cи++. Ибо они формируют машинное мышление. Ибо так мыслит машина. Не надо думать о Haskell или Java. Это не то. Это абстракция над машиной, её порабощение. Си++ проще, Си лучше. Си ближе к машине, Си очень близок к машине, настолько, насколько возможно.

    И ещё кое-что, вместо PS. Учите английский. Просто читайте. Помогайте себе с помощью lingualeo. Пользоваться словариком в начале пути нормально, поэтому поставьте себе расширение в браузер, которое переводит выделенные слова. И мигрируйте на *nix. Хотя бы dual boot, хотя бы виртуалочка. Хотя бы cygwin. Хоть что-то. Просто потому, что там проще. Проще с программированием. Windows требует некоторой дисциплины, некоторого умения. Порог вхождения выше. И прозрачность намного меньше. Оно вам надо?
    Ответ написан
    2 комментария