我正在尝试将一个(相当大的).txt文件导入PostgreSQL 9.1中的表格地名.我在我的服务器的/〜目录中,在该目录中放置了一个名为US.txt的文件.我将search_path变量设置为geochat,我正在使用的数据库的名称.然后我输入此查询:
COPY geonames
FROM 'US.txt',
DELIMITER E'\t',
NULL 'NULL');
Run Code Online (Sandbox Code Playgroud)
然后我收到此错误:
ERROR: could not open file "US.txt" for reading: No such file or directory.
Run Code Online (Sandbox Code Playgroud)
我是否必须首先输入\i US.txt或类似的东西,或者它应该从当前的工作目录中获取它?
我正在尝试构建一个使用GDAL和必要的Python挂钩运行Alpine Linux的Docker容器:
FROM python:3.6-alpine
RUN apk update
RUN apk add py-gdal gdal
RUN pip install uwsgi
RUN mkdir /code
WORKDIR /code
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["uwsgi", "--ini", "uwsgi.ini"]
Run Code Online (Sandbox Code Playgroud)
如您所见,我正在运行一条apk update语句来更新存储库,然后运行一条apk add语句来安装软件包。这是我收到的输出:
/usr/bin/make -f /Users/some_guy/Workspace/tagging_tracker_backend/Makefile build up
Pulling nginx ...
Pulling db ...
Pulling web ...
db uses an image, skipping
Building nginx
Step 1/3 : FROM nginx:1.15
---> 7042885a156a
Step 2/3 : RUN rm /etc/nginx/conf.d/default.conf
---> Using cache …Run Code Online (Sandbox Code Playgroud) 常量通常用于C/C++编程中,作为产生更清晰代码的一种方式.有时也可能存在优化益处.但是,我想知道除了更易读的代码之外,从C#中声明值是只读还是在C#中可以获得什么好处.
假设我有以下C#代码:
public Double HalfPiSomething(Int32 input)
{
return input + (Math.PI / 2);
}
Run Code Online (Sandbox Code Playgroud)
这是一个相当简单的例子,但每次调用该方法时,我们除以Math.PI2,将其添加到输入,并将其返回到调用语句.
让我们接受代码并Math.PI / 2在包含类的某个地方创建自己的变量:
private Double _halfPi = Math.PI / 2;
public Double HalfPiSomething(Int32 input)
{
return input + _halfPi;
}
Run Code Online (Sandbox Code Playgroud)
显然,将其操作Math.PI / 2并将其置于自己的变量中是一个好主意,就像基本的编码实践一样,特别是如果所述值在类中的多个点中使用...它不是在这里,而是让我们假装.
最后,因为_halfPi永远不会改变让我们做到const:
private const Double _halfPi = Math.PI / 2;
public Double HalfPiSomething(Int32 input)
{
return input + _halfPi;
}
Run Code Online (Sandbox Code Playgroud)
我想知道的是,除了作为C#的良好编码实践并使代码更容易理解并且更难以发现错误之外,还有什么好处 - 特别是关于性能 - 去做我上面做的事情?值是否会在本地内存中保留更长时间?
我正在尝试使用 dmcs(和 gmcs...我都尝试过)从这里编译以下示例:
using System;
using System.Data;
using Mono.Data.Sqlite;
public class Example
{
static void Main()
{
string cs = "URI=file:test.db";
using( SqliteConnection con = new SqliteConnection(cs))
{
con.Open();
DataTable table = new DataTable("Friends2");
DataColumn column;
DataRow row;
column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.ColumnName = "Id";
table.Columns.Add(column);
column = new DataColumn();
column.DataType = Type.GetType("System.String");
column.ColumnName = "Name";
table.Columns.Add(column);
row = table.NewRow();
row["Id"] = 1;
row["Name"] = "Jane";
table.Rows.Add(row);
row = table.NewRow();
row["Id"] = 2;
row["Name"] = …Run Code Online (Sandbox Code Playgroud) 我正在研究GeoDjango应用程序,并使用Heroku(带有Heroku-16堆栈)作为我的平台.
我按照此处的说明进行操作,其中指定了以下内容:
如果您的应用程序需要地理库,则可以获得对少数这些库的实验性支持:
- GDAL v2.2.1(雪松-14的v1.11.5)
- Geos v3.6.2(雪松-14的v3.4.2)
- Proj v4.9.3(雪松-14的v4.8.0)
要使这些库可用于您的应用程序,只需设置BUILD_WITH_GEO_LIBRARIES环境变量:
$ heroku config:set BUILD_WITH_GEO_LIBRARIES=1
Run Code Online (Sandbox Code Playgroud)
在下次构建期间,将下载并安装这些库.在您的Django settings.py中,还添加以下内容:
import dj_database_url
DATABASES['default'] = dj_database_url.config()
DATABASES['default']['ENGINE'] =
'django.contrib.gis.db.backends.postgis'
GDAL_LIBRARY_PATH = os.getenv('GDAL_LIBRARY_PATH')
GEOS_LIBRARY_PATH = os.getenv('GEOS_LIBRARY_PATH')
Run Code Online (Sandbox Code Playgroud)
这将确保Django可以找到已安装的GEOS库.
我在Heroku中设置了env变量:
但是,我发现在部署时这没有什么不同:
2017-09-23T19:29:55.142378+00:00 app[web.1]: % '", "'.join(lib_names)
2017-09-23T19:29:55.142414+00:00 app[web.1]:
django.core.exceptions.ImproperlyConfigured: Could not find the GDAL
library (tried "gdal", "GDAL", "gdal2.1.0", "gdal2.0.0", "gdal1.11.0",
"gdal1.10.0", "gdal1.9.0"). Is GDAL installed? If it is, try setting
GDAL_LIBRARY_PATH in your settings.
Run Code Online (Sandbox Code Playgroud)
这是我的要求.txt:
dj-database-url==0.4.1
Django==1.11.5
gunicorn==19.6.0
psycopg2==2.6.2
pytz==2017.2
whitenoise==3.2
Run Code Online (Sandbox Code Playgroud)
我在这里唯一的异常是我使用的是Django 1.11.5而不是默认的Heroku的Django项目模板,即1.11.1.这是为了解决一个问题,使项目无法正常工作.
Procfile是:
web: …Run Code Online (Sandbox Code Playgroud) 我有一个Powershell脚本,我正在Powershell ISE中工作,我正在尝试运行它,因为我一直在努力确保更改有效.当我进行更改时,我保存它,运行"Import-Module Start-Applications"以启用最新版本,然后运行"Start-Applications".当我这样做时,我收到了我删除的代码的错误消息,表明它可能没有像我想象的那样更新.我这样做了吗?
我有一个函数原型:
void bubbleSort(std::vector<float>);
Run Code Online (Sandbox Code Playgroud)
和实施:
void bubbleSort(std::vector<float> inputVector)
{
std::cout << "Executing bubble sort." << std::endl;
int pass;
int comparisons;
float hold;
for (pass = 1; pass < VECSIZE; pass++)
{
for (comparisons = 0; comparisons < VECSIZE - 1; comparisons++)
{
if (inputVector[comparisons] > inputVector[VECSIZE + 1])
{
hold = inputVector[comparisons];
inputVector[comparisons] = inputVector[comparisons + 1];
inputVector[comparisons + 1] = hold;
}
}
}
for (int i = 0; i < VECSIZE; i+=10)
{
std::cout << "Element " << i …Run Code Online (Sandbox Code Playgroud) c# ×2
c++ ×2
gdal ×2
python ×2
alpine-linux ×1
csv ×1
django ×1
docker ×1
geodjango ×1
heroku ×1
import ×1
linux ×1
mono ×1
optimization ×1
performance ×1
postgresql ×1
powershell ×1
psql ×1
sorting ×1
sqlite ×1
system.data ×1
tsv ×1
vector ×1