{"id":101844,"date":"2025-03-16T23:44:41","date_gmt":"2025-03-16T20:14:41","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/habit-logger-v2-17i\/"},"modified":"2025-03-16T23:44:41","modified_gmt":"2025-03-16T20:14:41","slug":"habit-logger-v2-17i","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/habit-logger-v2-17i\/","title":{"rendered":"Habit Logger v2 &#8211; \u062c\u0627\u0645\u0639\u0647 dev"},"content":{"rendered":"<div data-article-id=\"2336252\" id=\"article-body\">\n<p>Habitloggerv2<\/p>\n<hr\/>\n<p>\u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0634\u062f\u06af\u0627\u0646 \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u06cc \u062f\u0631 ado.net<\/p>\n<hr\/>\n<p>\u0628\u0627\u0631\u06af\u06cc\u0631\u06cc SQLite<br \/>&#8220;\u0622\u0645\u0648\u0632\u0634 SQLITE \u0628\u0631\u0627\u06cc \u0645\u0628\u062a\u062f\u06cc\u0627\u0646 &#8211; \u0628\u062f\u0648\u0646 \u0647\u06cc\u0686 \u0648\u0642\u062a \u06cc\u06a9 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<br \/>\u062a\u0646\u0638\u06cc\u0645 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 SQLite \u062f\u0631 \u0648\u06cc\u0698\u0648\u0627\u0644 \u0627\u0633\u062a\u0648\u062f\u06cc\u0648 (14\/23)<\/p>\n<hr\/>\n<p>git\/github<br \/>https:\/\/www.theserverside.com\/blog\/coffee-talk-java-news-stories-and-opinions\/how-to-push-an-existing-project-to-github<br \/>https:\/\/kbroman.org\/github_tutorial\/pages\/init.html<br \/>\u0627\u0628\u062a\u062f\u0627 \u06cc\u06a9 \u067e\u0631\u0648\u0646\u062f\u0647 .gitignore \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u0648 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f <code>.vs\/<\/code> <\/p>\n<hr\/>\n<p>\u06cc\u06a9 \u0631\u0648\u0634 \u06a9\u0645\u062a\u0631\u06cc \u0628\u0631\u0627\u06cc \u0627\u0639\u0644\u0627\u0645 \u06cc\u06a9 \u0622\u0631\u0627\u06cc\u0647 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f:<br \/><code>int[] menuNumbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];<\/code><br \/>\u0628\u0631 \u062e\u0644\u0627\u0641<br \/><code>int[] menuNumbers = new int { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };<\/code><br \/>\u0645\u0646 \u062a\u0648\u0627\u0646\u0633\u062a\u0645 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u06a9\u0634\u0646 IntelliSense &#8220;\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0628\u06cc\u0627\u0646&#8221; \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<hr\/>\n<p>\u0645\u0648\u0627\u062f \u0628\u0644\u0627\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0631\u0627 \u062a\u0645\u06cc\u0632 \u06a9\u0646\u06cc\u062f (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644 \u060c \u063a\u06cc\u0631 \u0636\u0631\u0648\u0631\u06cc <code>using<\/code> \u0627\u0638\u0647\u0627\u0631\u0627\u062a \u062f\u0631 \u0628\u0627\u0644\u0627\u06cc \u06a9\u062f) \u0628\u0627 \u06a9\u0644\u06cc\u06a9 \u0631\u0648\u06cc \u0646\u0645\u0627\u062f \u062c\u0627\u0631\u0648 \u062f\u0631 \u067e\u0627\u06cc\u06cc\u0646 Vs.<\/p>\n<hr\/>\n<p>\u0647\u0646\u06af\u0627\u0645 \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u062c\u062f\u0648\u0644 \u06a9\u0647 \u0627\u0632 \u06cc\u06a9 \u06a9\u0644\u06cc\u062f \u062e\u0627\u0631\u062c\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f \u060c \u0627\u0632 \u0622\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f <code>ON DELETE CASCADE<\/code> \u062f\u0631 \u067e\u0627\u06cc\u0627\u0646 \u0627\u0639\u0644\u0627\u0645\u06cc\u0647 \u06a9\u0644\u06cc\u062f\u06cc \u062e\u0627\u0631\u062c\u06cc. \u0628\u0627 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u062a\u0645\u0627\u0645 \u0633\u0648\u0627\u0628\u0642 \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u062c\u062f\u0648\u0644 \u06a9\u0647 \u0627\u0632 \u0622\u0646 \u0634\u0646\u0627\u0633\u0647 \u06a9\u0644\u06cc\u062f \u062e\u0627\u0631\u062c\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a \u062d\u0630\u0641 \u0645\u06cc \u0634\u0648\u062f. \u0628\u0647 \u0627\u06cc\u0646 \u062a\u0631\u062a\u06cc\u0628 \u0634\u0645\u0627 \u0633\u0648\u0627\u0628\u0642 \u06cc\u062a\u06cc\u0645 \u0631\u0627 \u062f\u0631 \u062c\u062f\u0648\u0644 \u0646\u062f\u0627\u0631\u06cc\u062f \u06a9\u0647 \u062f\u06cc\u06af\u0631 \u0628\u0647 \u0686\u06cc\u0632\u06cc \u0645\u0631\u0628\u0648\u0637 \u0646\u0645\u06cc \u0634\u0648\u062f. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight csharp\"><code><span class=\"k\">static<\/span> <span class=\"k\">void<\/span> <span class=\"nf\">CreateTables<\/span><span class=\"p\">(<\/span><span class=\"n\">SQLiteConnection<\/span> <span class=\"n\">connection<\/span><span class=\"p\">)<\/span>\n<span class=\"p\">{<\/span>\n    <span class=\"k\">using<\/span> <span class=\"p\">(<\/span><span class=\"kt\">var<\/span> <span class=\"n\">command<\/span> <span class=\"p\">=<\/span> <span class=\"n\">connection<\/span><span class=\"p\">.<\/span><span class=\"nf\">CreateCommand<\/span><span class=\"p\">())<\/span>\n    <span class=\"p\">{<\/span>\n        <span class=\"n\">command<\/span><span class=\"p\">.<\/span><span class=\"n\">CommandText<\/span> <span class=\"p\">=<\/span> <span class=\"s\">@\"\n            CREATE TABLE IF NOT EXISTS Habits (\n                Id INTEGER PRIMARY KEY AUTOINCREMENT,\n                Habit TEXT NOT NULL,\n                Unit TEXT NOT NULL\n            );\n\n            CREATE TABLE IF NOT EXISTS HabitInstances (\n                Id INTEGER PRIMARY KEY AUTOINCREMENT,\n                HabitId INTEGER NOT NULL,\n                Date TEXT NOT NULL,\n                Quantity INTEGER NOT NULL,\n                FOREIGN KEY (HabitId) REFERENCES Habits(Id) ON DELETE CASCADE\n            );\"<\/span><span class=\"p\">;<\/span>\n\n        <span class=\"n\">command<\/span><span class=\"p\">.<\/span><span class=\"nf\">ExecuteNonQuery<\/span><span class=\"p\">();<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0648\u0642\u062a\u06cc <code>DeleteHabit()<\/code> \u0631\u0648\u0634 \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f \u060c \u0639\u0627\u062f\u062a \u0627\u0646\u062a\u062e\u0627\u0628 \u0634\u062f\u0647 \u0648 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0647\u0645\u0647 \u0631\u0627 \u062d\u0630\u0641 \u0645\u06cc \u06a9\u0646\u062f <code>HabitInstances<\/code> \u0633\u0648\u0627\u0628\u0642 \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0622\u0646 \u0639\u0627\u062f\u062a.<\/p>\n<hr\/>\n<p>\u0627\u0646\u062a\u062e\u0627\u0628 \u060c Ctrl K \u060c Ctrl F &#8211; \u0631\u0641\u0639 \u062a\u0648\u0631\u0641\u062a\u06af\u06cc<\/p>\n<hr\/>\n<p>\u0627\u0632 \u0647\u0645\u0627\u0646 \u0627\u062a\u0635\u0627\u0644 DB \u0628\u0631\u0627\u06cc \u06a9\u0644 \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0646\u06a9\u0646\u06cc\u062f (\u0627\u0632 \u0645\u0646\u0627\u0628\u0639 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f)<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight csharp\"><code><span class=\"k\">using<\/span> <span class=\"p\">(<\/span><span class=\"kt\">var<\/span> <span class=\"n\">connection<\/span> <span class=\"p\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nf\">SQLiteConnection<\/span><span class=\"p\">(<\/span><span class=\"s\">$\"Data Source=<\/span><span class=\"p\">{<\/span><span class=\"n\">dbPath<\/span><span class=\"p\">}<\/span><span class=\"s\">\"<\/span><span class=\"p\">))<\/span>\n<span class=\"p\">{<\/span>\n\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><code>using<\/code>  \u0642\u0646\u062f \u0646\u062d\u0648\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u067e\u0634\u062a \u0635\u062d\u0646\u0647 \u06cc\u06a9 \u0628\u0644\u0648\u06a9 \u0627\u0645\u062a\u062d\u0627\u0646\/\u06af\u0631\u0641\u062a\u0646 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u062f &#8230;<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight csharp\"><code><span class=\"k\">try<\/span>\n<span class=\"p\">{<\/span>\n    <span class=\"c1\">\/\/new connection<\/span>\n    <span class=\"c1\">\/\/do something<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"k\">catch<\/span> <span class=\"p\">(<\/span><span class=\"n\">Exception<\/span> <span class=\"n\">e<\/span><span class=\"p\">)<\/span>\n<span class=\"p\">{<\/span>\n    <span class=\"c1\">\/\/handle error here<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"k\">finally<\/span>\n<span class=\"p\">{<\/span>\n    <span class=\"n\">connection<\/span><span class=\"p\">.<\/span><span class=\"nf\">Close<\/span><span class=\"p\">()<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0645\u062b\u0627\u0644:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight csharp\"><code><span class=\"k\">void<\/span> <span class=\"nf\">AddHabit<\/span><span class=\"p\">()<\/span>\n<span class=\"p\">{<\/span>\n    <span class=\"k\">using<\/span> <span class=\"p\">(<\/span><span class=\"kt\">var<\/span> <span class=\"n\">connection<\/span> <span class=\"p\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nf\">SQLiteConnection<\/span><span class=\"p\">(<\/span><span class=\"s\">$\"Data Source=<\/span><span class=\"p\">{<\/span><span class=\"n\">dbPath<\/span><span class=\"p\">}<\/span><span class=\"s\">\"<\/span><span class=\"p\">))<\/span>\n    <span class=\"p\">{<\/span>\n        <span class=\"n\">connection<\/span><span class=\"p\">.<\/span><span class=\"nf\">Open<\/span><span class=\"p\">();<\/span>\n\n        <span class=\"n\">Console<\/span><span class=\"p\">.<\/span><span class=\"nf\">Clear<\/span><span class=\"p\">();<\/span>\n        <span class=\"nf\">PrintHabits<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Add Habit\"<\/span><span class=\"p\">);<\/span>\n\n        <span class=\"n\">Console<\/span><span class=\"p\">.<\/span><span class=\"nf\">WriteLine<\/span><span class=\"p\">(<\/span><span class=\"s\">\"\\nEnter the new habit name:\"<\/span><span class=\"p\">);<\/span>\n        <span class=\"kt\">string<\/span><span class=\"p\">?<\/span> <span class=\"n\">habitName<\/span> <span class=\"p\">=<\/span> <span class=\"n\">Console<\/span><span class=\"p\">.<\/span><span class=\"nf\">ReadLine<\/span><span class=\"p\">();<\/span>\n        <span class=\"n\">Console<\/span><span class=\"p\">.<\/span><span class=\"nf\">WriteLine<\/span><span class=\"p\">(<\/span><span class=\"s\">\"\\nEnter the unit of measurement (e.g., miles, pages, minutes, etc.)\"<\/span><span class=\"p\">);<\/span>\n        <span class=\"kt\">string<\/span><span class=\"p\">?<\/span> <span class=\"n\">unit<\/span> <span class=\"p\">=<\/span> <span class=\"n\">Console<\/span><span class=\"p\">.<\/span><span class=\"nf\">ReadLine<\/span><span class=\"p\">();<\/span>\n\n        <span class=\"k\">using<\/span> <span class=\"p\">(<\/span><span class=\"kt\">var<\/span> <span class=\"n\">command<\/span> <span class=\"p\">=<\/span> <span class=\"n\">connection<\/span><span class=\"p\">.<\/span><span class=\"nf\">CreateCommand<\/span><span class=\"p\">())<\/span>\n        <span class=\"p\">{<\/span>\n            <span class=\"n\">command<\/span><span class=\"p\">.<\/span><span class=\"n\">CommandText<\/span> <span class=\"p\">=<\/span> <span class=\"s\">\"INSERT INTO Habits (Habit, Unit) VALUES (@habit, @unit)\"<\/span><span class=\"p\">;<\/span>\n            <span class=\"n\">command<\/span><span class=\"p\">.<\/span><span class=\"n\">Parameters<\/span><span class=\"p\">.<\/span><span class=\"nf\">AddWithValue<\/span><span class=\"p\">(<\/span><span class=\"s\">\"@habit\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">habitName<\/span><span class=\"p\">);<\/span>\n            <span class=\"n\">command<\/span><span class=\"p\">.<\/span><span class=\"n\">Parameters<\/span><span class=\"p\">.<\/span><span class=\"nf\">AddWithValue<\/span><span class=\"p\">(<\/span><span class=\"s\">\"@unit\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">unit<\/span><span class=\"p\">);<\/span>\n            <span class=\"n\">command<\/span><span class=\"p\">.<\/span><span class=\"nf\">ExecuteNonQuery<\/span><span class=\"p\">();<\/span>\n        <span class=\"p\">}<\/span>\n\n        <span class=\"n\">Console<\/span><span class=\"p\">.<\/span><span class=\"nf\">WriteLine<\/span><span class=\"p\">(<\/span><span class=\"s\">\"\\nHabit added successfully!\"<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u06af\u0631\u0686\u0647 \u0641\u06a9\u0631 \u0645\u06cc \u06a9\u0646\u0645 \u0645\u0646 \u0647\u0646\u0648\u0632 \u0647\u0645 \u0628\u0627\u0632 \u0645\u06cc \u0634\u0648\u0645 <code>using<\/code> \u0628\u06cc\u0627\u0646\u06cc\u0647 \u062e\u06cc\u0644\u06cc \u0632\u0648\u062f \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0648 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0642\u0628\u0644 \u0627\u0632 \u0627\u0646\u062c\u0627\u0645 \u06a9\u0627\u0631\u06cc \u06a9\u0647 \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 DB \u0627\u0633\u062a \u060c \u0628\u0647\u062a\u0631 \u0628\u0627\u0634\u062f \u067e\u0633 \u0627\u0632 \u0628\u06cc\u0627\u0646 \u06a9\u0627\u0631\u0628\u0631 \u0648 \u0627\u0639\u0644\u0627\u0645\u06cc\u0647 \u0647\u0627\u06cc \u0645\u062a\u063a\u06cc\u0631 \u0628\u0647\u062a\u0631 \u0628\u0627\u0634\u062f.<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Habitloggerv2 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0634\u062f\u06af\u0627\u0646 \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u06cc \u062f\u0631 ado.net \u0628\u0627\u0631\u06af\u06cc\u0631\u06cc SQLite&#8220;\u0622\u0645\u0648\u0632\u0634 SQLITE \u0628\u0631\u0627\u06cc \u0645\u0628\u062a\u062f\u06cc\u0627\u0646 &#8211; \u0628\u062f\u0648\u0646 \u0647\u06cc\u0686 \u0648\u0642\u062a \u06cc\u06a9 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f\u062a\u0646\u0638\u06cc\u0645 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 SQLite \u062f\u0631 \u0648\u06cc\u0698\u0648\u0627\u0644 \u0627\u0633\u062a\u0648\u062f\u06cc\u0648 (14\/23) git\/githubhttps:\/\/www.theserverside.com\/blog\/coffee-talk-java-news-stories-and-opinions\/how-to-push-an-existing-project-to-githubhttps:\/\/kbroman.org\/github_tutorial\/pages\/init.html\u0627\u0628\u062a\u062f\u0627 \u06cc\u06a9 \u067e\u0631\u0648\u0646\u062f\u0647 .gitignore \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u0648 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f .vs\/ \u06cc\u06a9 \u0631\u0648\u0634 \u06a9\u0645\u062a\u0631\u06cc \u0628\u0631\u0627\u06cc \u0627\u0639\u0644\u0627\u0645 \u06cc\u06a9 \u0622\u0631\u0627\u06cc\u0647 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f:int[] menuNumbers = [0, 1, 2, 3, 4, 5, &hellip;<\/p>\n","protected":false},"author":2,"featured_media":101845,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-101844","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/101844","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=101844"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/101844\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/101845"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=101844"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=101844"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=101844"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}